Как исправить ошибку «Недостаточно прав для просмотра» при установке отбора «В списке» в отчетах 1С?

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

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

Разберем детально механизм возникновения этой проблемы, способы локализации через журнал регистрации и несколько вариантов её решения.

Выясним причину ошибки

Проанализируем, почему возникает отказ в доступе. При интерактивном редактировании множественных списков значений в системе компоновки данных (СКД) и в динамических списках платформа 1С открывает специализированное служебное интерфейсное окно. В типовых конфигурациях за это отвечает объект метаданных ОбщаяФорма.СписокЗначенийОтбора.

Если у пользователя назначены все необходимые права на сами данные (справочники, документы, планы счетов), но в назначенных ролях отсутствует право «Просмотр» на общую форму редактирования списка, платформа перехватывает попытку открытия окна формы и генерирует исключение безопасности.

Чтобы убедиться в источнике ошибки, посмотрим запись в журнале регистрации:

  1. Перейдем в раздел «Администрирование» — «Обслуживание» — «Журнал регистрации».
  2. Установим фильтр по критичности «Ошибка» или «Предупреждение» и событию «Отказ в доступе».
  3. В поле метаданных зафиксировано обращение к объекту: ОбщаяФорма.СписокЗначенийОтбора, требуемое право: Просмотр.

Способ 1. Обновление конфигурации на исправленный релиз

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

Разберем шаги по устранению:

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

Способ 2. Исправление через расширение конфигурации (без снятия с поддержки)

Если оперативно обновить конфигурацию целиком невозможно, а типовая база находится на замке (на полной поддержке поставщика), используем механизм расширений. Это позволит решить проблему без включения возможности изменения конфигурации.

Разберем процесс настройки по шагам:

  1. Откроем базу в режиме «Конфигуратор».
  2. Перейдем в меню «Конфигурация» — «Расширения конфигурации».
  3. Нажмем кнопку «Добавить», укажем понятное имя (например, ИсправлениеПравОтборов) и назначение «Адаптация» или «Исправление».
  4. В дереве основной конфигурации найдем ветку «Общие» — «Общие формы» — СписокЗначенийОтбора.
  5. Нажмем правой кнопкой мыши по форме и выберем пункт «Добавить в расширение».
  6. В структуре расширения перейдем в ветку «Роли», нажмем «Добавить» и создадим новую роль, например, ПраваНаФормуСпискаОтбора.
  7. В окне настройки прав созданной роли найдем заимствованную форму ОбщаяФорма.СписокЗначенийОтбора и установим флаг «Просмотр».
  8. Обновим конфигурацию базы данных (клавиша F7).
  9. Откроем программу в режиме «1С:Предприятие», перейдем в «Администрирование» — «Настройки пользователей и прав» — «Профили групп доступа» (или назначим роль напрямую пользователю) и включим созданную роль в профиль «Бухгалтер».

Способ 3. Доработка прав в редактируемой конфигурации

Если конфигурация уже снята с поддержки и находится в режиме редактирования, исправим состав прав напрямую.

Проанализируем правильный порядок действий:

  1. В дереве метаданных конфигуратора перейдем в ветку «Общие» — «Роли».
  2. Не рекомендуется изменять типовую роль БазовыеПрава напрямую, так как при последующих типовых обновлениях внесенные изменения могут затереться. Надежнее нажать «Добавить» и создать отдельную нетиповую роль, например, ДополнительныеПраваКФормамОтчетов.
  3. В дереве прав роли найдем «Общие формы» — СписокЗначенийОтбора и активируем право «Просмотр».
  4. Применим изменения структуры конфигурации (клавиша F7).
  5. В режиме «1С:Предприятие» добавим созданную роль в типовые профили групп доступа нужных пользователей.

Способ 4. Временный обходной путь для пользователей (без правки метаданных)

Если у системного администратора или программиста нет возможности немедленно внести изменения в базу, пользователи могут применить обходной прием непосредственно в интерфейсе отчета:

  1. В отчете нажмем кнопку «Показать настройки».
  2. На вкладке «Отборы» нажмем кнопку «Добавить группу» и выберем тип группы «Группа ИЛИ».
  3. Внутрь созданной группы добавим несколько одинаковых полей отбора с видом сравнения «Равно», указав в каждом отдельное требуемое значение.
  4. Сформируем отчет. При такой схеме вызов модального диалога ОбщаяФорма.СписокЗначенийОтбора не происходит, и данные корректно формируются без ошибки доступа.
← На главную