Перейти к содержанию

Пример 1: Руководители подразделений

Руководитель подразделения должен видеть документы своих подчиненных и вложенных. Подразделение документа определяется по полю “Подразделение” в карточке.

Данный пример состоит из двух карточек системы:

  1. Генератор умных ролей “Руководители подразделений”.

  2. Правило расчёта ACL “Руководители подразделений”.

Генератор умных ролей “Руководители подразделений”

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

Генератор умных ролей "Руководители подразделений"

Данная карточка имеет следующие запросы и триггеры:

  • Запрос на получение списка ролей, который возвращает по идентификатору карточки подразделения всех руководителей подразделения и всех родительских подразделений. Запрос также работает в режиме множественной выборки.

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

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

  • Триггеры, которые запускают обновление умных ролей в следующих ситуациях:

    • При изменении родительского подразделения в карточке подразделения - перерасчитываются все умные роли.

    • При изменении руководителя подразделения в карточке подразделения - перерасчитываются умные роли для текущего подразделения и всех дочерних подразделений.

Правило расчёта ACL “Руководители подразделений”

Данное правило производит расчёт ACL для карточек с типами “Документ” и “Договорной документ” и записывает в ACL роли, созданные с помощью генератора умных ролей “Руководители подразделений”.

Подразделения для получения умной роли определяется по полю “Подразделение” в карточке.

Правило расчёта ACL "Руководители подразделений"

Данная карточка имеет следующие запросы и триггеры:

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

  • Триггеры, которые запускают обновление ACL для карточек в следующих ситуациях:

    • При изменении подразделения в карточке документа - запускает обновление ACL самой карточки при изменении поля “Подразделение” в нём.
Back to top