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