Почему новый справочник в УТ 11 не отображает данные у пользователя и как это исправить?

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

При разработке в современных конфигурациях на базе 1С:Управление торговлей 11 программисты часто сталкиваются с ситуацией: новый справочник создан, роль добавлена, права на чтение и просмотр назначены, но пользователь видит абсолютно пустой список. При этом, если выбрать значение этого справочника в документе, оно отображается корректно. Ситуация кажется парадоксальной, так как стандартные права, казалось бы, настроены верно.

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

Причина 1: Права на стандартные реквизиты

Разберем наиболее частую и «банальную» причину, с которой столкнулся автор темы. В платформе 1С 8.3 при создании новой роли и назначении прав на объект (справочник), права на его реквизиты (включая стандартные, такие как Код и Наименование) могут не наследоваться автоматически, если иерархия прав была нарушена или настроена вручную.

Проанализируем ситуацию: если у пользователя есть право на Чтение самого справочника, он может видеть ссылку на него в документах. Однако, если у него нет права на Просмотр или Чтение конкретных полей (в частности, наименования), динамический список в форме списка может просто не отображать строки, так как система не может извлечь данные для отображения в колонках.

Что нужно сделать:

  1. Откройте конфигуратор и перейдите к вашей новой роли.
  2. Найдите в дереве метаданных ваш справочник.
  3. Раскройте ветку Стандартные реквизиты.
  4. Убедитесь, что для реквизитов Ссылка, Наименование, Код и других используемых установлены галочки Чтение и Просмотр.
  5. Повторите проверку для обычных реквизитов, которые вы добавили в справочник.

Причина 2: Интеграция с подсистемой управления доступом БСП

В конфигурации УТ 11 управление правами работает не «напрямую» через роли платформы, а через сложную надстройку БСП. Система использует механизм RLS (Record Level Security) и справочники-идентификаторы для управления группами доступа. Для проверки действующих настроек подойдет отчет по правам доступа к справочникам в разрезе профилей групп доступа.

Выясним причину, связанную с кэшем метаданных. После добавления нового объекта система должна «узнать» о его существовании в контексте прав доступа. Для этого необходимо обновить идентификаторы объектов метаданных. Для оперативного обновления прав можно использовать обработку для точечного пересчета прав доступа пользователей.

Рассмотрим шаги для принудительного обновления:

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

Справочники.ИдентификаторыОбъектовМетаданных.ОбновитьДанные();
ПараметрыСеанса.КэшПрофилейБезопасности = Неопределено;

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


Процедура ПриОпределенииОбъектовСУчетомОграниченийДоступа(Список) Экспорт
    Список.Добавить(Метаданные.Справочники.ПортфельныеБренды);
КонецПроцедуры

Причина 3: Шаблоны ограничений доступа (RLS)

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

Посмотрим на пример настройки: если вы добавили роль менеджеру, а в профиле групп доступа включено ограничение «по организациям», система будет пытаться найти связь вашего справочника с организациями. Если этой связи нет или она не описана в метаданных доступа, данные исчезнут из видимости.

Рекомендация: На время отладки временно отключите RLS в роли для этого справочника (установите «ГДЕ ИСТИНА»), чтобы убедиться, что дело именно в шаблонах ограничений.

Причина 4: Функциональные опции и свойства формы

Рассмотрим ситуацию, когда справочник привязан к Функциональной опции (ФО). Если ФО выключена, объект может быть недоступен в интерфейсе или его данные не будут выбираться в запросах динамических списков.

Также проанализируем настройки Динамического списка на самой форме:

  1. Проверьте свойство ОсновнаяТаблица. Если она не указана, платформа может некорректно определять права доступа при выполнении запроса.
  2. Если используется Произвольный запрос, убедитесь, что в нем нет соединений (ЛЕВОЕ СОЕДИНЕНИЕ) с таблицами, на которые у текущего пользователя нет прав. В 1С, если в запросе участвует таблица без прав доступа, весь запрос может вернуть пустой результат или вызвать ошибку прав.

Причина 5: Права на просмотр подсистем

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

Итоги

Подводя итог, если вы столкнулись с «невидимостью» элементов в новом справочнике УТ 11, пройдите по следующему чек-листу:

  1. Проверьте права на Стандартные реквизиты в конфигураторе (наиболее вероятная причина).
  2. Обновите Идентификаторы объектов метаданных через консоль или дождавшись регламентного обновления БСП.
  3. Проверьте RLS — не накладываются ли пустые фильтры через шаблоны в роли.
  4. Убедитесь в наличии прав на Просмотр для подсистем и реквизитов, входящих в состав динамического списка.

Соблюдение этих шагов позволит вам быстро диагностировать проблему и обеспечить корректную работу пользователей с новыми данными в системе.

← На главную