Есть стандартный документ Заказ покупателя в УТ10.3, пытаюсь ограничить возможность резервирования товаров на некоторый складах в табличном поле "Товары" по столбцу "Размещение".
RLS наложил на право "Добавление" и "Изменение". Выглядит вот так #СкладВТабличнойЧасти_Запись("ЗаказПокупателя.Товары", "Размещение")
И собственно сама проблема, при добавление нового заказа по ограниченному складу RLS отбивает и все хорошо, но если документ провести без резерва и после этого провести этот же документ с указанием резерва по складу, то RLS не отбивает. При попытке изменить резерв по ограниченному складу, то тоже все отбивает и все хорошо.
Скажите, что я не так делаю?
RLS наложил на право "Добавление" и "Изменение". Выглядит вот так #СкладВТабличнойЧасти_Запись("ЗаказПокупателя.Товары", "Размещение")
##Если &ИспользоватьОграниченияПравДоступаНаУровнеЗаписей ##Тогда
ТекущаяТаблица ИЗ #ТекущаяТаблица КАК ТекущаяТаблица
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
СоставГруппы.Ссылка КАК ГруппаПользователей
ИЗ
Справочник.ГруппыПользователей.ПользователиГруппы КАК СоставГруппы
ГДЕ
СоставГруппы.Пользователь = &ТекущийПользователь) КАК ГруппыПользователей
ПО (&ИспользоватьОграниченияПравДоступаНаУровнеЗаписей)
ГДЕ (&ИспользоватьОграниченияПравДоступаНаУровнеЗаписей = ЛОЖЬ
ИЛИ (НЕ 1 В
(ВЫБРАТЬ ПЕРВЫЕ 1
1 КАК ПолеОтбора
ИЗ
РегистрСведений.НазначениеВидовОбъектовДоступа КАК НазначениеВидовОбъектовДоступа
ГДЕ
НазначениеВидовОбъектовДоступа.ГруппаПользователей = ГруппыПользователей.ГруппаПользователей
И ВЫБОР
КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Склады)
ТОГДА ВЫБОР
КОГДА (НЕ 1 В
(ВЫБРАТЬ ПЕРВЫЕ 1
1
ИЗ
Документ.#Параметр(1) КАК ТабличнаяЧастьДокумента ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Склады КАК Склады
ПО
Склады.Ссылка = ТабличнаяЧастьДокумента.#Параметр(2) ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиПравДоступаПользователей КАК НастройкиПравДоступаПользователей
ПО
НастройкиПравДоступаПользователей.ОбъектДоступа = Склады.Ссылка
И НастройкиПравДоступаПользователей.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Склады)
И (НастройкиПравДоступаПользователей.Пользователь = НазначениеВидовОбъектовДоступа.ГруппаПользователей
ИЛИ НастройкиПравДоступаПользователей.Пользователь = ЗНАЧЕНИЕ(Справочник.ГруппыПользователей.ВсеПользователи))
И НастройкиПравДоступаПользователей.Запись = ИСТИНА
ГДЕ
ТабличнаяЧастьДокумента.Ссылка = ТекущаяТаблица.Ссылка
И НастройкиПравДоступаПользователей.ОбластьДанных ЕСТЬ NULL ))
ТОГДА ИСТИНА
ИНАЧЕ ЛОЖЬ
КОНЕЦ
ИНАЧЕ ИСТИНА
КОНЕЦ = ЛОЖЬ))
И НЕ ГруппыПользователей.ГруппаПользователей ЕСТЬ NULL)
##КонецЕсли
ПоказатьИ собственно сама проблема, при добавление нового заказа по ограниченному складу RLS отбивает и все хорошо, но если документ провести без резерва и после этого провести этот же документ с указанием резерва по складу, то RLS не отбивает. При попытке изменить резерв по ограниченному складу, то тоже все отбивает и все хорошо.
Скажите, что я не так делаю?
По теме из базы знаний
- Технические проблемы взрывного роста компании
- RLS - дубли условий в запросах к СУБД
- Распространенные ошибки разработчиков, приводящие к проблемам производительности
- Смотрим запросы 1С через Microsoft SQL Profiler по следам ошибок разработчиков, приводящих к проблемам производительности
- Исправляем проблемы производительности в конфигурации ERP - 7 примеров
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот