Разберем специфическую проблему, с которой нередко сталкиваются разработчики и администраторы при подключении внешних печатных форм (ВПФ) в конфигурации 1С:Управление нашей фирмой (1С:УНФ). Вы подключаете внешнюю обработку к документу, но в одной форме документа кнопка печати появляется, а в другой — отсутствует.
Проанализируем структуру конфигурации 1С:УНФ. В этой системе документы Заказ покупателя и Заказ-наряд физически представляют собой один и тот же объект метаданных — Документ.ЗаказПокупателя. В зависимости от реквизитов и настроек программа открывает для пользователя разные экранные формы с разным составом полей и реквизитов шапки и табличных частей.
При разработке внешней печатной формы по стандартам Библиотеки стандартных подсистем (БСП) в функции сведений о внешней обработке указывается назначение:
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке();
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма();
ПараметрыРегистрации.Версия = "1.0";
ПараметрыРегистрации.Назначение.Добавить("Документ.ЗаказПокупателя");
// Описание команд печати
Команда = ПараметрыРегистрации.Команды.Добавить();
Команда.Представление = НСтр("ru = 'Пользовательский бланк'");
Команда.Идентификатор = "ПФ_MXL_ПользовательскийБланк";
Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
Команда.Модификатор = "ПечатьMXL";
Возврат ПараметрыРегистрации;
КонецФункции
Казалось бы, раз назначение задано для Документ.ЗаказПокупателя, печатная форма обязана появится в выпадающем меню Печать во всех формах этого документа. Однако на практике разработчик сталкивается с ситуацией: открываем Заказ-наряд — команда на месте, открываем Заказ покупателя — команды нет. При этом обе формы принадлежат одному и тому же объекту конфигурации.
Выясним причину такого поведения. В БСП реализована возможность персональной настройки видимости команд в меню Печать для каждого пользователя. Механизм работает по принципу «белого списка».
Если конкретный пользователь хотя бы раз заходил в форму документа Заказ покупателя и настраивал список видимых печатных форм под свои задачи (убирал неиспользуемые накладные, акты или счета), программа делает снимок доступных команд и сохраняет его в специальный регистр сведений — НастройкиПечатныхФорм. Все новые печатные формы, которые регистрируются в базе позже (включая подключаемые ВПФ), в этот сохраненный список уже не входят и автоматически получают статус скрытых.
Поскольку в форме Заказ-наряд этот же пользователь мог не менять стандартные настройки меню печати, там команда из новой ВПФ отобразилась сразу. А в форме Заказ покупателя интерфейс прочитал персональные ограничения из регистра и исключил новую команду из показа.
Рассмотрим быстрое решение, позволяющее вернуть отображение команд, когда индивидуальные пользовательские списки потеряли актуальность.
НастройкиПечатныхФорм через меню Функции для технического специалиста (или Все функции).Документ.ЗаказПокупателя и конкретному пользователю, у которого пропала видимость команды.Разберем способ, который не требует административного вмешательства в регистры и доступен обычному пользователю или консультанту прямо из формы документа:
Если проблему нужно устранить централизованно для нескольких сотрудников без редактирования таблиц регистров напрямую, воспользуемся штатным инструментом очистки настроек:
Проанализируем сопутствующие моменты, которые также могут препятствовать отображению внешней формы в интерфейсе:
Дополнительные отчеты и обработки проверьте состав пользователей в колонке Быстрый доступ. Если там указаны определенные сотрудники, остальные пользователи не увидят команду в основном подменю.ДополнительныеОтчетыИОбработки и интерактивное открытие внешних печатных форм.