Версия для печати темы (https://pro1c.org.ua/index.php?s=cc88cec2cfea2abbbd6b99e62f187eae&showtopic=43444)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ RLS по подразделению в журнале кассовых документов

Автор: Bernet 18.01.18, 11:14

Всем привет.
1С 8.3.11, УТП последнего релиза.

Возникла необходимось добавления RLS по подразделению, сделал маленький шаблончик, все заработало, но есть небольшое но!
В Журнал документов "Кассовые документы" входит документ "Внутреннее перемещение наличных ДС" - у этого документа нету подразделения, а в составе реквизитов журнала есть. Соответственно если посмотреть, то в журнале на этом типе документа Подразделение = NULL и поэтому этот документ не попадает в журнал вообще.
Вопрос: Как сделать так чтобы пользователи видели этот документ при включенном RLS?
Мой шаблон:

#ЕСЛИ &ИспользоватьОграниченияПравДоступаНаУровнеЗаписей 
#ТОГДА
#ТекущаяТаблица
ГДЕ  
    (#Параметр(1), &ТекущийПользователь)
    В  (ВЫБРАТЬ
        ПраваДоступаПодразделения.Подразделение КАК Подразделение,
        ПраваДоступаПодразделения.Пользователь КАК Пользователь
            ИЗ
        РегистрСведений.ПраваДоступаПодразделения КАК ПраваДоступаПодразделения
        СГРУППИРОВАТЬ ПО
        ПраваДоступаПодразделения.Подразделение,
        ПраваДоступаПодразделения.Пользователь
          )
#КОНЕЦЕСЛИ


P.S. Как вариант думал добавить реквизит "Подразделение" в документ Внутреннее перемещение ДС, чтобы была просто пустая ссылка всегда и в регистр прописать пользователю разрешение на просмотр документов с пустыми подразделениями

Автор: sava1 18.01.18, 12:02

+ ИЛИ Подразделение=пустоеПодразделение

Автор: Bernet 18.01.18, 12:17

Без добавления реквизита в документ не сработает, т.к. там NULL.
Если же реквизит добавить то да, либо в запросе добавить условие по пустому подразделению, либо в регистре создать запись для пользователя с пустым подразделением.
Я думал может можно обойтись как-то без добавления реквизита в документ, чисто запросом на уровне шаблона RLS, чтобы если там NULL тоже разрешало, но даже если дописать
ИЛИ #Параметр(1) = NULL или #Параметр(1) ЕСТЬ NULL - то все равно не получается

Автор: Vofka 18.01.18, 13:12

Bernet, может там не NULL, а Неопределено?

Автор: Bernet 18.01.18, 14:14

Vofka @ Сегодня, 13:12 * ,
Точно NULL - отключил RLS и специально в консоли запросов глянул. Неопределено там было бы если бы это поле составного типа было

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua