0
Анцеранана
04.05.12
✎
11:38
|
2 вопроса, наверное глупых...
Пытаюсь разобраться с ограничениями доступа, хотя бы для себя понять, зачем это сделали и что происходит...
Перед записью и перед началом проведения вызываются процедура из общего модуля...
Процедура ОтключитьКонтрольПравПриПроведении(Движения, ДокументОбъект) Экспорт // Антонов_25.06.2010
ТекЗапись = Движения.ОтключениеПравДоступаПриПроведенииДокументов.Добавить();
ТекЗапись.Активность = Истина;
ТекЗапись.Пользователь = ПараметрыСеанса.ТекущийПользователь;
ТекЗапись.ВыполнениеВнеПрав = Истина;
ТекЗапись.ПредставлениеДокумента = Строка(ДокументОбъект); //
Движения.ОтключениеПравДоступаПриПроведенииДокументов.Записать(); Движения.ОтключениеПравДоступаПриПроведенииДокументов.Очистить();
КонецПроцедуры // ОтключитьКонтрольПравПриПроведении()
То есть пишем в регистр и тут же очищаем...
В настрройке роли "Пользователь" у туевой хучи регистров стоит ограничение типа ( на примере регистра бухгалтерии "Основной", право на измененение):
Основной ГДЕ 1 В
(ВЫБРАТЬ
1 КАК Поле1
ИЗ
РегистрСведений.ОтключениеПравДоступаПриПроведенииДокументов КАК ОтключениеПравДоступаПриПроведенииДокументов
ГДЕ
ОтключениеПравДоступаПриПроведенииДокументов.ВыполнениеВнеПрав = ИСТИНА
И ОтключениеПравДоступаПриПроведенииДокументов.Пользователь = &ТекущийПользователь)
то есть можно внести изменения в регистр бухгалтерии "основной" , если есть записи в вышеуказанном регистре сведений.... Но их же нет, все очищается...Зачем тогда это сделали, недостаточно просто было отключить право на изменение7 Или я что-то неправильно понял?
2. Можно как-то программно определить есть ли по данной роли и праву ограничения доступа(RLS) или нет?
|
|