RLS - ограничение права доступа
24.04.2010
16:58
#1
Подскажите пожалуйста, работаю в 1С 8.2. У меня есть Справочник СредстваИндивидуальнойЗащиты, при открытии которого выходит форма, на которой есть выпадающий список (выбор отдела организации) и при выборе отдела выходит первый в этом отделе сотрудник, его должность и предназначаемая ему спецодежда. Задача состоит в том, что при создании нескольких пользователей, необходимо ограничить изменять, удалять информацию, а т.е. при выборе отдела Асуп, например пользователь xxx при изменении спецодежды или информации связанной с ней, получал отказ в изменении. У меня есть РегистрСведений.Права, в котором есть реквизиты: Пользователь, Подразделение, Разрешено.
Т.е. например есть 3 варианта:
1. В этом регистре добавили такую запись:
Пользователь Подразделение Разрешено
xxx АСУП да
xxx Финансовый отдел нет
Результат: в отделе Асуп xxx может изменять и удалять информацию связанную со спецодеждой, в Финансовом не может, в остальных отделах тоже не может, т.е. отсутствуют записи в регистре
2. xxx Пусто (отдел не задан) да
Результат: во всех отделах разрешено изменять и удалять информацию
3. xxx Пусто да
xxx АСУП нет
Результат: в отделе АСУП запрещено удалять информацию, в остальных запрещено!
Певые 2 варианта у меня выполняются, до 3-го никак не могу додуматься...хотела написать В ИЕРАРХИИ...но ничего не получилось...и как я поняла В ИЕРАРХИИ можно использовать только во вложенном запросе (это в rls)
Вот мой запрос:
СредстваИндивиудальнойЗащиты ИЗ Справочник.СредстваИндивидуальнойЗащиты КАК СредстваИндивидуальнойЗащиты
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.СотрудникиОрганизации КАК СотрудникиОрганизации ПО (СредстваИндивидуальнойЗащиты.Владелец = СотрудникиОрганизации.Физлицо)
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Права КАК Права
ПО (Права.Подразделение=СотрдникиОрганизации.ТекущееПодразделениеОрганизации ИЛИ Права.Подразделение=Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
ГДЕ
Права.Пользователь = &ТекущийПользователь
И Права.Разрешено=ИСТИНА
Т.е. например есть 3 варианта:
1. В этом регистре добавили такую запись:
Пользователь Подразделение Разрешено
xxx АСУП да
xxx Финансовый отдел нет
Результат: в отделе Асуп xxx может изменять и удалять информацию связанную со спецодеждой, в Финансовом не может, в остальных отделах тоже не может, т.е. отсутствуют записи в регистре
2. xxx Пусто (отдел не задан) да
Результат: во всех отделах разрешено изменять и удалять информацию
3. xxx Пусто да
xxx АСУП нет
Результат: в отделе АСУП запрещено удалять информацию, в остальных запрещено!
Певые 2 варианта у меня выполняются, до 3-го никак не могу додуматься...хотела написать В ИЕРАРХИИ...но ничего не получилось...и как я поняла В ИЕРАРХИИ можно использовать только во вложенном запросе (это в rls)
Вот мой запрос:
СредстваИндивиудальнойЗащиты ИЗ Справочник.СредстваИндивидуальнойЗащиты КАК СредстваИндивидуальнойЗащиты
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.СотрудникиОрганизации КАК СотрудникиОрганизации ПО (СредстваИндивидуальнойЗащиты.Владелец = СотрудникиОрганизации.Физлицо)
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Права КАК Права
ПО (Права.Подразделение=СотрдникиОрганизации.ТекущееПодразделениеОрганизации ИЛИ Права.Подразделение=Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
ГДЕ
Права.Пользователь = &ТекущийПользователь
И Права.Разрешено=ИСТИНА
Читают тему
(гостей: 1)