Имя: Пароль:
1C
1С v8
RLS Запросы
0 AndreyBorovkov
 
22.11.13
14:16
Ребята подскажите где можно подробно ознакомится с настройкой ограничений на уровне записей. В первую очередь интересует методика написания запросов. В какой литературе это описано или на каком сайте?
1 DosBot
 
22.11.13
14:19
я учился просто разбирая типовые шаблоны РЛС (в большинстве случаев они адекватны и не вызывают трудностей)...
2 AndreyBorovkov
 
22.11.13
14:26
А у меня сложности возникают:
Вот например:
Ниже в шаблоне описано ограничение на запись к справочнику контрагенты. Мне непонятно какой участок запроса не позволяет пользователям без полных прав записывать элементы-группы?

ТекущаяТаблица ИЗ #ТекущаяТаблица КАК ТекущаяТаблица
    ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
        СоставГруппы.Ссылка КАК ГруппаПользователей
    ИЗ
        Справочник.ГруппыПользователей.ПользователиГруппы КАК СоставГруппы
    ГДЕ
        СоставГруппы.Пользователь = &ТекущийПользователь) КАК ГруппыПользователей
    ПО (&ИспользоватьОграниченияПравДоступаНаУровнеЗаписей)
ГДЕ (&ИспользоватьОграниченияПравДоступаНаУровнеЗаписей = ЛОЖЬ
            ИЛИ (НЕ 1 В
                    (ВЫБРАТЬ ПЕРВЫЕ 1
                        1 КАК ПолеОтбора
                    ИЗ
                        РегистрСведений.НазначениеВидовОбъектовДоступа КАК НазначениеВидовОбъектовДоступа
                    ГДЕ
                        НазначениеВидовОбъектовДоступа.ГруппаПользователей = ГруппыПользователей.ГруппаПользователей
                        И ВЫБОР
                            КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.#Параметр(1))
                                ТОГДА ВЫБОР
                                        КОГДА 1 В
                                                (ВЫБРАТЬ ПЕРВЫЕ 1
                                                    1
                                                ИЗ
                                                    РегистрСведений.НастройкиПравДоступаПользователей КАК НастройкиПравДоступаПользователей
                                                ГДЕ
                                                    НастройкиПравДоступаПользователей.ОбъектДоступа = ТекущаяТаблица.#Параметр(2)
                                                    И НастройкиПравДоступаПользователей.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.#Параметр(1))
                                                    И (НастройкиПравДоступаПользователей.Пользователь = НазначениеВидовОбъектовДоступа.ГруппаПользователей
                                                        ИЛИ НастройкиПравДоступаПользователей.Пользователь = ЗНАЧЕНИЕ(Справочник.ГруппыПользователей.ВсеПользователи))
                                                    И НастройкиПравДоступаПользователей.Запись = ИСТИНА)
                                            ТОГДА ИСТИНА
                                        ИНАЧЕ ЛОЖЬ
                                    КОНЕЦ
                            ИНАЧЕ ИСТИНА
                        КОНЕЦ = ЛОЖЬ))
                        И НЕ ГруппыПользователей.ГруппаПользователей ЕСТЬ NULL)
3 AndreyBorovkov
 
22.11.13
15:14
Давайте по другому)
Как сделать что бы этот запрос не выполнялся если элемент справочника - группа?
4 AndreyBorovkov
 
22.11.13
15:22
Разобрался!
Может кому-то пригодиться..

Запрещало записать группу так как по ограничениям было установлено запись элемента со значением одного реквизита доступного пользователю, у группы этого реквизита не было и по этому не давало записать. Я добавил этот реквизит и для группы и когда выбираем значение этого реквизита и оно доступное для пользователя все спокойно записывается!
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn