Иерархия прав на документ

25 1

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

Но свою разработку я все-таки решил выложить. Во-первых, никаких дополнительных компонент не требуется, вся обработка и визуализация производится стандартными средствами DIRECTUM. Во-вторых, имена пользователей отображаются на русском языке, что, на мой взгляд, удобнее для просмотра. В-третьих, в разработке учтен флаг "Без наследования", который появился в справочнике "Замещение пользователей" не так давно.

Недостатки тоже есть: настройки, по сравнению с разработкой Павла, отсутствуют.

Отчет строится по ИД документа:

Результат выводится в текстовом виде:


Пояснения:

  • на первом уровне выводится список пользователей и групп, которым непосредственно назначены права на документ;
  • на подуровнях выводятся пользователи, которые входят в группу (для групп) или замещают пользователя, указанного уровнем выше. Тип замещения указан в скобках - буква "А" для типа "Ассистент" и буква "П" для замещения типа "Полное";
  • отчет строится на текущий момент;
  • многоточие ставится, если пользователь в отчете встречается выше, поэтому дерево иерархии по этому пользователю еще раз не строится;
  • в отчет выводится "Полное имя" из карточки пользователя;
  • максимальная глубина построения иерархии ограничена числом рекурсионных вызовов в DIRECTUM, т.е. тридцатью двумя пользователя вглубь дерева.

Работоспособность проверена на версии 4.8, 4.9.1 и 5.0. На более ранних тоже должен работать, на более поздних - работоспособность не гарантируется, т.к. для простоты и скорости используются SQL-запросы. Поиск конкретного пользователя можно осуществлять по Ctrl+F в результатах поиска.

Access Rights Hierarchy.rar (4,70 Кб)

 

25
Авторизуйтесь, чтобы оценить материал.
Анна Долганова

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

Разве что удивило, что результат выводится через редактирование текста. ИМХО, не самый удобный способ, особенно с учетом того, что в группе может быть весьма много пользователей. 

Можно сделать и обратный отчет - по пользователю отследить, какие документы ему доступны минимум на просмотр smiley 

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