Сервис печатных форм

Сервис печатных форм предназначен для быстрого формирования печатной формы документа в определенном офисном формате.

В Системе хранится специальным образом размеченный файл: шаблон для формирования образа данных документа в одном из офисных форматов. Пользователь Системы может редактировать содержимое шаблона без изменения ссылок на свойства объектов.

Пользователь Системы или другой сервис Системы отправляет запрос сервису печатных форм на формирование печатной формы для заданного набора объектов. Для объектов передаются только идентификаторы – сервис сам по данным разметки получает значения нужных свойств. Сервис формирует итоговый документ, прикрепляет к нему файл и возвращает ссылку на него в доменном событии.

Для работы с шаблоном печатных форм используется класс объекта «Документ» с кодом класса «PrintFormTemplate», доступный в сервисе «Управление моделью данных».

img

Для данного класса предусмотрен набор атрибутов «PrintFormTemplateProps». Набор атрибутов должен включать в себя описание шаблона печатных форм («printFormTemplateDescription») и глобальный код («printFormTemplateCode»). У данных атрибутов должны быть установлены текстовый тип данных и тип изменяемости «READ_WRITE».

Для вывода сформированной печатной формы администратор Системы должен создать класс объекта «Документ» с кодом «PrintFormInstance» с обязательным прикреплением контента в формате DOCX в сервисе «Управление моделью данных».

Используя класс «PrintFormTemplate», необходимо создать документ в документном сервисе, прикрепить файл шаблона печатных форм, сохранить и опубликовать. Файл шаблона должен быть формата DOCX.

Пример шаблона информации о пользователе:

    Информация о пользователе {{%User%}}.

    Основная информация

    | Идентификатор | {{%User%.id}}        |
    | ------------- | -------------------- |
    | Логин         | {{%User%.username}}  |
    | Фамилия       | {{%User%.lastName}}  |
    | Имя           | {{%User%.firstName}} |
    | Email         | {{%User%.email}}     |

    Роли

    | 1.   | {{%User%.roles}} |
    | ---- | ---------------- |

    Группы

    | 1.   | {{%User%.groups}} |
    | ---- | ----------------- |

Пример шаблона файлов пользователя:

    Файлы пользователя {{User.username}}

    Основная информация

    | Идентификатор | {{User.id}}        |
    | ------------- | ------------------ |
    | Логин         | {{User.username}}  |
    | Фамилия       | {{User.lastname}}  |
    | Имя           | {{User.firstname}} |
    | Email         | {{User.email}}     |

    Созданные файлы

    | #    | Название  файла    | Дата и время  создания файла |
    | ---- | ------------------ | ---------------------------- |
    | 1.   | {{Files.filename}} | {{Files.creationdate:F}}     |
    |      |                    |                              |
    |      | [[Annotation]]     |                              |

    Текст

    {{Various.Text}}

    Статус подписания: {{Various.state}}

    Первый подписант :{{Various.signer1}}

    Второй подписант :{{Various.signer2}}

Идентификатор созданного документа с прикрепленным шаблоном можно использовать в методе создания задания на формирование печатной формы как параметр «templateId». При выполнении метода сервис заполняет шаблон на основании переданных в методе параметров, формирует и публикует итоговой документ с файлом в разделе Документы.

img

img