При разработке и сопровождении конфигураций на платформе 1С:Предприятие 8.3 (например, ЗКГУ, ЗУП 3.1, ERP) разработчики часто сталкиваются с ситуацией, когда у пользователей с ограниченными правами пропадают целые страницы (вкладки) или отдельные реквизиты документов. При этом в обработчиках формы ПриСозданииНаСервере или ПриОткрытии явного переопределения свойства Видимость через отладчик обнаружить не удается.
Разберем подробно все уровни платформы и прикладных решений, которые влияют на отображение элементов формы, и выясним, где именно искать причину скрытия.
Проанализируем базовый платформенный механизм. В 1С права назначаются не только на объект метаданных в целом (документ, справочник), но и на каждый его реквизит, табличную часть и реквизиты табличных частей в отдельности.
Страница) расположены элементы, привязанные к реквизитам, на которые у пользователя нет права Просмотр, платформа скроет все эти элементы.Видимость в коде может оставаться равным Истина.Для проверки откроем конфигуратор, найдем назначенную пользователю роль (или роли), развернем права нужного документа и проверим колонку Просмотр для каждого реквизита, расположенного на проблемной вкладке.
У каждого элемента управляемой формы есть свойство Пользовательская видимость. В отличие от стандартного свойства Видимость, оно настраивается в конфигураторе персонально в разрезе ролей, существующих в конфигурации.
Разберем по шагам, как проверить эту настройку:
Пользовательская видимость и нажмем кнопку открытия диалога настройки.В типовых решениях (включая ЗКГУ и ЗУП) логика управления элементами форм вынесена из модулей самих форм в общие модули подсистем управления доступом и зарплатно-кадрового учета. Код может отрабатывать в переопределяемых модулях БСП:
Переопределяемый, КлиентСервер и СобытияФорм.Платформа 1С позволяет связывать элементы формы, команды и реквизиты с Функциональными опциями. Если в программе отключена соответствующая опция (например, отключен учет по нескольким организациям, учет вредных условий труда или использование тарифных сеток), платформа исключает связанные элементы интерфейса до выполнения пользовательского кода.
Проверим в свойствах элемента формы реквизит ФункциональныеОпции. Если там указана опция, необходимо проверить значение константы или параметра, от которого зависит данная функциональная опция в режиме предприятия.
Управляемая форма сохраняет индивидуальные настройки расположения и видимости элементов в системном хранилище настроек. Если пользователь или администратор ранее скрыл элемент вручную через меню интерфейса, форма запоминает это состояние.
Разберем по шагам, как сбросить персональные настройки формы:
Администрирование — Настройки пользователей и прав — Очистка настроек.Если в базе активен механизм ограничения доступа на уровне записей и полей (RLS), платформа скрывает элементы, данные которых не проходят по условиям ограничений текущего пользователя.
Также обратим внимание на подключенные расширения конфигурации: модули расширений могут перехватывать события формы (&Вместо, &После для ПриСозданииНаСервере) или изменять свойства элементов в заимствованных формах, скрывая страницы принудительно.