сократилось среднее время разработки типичных видов документа
уменьшилось время работы пользователя с версией документа
сократилось время внесения изменений
Как часто разработчикам приходится делать одно и то же?
Большинство проектов внедрения Directum RX требуют от разработчиков выполнения ряда однотипных задач:
Данные настройки индивидуальны для каждого вида документа, поэтому получается, что эти действия слишком расходуют время разработчиков.
Для оптимизации работ выполняемых командой разработчиков, было принято решение добавить возможность выполнения таких настроек напрямую из клиента (это и есть наша цель).
Сократился объем Low-Code, и появилось больше возможностей для администрирования системы с применением No-Code.
Чтобы достигнуть нашей цели, были разработаны следующие механизмы:
Вычисляемые свойства – механизм, аналогичный по своему функционалу вычисляемым выражениям, используемым в бизнес-процессах. Позволяет задать цепочку вычисления требуемых значений и применить к ним конвертеры. Задать условия вычисления и значение по умолчанию, если критерии не выполняются. Поддерживает как вычисление обычных цепочек свойств, так и значений на уровне коллекции (используем при заполнении таблиц в шаблонах).
Вычисляемые штампы – механизм, предназначенный для сопоставления ключей тегов из шаблонов документов и значений, по которым производится проставление штампов ЭП или любых других значений полей документа при конвертации в pdf (например, рег. номер, рег. дата).
Шаблоны свойств – механизм, который позволяет получать текстовое представление свойства по заданному шаблону. Используется, например, при формировании имени документа, автоматическом заполнении полей в шаблонах.
Вычисляемые коллекции – механизм, позволяющий задавать алгоритм заполнения таблиц в шаблонах на основании коллекций, представленных в карточке документа.
Регулирование поведения карточки документа – комплекс механизмов, обеспечивающих возможность настраивать поведение полей напрямую из карточки вида документа (видимость, обязательность, доступность), а также применять специальные настройки при старте задачи.
Рассмотрим, как реализованное решение помогает подготовить вид документа из клиента.
Карточка вида документа была дополнена двумя вкладками с настройками: «Настройки карточки» и «Дополнительные настройки».
Рис. 1. Настройка вида документа
На первой вкладке доступны следующие настройки:
Рис. 2. Формирование шаблона имени с использованием вычисляемых свойств
На вкладке «Дополнительные настройки» доступны следующие настройки.
Рис. 3. Дополнительные настройки вида документа
Карточка шаблона также была доработана, чтобы можно было работать как с docx, так и с xlsx!
Возможности были расширены следующим образом:
Для заполнения таблиц в шаблоне необходимо заполнить карточку вычисляемой коллекции, в которой устанавливается соответствие между типом тега, его наименованием в шаблоне и значением, которым оно должно быть заполнено в документе. На каждую таблицу заполняется своя карточка.
Рис. 4. Настройка алгоритма заполнения таблицы в шаблоне
В карточке указывается коллекция, по данным из которой необходимо заполнить шаблон, а также заполняется таблица, в которой описан алгоритм заполнения каждой ячейки в строке.
Столбец «Шаблон заполнения ячейки» используется для указания значения из коллекции, а столбец «Владелец штампа» для вычисления ИД сотрудника из выбранной коллекции, штамп которого будет проставляться в соответствующей строке таблицы в шаблоне.
Если шаблон в формате docx, то для обычных автозаполняемых полей используется вкладка «Параметры» (коробочный механизм), а если шаблон в формате xlsx, то дополнительно заполняется вкладка «Параметры (excel)», где с помощью вычисляемых свойств указывается, как заполнить теги. На вкладки поля документа, которые необходимо предзаполнить при создании документа из шаблона, с помощь шаблонов свойств.
Рис. 5. Настройка заполнения полей в excel
Но и это ещё не всё, ещё документ нужно преобразовать в PDF!
Так как не все данные могут быть заполнены в шаблоне до завершения согласования – в первую очередь, штампы, а также рег. данные или другие поля, которые заполняются в ходе маршрута – то заполнение данных полей из шаблона необходимо вынести на этап конвертации в PDF.
Для этого создаем вычисляемые штампы для каждого из тегов в шаблоне.
Рис. 6. Настройка конвертации в PDF
Для заполнения штампов электронной подписи необходимо указывать вычисляемую роль (коробочный No-Code механизм) – в ней указывается сотрудник, электронную подпись которого необходимо вычислить и отразить в документе.
Для заполнения свойств из документа (например, регистрационный номер и дату) необходимо указать вычисляемое свойство.
Как выглядят настройки со стороны пользователя:
Карточка документа заполнена, за исключением полей «Содержание» и «Привлекаемые сотрудники», которые дополняет инициатор документа. Обязательность, видимость и доступность регулируется в соответствие с настройками. Имя документа сформировано на основании заданного шаблона. Добавление обязательных приложений происходит по кнопке «Загрузить приложения».
Рис. 7. Пример карточки
В версии документа, созданной из шаблона, заполнены данные исходя из заданных настроек и на основании введенных инициатором значений в карточку документа.
Рис. 8. Заполненный шаблон
Сейчас вы увидите как будет выглядеть версия документа после согласования служебной записки и конвертации в PDF: выведены штампы в документе, регистрационный номер и регистрационная дата.
Рис. 9. Преобразованный документ в PDF
В среднем разработка типичных видов документа сократилась с 2-3 часов до 10-30 минут.
Время работы пользователя с версией документа уменьшилось на 60% (ранее данные в таблицах, а также обычные свойства в excel, не заполнялись).
Сократилось время внесения изменений в 10 раз.
Разработка решения заняла 3 месяца.
Данное решение поставляется отдельно и может быть установлено как базовое в любой новый проект Directum RX с версии 4.7 и выше.
Решение является полностью универсальным и масштабируемым – возможна доработка и адаптация под конкретные требования Заказчика.
Внедрение новых проектов у Заказчиков будет происходить заметно быстрее и требовать меньше затрат со стороны разработчика, т.к. для того чтобы настроить такую карточку, как было рассмотрено выше, требуется только добавить новые поля в среде разработки и вывести их на форму.
А если маршрут включает только стандартные блоки согласования и подписания без доп. функциональности, то единственными трудозатратами, с точки зрения low-code, будет только добавление новых полей.
К тому же для всех описанных здесь механизмов мы сделали импорт/экспорт, поэтому перенос всех настроек с локальной системы Directum RX на продуктивную систему занимает буквально 5 минут.
Обсудите реализацию с экспертом Directum