При тонкой настройке прав доступа и создании специализированных ролей через расширение конфигурации разработчики нередко сталкиваются с ситуацией: все необходимые подсистемы включены, права на сам отчет назначены, однако в пользовательском интерфейсе пункт меню с отчетом так и не появляется. Проанализируем эту ситуацию на примере типовой конфигурации «1С:Бухгалтерия» и разберем по шагам, как правильно добавить оборотно-сальдовую ведомость (ОСВ) в новый профиль пользователя.
Рассмотрим типовой сценарий: в расширении создается новая роль (например, для менеджера по закупкам), которой разрешен просмотр подсистем Отчеты и Стандартные отчеты. Также в расширение добавляется сам отчет (например, Отчет.ОборотноСальдоваяВедомостьПоСчету) с правами «Использование» и «Просмотр». Пользователю назначается профиль с этой ролью, меню раздела открывается, но требуемой команды там нет.
Выясним причину такого поведения платформы. В типовых решениях вызов многих стандартных отчетов вынесен в отдельные объекты метаданных — общие команды. Если отчет открывается через общую команду, назначения прав только на сам объект отчета и подсистему недостаточно: платформе требуется явное разрешение на команду, которая выводит пункт в панель навигации или действий.
В случае с оборотно-сальдовой ведомостью по счету вызов выполняется с помощью общей команды ОборотноСальдоваяВедомостьПоСчету. Если для новой роли не установлен флаг «Просмотр» на эту команду, пользователь просто не увидит ссылку в интерфейсе, несмотря на наличие прав на сам отчет.
Разберем по шагам, какие настройки необходимо выполнить в расширении конфигурации для корректного отображения ОСВ:
Отчеты и Стандартные отчеты, включив для созданной роли право «Просмотр».Отчет.ОборотноСальдоваяВедомостьПоСчету (или Отчет.ОборотноСальдоваяВедомость) и назначим для роли права «Использование» и «Просмотр».ОборотноСальдоваяВедомостьПоСчету и в свойствах роли установим для нее право «Просмотр».Сделать отчет видимым в командном интерфейсе — это только половина задачи. Посмотрим на типовые ошибки, которые возникают при попытке сформировать отчет после открытия. Если пользователь работает под типовым профилем «Менеджер по продажам» или созданным профилем закупщика, у него по умолчанию отсутствуют права на бухгалтерский контур.
Для успешного формирования оборотно-сальдовой ведомости в роли обязательно должны быть включены следующие права к данным:
ПланСчетов.Хозрасчетный необходимы права «Чтение» и «Просмотр». Без них отчет не сможет получить перечень счетов и субсчетов.РегистрБухгалтерии.Хозрасчетный требуется право «Чтение». Если этого права нет, форма отчета откроется, но при нажатии кнопки «Сформировать» произойдет ошибка нарушения прав доступа.<Объект не найден>.Если права на общую команду и данные назначены, но отчет все равно не отображается, проанализируем еще две распространенные причины:
УправлениеДоступом.ОбновитьТаблицыГруппДоступа();
Учитывайте также аспект информационной безопасности: предоставление прав на чтение регистра бухгалтерского учета РегистрБухгалтерии.Хозрасчетный открывает менеджеру просмотр всех проводок предприятия. Если требуется скрыть финансовые или зарплатные данные (кассу, расчетные счета), типовых механизмов ролей будет недостаточно, так как RLS на регистр бухгалтерии по отдельным счетам в стандартной поставке не предусмотрен. В таких случаях альтернативой может служить использование управленческих отчетов подсистемы руководителя и расчетов с клиентами/поставщиками.