БСП RLS: работает в списках, но не работает в запросах

1. le_ 238 12.02.24 16:50 Сейчас в теме
БСП версии 3.1.4.280, платформа: 8.3.22.2283
Настроено RLS в производительном режиме на справочник и регистр сведений, в котором одно из измерений ссылка на этот справочник.


Для справочника работает нормально.

А для регистра сведений, в котором одно из измерений - ссылка на справочник какой-то странный глюк: в форме списка регистра сведений отображаются только разрешенные записи, а вот запросом выбираются все записи из регистра и те, ссылки на справочник, что не разрешены, отображаются, как "объект не найден".

В чем может быть дело? Как исправить?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. starik-2005 3043 12.02.24 17:17 Сейчас в теме
(1)
В чем может быть дело? Как исправить?
ВЫБРАТЬ РАЗРЕШЕННЫЕ?
4. spacecraft 12.02.24 17:25 Сейчас в теме
(1) это нормальное поведение.
Запросом выбираются только сами ссылки как измерения регистра? Это именно так и будет.
На сам регистр RLS не распространяется если ограничение на справочник, который указан одним из измерений.
Данные самого справочника не получаете, вот и нет ограничений. А при выводе пользователю представления на запрещенный справочник, то происходит попытка получения полей уже самого справочника, от этого и выводит как битую ссылку. По стандарту, если есть ограничение на элемент справочника, то системы говорит, что такого элемента нет при попытке прочитать поля такого справочника..
8. le_ 238 12.02.24 17:33 Сейчас в теме
(4)
то нормальное поведение.
Запросом выбираются только сами ссылки как измерения регистра? Это именно так и будет.
На сам регистр RLS не распространяется если ограничение на справочник, который указан одним из измерений.
Данные самого справочника не получаете, вот и нет ограничений. А при выводе пользователю представления на запрещенный справочник, то происходит попытка получения полей уже самого справочника, от этого и выводит как битую ссылку. По стандарту, если есть ограничение на элемент справочника, то системы говорит, что такого элемента нет при попытке прочитать поля такого справочника.


Так быть не должно.
Если на регистр наложено ограничение RLS, в выборку должны попадать только те записи, которые разрешены.
9. spacecraft 12.02.24 17:33 Сейчас в теме
(8) ограничение на регистр или на справочник?
10. le_ 238 12.02.24 17:34 Сейчас в теме
(9) И на то и на другое наложено.
11. spacecraft 12.02.24 17:34 Сейчас в теме
(10) ну, приведите ограничение на регистр
13. le_ 238 12.02.24 17:38 Сейчас в теме
(11) Модуле менеджера регистра:

Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
	
	Ограничение.Текст =
	"РазрешитьЧтениеИзменение
	|ГДЕ
	|	ЗначениеРазрешено(ИзмерениеСсылкаНаСправочник)";
	
КонецПроцедуры


В роли:

#Если &ОграничениеДоступаНаУровнеЗаписейУниверсально #Тогда
	#ДляРегистра("ИдентификаторыОбъектовМетаданных.РегистрСведенийМойРегистр", "ИзмерениеСсылкаНаСправочник", "", "", "", "")
#Иначе
	#ПоЗначениям( "РегистрСведений.МойРегистр", "", "",
"МойВидДоступа", "ИзмерениеСсылкаНаСправочник",
"","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","")
#КонецЕсли


(имена изменены)
15. Sashares 34 12.02.24 17:44 Сейчас в теме
(10)В поставке БСП есть внешний отчет проверки внедрения БСП.
Проверьте отчетом, все ли нормально.
Может не добавили регистр в определяемые типы какие.
После настройки РЛС, надо выполнить обработку доп. данных.
Или запустить с ключем ЗапуститьОбновлениеИнформационнойБазы.
16. le_ 238 12.02.24 17:48 Сейчас в теме
(15) Первый дельный совет )
Да, я уже запустил восстановление копии базы в файловый вариант чтобы полноценно воспользоваться проверкой внедрения БСП...

Обновление вспомогательных данных и пересчет прав я делал...
17. Sashares 34 12.02.24 17:50 Сейчас в теме
(16)Еще можно проверить, есть ли такой регистр в справочнике ИдентификаторыОбъектовМетаданных в предопределенных элементах.
18. le_ 238 12.02.24 17:59 Сейчас в теме
(17)
ще можно проверить, есть ли такой регистр в справочнике ИдентификаторыОбъектовМетаданных в предопределенных элементах.


Да, в идентификаторах объектов метаданных есть мой регистр.

Во всём этом странно, то что просто в форме списка регистра RLS отрабатывает нормально, там нет записей, которые не разрешены. Отборов никаких нет.

А вот в консоли запросов выводится ВСЁ.
12. spacecraft 12.02.24 17:38 Сейчас в теме
14. le_ 238 12.02.24 17:40 Сейчас в теме
(12) Это я читал.
Или там есть что-то конкретно по описанной проблеме?
2. le_ 238 12.02.24 17:04 Сейчас в теме
Это явно какой-то глюк.

Если добавить в запрос условие
ГДЕ (НЕ ИзмерениеСправочник.ЭтоГруппа) ИЛИ ИзмерениеСправочник.ЭтоГруппа
, то отрабатывает нормально.
5. spacecraft 12.02.24 17:26 Сейчас в теме
(2) тут достаточно обратиться к любому полю самого справочника.
Но, как уже было сказано, ВЫБРАТЬ РАЗРЕШЕННЫЕ обязательны к использованию вместе с RLS.
6. le_ 238 12.02.24 17:30 Сейчас в теме
(3) (5) РАЗРЕШЕННЫЕ в запросе есть. Без этого, при нормальном поведении, выводилось бы сообщение об ошибке, о том, что у пользователя нет прав.
7. spacecraft 12.02.24 17:33 Сейчас в теме
(6) получайте вместе со ссылкой и Представление и вопрос исчезнет.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот