Выпуск №2. Вычисляемые роли и параметры процесса

15 3

Всем привет! Это второй выпуск блога про платформу на Directum Club.

ps, если вам удобнее, то ролик также есть в VK, RuTube и YouTube.

Тайм-коды

0:00 Вступление
0:13 Вопросы из комментариев к прошлому выпуску
0:49 Первый элемент и как обратиться ко второму
1:00 Функция «Фильтр»
1:30 Пример: фильтр по виду документа
2:58 Пример посложнее: таблица Excel среди простых документов
4:24 Когда использовать первый элемент
4:53 Вычисляемые роли: чем отличаются от обычных
5:24 Настраиваем вычисляемую роль по примеру из справки
7:30 Как добавить вычисляемую роль в блок процесса
8:21 Упрощаем выражение через параметр процесса
9:42 Экспорт в Excel и связанные настройки
11:06 Параметры процесса: зачем они нужны
11:33 Параметры в коробочном процессе согласования
12:02 Передача данных от блока к блоку: способ доставки
12:49 Сроки и исполнители: согласование с уменьшающимся кругом
13:09 Практика: голосование за идею
13:38 Настраиваем процесс голосования
16:21 Проверяем голосование
17:42 Результаты подсчёта голосов
18:09 Заключение

Отвечаем на вопросы прошлого выпуска

Было несколько вопросов про первый элемент, вот как они звучали:

  • «Расскажите лучше, как обратиться ко второму элементу, это обычно вызывает много вопросов».
  • «Я до сих пор никак не могу понять, что такое Первый элемент, когда его нужно использовать, а когда нет. Может ли мне кто-нибудь объяснить подробнее, чем просто определение понятия?».
  • «И расскажите, пожалуйста, подробнее про фильтрацию коллекций. Как с помощью вычисляемых выражений фильтровать коллекцию сущностей? Что следует учитывать при настройке выражения для условий?»

Отвечаю по порядку.

Первый элемент — это функция, которая возвращает нам объект, всего один. Функций «Второй элемент» или «Третий элемент» нет. Так как же тогда и правда обратиться ко второму элементу?

Если вопрос про второй элемент, значит, на входе у нас несколько объектов. Здесь на помощь приходит функция «Фильтр», с помощью которой мы из нескольких объектов выберем именно тот, который нам нужен. Почему нельзя просто выбрать первый или пятый? Потому что их может быть, например, 100, и выбирать 67-й из 100 было бы просто невозможно. А вот фильтр как раз поможет из некоторого количества подобрать именно то, что вам нужно.

В ролике я показываю это на задаче с пятью вложениями: сначала фильтром по виду документа находим статью базы знаний, а потом добираемся до таблицы Excel среди нескольких простых документов. Как строится выражение и что показывает отладка, смотрите в видео.

Ещё один вопрос был про первый элемент: когда его использовать? Отличный пример на этот вопрос привела Юлия.

Не используем: Задача → От, так как у задачи всегда только один инициатор.

Используем: Задача → Документ → Документы → Первый элемент. Почему? Документы — это коллекция, или, проще говоря, несколько документов в группе, поэтому из них нужно выбрать один.

Вычисляемые роли

Сначала разберёмся, чем вычисляемая роль отличается от обычной.

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

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

Чтобы не разбираться с теорией, в ролике я сразу настраиваю этот пример: контекст роли договор, критерии вид договора и сумма, а в матрице разные согласующие для расходных и доходных договоров. Пошаговую настройку смотрите в видео.

Хорошо, роль настроили, как теперь добавить её в блок? Здесь нам поможет контекст. В моей роли это договор, поэтому, чтобы найти роль, нам потребуется вычисляемое выражение с цепочкой до договора.

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

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

Итак, мы сделали роль и смогли применить её в процессе.

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

Параметры процесса

С вычисляемой ролью вроде разобрались, теперь время поговорить про параметры процесса.

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

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

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

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

Реализуем в ролике простой тестовый процесс «Голосование за идею»: несколько сотрудников будут голосовать «За», «Против» или «Воздержался». Результаты голосования записываем в параметры процесса и затем отправляем ответственному. Кейс выдуманный и служит только для демонстрации принципа работы. Пособием по созданию голосований в Directum RX он не задумывался.

Как настроить параметры, результаты задания и вывод итогов в инструкцию, смотрите в видео. Это самый простой пример.

На самом деле параметры процесса можно использовать по-разному, так что применяйте их на своё усмотрение.

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

Спасибо за ваше время и до встречи в будущем!

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

Константин Душин

Здравствуйте! Спасибо Вам за такие выпуски! Было бы крайне полезно по примеру функции "Первый элемент" иметь функцию "Последний элемент". Часто нужно получить условно № версии, дату создания и т.д. последней версии документа.

Елена Питомцева

Константин, можно закинуть идею в раздел Идеи и посмотреть, как будет голосовать сообщество  за нее

Виталий Томко

Константин, спасибо за отзыв!)

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