Добрый всем день!

Небольшая проблемка с СКД + RLS + Параметры сеанса. Сразу что то не получается решить проблемку.

Выручайте!

Суть проблемы:

1. УТ 11.4, пользователи входят под своими логинами и им устанавливается параметр сеанса = подразделению, откуда зашел пользователь

2. Есть роль, назовем ее Товаровед, у которой есть разрешение на "Чтение" только тех документов (в частности ПриобретениеТоваровУслуг), у которых подразделение = данному параметру сеанса: ПриобретениеТоваровУслуг ГДЕ ПриобретениеТоваровУслуг.Подразделение = &G_ПодразделениеПользователя. На "Просмотр", "Проведение" и т.д. ограничений нет по RLS. Этим подходом мы ограничиваем видимость документов, которые не относятся к подразделению пользователя

3. И есть отчетик простой на СКД к табличной части Товары данных документов, без ограничений каких либо на выборку данных

4. Если формирует данный отчет пользователь с ограниченными правами, то соответственно выходит ошибка, мол "Попытка получения неинициализированного значения параметра сеанса".

5. Если формирует пользователь со всеми правами, то отчет формируется корректно

6. Сам параметр сенаса "ПодразделениеПользователя" под пользователем товаровед "Инициализируется" корректно, проблема не в инициализации. В СКД при "СкомпоноватьРезультат" вылетает ошибка "Попытка получения неинициализированного значения параметра сеанса"

7. Если для роли "Товаровед" убрать RLS из "Чтение", то отчет формируется корректно

8. Вот ломаю голову, как обойти данную проблемку
---
А как у Вас устанавливается параметр сеанса?

Есть такое предположение. При установке параметра сеанса подразделение выбирается запросом из элемента справочника "Пользователи" для текущего пользователя ИБ. Если так, то вот возможное проблемное место: отчет формируется фоновым заданием, где нет пользователя, а значит и нет подразделения, т.е. параметр сеанса не инициализируется.

UPD. Почитал получше про фоновые задания, теперь мне кажется, что глупость написал. Прошу прощения.

UPD2. При запуске фонового задания действительно срабатывает обработчик события "УстановкаПараметровСеанса". При этом задание должно выполняться от имени того же пользователя, который выполнил вызов фонового задания. Следовательно проблема вероятнее всего именно в инициализации параметра. Может таки некорректно определяется текущий пользователь ИБ, либо что-то еще?
---
А как у Вас устанавливается параметр сеанса?

Есть такое предположение. При установке параметра сеанса подразделение выбирается запросом из элемента справочника "Пользователи" для текущего пользователя ИБ. Если так, то вот возможное проблемное место: отчет формируется фоновым заданием, где нет пользователя, а значит и нет подразделения, т.е. параметр сеанса не инициализируется.

UPD. Почитал получше про фоновые задания, теперь мне кажется, что глупость написал. Прошу прощения.

UPD2. При запуске фонового задания действительно срабатывает обработчик события "УстановкаПараметровСеанса". При этом задание должно выполняться от имени того же пользователя, который выполнил вызов фонового задания. Следовательно проблема вероятнее всего именно в инициализации параметра. Может таки некорректно определяется текущий пользователь ИБ, либо что-то еще?
---
Параметр сеанса инициализируется либо пустым значением (пустая ссылка на подразделение), но инициализируется, либо подразделением при входе пользователя в базу, через параметр запуска 1С (это rdp сессии, где один пользователь может перемещаться между подразделениями и жестко привязать пользователя нельзя). И сегодня он работает на одном подразделении, завтра на другом)……..

Хм…кстати, возможно проблема именно в этом - обратил внимание, что ошибка возникает в фоновом задании, при компоновке данных....

Инициализация параметров (УТ 11.4.6.207) в моем случае идет через:

 - модуль "ОбщегоНазначенияПереопределяемый",
- далее через Процедуру "ПриДобавленииОбработчиковУстановкиПараметровСеанса(Обработчики) Экспорт", где прописываем ссылку уже на свою процедуру инициализации наших параметров
- далее уже в своей процедуре устанавливаем параметры нужными значениями

Сейчас попробую проверить свое смутное предположение....
---
В общем проблема оказалось в корректной инициализации параметров сеанса...У меня пользователи не привязаны жестко к подразделению. Текущее подразделение пользователя определяется через указание доп. параметра запуска 1С с рабочего стола (rdp сессии).

 Соответственно при запуске фонового задания нет никакого доп. параметра входа в 1С (а для отчетов мне не принципиально ограничивать пользователей только "своими" подразделениями, у них и так хватает других ограничений)

 Вы были правы. Спасибо
---
https://www.forum.mista.ru/topic.php?id=654395

может так?
---
Попробовал, но что то не получилось. Возможно ранее, в 2013 году это и прокатывало
---
Кстати, забыл написать - платформа 8.3.13.1513...
---
http://programmist1s.ru/osobennost-razreshennyie-v-zaprose-1s/

Может, в запросе отчета нужно всё же указать конструкцию "РАЗРЕШЕННЫЕ"?
---
Нет, указание "Разрешенные" в запросе не решает проблему...