Позволяет создать новую печатную форму, подключаемую к подсистеме дополнительный печатных форм библиотеки стандартных подсистем.
Весь процесс создания новой печатной формы в этом инструменте заключается в формировании макета, написании запроса и сопоставлении данных запроса и параметров макета. Есть возможность загрузки макета их электронных таблиц excel и open office.
Предполагается, что все данные, которые должны быть выведены в печатную форму будут получены в запросе. Также крайне рекомендуется использовать итоги в запросе. Как минимум по ссылке, для того чтобы была возможность формировать печатную форму по массиву объектов.
Запрос.
Параметры запроса выводятся в таблицу параметров. Ожидается, что как минимум один (а может и как максимум) параметр будет сопоставлен с параметром "МассивОбъектов" Функции СформироватьПечатнуюФорму модуля объекта печатной формы. Этот параметр нужно отметить галочкой "Основной реквизит отбора" в таблице параметров запроса. Сделал возможность указания значений параметров в синтаксисе кода 1с. Для основного реквизита отбора значение игнорируется.
Сопоставление объектов.
На этом этапе формируется структура будущей печатной формы.
Сама структура представлена в виде дерева. Верхний уровень дерева - Область макета. вложенные элементы - параметры областей макета. Для каждой области необходимо указать принадлежность к выборке запроса. Количество выборок запроса соответствует количеству итогов запроса плюс детальные записи.
Если для области установить флаг "Автозаполнение", то параметры области будут заполняться командой ЗаполнитьЗначенияСвойств. В этом случае имена полей запроса должны соответствовать именам параметров макета.
Если флаг "Автозаполнение" не установлен, то необходимо вручную сопоставить поля запроса и параметры макета. Это делается перетягиванием полей запроса в нужную строку структуры отчета.
Компиляция обработки.
Перед компиляцией необходимо предварительно установить общие параметры печатной формы: Имя, Имя макета, синоним и массив назначений - объекты, к которым будет подключаться печатная форма.
В результате работы формируется файл epf, полностью готовый для регистрации в качестве внешней печатной формы.
Есть много идей по развитию данного проекта. Если будет интерес - будут развивать. Вот некоторые из них:
- возможность заполнения параметров макета произвольным кодом 1с
- возможность просмотра/редактирования кода модуля объекта перед компиляцией Реализовано
- импорт данных из другой внешней печатной формы
UPD: Добавлена возможность редактирования модуля объекта обработки с раскраской кода. В связи с этим перед компиляцией необходимо выполнить заполнение модуля объекта и, если есть необходимость, внести корректировки в код.
Сделал небольшой видео гайд по работе: https://youtu.be/7vmP-ql0lUg
UPD2: Добавил возможность использования вертикальных областей в макете. В редактор кода добавил модную консоль кода https://github.com/salexdv/bsl_console, спасибо большое автору. Не пришлось писать с 0. Исправил ошибки.
На очереди - сохранение/загрузка промежуточных результатов обработки до компиляции, использование нескольких шаблонов обработки, использование документа word в качестве шаблона
Данная обработка тестировалась на платформе 8.3.16.1224, Конфигурация 1С Бухгалтерия 3, но совместимо со всеми конфигурациями