Как синхронизировать роли в ИБ и роли в базе?
БСП 3.1.3
ПользовательИБ = ПолучитьПользователяИБ(UserId);
Для Каждого RightId Из RightIds.Value Цикл
Роль = Метаданные.Роли.Найти(RightId);
Если Роль <> Неопределено Тогда
Если НЕ ПользовательИБ.Роли.Содержит(Роль) Тогда
ПользовательИБ.Роли.Добавить(Роль);
КонецЕсли;
КонецЕсли;
КонецЦикла;
ПользовательИБ.Записать();
Как сделать, чтобы роли из пользователя ИБ перетекли в роли пользователя?
Если добавляю программно пользователя в группу с нужным профилем правами, все ок.
А если хочу добавить просто отдельные права, добавляет у пользователя ИБ, но не синхронизирует с пользователем.
(0) >> добавляю программно пользователя в группу с нужным профилем правами, все ок.
Вот так и надо делать.
>> добавить просто отдельные права, добавляет у пользователя ИБ, но не синхронизирует с пользователем.
А вот так делать не надо.
По-моему всё очевидно.
А если хочется какого-то извращения, настрой желаемым образом свои профили и/или группы доступа и включай туда своих пользователей.
Не нужно программно или в конфигураторе в режиме администрирования править набор ролей пользователя. БСП их всё равно рано или поздно перезаполнит.
Обратная синхронизация не предусмотрена. Что, казалось бы, очевидно. Ведь в пользовательской части более сложная организация прав, снимок которой просто сливается "в конфигуратор" в виде набора ролей.
2 + 2 + 1 = 5
Но из 5 никак не понять что это 2, 2 и 1.
Так ферштейн?