Почему новый документ в 1С:Розница не отображается в интерфейсе под ограниченными правами?

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

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

Проверка прав на команды открытия

Выясним основную причину, с которой столкнулся автор темы. Часто для удобства пользователей в конфигурации создаются отдельные объекты — Общие команды, которые служат для открытия списков документов или отчетов. Разберем ситуацию: вы создали документ, включили его в нужную подсистему и дали на него полные права в роли. Однако, если в интерфейсе для вызова этого документа используется не стандартная навигация, а именно ОбщаяКоманда, документ не появится до тех пор, пока вы не назначите права на саму команду.

Рассмотрим порядок действий:

  1. Найдите в дереве метаданных ветку Общие — Общие команды.
  2. Определите команду, которая отвечает за вызов вашего нового документа.
  3. Перейдите на закладку «Права» и убедитесь, что у вашей новой роли стоит галочка «Просмотр» для этой команды.

Настройка командного интерфейса подсистемы

Проанализируем ситуацию, когда права на объекты даны, но в меню подсистемы пункт всё равно отсутствует. В 1С существует отдельный слой настроек — Командный интерфейс. Даже если документ включен в состав подсистемы, его видимость может быть ограничена на уровне настроек интерфейса для конкретных ролей.

Рассмотрим, как это проверить в конфигураторе:

  1. Нажмите правой кнопкой мыши на подсистему (например, РозничныеПродажи).
  2. Выберите пункт Открыть командный интерфейс.
  3. В открывшемся окне найдите ваш документ.
  4. Посмотрите на колонку «Видимость». Если там не стоят галочки для вашей новой роли, то пользователи ее не увидят. Установите флажки в колонке видимости для нужных ролей.

Обновление идентификаторов объектов метаданных

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

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

Справочники.ИдентификаторыОбъектовМетаданных.ОбновитьДанные();

Также полезно знать, что при значительном обновлении состава объектов рекомендуется запускать базу с параметром командной строки: /С ЗапуститьОбновлениеИнформационнойБазы. Это инициирует все регламентные процедуры БСП по актуализации структуры прав.

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

Разберем важный технический нюанс настройки ролей. В 1С право Чтение позволяет коду обращаться к данным объекта, но не гарантирует его отображение в пользовательском интерфейсе. Чтобы пользователь увидел документ в списках и меню навигации, в роли обязательно должно быть установлено право Просмотр (View).

Проверьте следующие объекты в вашей роли:

Функциональные опции

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

Как проверить:

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

Обновление профилей групп доступа

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

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

Очистка кэша

Если все настройки выполнены верно, но документ так и не появился, нельзя исключать влияние локального кэша конфигурации. Рассмотрим, как избавиться от этой проблемы. Самый простой способ — запустить программу с параметром /ClearCache в строке запуска или просто удалить базу из списка и добавить её заново. Это заставит платформу заново загрузить структуру интерфейса с сервера.

← На главную