Глава 1. Устройство PrintWizard (конструктор печатных форм)
Содержание
Информация
При разработке конструктора автор вдохновлялся системой компоновки данных программы 1С. Поэтому вы можете заметить, что некоторые термины и описания очень перекликаются. Однако, при этом они имеют схожее предназначение и функционал.
Здесь и далее
- (*) - функционал планируемый к разработке
- “разработчик” - пользователь Конструктора, имеющий доступ к визуальному механизму создания и настройки печатных форм
Конструктор печатных форм (далее Конструктор, PrintWizard) - мощный и гибкий инструмент для создания печатных форм на основе их декларативного описания. Использование декларативного описания макетов печатных форм позволяет реализовать следующие возможности:
- создание печатной формы без программирования;
- возможность создания различных вариантов одной печатной формы;
- возможность задания различных вариантов пользовательских настроек;
- разбиение исполнения печатной формы на этапы;
- программное влияние на процесс формирования печатной формы;
- настройки структуры печатной формы;
- (*) автоматически генерируемая форма настройки печатной формы;
- (*) дополнительные объекты-абстракции для упрощения и унификации сбора данных (механизм “Алгоритмы”)
Конструктор состоит из набора элементов, каждый из которых имеет свое декларативное описание, возможность сериализации (то есть сохранения в JSON и загрузки из JSON). Это позволяет гибко управлять всеми этапами выполнения процесса формирования печатной формы.
Формирование печатной формы на основе конструктора разбивается на этапы. В каждый из этапов разработчик может вмешаться (визуально или программно), (*) а также выполнить различные этапы в режиме отладки и проанализировать полученный результат.
Рис. 1.1 схема взаимодействия объектов конструктора печатных форм
На схеме представлены следующие этапы формирования печатной формы:
- Разработчик создает макет конструктора (включая стандартные настройки), которые содержат полную информацию о печатной форме;
- Процессор печати PrintWizard в соответствии с макетом печатной формы извлекает данные из информационной базы, агрегирует, оформляет и формирует данные для печати;
- Процессор вывода PrintWizard обрабатывает данные для печати и выводит их в различные форматы
- табличный документ (.mxl)
- офисный документ (.docx)
Процесс разработки печатной формы с помощью Конструктора и его дальнейшее использование на практике выглядит следующим образом:
Исходя из поставленной задачи, разработчик создает макет конструктора, в котором описывает источники данных, наборы данных, связи между ними, создает макет печатной формы (в табличном или офисном документе), определяет параметры макета, выполняет связь параметров макета с полями наборов. При необходимости описывает алгоритмы дополнительной обработки в процессе формирования печатной формы (на языке 1С), а также настраивает команду для формирования печатной формы.
В пользовательском режиме, у объекта появляется кнопка для формирования печатной формы. При нажатии на которую происходит автоматическое формирование печатной формы и вывод результата через стандартные средства подсистемы “Управление печатью” библиотеки стандартных подсистем 1С.