Почему в отчетах УТ 11.3 не отображается документ-основание при наличии прав доступа?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

В практике работы с конфигурацией Управление торговлей 11.3 часто возникает ситуация, когда два пользователя с похожими правами видят разную информацию в одних и тех же отчетах. Особенно остро это проявляется при использовании механизмов расшифровки (drill-down), когда один отчет вызывается из другого. Разберем ситуацию, когда в отчете «Поступление и отгрузка товаров» у одного пользователя отображается «Документ-основание», а у другого это поле остается пустым, хотя права на сами документы (например, Заказы клиентов) вроде бы предоставлены.

Различие между правами «Чтение» и «Просмотр»

Проанализируем техническую сторону вопроса. В системе 1С:Предприятие 8 существует принципиальное различие между правом Чтение (Read) и правом Просмотр (View). Выясним, как это влияет на отчеты:

  1. Право «Чтение»: позволяет программному коду (в том числе запросам) обращаться к таблицам базы данных. Если у пользователя есть только «Чтение», он может получить ссылку на объект, его номер или дату через запрос, но система не позволит «увидеть» этот объект в интерфейсе.
  2. Право «Просмотр»: отвечает за визуальное представление объекта. Именно это право позволяет платформе сформировать так называемое «Представление» ссылки (текстовую строку вида «Заказ клиента №... от ...»).

Если у Пользователя 1 настроено только Чтение без Просмотра на определенные типы документов, то в отчете, построенном на системе компоновки данных (СКД), поле с документом может оказаться пустым. Система просто не имеет права сформировать текстовое представление для этой ссылки, чтобы показать его в ячейке отчета.

Особенности работы RLS с составными типами данных

Рассмотрим подробнее работу регистра накопления ТоварыКотгрузке, который является источником данных для отчета. Измерение ДокументОснование в этом регистре имеет составной тип данных. В него могут входить:

Когда включен механизм RLS (Row Level Security — ограничение прав на уровне записей), запрос отчета с конструкцией ВЫБРАТЬ РАЗРЕШЕННЫЕ начинает работать избирательно. Рассмотрим пример логики запроса:


ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ТоварыКотгрузке.ДокументОснование КАК ДокументОснование,
    ТоварыКотгрузке.КоличествоОстаток КАК Остаток
ИЗ
    РегистрНакопления.ТоварыКотгрузке.Остатки КАК ТоварыКотгрузке

Если у пользователя нет прав (даже на уровне чтения) хотя бы на один из типов документов, входящих в составное поле ДокументОснование, система при определенных настройках шаблонов RLS может скрывать данные. Однако чаще происходит следующее: если у пользователя есть право на «Заказ клиента», но нет права на «Заказ на перемещение», то строки с заказами клиентов он увидит, а строки, где основанием выступает перемещение — нет. Если же у пользователя есть право Чтение на все типы, но нет Просмотра, он увидит пустые строки или текст «Объект не найден».

Проверка функциональных опций

В конфигурации УТ 11.3 отображение данных тесно связано с функциональными опциями. Проанализируем ситуацию: если в профиле групп доступа пользователя отключен раздел, например, «Сборка (разборка)», то связанные с этим разделом типы документов могут блокироваться на уровне интерфейса. Даже если программно право существует, функциональная опция может «вырезать» отображение этих типов в отчетах. Необходимо убедиться, что у Пользователя 1 в профиле включены все необходимые разделы учета, которые могут выступать источниками распоряжений для отгрузки.

Обновление ключей доступа (Access Keys)

Современные версии УТ используют механизм оптимизации прав доступа. Вместо того чтобы вычислять RLS «на лету» при каждом запросе (что сильно тормозит систему), 1С хранит рассчитанные права в специальных служебных таблицах — ключах доступа.

Иногда возникает технический сбой: права пользователю добавлены, но таблицы ключей не обновились. В этом случае данные в отчетах будут отсутствовать. Посмотрим, как это исправить:

  1. Перейдем в раздел Администрирование — Обслуживание — Управление доступом.
  2. Запустим регламентное задание «Обновление ключей доступа».
  3. В сложных случаях можно воспользоваться кнопкой «Обновить» в справочнике «Профили групп доступа» для конкретного профиля, который назначен пользователю.

Права на регистратор и детальные записи

Выясним еще одну важную деталь. Регистр ТоварыКотгрузке может хранить ссылку на ДокументОснование, но само движение (запись в регистр) делает другой документ — Регистратор (например, Реализация товаров и услуг).

Для корректного формирования отчета-расшифровки пользователю требуются права:

Итоговый алгоритм решения

Для исправления проблемы у Пользователя 1 выполним следующие шаги:

  1. Проверим, назначена ли пользователю роль, дающая право именно на Просмотр (а не только Чтение) документов: ЗаказКлиента, ЗаказНаПеремещение, ЗаказНаСборку и т.д.
  2. Добавим пользователю типовую роль «Чтение информации по номенклатуре» и проверим наличие ролей, открывающих доступ к разделам Продаж и Склада.
  3. Проверим наличие права «Просмотр детальных записей» в настройках прав СКД для данного отчета.
  4. Выполним обновление ключей доступа через панель администрирования.
  5. Если используется расшифровка, убедимся, что у пользователя есть права на объект метаданных Отчет.ПоступлениеИОтгрузкаТоваров.

Таким образом, корень проблемы чаще всего кроется в отсутствии права Просмотр на один из типов документов составного поля или в необходимости обновления кэша прав доступа (ключей доступа) после изменения состава ролей пользователя.

← На главную