<< Click to Display Table of Contents >> Объектная модель > Базовое решение Directum RX > Company – компания Ограничение видимости оргструктуры |
Слой настройки для управления списком видимых записей в справочниках «Наши организации», «Подразделения», «Сотрудники» для конкретного сотрудника компании.
Настройка используется в событии UI-фильтрации соответствующих справочников и применяется при ручном выборе и like-вводе в контролах:
•в свойствах сущностей;
•в поисках и диалогах;
•в панели фильтрации;
•при отображении списка записей в проводнике.
Алгоритм определения видимых записей реализован в хранимых процедурах Sungero_Company_GetHeadRecipientsByEmployee и Sungero_Company_GetAllVisibleRecipients.
Последовательность вычислений:
1.Проверяется признак NeedRestrictVisibility (Ограничить видимость оргструктуры). Если он False, то видимость оргструктуры не ограничивается.
2.Проверяется, указан ли сотрудник (напрямую или через вхождение в группы) в свойстве UnrestrictedRecipients (Сотрудники без ограничения видимости). Если указан, то видимость оргструктуры не ограничивается.
3.Далее выполняется поиск групп, в которые входит сотрудник с учетом иерархии подразделений. Учитываются свойства:
•коллекция RecipientLinks (Участники), которая есть во всех группах;
•свойство Parent (Родительская группа) у дочерних групп;
•свойство HeadOffice (Головное подразделение) у дочерних подразделений;
•свойство BusinessUnit (Наша организация) у подразделений, привязанных к НОР.
4.Из этого списка исключаются сотрудники, указанные в свойстве HiddenRecipients (Скрытые сотрудники).
5.К видимым группам добавляются те, которые указаны в подходящих правилах. Подбор осуществляется по свойству Recipients (Группы и сотрудники) с учетом всех групп, в которые входит сотрудник.
6.Группы разворачиваются «вниз» до конкретных сотрудников. Учитывается вхождение в группы и их иерархия по свойствам:
•коллекция RecipientLinks (Участники), которая есть во всех группах;
•свойство Parent (Родительская группа) у дочерних групп;
•свойство HeadOffice (Головное подразделение) у дочерних подразделений;
•свойство BusinessUnit (Наша организация) у подразделений, привязанных к НОР;
•свойство CEO (Руководитель), в котором указан руководитель НОР;
•свойство Manager (Руководитель), в котором указан руководитель подразделения.
7.Для каждого правила из видимых исключаются группы и сотрудники, указанные в ExcludedMembers (Группы и сотрудники). Результирующая выборка показывается пользователю в списках.
© Компания Directum, 2024 |