Автоматизация процесса в Directum RX: доработка существующих задач или разработка новых

28 5

(статья актуальна для версии Directum RX 3.3)

Система DirectumRX позволяет автоматизировать процессы с помощью разных типов задач. Используя типы задач «из коробки», можно автоматизировать следующие процессы:

Различные решения расширяют этот список. Например, HR-процессы, командировки и др.

Однако стандартной функциональности иногда не хватает, ее хочется изменить/дополнить у конкретного Заказчика. На проекте возможны два решения: дорабатывать существующие типы задач или разрабатывать новые.

При доработке существующего типа задач необходимо помнить, что на рабочем слое нельзя перекрыть (изменить) схему задачи. Это означает, что

Нельзя:

  • Добавить или удалить этапы процесса;
  • Изменить логику перехода между этапами, например, при согласовании возвращать на доработку не инициатору задачи.

Можно:

  • Добавить действия на ленте, которые будут использоваться как новые варианты выполнения. Такие действия вызывают стандартные результаты выполнения (т.е. не изменяют схему задачи), но при этом имеют дополнительную прикладную логику. Например, кнопка «Согласовать с замечаниями», которая работает как «Согласовать», но требует указания комментария в тексте;
  • Добавить проверку на возможность старта задачи или выполнения задания с тем или иным результатом;
  • Добавить дополнительные действия (кнопки), например, запуск отчетов или других процессов;
  • Добавить или скрыть поля в карточках задач и заданий;
  • Изменить текст задачи, добавить текст задания по умолчанию;
  • Изменить логику вычисления сроков;
  • Изменить логику вычисления исполнителей;
  • Добавить или изменить дополнительную прикладную логику в этапы процесса, например, изменение полей вложенного документа;
  • В задаче на согласование по регламенту добавить новые условия согласования.

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

Но трудоемкость этого варианта часто выше, т.к. необходимо разрабатывать карточки задачи, заданий и уведомлений, схему задачи и иногда дублировать функциональность, которая уже реализована в стандартных типах задач (например, логику выдачи прав на документы, предметное отображение на закладке «Задачи» в документе, отображение в отчетах).

Доработка согласования по регламенту vs Новый тип задач

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

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

Доработка согласования по регламенту

Разработка нового типа задач

Для старта процесса всегда нужен документ. Хотя достаточно только карточки, тело не обязательно. Можно заложить любую логику для старта задачи: от документа, от справочника, просто из проводника без вложений.
Необходимые для правила согласования параметры могут быть как в карточке документа, так и в карточке задачи.

Если нужно запускать процесс в мобильном приложении Directum Solo, то необходимо переносить поля в карточку задачи. Т.к. в приложении можно заполнять поля в задаче, но нет возможности редактировать карточку документа.

Необходимые для процесса параметры можно вынести на карточку задачи – все в одном месте.

Это упрощает работу пользователя (меньше действий), а также позволяет инициировать процесс из мобильного приложения Directum Solo

Этапы в правиле согласования всегда располагаются последовательно. Одновременный старт возможен только для однотипных заданий в рамках одного типа этапа (например, одновременное согласование).

При доработке задача всегда возвращается инициатору в самое начало процесса.

Существуют определенные правила (см. справку), как можно располагать этапы в схеме согласования (например, этапы типа «Согласование» не могут идти после этапа «Подписание»).

Можно определить любую схему процесса, с произвольными вариантами выполнения и переходами
Очень много прикладной логики, доступной «из коробки»: выдача прав на документы, подписание документов, сводка по документу и встроенный лист согласования в интерфейсе заданий, дополнительные действия, доступные исполнителям заданий.

Так же ход согласования по регламенту отображается в карточке задачи на закладке «Регламент» и в карточке документа на закладке «Задачи».

Все это отлажено и работает, нет необходимости тестировать эти функции.

Все нужно делать с нуля. Если нужна функциональность, похожая на возможности, заложенные в согласование по регламенту, то трудоемкость разработки будет большой.

Также нужно заложить больше времени на тестирование нового типа задач и всей добавленной логики. Есть риск что-то не учесть с первого раза.

Есть инструмент визуальной настройки процесса, который позволяет изменить состав и последовательность этапов, исполнителей, сроки заданий. При разработке можно предусмотреть простой справочник с настройками для изменения исполнителей и сроков.

Изменить состав и порядок следования этапов можно только силами наших разработчиков. При этом, если разработка будет передана Заказчику или Партнеру, которые сами будут что-то дорабатывать на своем слое, то они точно так же не смогут изменять схему задачи.

Если автоматизируемый процесс по сути своей не является согласованием, то у пользователя каждый раз будет вопрос: «Почему я отправляю документ на согласование? Его же не надо согласовывать…» Название задачи в системе будет соответствовать сути процесса. Для пользователя будет прозрачно и понятно.
Если в новой версии системы были внесены изменения в согласование по регламенту, то при обновлении необходимо провести анализ на совместимость разработки. Возможно потребуется адаптация. Изменения стандартных типов задач в новых версиях системы никак не влияют на тип задач, разработанный на заказ.
Иван Романов

"Изменить логику перехода между этапами, например, при согласовании возвращать на доработку не инициатору задачи. "

В целом вообще нельзя баловаться с Workflow? Ограничивать старт задания по этапу, например пока не соберется пул из условных 5 заданий по одному регламенту.

Юлия Литвинюк

Иван, если я правильно поняла, то вы спрашиваете про паузу в регламенте? Т.е. когда процесс "ждет" некоторого события.

Такое можно сделать, если в регламент включить задание служебному пользователю и выполнять его программно при наступлении нужного события.

Иван Романов

Юлия, вы поняли меня правильно. Спасибо за вариант решения ;)

Ильдус Нуретдинов

Добрый день. Так и не нашел где менять текст задачи по умолчанию (например, по договорам). Буду благодарен подсказке или ссылке на пример.

Mikhail Popkov

Ильдус, перекройте интересующую Вас задачу и в событиях посмотрите базовый код, где код формирует текст задачи, закомментируйте и задайте свой текст в своем коде. Или комментируйте base. и пишите свой код например на событии создание

Mikhail Popkov: обновлено 01.06.2021 в 20:34
Mikhail Popkov: обновлено 01.06.2021 в 20:39

Авторизуйтесь, чтобы написать комментарий