Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
13 Дек 2017, 23:53
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Ошибка чтения значения в запросе  (Прочитано 3465 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн unsave.one

  • *
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-10-11
  • Сайт: 
  • Профессия: Ученик 1С
Здравствуйте. Используя табличную модель в форме документа, с выбранными параметрами, а именно даты и транспорта, у меня не заполняются поля (водитель, грузчик и т.д.) на конкретную дату (то есть не используя срезпоследних).


&НаКлиенте
Процедура ТранспортПриИзменении(Элемент)
ЗаполнениеИзРегистраСведений(Объект.Транспорт, Объект.Дата);
КонецПроцедуры

&НаСервере
Процедура ЗаполнениеИзРегистраСведений(Транспорт, Дата)

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СоставБригады.Период,
| СоставБригады.Автомобиль,
| СоставБригады.Водитель,
| СоставБригады.Грузчик1,
| СоставБригады.Грузчик2,
| СоставБригады.Счетчик
|ИЗ
| РегистрСведений.СоставБригады КАК СоставБригады
|ГДЕ
| СоставБригады.Период = &Период
| И СоставБригады.Автомобиль = &Автомобиль";

Запрос.УстановитьПараметр("Автомобиль", Транспорт);
Запрос.УстановитьПараметр("Период", Дата);

РезультатЗапроса = Запрос.Выполнить();

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Водитель = ВыборкаДетальныеЗаписи.Водитель;
Грузчик1 = ВыборкаДетальныеЗаписи.Грузчик1;
Грузчик2 = ВыборкаДетальныеЗаписи.Грузчик2;
//Расстояние = ВыборкаДетальныеЗаписи.Расстояние;
КонецЦикла;
КонецПроцедуры


Оффлайн TreeDogNight

  • ***
  • Сообщений: 202
  • РЕПУТАЦИЯ: 28
  • КПД: 14%
  • Регистрация: 2013-10-16
    • Skype: treedognight3
  • Сайт: www.avars.uz
  • Профессия: Программист 1С
Водитель,Грузчик1 и Грузчик2 это реквизиты формы или документа? Если Документа, то пишите:
 
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        Объект.Водитель = ВыборкаДетальныеЗаписи.Водитель;
        Объект.Грузчик1 = ВыборкаДетальныеЗаписи.Грузчик1;
        Объект.Грузчик2 = ВыборкаДетальныеЗаписи.Грузчик2;
    КонецЦикла;
п.с. Что такое табличная модель?
Cегодня не все могут провести завтрашним числом. Вернее, не только лишь все - мало кто может это сделать.

Оффлайн unsave.one

  • *
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-10-11
  • Сайт: 
  • Профессия: Ученик 1С
Это реквизиты формы. Табличная модель - это способ доступа к данным.
Добавлено: 22 Окт 2014, 00:23

Оказывается данный запрос работает, я в элементах реквизит объект "транспорт" забыл обновить, но возникла другая проблема. Теперь если устанавливаешь параметры, а элемент с такими данными отсутствует в регистре сведений то он пропускает выборку, то есть в результат запроса ничего не попадает. Как перехватить результат запроса, чтобы очистить от предыдущих записей (водитель, грузчики и расстояние).

Последний раз редактировалось: unsave.one; 22 Окт 2014, 00:23. Причина: Объединение сообщений

Оффлайн Besart

  • *****
  • Сообщений: 678
  • РЕПУТАЦИЯ: 142
  • КПД: 21%
  • Регистрация: 2012-12-10
    • Skype: artfa.a
  • Компания: Фрилансер
  • Профессия: Программист 8.1
РезультатЗапроса = Запрос.Выполнить();
   Если НЕ РезультатЗапроса.Пустой() Тогда
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
   
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        Водитель = ВыборкаДетальныеЗаписи.Водитель;
        Грузчик1 = ВыборкаДетальныеЗаписи.Грузчик1;
        Грузчик2 = ВыборкаДетальныеЗаписи.Грузчик2;
        //Расстояние = ВыборкаДетальныеЗаписи.Расстояние;
    КонецЦикла;

    Иначе
        Водитель = Справочник.Водители.ПустаяСсылка();
        Грузчик1 = Справочник.Грузчики.ПустаяСсылка();
        Грузчик2 = Справочник.Грузчики.ПустаяСсылка();
    КонецЕсли;

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
1. Регистр сведений СоставБригады полагаю периодический? Тогда должно быть не условие на Период=Дата, а надо брать вирт. таблицу СрезПоследних на Дату
2. В серверной НЕКОНТЕКСТНОЙ функции надо по транспорту и дате получить СТРУКТУРУ, содержащую водителя и грузчиков, и потом на клиенте разложить их по соответствующим реквизитам.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн Luzer1C

  • ****
  • Сообщений: 411
  • РЕПУТАЦИЯ: 41
  • КПД: 10%
  • Регистрация: 2014-02-17
  • Сайт: 
  • Профессия: Программист 1С
Чтобы было понятно:
&НаКлиенте
Процедура ТранспортПриИзменении(Элемент)
        СтруктураВозврата = ЗаполнениеИзРегистраСведений(Объект.Транспорт, Объект.Дата);
        Грузчик1 = СтруктураВозврата.Грузчик1;
//и так все остальные реквизиты
КонецПроцедуры
Помочь мне очень сложно. Но можно.
Помогаю просто так...
Матёрый разработчик УПП + Бит Финанс

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Теперь если устанавливаешь параметры, а элемент с такими данными отсутствует в регистре сведений то он пропускает выборку, то есть в результат запроса ничего не попадает

Дополнительно внутри функции, возвращающей структуру, надо обыграть ситуацию когда записи в регистре отсутствуют.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн unsave.one

  • *
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-10-11
  • Сайт: 
  • Профессия: Ученик 1С
Всем спасибо за советы, сделал так, работает, но
&НаКлиенте
Процедура ТранспортПриИзменении(Элемент)

ЗаполнениеИзРегистраСведений(Объект.Транспорт, Объект.Дата);

КонецПроцедуры


&НаСервере
Процедура ЗаполнениеИзРегистраСведений(Транспорт, Дата)

//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СоставБригады.Период,
| СоставБригады.Автомобиль,
| СоставБригады.Водитель,
| СоставБригады.Грузчик1,
| СоставБригады.Грузчик2,
| СоставБригады.Счетчик
|ИЗ
| РегистрСведений.СоставБригады КАК СоставБригады
|ГДЕ
| СоставБригады.Период = &Период
| И СоставБригады.Автомобиль = &Автомобиль";

Запрос.УстановитьПараметр("Автомобиль", Транспорт);
Запрос.УстановитьПараметр("Период", Дата);

РезультатЗапроса = Запрос.Выполнить();
Если НЕ РезультатЗапроса.Пустой() Тогда
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Водитель = ВыборкаДетальныеЗаписи.Водитель;
Грузчик1 = ВыборкаДетальныеЗаписи.Грузчик1;
Грузчик2 = ВыборкаДетальныеЗаписи.Грузчик2;
Объект.Расстояние = ВыборкаДетальныеЗаписи.Счетчик;
КонецЦикла;
Иначе
Водитель = " ";
Грузчик1 = " ";
Грузчик2 = " ";
Объект.Расстояние = " ";
Сообщить("На данный автомобиль не назначена бригада");
КонецЕсли;

КонецПроцедуры

будет ли это оптимально? Может лучше будет сделать через структуру и временную таблицу судя по вашим советам?
P.S. Регистр сведений периодичный (в пределах дня)

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
что коренным образом изменилось?
ни один из советов так и не был учтен ((
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн unsave.one

  • *
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-10-11
  • Сайт: 
  • Профессия: Ученик 1С
В том, что выводится водитель и грузчики на конкретную дату из регистра сведений, а также при отсутствие транспорта на заданную дату не заполняются поля водителя и грузчиков. Буду переделаю через временную таблицу напишу, что получится.
(P.S На каждую дату назначается автомобиль и формируется бригада(водители, грузчики и т.д.))


Теги:
 

При открытии обр-ки в "Предприятии" есть ошибка, а в "Отладке" нет

Автор proofetРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 4530
Последний ответ 21 Сен 2011, 17:35
от proofet
ошибка "Невозможно обработать параметр "ПрофильПолномочийПользователя""

Автор lindeluРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 6085
Последний ответ 06 Июн 2012, 09:15
от lindelu
Синтаксическая ошибка "В" Номенклатура.Ссылка = <<?>> В ИЕРАРХИИ(&Ссылка)

Автор maskitoРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 4198
Последний ответ 28 Апр 2014, 15:53
от maskito
При создании нового документа "Заявка на кассовый расход" Ошибка "Значение 9 поля "номер" не уникально

Автор ppkmliteРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 14
Просмотров: 8499
Последний ответ 22 Ноя 2014, 04:50
от cska-fanat-kz
Ошибка при загрузке данных через (Обработка "Выгрузка и загрузка данных XML")

Автор Сергей_87Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 8562
Последний ответ 26 Апр 2012, 23:08
от Dethmontt

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
179 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
49 Сообщений
andron81_81
39 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
34 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 248
  • Точка Скрытых: 0
  • Точка Пользователей: 1
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal