Documents
Модуль представляет из себя кастомизированную форму для создания или редактирования документов с возможностью интеграции переменных, значение которых будет зависеть от контекста, в котором печатается документ.
Модуль имеет следующую структуру:
object, command - части запроса на сохранение документа.
fields_list - список дополнительных полей, необходимых для предоставления дополнительных данных сверх тех, что интегрированы в модуль. Структура каждого поля идентична структуре поля из модуля [[Form]].
При загрузке модуля происходит запрос на получение переменных системы - admin -> get-variables.
В ответ ожидается объект с динамическими ключами, где каждый ключ - это артикул структуры объекта из базы данных (clients, visits, users и т.д.). Каждый вложенный объект имеет 2 свойства: title - заголовок категории переменных, variables - список переменных данной категории.
Список переменных категории (variables) представлен в виде объекта объектов, где каждый объект имеет:
title - заголовок переменной.
field_type - тип значения/поля. Используется для форматирования переменной, когда получено значение.
inner_variables - вложенные переменные. Присутствуют в сложных родительских переменных, т.е. тех, которые представляют из себя объекты (сотрудники, услуги, клиенты в посещении и т.п.). Вложенные переменные имеют идентичную структуру.
Так же модуль, получая список переменных, инициализирует внутри редактора функционал для создания динамических таблиц, основанных на перечислении переменных с типом поля list и внутренними переменными (inner_variables).