Право на открытие внешних печатных форм и макетов в 1С:Комплексная автоматизация 2

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

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

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

Сценарий 1. Печатная форма или макет добавлены через Расширение конфигурации

Это один из наиболее частых вариантов в современной разработке. Когда разработчик выносит макет или команду печати в расширение конфигурации, поведение прав подчиняется строгой внутренней логике платформы «1С:Предприятие».

Проанализируем ключевое правило платформы — «Правило первой роли» в расширениях:

  1. Если в вашем расширении нет ни одной собственной роли, то платформа автоматически предоставляет доступ ко всем добавленным в расширение объектам (макетам, командам, отчетам) всем пользователям информационной базы без исключения.
  2. Как только в расширении создается или заимствуется хотя бы одна собственная роль, этот автоматический доступ для всех пользователей полностью отключается. С этого момента обычные пользователи (без полных прав) мгновенно теряют доступ ко всем объектам этого расширения.

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

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

Иногда требуется программно проверить доступность новой роли непосредственно в коде расширения перед выводом формы на печать. Для этого мы можем использовать следующий шаблон кода:


Если Не РольДоступна("ПечатьКоммерческихПредложений") Тогда
    ВызватьИсключение НСтр("ru = 'Недостаточно прав доступа для формирования печатной формы коммерческого предложения!'");
КонецЕсли;

Сценарий 2. Печатная форма зарегистрирована как внешняя (ВПФ) через «Дополнительные отчеты и обработки»

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

Выясним причины, по которым у базового пользователя может не открываться ВПФ, и настроим систему:

  1. Проверка типовых ролей БСП: Обычный пользователь должен обладать правами на использование внешних обработок. Убедимся, что в профиль групп доступа пользователя включена типовая роль ИспользованиеДополнительныхОтчетовИОбработок (в ряде релизов профиль может называться «Работа с дополнительными отчетами и обработками»). Без этой роли система заблокирует выполнение любого программного кода из внешнего файла.
  2. Настройка видимости в карточке ВПФ: Перейдем в элемент справочника «Дополнительные отчеты и обработки» для нашей печатной формы. На вкладке «Команды» найдем колонку «Быстрый доступ». По умолчанию там может быть установлено значение «Доступно всем». Однако, если там указаны конкретные пользователи, то все остальные пользователи (включая сотрудников с базовыми правами) просто не увидят кнопку печати в документе. Настроим быстрый доступ для необходимых групп пользователей.
  3. Параметры безопасного режима: Обратим внимание на флаг «Безопасный режим» в карточке регистрации ВПФ. Если он включен, обработка выполняется в изолированной среде платформы. Если код печатной формы пытается выполнить привилегированную операцию (например, записать файл на диск сервера, использовать внешнюю компоненту или обратиться к COM-объекту), обычный пользователь получит ошибку прав доступа, в то время как у администратора всё сработает корректно. При необходимости переведите обработку в режим работы с разрешениями или отключите безопасный режим (если вы полностью доверяете коду обработки).

Сценарий 3. Редактирование макета через пользовательский режим («Макеты печатных форм»)

В «1С:Комплексная автоматизация 2» есть встроенный инструмент, позволяющий изменять макеты печатных форм без программирования. Этот справочник находится по адресу НСИ и администрирование — Печатные формы, отчеты и обработки — Макеты печатных форм.

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

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

← На главную