Помощь с алгоритмом новичку

1. pororun56 22.11.21 12:53 Сейчас в теме
Добрый день, я начинающий разработчик, и у меня возникла задача сделать ПФ на услуги из документа "Заказ клиента", получается при нажатии на ПФ должны выводится печатные формы на каждую услугу которая есть в документе, не пойму как выполнить этот алгоритм. Я так понимаю запросом формирую заказ клиента с отбором по номенклатура - услуга, получаю список нужных мне услуг, дальше не совсем пойму, нужно обойти эти строки и для каждой сформировать ПФ, или в одном табл документе, через разделитель был вывод, печатных форм , тоесть разделитель шапка заного подвал, опять разделитель. После того как получаю список номенклатуры нужной, не понимаю дальше что делать что бы на каждую эту номенклатуру сформировать ПФ отдельно
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. GeraltSnow 177 22.11.21 13:20 Сейчас в теме
Примерно так
ТД = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("МакетПечатнойФормы");

Для Каждого Строка Из Документ.Услуги Цикл
ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
ТД.Вывести(ОбластьШапка);
ТД.Вывести(ОбластьСтрока);
ТД.Вывести(ОбластьПодвал);
КонецЦикла
Показать


Таким образом для каждой строки документа сформируется своя печатная форма.
3. Al3x 1 22.11.21 13:23 Сейчас в теме
Добрый день. Я бы сделал так: Сначала получил все услуги, и засунул их в массив, а потом уже для каждого элемента из массива делал пф, к примеру

&НаКлиенте
Процедура НапечататьДок(Кнопка)

МассивУслуг = ПолучитьМассивНаСервере();

Для Каждого Элемент Из МассивУслуг Цикл

ТабДокумент = ЗаполнитьДанныеДляПечати(Элемент);
ТабДокумент.Показать("Нужное название");

КонецЦикла;

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

&НаСервере
Функция ПолучитьМассивНаСервере()

Запрос = твой запрос, в нем выбираешь нужные услуги и в массив;

Возврат МассивУслуг;

КонецФункции

&НаСервере 
Функция ЗаполнитьДанныеДляПечати(Услуга)

Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Услуга", Услуга);
Запрос.Текст = *******

Заполняешь макет

Возврат ТабДокумент;

КонецФункции
Показать


Вот для каждой услуги будет выводиться новая печатная форма.
4. pororun56 22.11.21 13:32 Сейчас в теме
(3)Вот что то подобное я и предполагал, спасибо
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот