Есть насквозь нетиповая конфигурация (на 8.2). Потребовалось массово изменить набор прав для пользователей — у всех отобрать все роли и добавить одну. Для 300+ пользователей менять это в конфигураторе — слишком долго. И есть риск, что-то пропустить. Поэтому потребовался какой-то инструмент.
Конечно, сразу пошел искать на ИС. Сходу такого инструмента не нашел — чтобы все прямо совсем массово было. Поэтому потратил некоторое количество времени, чтобы написать свою реализацию.
Как оказалось, все просто. Решается через св-во глобального контекста ПользователиИнформационнойБазы. Главное, после редактирования прав, не забыть выполнить метод Записать() для элемента типа ПользовательИнформационнойБазы.
Выкладываю свой велосипедик (на ОФ). Вдруг кому еще пригодится.
Работа инструмента проверена на целевой нетиповой конфигурации, платформа 8.2.17.157. На типовых конфигурациях (с БСП), технически, тоже будет работать. Но, насколько знаю, там не приветствуется ввод пользователей и редактирование прав через Конфигуратор. А эта обработка действует аналогично — пишет только в настройки пользователей на уровне платформы.
И еще. Нюансик реализации. В список пользователей, кому могут быть изменены наборы ролей, НЕ выходят товарищи с ролью Администратор. Чтобы случайно не лишиться всех админов. Такие пользователи выводятся в служебное окно сообщений при запуске обработки.
На 8.3.11.2867 не работает. Выдает ошибку:
(1) Возможно, обработка запущена под пользователем без админских прав.
Либо в конфигурации нет роли Администратор.
Что из этого — ваш случай?
Запущено было под полными правами, отдельно роли Администратор нет.
(3) Ну ясно теперь. Допилю, как найду время.
(3) Выложил обновление. А можно сделать и самостоятельно. Нужно заменить код процедуры модуля объекта ЗаполнитьПользователей(…) на вот этот:
Показать
Работу измененной обработки не тестировал. Но вроде все и так очевидно.
Спасибо, очень помогла.