Для вычисления роли с помощью правил ее необходимо создать копированием записи «СпециальнаяРоль» справочника Роли. В вычислениях роли должен быть указан фрагмент кода:
// Role.Name – наименование роли, которая будет вычисляться с помощью правил
AuthorNames = GetUsersForRole(Role.Name)
foreach AuthorName in CSubString(AuthorNames; ';')
Result.Add(ServiceFactory.GetUserByName(AuthorName))
endforeach
При вычислении созданной роли в блоке типового маршрута будет выполнена функция GetUsersForRole, осуществляющая поиск записей справочника Правила для ролей. Будут выбраны те записи, у которых:
• | в поле *Роль указана необходимая вычисляемая роль текущего типового маршрута; |
• | в поле *Типовые маршруты указан текущий типовой маршрут. |
Для вычисления одной роли в рамках одного типового маршрута можно настроить:
• | одно правило с вариантом Использовать по умолчанию, если ни одно правило не было выполнено; |
• | одно правило с вариантом Выполнить только это правило; |
• | любое количество правил с вариантом Выполнить и перейти к следующему. |
Порядок обработки правил определяется значением поля *Вариант применения:
1. | Сначала обрабатываются правила с вариантом Выполнить только это правило. |
2. | Если правил с типом Выполнить только это правило нет или ни одно из них не выполнено, обрабатываются правила с вариантом Выполнить и перейти к следующему. |
3. | Если правил с типом Выполнить только это правило и Выполнить и перейти к следующему нет или ни одно из них не выполнено, обрабатываются правила с вариантом Использовать по умолчанию, если ни одно правило не было выполнено. |
Для выбранных правил будет получено значение поля Параметр маршрута и проведена проверка выполнения условий, указанных в табличной части записи справочника. Если все условия выполняются, то пользователи, указанные в поле *Список исполнителей, станут исполнителями текущей роли.
© Компания DIRECTUM, 2018 | Сообщество пользователей DIRECTUM |