В типовых решениях на базе 1С:ERP Управление предприятием часто возникает ситуация, когда пользователи с ограниченными правами (например, менеджеры закупок) не видят определенные элементы интерфейса, которые доступны администратору с полными правами. Одной из самых распространенных проблем является исчезновение элементов «быстрого отбора» в списках документов, в частности, поля Менеджер в форме заказов поставщику. Это создает неудобства, когда сотруднику необходимо просмотреть документы своих коллег или отфильтровать список по определенному ответственному.
В этой статье мы подробно разберем, почему скрываются элементы быстрых отборов, как на это влияет механизм RLS, и где в конфигураторе найти программный код, отвечающий за логику отображения полей. Мы проанализируем ситуацию по шагам и найдем решение, которое позволит вернуть недостающие элементы управления.
Первым делом проанализируем систему прав доступа. В 1С:ERP реализован мощный механизм RLS (Record Level Security), который ограничивает видимость самих данных в базе. Если менеджер закупок по условиям своей роли и настроек «Групп доступа» имеет право видеть только «свои» документы (где он указан как ответственный), система автоматически оптимизирует интерфейс.
Разберем логику системы: если пользователь физически не может увидеть чужие заказы из-за ограничений RLS, то наличие фильтра по другим менеджерам в списке становится бессмысленным. В этом случае платформа или программный код типового решения скрывает поле Менеджер в панели быстрых отборов. Чтобы исправить это, выполним следующие действия:
Если с правами RLS все в порядке, но поле все равно не отображается, выясним причину в программном коде. В управляемых формах 1С видимость элементов часто настраивается динамически при открытии формы. Нам необходимо найти процедуру ПриСозданииНаСервере в модуле формы списка ЗаказПоставщику.
Рассмотрим пример типичного кода, который может скрывать элементы:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
// Проверка прав на просмотр чужих документов
ДоступенОтборПоМенеджеру = РольДоступна("ПолныеПрава")
ИЛИ РольДоступна("ЧтениеЗаказовПоставщикамБезОграничений");
Элементы.ГруппаОтборМенеджер.Видимость = ДоступенОтборПоМенеджеру;
КонецПроцедуры
Проанализируем этот фрагмент. Мы видим, что видимость группы отбора жестко завязана на наличие определенных ролей. Если у менеджера закупок нет роли ЧтениеЗаказовПоставщикамБезОграничений, элемент будет скрыт. В данном случае мы можем либо добавить пользователю необходимую роль, либо создать расширение и переопределить это поведение.
Иногда причина кроется в косвенных правах. Элемент быстрого отбора по менеджеру — это поле ввода, связанное со справочником Пользователи или ФизическиеЛица. Если у профиля «Менеджер закупок» недостаточно прав на чтение справочника Пользователи (например, установлены жесткие ограничения на просмотр других записей в этом справочнике), динамический список может давать сбой при попытке инициализировать отбор.
Проверим, может ли менеджер открыть справочник пользователей и увидеть там список сотрудников. Если список пуст или выдается ошибка доступа, необходимо скорректировать роль Чтение пользователей или аналогичную, используемую в вашей версии ERP.
В 1С:ERP видимость интерфейса сильно зависит от включенных функциональных опций. Рассмотрим ситуацию: если в настройках системы отключено использование нескольких подразделений или менеджеров в определенных разрезах, поля отборов могут скрываться автоматически для всех пользователей, кроме администратора.
Нам стоит зайти в раздел НСИ и администрирование — Настройка НСИ и разделов и проверить параметры, связанные с закупками и персоналом. Убедимся, что архитектура системы предполагает использование нескольких ответственных лиц.
Не будем исключать и самый простой вариант — пользователь случайно скрыл элемент или настройки «залипли» после обновления конфигурации. Посмотрим на ситуацию глазами пользователя:
Группу быстрых отборов.ОтборМенеджер (или аналогичного) стоит галочка.Это действие сбросит кэш настроек формы для конкретного пользователя и вернет интерфейс к тому виду, который определен в конфигураторе с учетом текущих прав доступа.
Подводя итог, можно сказать, что решение проблемы с видимостью отбора по менеджеру в 1С:ERP требует комплексного подхода. Мы выяснили, что основными причинами являются ограничения RLS, которые делают отбор бессмысленным, или программные проверки ролей в коде формы ПриСозданииНаСервере.
Для исправления ситуации рекомендуем сначала проверить настройки групп доступа, затем убедиться в наличии прав на чтение справочника пользователей, и в последнюю очередь прибегать к правке кода через расширение, если типовая логика конфигурации избыточно ограничивает права сотрудников. Совместное использование этих методов позволит гибко настроить рабочее место менеджера закупок и обеспечить ему доступ ко всем необходимым инструментам фильтрации документов.