Добрый день, я начинающий разработчик, и у меня возникла задача сделать ПФ на услуги из документа "Заказ клиента", получается при нажатии на ПФ должны выводится печатные формы на каждую услугу которая есть в документе, не пойму как выполнить этот алгоритм. Я так понимаю запросом формирую заказ клиента с отбором по номенклатура - услуга, получаю список нужных мне услуг, дальше не совсем пойму, нужно обойти эти строки и для каждой сформировать ПФ, или в одном табл документе, через разделитель был вывод, печатных форм , тоесть разделитель шапка заного подвал, опять разделитель. После того как получаю список номенклатуры нужной, не понимаю дальше что делать что бы на каждую эту номенклатуру сформировать ПФ отдельно
По теме из базы знаний
- Инвестиционный анализ, применение генетического алгоритма для выбора проекта
- Внешняя компонента для сжатия/распаковки файлов, двоичных данных и строк по алгоритму Zlib, Deflate и GZip
- Новый сборник задач по программированию (топ на 17.02.2025)
- Масштабируем стажировку: как принять 30 новичков и не сломать процессы
- Алгоритмы шифрования ГОСТ 34.10-2012, RSA-1024, AES-256-GCM, XChacha20-poly1305
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Примерно так
Таким образом для каждой строки документа сформируется своя печатная форма.
ТД = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("МакетПечатнойФормы");
Для Каждого Строка Из Документ.Услуги Цикл
ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
ТД.Вывести(ОбластьШапка);
ТД.Вывести(ОбластьСтрока);
ТД.Вывести(ОбластьПодвал);
КонецЦикла
ПоказатьТаким образом для каждой строки документа сформируется своя печатная форма.
Добрый день. Я бы сделал так: Сначала получил все услуги, и засунул их в массив, а потом уже для каждого элемента из массива делал пф, к примеру
Вот для каждой услуги будет выводиться новая печатная форма.
&НаКлиенте
Процедура НапечататьДок(Кнопка)
МассивУслуг = ПолучитьМассивНаСервере();
Для Каждого Элемент Из МассивУслуг Цикл
ТабДокумент = ЗаполнитьДанныеДляПечати(Элемент);
ТабДокумент.Показать("Нужное название");
КонецЦикла;
КонецПроцедуры;
&НаСервере
Функция ПолучитьМассивНаСервере()
Запрос = твой запрос, в нем выбираешь нужные услуги и в массив;
Возврат МассивУслуг;
КонецФункции
&НаСервере
Функция ЗаполнитьДанныеДляПечати(Услуга)
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Услуга", Услуга);
Запрос.Текст = *******
Заполняешь макет
Возврат ТабДокумент;
КонецФункции
ПоказатьВот для каждой услуги будет выводиться новая печатная форма.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот