Копировать ссылку на страницу Перейти в предыдущий раздел Перейти в следующий раздел

Для вычисления роли с помощью правил ее необходимо создать копированием записи «СпециальнаяРоль» справочника Роли. В вычислениях роли должен быть указан фрагмент кода:

 

// Role.Name – наименование роли, которая будет вычисляться с помощью правил

AuthorNames = GetUsersForRole(Role.Name)

foreach AuthorName in CSubString(AuthorNames; ';')

 Result.Add(ServiceFactory.GetUserByName(AuthorName))

endforeach

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

в поле *Роль указана необходимая вычисляемая роль текущего типового маршрута;
в поле *Типовые маршруты указан текущий типовой маршрут.

Для вычисления одной роли в рамках одного типового маршрута можно настроить:

одно правило с вариантом Использовать по умолчанию, если ни одно правило не было выполнено;
одно правило с вариантом Выполнить только это правило;
любое количество правил с вариантом Выполнить и перейти к следующему.

Порядок обработки правил определяется значением поля *Вариант применения:

1.Сначала обрабатываются правила с вариантом Выполнить только это правило.
2.Если правил с типом Выполнить только это правило нет или ни одно из них не выполнено, обрабатываются правила с вариантом Выполнить и перейти к следующему.
3.Если правил с типом Выполнить только это правило и Выполнить и перейти к следующему нет или ни одно из них не выполнено, обрабатываются правила с вариантом Использовать по умолчанию, если ни одно правило не было выполнено.

Для выбранных правил будет получено значение поля Параметр маршрута и проведена проверка выполнения условий, указанных в табличной части записи справочника. Если все условия выполняются, то пользователи, указанные в поле *Список исполнителей, станут исполнителями текущей роли.

См. также

 

© Компания DIRECTUM, 2018 Сообщество пользователей DIRECTUM
.navbar > a:hover { background: #FFD73B; }