Заполнение макета в зависимости от значения табличной части.
По теме из базы знаний
Найденные решения
(7) Если у вас в каждой строке нужно менять ИСТИНА -ЛОЖЬ
То почему у вас вот этот код вынесен за пределы цикла
За пределами цикла неправомерно использовать РезультатЗапроса.Дооформление
То почему у вас вот этот код вынесен за пределы цикла
КонецЦикла;
Если РезультатЗапроса.Дооформление = Истина Тогда
ОбластьПодвал.Параметры.ДооформлениеИстина = Формат(РезультатЗапроса.Дооформление,"БИ=V");
ИначеЕсли РезультатЗапроса.Дооформление = Ложь Тогда
ОбластьПодвал.Параметры.ДооформлениеЛожь = Формат(РезультатЗапроса.Дооформление,"БЛ=");
КонецЕсли;
За пределами цикла неправомерно использовать РезультатЗапроса.Дооформление
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3) собственно "Дооформление"-булево. Надо вывести именно конкретные номера строк у которых значение Истина.
ТабДок =Новый ТабличныйДокумент;
ТабДок.АвтоМасштаб = Истина;
ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
ТабДок.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_АктОКК";
ТабДок.ПолеСверху = 0;
ТабДок.ПолеСнизу = 0;
ТабДок.ПолеСлева = 0;
Макет = ПолучитьМакет("Макет");
ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
ОбластьТЧ = Макет.ПолучитьОбласть("ТЧ");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
Запрос = Новый Запрос("ВЫБРАТЬ
| АКТивныйДокумент.НомерЗаказа КАК Номер,
| АКТивныйДокумент.Дата,
| АКТивныйДокумент.Заключение1 КАК Заключение,
| АКТивныйДокумент.Заключение2 КАК ЗаключениеКомиссии,
| АКТивныйДокумент.Часть,
| АКТивныйДокументТовары.НомерСтроки КАК НомерСтроки,
| АКТивныйДокументТовары.ДатаОсмотра КАК ДатаОсмотра,
| АКТивныйДокументТовары.СерияНоменклатуры КАК Серия,
| АКТивныйДокументТовары.ОформлениеТранспорнойТары КАК ОформлениеТТ,
| АКТивныйДокументТовары.НаличиеОсадка КАК Осадок,
| АКТивныйДокументТовары.СоответствиеИнформации КАК Соответствие,
| АКТивныйДокументТовары.ПроцентБрака КАК Процент,
| АКТивныйДокументТовары.СерияНоменклатуры,
| АКТивныйДокументТовары.КоличествоПродукции,
| АКТивныйДокументТовары.КоличествоМест,
| АКТивныйДокументТовары.ОформлениеБутылки,
| АКТивныйДокументТовары.Номенклатура.НаименованиеПолное КАК Номенклатура,
| АКТивныйДокументТовары.Номенклатура.Производитель КАК Производитель,
| АКТивныйДокумент.Основание.Ссылка,
| АКТивныйДокументТовары.Дооформление
|ИЗ
| Документ.АКТивныйДокумент КАК АКТивныйДокумент
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.АКТивныйДокумент.Товары КАК АКТивныйДокументТовары
| ПО АКТивныйДокумент.Ссылка = АКТивныйДокументТовары.Ссылка
|ГДЕ
| АКТивныйДокумент.Ссылка = &ТекДок
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки
|АВТОУПОРЯДОЧИВАНИЕ");
Запрос.УстановитьПараметр("ТекДок", СсылкаНаДокумент);
РезультатЗапроса = Запрос.Выполнить().Выбрать();
Флаг = Ложь;
Пока РезультатЗапроса.Следующий() Цикл
Если Не Флаг Тогда
ОбластьШапка.Параметры.Номер = "№ " + Строка(РезультатЗапроса.Номер);
ОбластьШапка.Параметры.Дата = Формат(РезультатЗапроса.Дата,"ДФ=dd.MM.yyyy");
Если РезультатЗапроса.Часть <> 0 Тогда
ОбластьШапка.Параметры.Часть = "("+Строка(РезультатЗапроса.Часть)+" часть)";
Иначе
ОбластьШапка.Параметры.Часть = "";
КонецЕсли;
ТабДок.Вывести(ОбластьШапка);
Флаг = Истина;
КонецЕсли;
ОбластьТЧ.Параметры.НомерСтроки = РезультатЗапроса.НомерСтроки;
ОбластьТЧ.Параметры.ДатаОсмотра = Формат(РезультатЗапроса.ДатаОсмотра,"ДФ=dd.MM.yyyy");
ОбластьТЧ.Параметры.Номер = РезультатЗапроса.Номер;
ОбластьТЧ.Параметры.Номенклатура = РезультатЗапроса.Номенклатура;
ОбластьТЧ.Параметры.Производитель = РезультатЗапроса.Производитель.НаименованиеПолное;
ОбластьТЧ.Параметры.ДатаРозлива = Формат(РезультатЗапроса.СерияНоменклатуры.ДатаНачалаРозлива,"ДФ=dd.MM.yyyy");
//ОбластьТЧ.Параметры.ДатаПоступления = Формат(РезультатЗапроса.ПриходныйДокумент.Дата,"ДФ=dd.MM.yyyy");
ОбластьТЧ.Параметры.СрокГодности = Формат(РезультатЗапроса.СерияНоменклатуры.СрокГодности,"ДФ=dd.MM.yyyy");
ОбластьТЧ.Параметры.Количество = РезультатЗапроса.КоличествоПродукции;
ОбластьТЧ.Параметры.КоличествоВМест = РезультатЗапроса.КоличествоМест;
ОбластьТЧ.Параметры.ОформлениеБутылки = РезультатЗапроса.ОформлениеБутылки;
ОбластьТЧ.Параметры.ОформлениеТТ = РезультатЗапроса.ОформлениеТТ;
ОбластьТЧ.Параметры.Осадок = РезультатЗапроса.Осадок;
ОбластьТЧ.Параметры.Соответствие = РезультатЗапроса.Соответствие;
ОбластьТЧ.Параметры.Процент = РезультатЗапроса.Процент;
ТабДок.Вывести(ОбластьТЧ);
КонецЦикла;
Если РезультатЗапроса.Дооформление = Истина Тогда
ОбластьПодвал.Параметры.ДооформлениеИстина = Формат(РезультатЗапроса.Дооформление,"БИ=V");
ИначеЕсли РезультатЗапроса.Дооформление = Ложь Тогда
ОбластьПодвал.Параметры.ДооформлениеЛожь = Формат(РезультатЗапроса.Дооформление,"БЛ=");
КонецЕсли;
ОбластьПодвал.Параметры.Заключение = РезультатЗапроса.Заключение;
ОбластьПодвал.Параметры.ЗаключениеКомиссии = РезультатЗапроса.ЗаключениеКомиссии;
ОбластьПодвал.Параметры.Основание = РезультатЗапроса.ОснованиеСсылка;
ТабДок.Вывести(ОбластьПодвал);
Возврат ТабДок;
Показать
(6) В табличной части пользователь ставит у какой то номенклатуры галочку в Истина.
Мне надо в параметр на макете вывести конкретный номер строки с этой Истина!
Из запроса то я могу вытащить Дооформление. Но как мне это вывести программно уже после, в обходе выборки.
Мне надо в параметр на макете вывести конкретный номер строки с этой Истина!
Из запроса то я могу вытащить Дооформление. Но как мне это вывести программно уже после, в обходе выборки.
(7) Если у вас в каждой строке нужно менять ИСТИНА -ЛОЖЬ
То почему у вас вот этот код вынесен за пределы цикла
За пределами цикла неправомерно использовать РезультатЗапроса.Дооформление
То почему у вас вот этот код вынесен за пределы цикла
КонецЦикла;
Если РезультатЗапроса.Дооформление = Истина Тогда
ОбластьПодвал.Параметры.ДооформлениеИстина = Формат(РезультатЗапроса.Дооформление,"БИ=V");
ИначеЕсли РезультатЗапроса.Дооформление = Ложь Тогда
ОбластьПодвал.Параметры.ДооформлениеЛожь = Формат(РезультатЗапроса.Дооформление,"БЛ=");
КонецЕсли;
За пределами цикла неправомерно использовать РезультатЗапроса.Дооформление
(9) Уже разобрался.
Запихал в цикл и добавил езультатЗапроса.НомерСтроки. Верно ли это ?
Запихал в цикл и добавил езультатЗапроса.НомерСтроки. Верно ли это ?
Если РезультатЗапроса.Дооформление = Истина Тогда
ОбластьПодвал.Параметры.ДооформлениеИстина = Формат(РезультатЗапроса.Дооформление,"БИ=V") + РезультатЗапроса.НомерСтроки;
ИначеЕсли РезультатЗапроса.Дооформление = Ложь Тогда
ОбластьПодвал.Параметры.ДооформлениеЛожь = Формат(РезультатЗапроса.Дооформление,"БЛ=")+РезультатЗапроса.НомерСтроки;
КонецЕсли;
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот