Имя: Пароль:
1C
 
Роли пользователя в ИБ
0 vicof
 
17.02.22
12:55
Как синхронизировать роли в ИБ и роли в базе?
БСП 3.1.3

ПользовательИБ = ПолучитьПользователяИБ(UserId);
Для Каждого RightId Из RightIds.Value Цикл
    Роль = Метаданные.Роли.Найти(RightId);
    Если Роль <> Неопределено Тогда
        Если НЕ ПользовательИБ.Роли.Содержит(Роль) Тогда
            ПользовательИБ.Роли.Добавить(Роль);
        КонецЕсли;
    КонецЕсли;
КонецЦикла;
ПользовательИБ.Записать();

Как сделать, чтобы роли из пользователя ИБ перетекли в роли пользователя?
Если добавляю программно пользователя в группу с нужным профилем правами, все ок.
А если хочу добавить просто отдельные права, добавляет у пользователя ИБ, но не синхронизирует с пользователем.
1 Dmitrii
 
гуру
17.02.22
12:59
(0) >>  добавляю программно пользователя в группу с нужным профилем правами, все ок.

Вот так и надо делать.

>>  добавить просто отдельные права, добавляет у пользователя ИБ, но не синхронизирует с пользователем.

А вот так делать не надо.

По-моему всё очевидно.
А если хочется какого-то извращения, настрой желаемым образом свои профили и/или группы доступа и включай туда своих пользователей.
Не нужно программно или в конфигураторе в режиме администрирования править набор ролей пользователя. БСП их всё равно рано или поздно перезаполнит.
2 fisher
 
17.02.22
13:03
Обратная синхронизация не предусмотрена. Что, казалось бы, очевидно. Ведь в пользовательской части более сложная организация прав, снимок которой просто сливается "в конфигуратор" в виде набора ролей.
2 + 2 + 1 = 5
Но из 5 никак не понять что это 2, 2 и 1.
Так ферштейн?
3 vicof
 
17.02.22
13:08
Намеки понял, отстал.
4 fisher
 
17.02.22
13:11
Если есть опциональная роль, просто оформляешь ее отдельным профилем и группой доступа. И красота нечеловеческая.
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.