Вводная при переключении режима использования RLS на производительный получаем дамп
Значение не является значением объектного типа (Узел)
{ОбщийМодуль.УправлениеДоступомСлужебный.Модуль(34359)}: Если Аргумент.Узел = Состав.Узел Тогда
Если включить останов по ошибке, тогда в стеке вызова по этой строке, в параметрах вышестоящих вызовов можно увидеть, на какой именно таблице остановилась настройка.
Причина ошибки, в моем случае, была в неправильном заполнении ограничений доступа по двум реквизитам Подразделение и ПодразделениеЦФО не типового регистра накоплений в модуле менеджера этого самого регистра
#Область ДляВызоваИзДругихПодсистем
// СтандартныеПодсистемы.УправлениеДоступом
// См. УправлениеДоступомПереопределяемый.ПриЗаполненииСписковСОграничениемДоступа.
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
// Неправильно: получим дамп. Так ограничения по подразделению
// не важно И или ИЛИ должны быть обрамлены отдельными скобками ()
Ограничение.Текст =
"РазрешитьЧтениеИзменение
|ГДЕ
| ЗначениеРазрешено(Организация)
| И ЗначениеРазрешено(Подразделение)
| И ЗначениеРазрешено(ПодразделениеЦФО)";
// Правильно: Подразделение Или ПодразделениеЦФО
Ограничение.Текст =
"РазрешитьЧтениеИзменение
|ГДЕ
| ЗначениеРазрешено(Организация)
| И( ЗначениеРазрешено(Подразделение)
| ИЛИ ЗначениеРазрешено(ПодразделениеЦФО)
| )";
// Правильно: Подразделение И ПодразделениеЦФО
Ограничение.Текст =
"РазрешитьЧтениеИзменение
|ГДЕ
| ЗначениеРазрешено(Организация)
| И( ЗначениеРазрешено(Подразделение)
| И ЗначениеРазрешено(ПодразделениеЦФО)
| )";
КонецПроцедуры
// Конец СтандартныеПодсистемы.УправлениеДоступом
#КонецОбласти
Комментарии
Отправить комментарий