Имя: Пароль:
1C
1С v8
Не удалось определить вариант ограничения доступа в параметрах сеанса
0 Kozitsyn
 
29.01.24
18:05
Добрый день.

В базе включено "Ограничивать доступ на уровне записей", вариант "Производительный".

У одного пользователя появляется ошибка (текст ошибки см. ниже). В отличие от других пользователей в его параметрах сеанса вообще нет таких параметров как:

- СпискиСОграничениемПоПолям,
- СпискиСОграничениемЧерезКлючиДоступаГруппДоступа,
- СпискиСОграничениемЧерезКлючиДоступаПользователей,
- СпискиСОтключеннымОграничениемЧтения.

Почему их нет? Отключал\включал флаг "Ограничивать доступ на уровне записей", переводил вариант работы с "Производительный" на "Стандартный" и обратно. Перезаполнял "Обновление на уровне записей" (завершилось без ошибок). Роли и объекты типовые. Что не так, подскажите пожалуйста.

Полный текст ошибки:

{Обработка.ЗакрытиеМесяца.Форма.Форма.Форма(927)}:ОткрытьФорму(

{Обработка.ЗакрытиеМесяца.Форма.Форма.Форма(337)}:ОбработкаНажатияКнопкиМеню(Команда.Значение, ДополнительныеПараметры.Элемент, ДополнительныеПараметры.СтрокаТаблицы);



[ОшибкаВоВремяВыполненияВстроенногоЯзыка]

по причине:

Ошибка выполнения запроса

по причине:

Ошибка в ограничении доступа к данным.

объект: 'РегистрСведений.НМАПриПереходеНаФСБУ14'; право: 'Чтение'

{(19, 9)}: Синтаксическая ошибка ":"

Ошибка<<?>>: Требуется актуализировать ограничение доступа по причине: Не удалось определить вариант ограничения доступа в параметрах сеанса для шаблона ДляРегистра со значениями параметров "ИдентификаторыОбъектовМетаданных.РегистрСведенийНМАПриПереходеНаФСБУ14", "Организация", "", "", "", "". Объект: "РегистрСведений.НМАПриПереходеНаФСБУ14", Право: "Чтение".

по причине:

{(19, 9)}: Синтаксическая ошибка ":"

Ошибка<<?>>: Требуется актуализировать ограничение доступа по причине: Не удалось определить вариант ограничения доступа в параметрах сеанса для шаблона ДляРегистра со значениями параметров "ИдентификаторыОбъектовМетаданных.РегистрСведенийНМАПриПереходеНаФСБУ14", "Организация", "", "", "", "". Объект: "РегистрСведений.НМАПриПереходеНаФСБУ14", Право: "Чтение".
1 Волшебник
 
29.01.24
18:59
В какие группы входит пользователь? Отличается ли от аналогичных?
Какие профили у групп?
Какие фактически роли у пользователя на уровне конфигуратора? Отличается ли от аналогичных?
2 Волшебник
 
29.01.24
19:00
Синтаксическая ошибка в RLS сигнализирует о том, что алгоритм пошёл по другой ветке, где ошибка, но туда его отправили параметры пользователя.
3 Kozitsyn
 
29.01.24
19:23
Да, у них разный набор профилей доступа. Получается должна быть назначена какая-то роль, которая бы позволяла создавать нужные параметры сеанса?
4 Волшебник
 
29.01.24
19:32
(3) Получается, что есть различие, которое ведёт к ошибке в алгоритме. Дальше сами решайте, что делать. Можно устранять различия в данных, можно устранять ошибку в алгоритме. Можно сделать комбо.
5 Kozitsyn
 
29.01.24
19:59
Это типовой функционал, какие тут ошибки в алгоритме.. Спасибо. Попробую методом тыка понять какую роль нужно добавить
6 Волшебник
 
29.01.24
20:06
(5) В типовом функционале тоже могут быть ошибки. Собственно, Вы её наблюдаете как симптом.
7 Kozitsyn
 
30.01.24
11:38
Разобрался.

1. То что в параметрах сеанса не было вышеперечисленных параметров, из-за того, что тупо на них не было назначено прав. Нет не одной типовой роли, которая бы назначала на эти параметры право получения и записи. У других пользователей было, потому что, кто-то когда-то создал свою роль куда просто включил доступ на чтение\запись ко всем параметрам сеанса.

2. В общем модуле "УправлениеДоступомПереопределяемый" в процедуре "ПриЗаполненииСписковСОграничениемДоступа" не были указаны 2 типовых регистра: "СпособПереходаНаФСБУ14" и "НМАПриПереходеНаФСБУ14", из-за этого они не попадали в задания "Обновление на уровне записей". При этом у этих регистров доступ на чтение только через шаблон и больше никак.

---

Сделал вышеуказанные действия, запустил ИБ в режиме обновления, перезаполнил "Обновление на уровне записей" и всё заработало.
8 Волшебник
 
30.01.24
11:43
(7) право установки параметров сеанса у всех ролей уберите, а установку осуществляйте в привилегированном режиме, иначе это дыра в безопасности
2 + 2 = 3.9999999999999999999999999999999...