Программное формирование существующих печатных форм
Получение списка печатных форм, формирование выбранной печатной формы и сохранение ее в файл.
- Описание
- Подробнее
Описание
В один прекрасный момент возникла задача контролировать комплектность печатных форм для документов реализации. При этом требовалось для разных случаев контролировать наличие разных печатных форм. Целиком задачу в рамках данной публикации рассматривать не будем, а рассмотрим следующие вопросы:
- Получение списка печатных форм некоторого объекта
- Программное получение заполненного табличного документа печатной формы
- Сохранение табличного документа в формате pdf качестве присоединенного файла
Данный пример будем рассматривать в условиях наличия подсистем печати и внешних обработок БСП.
Для тестов использовалась конфигурация "1С:Комплексная автоматизация 2.4.13.278" с платформой 8.3.18.1289 (клиент-серверный вариант работы, тонкий клиент)
Получение списка печатных форм
Для получения объектов метаданных с командами печати будем использовать функцию УправлениеПечатью.ИсточникиКомандПечати:
- Возвращаемое значение — Массив элементов типа ОбъектМетаданных.
Для получения списка печатных форм будем использовать функцию УправлениеПечатью.КомандыПечатиОбъекта:
- Входящий параметр — ОбъектМетаданных (например, Метаданные.Документы.РеализацияТоваровУслуг)
- Возвращаемое значение — ТаблицаЗначений с командами печати
Сразу оговоримся, будем получать следующие команды печати:
- С заполненными менеджерами печати (комплекты печатных форм в этом случае в наш список не попадут)
- Для внешних печатных форм получать будем команды с вариантом запуска ВызовСерверногоМетода
Итак, подготовим форму обработки:

- ОбъектМетаданных — тип Строка (для хранение полного имени метаданных)
- ПечатнаяФорма — тип Произвольный (для хранения свойств команды печати)
- ОбъектСсылка — тип ЛюбаяСсылка (для выбора конкретного объекта базы данных)
- У элементов формы ОбъектМетаданных и Печатная форма установим свойство Режим выбора из списка
- У элемента формы ОбъектСсылка установим свойство ВыбиратьТип в значение Ложь
Далее добавим обработчик события формы ПриСозданииНаСервере, в котором заполним список выбора объектов метаданных с командами печати:
