Добрый день, подскажите пожалуйста, что не так. Сделала ВПФ для меню БГУ 2.0, выводит только как на скрина в разных вариантах, что не правильно сделала, не понимаю. Запрос отрабатывает правильно. Помогите пожалуйста.
Функция ПечатьДокумента(Макет, МассивОбъектов, ОбъектыПечати, СсылкаНаОбъект) Экспорт
ТабДок = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("Меню");
Запрос = Новый запрос;
Запрос.Текст =
"ВЫБРАТЬ
| УППБУ_ПлановоеМенюРасшифровкаМеню.ВидПриемаПищи КАК ВидПриемаПищи,
| УППБУ_ПлановоеМенюРасшифровкаМеню.Блюдо КАК Блюдо,
| УППБУ_ПлановоеМеню.КатегорияДовольствующихся КАК Категория
|ИЗ
| Документ.УППБУ_ПлановоеМеню.РасшифровкаМеню КАК УППБУ_ПлановоеМенюРасшифровкаМеню
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.УППБУ_ПлановоеМеню КАК УППБУ_ПлановоеМеню
| ПО УППБУ_ПлановоеМенюРасшифровкаМеню.Ссылка = УППБУ_ПлановоеМеню.Ссылка";
РезультатЗапроса = Запрос.Выполнить();
Если не РезультатЗапроса.Пустой() тогда
Выборка = РезультатЗапроса.ВЫгрузить();
Иначе
Возврат("");
КонецЕсли;
ОбластьШапки = Макет.ПолучитьОбласть("Шапка");
//ОбластьТЧ = Макет.ПолучитьОбласть("Строка");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
//
//Дата = СсылкаНаОбъект.Дата;
//ОбластьШапки.Параметры.Дата = Формат(Дата, "ДФ=dd.MM.yyyy");
ТабДок.Вывести(ОбластьШапки);
Для Каждого Строка Из Выборка Цикл
ОбластьТЧ = Макет.ПолучитьОбласть("Строка");
ЗаполнитьЗначенияСвойств(ОбластьТЧ.Параметры, Строка);
ТабДок.Вывести(ОбластьТЧ);
КонецЦикла;
ТабДок.Вывести(ОбластьПодвал);
// КонецЦикла;
//
Возврат ТабДок;
КонецФункции
ПоказатьПрикрепленные файлы:
По теме из базы знаний
- Графический индикатор процесса в табличной части на Управляемых формах
- Универсальный журнал документов с выводом табличной части (Управляемые формы 1С)
- Связанные табличные части (управляемые формы)
- Дружелюбный интерфейс итогов в диалоге табличных частей, для Управляемых форм.
- Новичок новичку: как открыть документ и установить курсор на нужной строке табличной части (обычные формы)
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4) в макете строку с ВидПриемаПищи вынести в отдельную область, для примера с именем "ВидПриемаПищи" .
И как вариант, пример кода:
И как вариант, пример кода:
ТабДок = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("Меню");
Запрос = Новый запрос;
Запрос.Текст =
"ВЫБРАТЬ
| УППБУ_ПлановоеМенюРасшифровкаМеню.ВидПриемаПищи КАК ВидПриемаПищи,
| УППБУ_ПлановоеМенюРасшифровкаМеню.Блюдо КАК Блюдо,
| УППБУ_ПлановоеМеню.КатегорияДовольствующихся КАК Категория
|ИЗ
| Документ.УППБУ_ПлановоеМеню.РасшифровкаМеню КАК УППБУ_ПлановоеМенюРасшифровкаМеню
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.УППБУ_ПлановоеМеню КАК УППБУ_ПлановоеМеню
| ПО УППБУ_ПлановоеМенюРасшифровкаМеню.Ссылка = УППБУ_ПлановоеМеню.Ссылка
|
|ИТОГИ ПО
| ВидПриемаПищи";
РезультатЗапроса = Запрос.Выполнить();
ОбластьШапки = Макет.ПолучитьОбласть("Шапка");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
ТабДок.Вывести(ОбластьШапки);
Если РезультатЗапроса.Пустой() тогда
ТабДок.Вывести(ОбластьПодвал);
Возврат ТабДок;
КонецЕсли;
ВыборкаВидПриемаПищи = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаВидПриемаПищи.Следующий() Цикл
ОбластьВид = Макет.ПолучитьОбласть("ВидПриемаПищи");
ОбластьВид.Параметры.Заполнить(ВыборкаВидПриемаПищи);
ТабДок.Вывести(ОбластьВид);
Выборка = ВыборкаВидПриемаПищи.Выбрать();
Пока Выборка.Следующий() Цикл
ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
ОбластьСтрока.Параметры.Заполнить(Выборка);
ТабДок.Вывести(ОбластьСтрока);
КонецЦикла;
КонецЦикла;
ТабДок.Вывести(ОбластьПодвал);
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот