0
YurAnt
12.05.21
✎
12:21
|
Доброго времени суток, уважаемые форумчане.
Платформа: 1С:Предприятие 8.3 (8.3.18.1363)
Конфигурация: "БИТ: Строительство (БИТ.ФИНАНС), редакция 3.0"
Собственно в чем проблема: Делаю небольшую систему делегирования базовых прав,
с выставлением галочек "Профилей доступа" у пользователя всё ок.
Профили с ролями созданы, назначение профиля через персональную группу доступа проблем не вызывает.
Если группы нет, создаю, если же есть, то добавляю пользователя в табчасть группы, и вызываю обновление профиля группы типовой процедурой:
ГДО = ГруппаДоступа.ПолучитьОбъект();
НовСтрПГ = ГДО.Пользователи.Добавить();
НовСтрПГ.Пользователь = Пользователь;
ГДО.Записать();
Справочники.ГруппыДоступа.ОбновитьГруппыДоступаПрофиля(Профиль);
Приводит к нужному результату, галочка профиля в пользователе проставляется, и все замечательно.
Однако столкнулся с тем, что не срабатывает отмена (читай как программное "снятие галочки профиля")
Казалось бы процедура обратная, ломаться нечему
Процедура УдалитьПользователяВГруппе(ГруппаДоступа, Пользователь)
НайденнаяСтрока = ГруппаДоступа.Пользователи.Найти(Пользователь, "Пользователь");
Если НайденнаяСтрока <> Неопределено Тогда
ГДО = ГруппаДоступа.ПолучитьОбъект();
ГДО.Пользователи.Удалить(НайденнаяСтрока.НомерСтроки - 1);
ГДО.Записать();
КонецЕсли;
КонецПроцедуры
...
УдалитьПользователяВГруппе(ГруппаДоступа, Пользователь);
Справочники.ГруппыДоступа.ОбновитьГруппыДоступаПрофиля(Профиль);
...
однако срабатывает только со второго раза.
никак не возьму в толк, в чем проблема...
Подскажите пожалуйста, быть может кто-то сталкивался с подобными глюками?
С уважением, YurAnt.
|
|