Skip to content

AkelonDev/ApprovalMatrix

Repository files navigation

Паспорт шаблона разработки «Матрица согласования»

Note

Решение актуально для версии Directum RX 25.3. Дальнейшая актуализация и адаптация нецелесообразна в виду развития инструментов no-code. Надеемся, принципы применённые в реализации решения будут Вам полезны при реализации сложных процессов согласования объектов системы Directum RX.

Возможности решения

Позволяет гибко настроить список исполнителей этапа согласования или исполнителей блока в схемах no-code.

Для использования в задаче «Согласование по регламенту», пользователь решения создает записи в справочнике «Матрицы согласования», указывает критерии матрицы: приоритет, вид документа, категорию договора, нашу организацию, подразделение, должность. А также заполняет список предполагаемых исполнителей. В необходимом этапе согласования исполнителем указывается роль согласования «Исполнители по матрице согласования». При вычислении исполнителей роли согласования система по согласуемому документу ищет подходящую по критериям запись справочника «Матрицы согласования» и возвращает указанных в записи исполнителей.

Для использования в схемах no-code аналогично настраивается справочник «Матрицы согласования», дополнительно необходимо указать свойство «Для no-code». В свойстве исполнители указывается официальный документ по которому необходимо вычислить исполнителей и вызывается вычисляемое выражение «Получить исполнителей по матрице согласования».

Пример на задаче ознакомления с документом

Апробация на проектах

Реализованная функциональность была использована на проектах:

  • проект 1 — Бионорика- Внедрение DirectumRX;
  • проект 2 — Инфамед - Внедрение Directum RX;
  • проект 3 — Р-Фарм - Внедрение DirectumRX;
  • проект 4 — Рэд Винд - Внедрение DirectumRX.

Состав решения

  1. Модуль «Матрицы согласования» (MatrixCore).
  2. Модуль «Расширение согласования по регламенту» (ApprovalTaskExtensionUI).
  3. Тип справочника «Матрицы согласования» (ApprovalMatrix).
  4. Тип справочника «Роли согласования» (ApprovalRole). Новая роль согласования «Исполнители по матрице согласования».
  5. Перекрытие типа справочника «Этапы согласования» (ApprovalStage), модуля Документооборот (Docflow).
  6. Новая роль «Пользователи настраивающие матрицы согласования». При инициализации выдаются полные права на работу с модулем «Расширение согласования по регламенту», полные права на справочник «Матрицы согласования».
  7. Локализация новых элементов разработки.

Варианты расширения функциональности на проектах

  1. Добавление новых ролей согласования для работы с матрицей согласования.
  2. Добавление новых полей для фильтрации по матрицам согласования.
  3. Изменение логики вычисления нашей организации, подразделения и должности сотрудника, указанного в документе в зависимости от вида и типа документа.

Архитектурно неочевидные моменты

  1. Сотрудник из документа, по которому происходит фильтрация матриц по свойствам «Наша организация», «Подразделение», «Должность», вычисляется по следующему алгоритму:
    • Для договорных документов используется значение из свойства «Ответственный».
    • Для внутренних документов используется значение из свойства «Подготовил».
    • Для исходящих документов используется значение из свойства «Подготовил».
    • Для входящих документов используется значение из свойства «Адресат».
    • Для остальных типов документов, являющихся наследниками IOfficialDocument, используется значение из свойства «Автор».
  2. Расчет приоритета матриц происходит по убыванию, т.е. чем больше число в свойстве «Приоритет», тем приоритетнее матрица.
  3. Поле «Категория» становится видимым и доступным для изменения, если в списке «Виды документов», присутствуют виды документов, для которых заведены категории.

Note

Замечания и пожеланию по развитию шаблона разработки фиксируйте через Issues. При оформлении ошибки, опишите сценарий для воспроизведения. Для пожеланий приведите обоснование для описываемых изменений - частоту использования, бизнес-ценность, риски и/или эффект от реализации.

Внимание! Изменения будут вноситься только в новые версии.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages