Есть форма для отчёта. Отчёт будет формироваться с помощью ТабличныйДокумент + Макет.
На форме есть СписокЗначений (ОТК_Несоответствия) для заполнения пользователем параметров. Параметров может быть несколько или вовсе не быть.
При формировании Запроса нужно избежать ошибки "не заполнены параметры".
Я выхожу с данной ситуации вот так:
На форме есть СписокЗначений (ОТК_Несоответствия) для заполнения пользователем параметров. Параметров может быть несколько или вовсе не быть.
При формировании Запроса нужно избежать ошибки "не заполнены параметры".
Я выхожу с данной ситуации вот так:
Запрос = Новый Запрос; //заполнение не обязательных параметров запроса Текст_Список_ОТК_Несоответствия = ""; Если Объект.ОТК_Несоответствия.Количество() <> 0 Тогда Список_ОТК_Несоответствия = Новый Массив; Для Каждого Эл Из Объект.ОТК_Несоответствия Цикл Список_ОТК_Несоответствия.Добавить(Эл.Значение); КонецЦикла; Текст_Список_ОТК_Несоответствия = " И ОтчетПроизводстваЗаСменуНесоответствия.Несоответствие В (&Несоответствие)"; Запрос.УстановитьПараметр("Несоответствие",Список_ОТК_Несоответствия); КонецЕсли; //ЗАПРОС Запрос.Текст = "ВЫБРАТЬ | ОтчетПроизводстваЗаСменуТовары.Ссылка.Ссылка КАК Ссылка, | ОтчетПроизводстваЗаСменуТовары.Номенклатура, | ОтчетПроизводстваЗаСменуГрафикРабот.Ссылка.Номер КАК ОПзС, | ОтчетПроизводстваЗаСменуГрафикРабот.Ссылка.Заказ.НомерЗаказаУТП КАК НомерЗаказа |ИЗ | Документ.ОтчетПроизводстваЗаСмену.ГрафикРабот КАК ОтчетПроизводстваЗаСменуГрафикРабот | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетПроизводстваЗаСмену.Товары КАК ОтчетПроизводстваЗаСменуТовары | ПО ОтчетПроизводстваЗаСменуГрафикРабот.Ссылка.Ссылка = ОтчетПроизводстваЗаСменуТовары.Ссылка.Ссылка | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетПроизводстваЗаСмену.ПричиныОстановки КАК ОтчетПроизводстваЗаСменуПричиныОстановки | ПО ОтчетПроизводстваЗаСменуГрафикРабот.Ссылка.Ссылка = ОтчетПроизводстваЗаСменуПричиныОстановки.Ссылка.Ссылка | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетПроизводстваЗаСмену.Несоответствия КАК ОтчетПроизводстваЗаСменуНесоответствия | ПО ОтчетПроизводстваЗаСменуГрафикРабот.Ссылка.Ссылка = ОтчетПроизводстваЗаСменуНесоответствия.Ссылка.Ссылка |ГДЕ | ОтчетПроизводстваЗаСменуГрафикРабот.Дата МЕЖДУ &ДатаНач И &ДатаКон | И ОтчетПроизводстваЗаСменуГрафикРабот.Операция = &Отгрузка" +Текст_Список_ОТК_Несоответствия+"; //обязательные параметры запроса Запрос.УстановитьПараметр("ДатаКон", КонецДня(Объект.ДатаКонец)); Запрос.УстановитьПараметр("ДатаНач", НачалоДня(Объект.ДатаНачало)); Запрос.УстановитьПараметр("Отгрузка", Константы.ПроизводствоОперацияОтгрузка.Получить()); //обязательные параметры запроса РезультатЗапроса = Запрос.Выполнить();
Комментариев нет:
Отправить комментарий