Представляю вашему вниманию свой вариант внешней обработки для быстрого расчёта прав доступа на объекты конфигурации. Решений на эту тему есть несколько. Акцентирую внимание на быстром расчёте, потому что идея данной обработки - оперативная проверка прав на те или иные объекты конфигурации.
Подобная задача возникает тогда, когда требуется выдать права какому-либо пользователю и сделать это нужно, как водится, вчера. За счёт предварительной установки отборов расчёт прав выполняется только для выбранных (отмеченных) в списке объектов. В результате нет ни долгого ожидания расчёта всех прав на все объекты, ни ограничений по уровням подсистем. В коде используются только функции платформы, без БСП. Поэтому обработка пригодна как для типовых конфигураций на основе БСП, так и для нестандартных. Типовые, всё же, имеют то преимущество, что в них данная обработка может быть встроена.
Функционирует обработка следующим образом. При запуске открывается вкладка «Настройки»:
В окнах вкладки находятся вычисляемые обработкой при запуске типы объектов конфигурации и права, предоставляемые платформой.
Ниже этих окон находится переключатель способа проверки прав:
Соответственно, при выборе того или иного способа, расчёт прав будет произведён с учётом положения этого переключателя. Во втором случае внизу появится список пользователей текущей информационной базы, которых также нужно отметить флажками. Это удобно в тех случаях, когда известно, что у кого-либо из пользователей есть искомые права, но неизвестно какие именно.
При нажатии кнопки на вкладке «Поиск прав» будет выведено дерево объектов выбранных типов. Таким образом ограничивается набор объектов для расчёта прав. В дереве нужно выделить строки, содержащие объекты, для которых требуется проверить права.
Продемонстрирую работу на примере расчёта прав для конфигурации УНФ для задачи выдачи прав на некоторые отчёты. Для этого нужно выбрать на вкладке «Настройки» тип объектов - «Отчеты» - и указать в нижнем окне проверяемые права (в примере: чтение и просмотр):
Затем нажать кнопку «Заполнить дерево объектов конфигурации». Обработка перейдёт на вкладку «Поиск прав», где нужно будет выделить те отчёты, для которых требуется проверить права:
И нажать кнопку «Проверить права по выбранным элементам списка» либо выбрать пункт контекстного меню:
Обработка произведёт расчёт прав только для выбранных объектов. Это произойдёт быстро, так как не потребуется производить полный расчёт прав. В результате расчёта к выбранным объектам добавятся подчинённые элементы в виде ролей, если способ расчёта был выбран «По ролям» или пользователей при другом способе расчёта прав:
Обработка допускает выбор других элементов списка объектов в дополнение к текущим, если требуется проверить права на какие-либо ещё объекты конфигурации до тех пор, пока из вкладки «Настройки» снова не будет нажата кнопка «Заполнить дерево объектов конфигурации».
При необходимости получить результаты расчёта можно воспользоваться кнопкой или пунктом контекстного меню «Получить результаты», которые будут выведены в табличный документ 1С в виде дерева:
Обработка проверена на конфигурациях УНФ (1.6.23.96), УТ 11 (11.5.7.308), БП 3.0 (3.0.118.66) на платформе 8.3.20.1710.
Надеюсь, что данный инструмент облегчит выполнение задач, связанных с правами пользователей.
Всем удачи, мира и добра!