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