Исходные данные.
- Типовая конфигурация, находящаяся на поддержке. Вносить изменения Заказчик категорически отказывается.
- Все "нетиповые" отчеты и обработки реализованы внешними и хранятся в справочнике "Внешние обработки".
- Высказано пожелание иметь возможность самостоятельно, без привлечения программиста, управлять доступом к вышеуказанным отчетам и обработкам.
Способ реализации.
В отчет (обработку) добавлена табличная часть "Права доступа", в которой перечислены либо список пользователей, либо роли. Галочками пользователь с полными правами может рулить - кому давать доступ, кому нет.
Хранение таблицы прав организовано в регистре сведений "Настройки пользователей", более подробно об этом здесь: "Внешний" справочник или Хранение данных между сеансами работы внешних обработок.
Перед открытием формы происходит заполнение таблицы прав доступа либо из сохраненной ранее настройки, либо значениями по-умолчанию (при первом старте, например).
После этого производится собственно проверка доступа.
Минусы реализации.
- Достаточная трудоемкость при наличии большого количества внешних отчетов/обработок.
- Некоторая неуниверсальность, поскольку при создании нового отчета/обработки необходимо помнить об этом механизме разграничения прав.
Возможно, минусов еще больше, но как альтернативный вариант реализации, я думаю, имеет право на существование.
Отчет, предлагаемый для скачивания, не содержит функциональной нагрузки и призван только продемонстрировать пример реализации этого механизма.