Шаблон ограничений прав доступа (RLS) #612572


#0 by stas_undead
Добрый день господа форумчане! Возникла странная ситуация. Вроде делаю всё правильно, но не работает. Есть документы "Событие" с реквизитом "Контрагент". Контрагент может быть как справочником "Контрагенты", так и справочником "Транспортные компании". В справочнике "Контрагенты" есть табличная часть "Группа доступа", в которой указываются пользователи, имеющие право на чтение. Необходимо в форме списка документа "Событие" сделать отбор для чтения. Условие такое: 1. Если "Контрагент" - это "Транспортная компания", то выводим все документы без всяких условий. 2. Если "Контрагент" - это справочник "Контрагенты", то выводим только те документы, в которых у "Контрагента" в табличной части "Группа доступа" указан текущий "Пользователь". Я написал запрос так: "Событие ГДЕ ВЫБОР КОГДА Событие.Контрагент Ссылка Справочник.ТранспортныеКомпании ТОГДА ИСТИНА ИНАЧЕ ВЫРАЗИТЬ(Событие.Контрагент.Ссылка КАК    Справочник.Контрагенты).ГруппаДоступа.Пользователь = &ТекПользователь КОНЕЦ"
#1 by stas_undead
Ни у кого нет идей? :(
#2 by stas_undead
За три дня перепробовал море вариантов, но подошёл только самый странный. Пишу для будущего поколения. 1) Создать вложенный запрос, в котором сделать выборку из справочника "Контрагенты". Нужны два поля "Пользователь" и "Ссылка". 2) Сделать левую связь с событием по полю "Контрагент". 3) Добавить такое вот условие "ВЫБОР    КОГДА Событие.Контрагент ССЫЛКА Справочник.ТранспортныеКомпании    ИНАЧЕ ВложенныйЗапрос.Пользователь = &ТекПользователь КОНЕЦ".
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С