Почему не отображается кнопка «Настройки» в отчете СКД под ограниченными правами и как это исправить

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

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

Давайте подробно разберем, почему возникает эта проблема в конфигурациях, использующих Библиотеку стандартных подсистем (БСП) — таких как ЗУП 3.1, ERP 2, Комплексная автоматизация или Управление торговлей, и выясним, как вернуть пользователям возможность настраивать отчеты.

Причина 1: Отсутствие роли «Добавление изменение личных вариантов отчета»

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

Для того чтобы у пользователя появилась возможность открывать настройки отчета и изменять его структуру под свои нужды, в его профиль групп доступа обязательно должна быть включена роль «Добавление изменение личных вариантов отчета» (в метаданных она может называться ДобавлениеИзменениеЛичныхВариантовОтчетов).

Эта роль позволяет механизмам БСП открыть пользователю доступ к изменению группировок, полей, отборов и сортировок, а также сохранять измененные настройки в качестве индивидуальных пользовательских вариантов. Если у пользователя этой роли нет, система считает, что редактировать отчет ему запрещено, и скрывает соответствующую кнопку с формы.

Причина 2: Платформенное право «Сохранение данных пользователя» (SaveUserData)

Даже если вы добавили пользователю все необходимые роли БСП, кнопка «Настройки» может не появиться, если в назначенных ему ролях отключено стандартное право платформы «Сохранение данных пользователя». Разберем подробнее, как это работает:

Когда открывается форма отчета, платформа и механизмы БСП обращаются к хранилищу настроек для загрузки или сохранения параметров текущего пользователя. Если у пользователя нет права СохранениеДанныхПользователя, запись любых персональных настроек (включая настройки СКД, отборы, размеры окон и т. д.) блокируется на уровне ядра платформы. БСП определяет это ограничение программно и автоматически скрывает кнопку вызова настроек, так как пользователь физически не сможет их применить и сохранить.

Чтобы решить эту проблему, выполните следующие шаги:

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

Причина 3: Как БСП динамически управляет интерфейсом формы

Большинство нетиповых отчетов в современных конфигурациях не имеют собственных уникальных форм. Разработчики обычно оставляют поле «Вспомогательная форма отчета» пустым, доверяя генерацию интерфейса системе. В этом случае БСП подставляет общую форму ОбщиеФормы.ФормаОтчета.

В момент создания этой формы на сервере срабатывает программный код инициализации панели инструментов. БСП анализирует права текущего пользователя и заполняет структуру параметров отчета. Посмотрим на упрощенную схему того, как это происходит под капотом библиотечных модулей:


ПараметрыОтчета = ВариантыОтчетов.ПолучитьПараметрыЭкраннойФормы(ЭтотОбъект);
Если Не ПравоДоступа("ИнтерактивнаяПометкаУдаленияПроведение", Метаданные.Справочники.ВариантыОтчетов) Тогда
    // Если у пользователя нет прав на запись вариантов, блокируются расширенные настройки
    ПараметрыОтчета.РазрешеноИзменятьСтруктуру = РольДоступна("ДобавлениеИзменениеЛичныхВариантовОтчетов");
КонецЕсли;

Если Не ПараметрыОтчета.РазрешеноИзменятьСтруктуру Тогда
    Элементы.КнопкаНастройки.Видимость = Ложь;
КонецЕсли;

Если параметры РазрешеноИзменятьСтруктуру или РазрешеноИзменятьВарианты принимают значение Ложь, командная панель перестраивается, и кнопка настроек скрывается. Наличие роли «Добавление изменение личных вариантов отчета» решает эту проблему, переводя флаг изменения структуры в значение Истина.

Причина 4: Отсутствие регистрации отчета в справочнике «Варианты отчетов»

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

Чтобы зарегистрировать новый отчет в системе БСП и обновить права доступа к его вариантам, можно воспользоваться инструментами разработчика, поставляемыми вместе с дистрибутивом БСП. Для этого выполните следующие действия:

  1. Найдите каталог шаблонов БСП на вашем компьютере. Обычно он располагается по пути вида:
    C:\Users\[ИмяПользователя]\AppData\Roaming\1C\1cv8\tmplts\1c\SSL\[ВерсияБСП]\ExtFiles\Инструменты разработчика\.
  2. Запустите в режиме «1С:Предприятие» под полными правами обработку «Обновление вспомогательных данных» (или аналогичную обработку по обновлению прав доступа из этого каталога).
  3. Запустите процесс обновления метаданных и вариантов отчетов. Обработка проанализирует структуру метаданных, автоматически внесет ваш новый отчет в справочник ВариантыОтчетов и сопоставит его с существующими профилями безопасности.

Резюме и пошаговый чеклист устранения проблемы

Если под ограниченными правами у пользователя пропала кнопка настроек СКД-отчета, пройдите по следующему чеклисту для быстрого решения проблемы:

  1. Проверьте роли пользователя в режиме Предприятия: Убедитесь, что пользователю назначена стандартная роль Добавление изменение личных вариантов отчета (или она включена в его профиль групп доступа).
  2. Проверьте право на сохранение данных: В конфигураторе откройте роли пользователя и убедитесь, что у них активно платформенное право Сохранение данных пользователя (SaveUserData).
  3. Проверьте базовые права БСП: Убедитесь, что у пользователя активна роль Чтение вариантов отчетов, которая обеспечивает базовый доступ к механизмам компоновки данных в интерфейсе БСП.
  4. Проверьте настройки СКД: Убедитесь, что в свойствах самого отчета в конфигураторе заполнено (или очищено для использования стандартного) свойство Хранилище настроек. По умолчанию БСП рекомендует использовать ХранилищеВариантовОтчетов.

Применение этих правил гарантирует, что интерфейс отчета будет формироваться корректно, предоставляя пользователям всю необходимую гибкость настроек СКД без предоставления избыточных полных прав администратора.

← На главную