Почему внешняя печатная форма отображается в заказ-наряде, но не видна в заказе покупателя в 1С:УНФ?

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

Разберем специфическую проблему, с которой нередко сталкиваются разработчики и администраторы при подключении внешних печатных форм (ВПФ) в конфигурации 1С:Управление нашей фирмой (1С:УНФ). Вы подключаете внешнюю обработку к документу, но в одной форме документа кнопка печати появляется, а в другой — отсутствует.

Анализ проблемы и особенности метаданных УНФ

Проанализируем структуру конфигурации 1С:УНФ. В этой системе документы Заказ покупателя и Заказ-наряд физически представляют собой один и тот же объект метаданных — Документ.ЗаказПокупателя. В зависимости от реквизитов и настроек программа открывает для пользователя разные экранные формы с разным составом полей и реквизитов шапки и табличных частей.

При разработке внешней печатной формы по стандартам Библиотеки стандартных подсистем (БСП) в функции сведений о внешней обработке указывается назначение:


Функция СведенияОВнешнейОбработке() Экспорт
    ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке();
    ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма();
    ПараметрыРегистрации.Версия = "1.0";
    ПараметрыРегистрации.Назначение.Добавить("Документ.ЗаказПокупателя");
    
    // Описание команд печати
    Команда = ПараметрыРегистрации.Команды.Добавить();
    Команда.Представление = НСтр("ru = 'Пользовательский бланк'");
    Команда.Идентификатор = "ПФ_MXL_ПользовательскийБланк";
    Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
    Команда.Модификатор = "ПечатьMXL";
    
    Возврат ПараметрыРегистрации;
КонецФункции

Казалось бы, раз назначение задано для Документ.ЗаказПокупателя, печатная форма обязана появится в выпадающем меню Печать во всех формах этого документа. Однако на практике разработчик сталкивается с ситуацией: открываем Заказ-наряд — команда на месте, открываем Заказ покупателя — команды нет. При этом обе формы принадлежат одному и тому же объекту конфигурации.

Выясняем причину: механизм БСП и регистр «Настройки печатных форм»

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

Если конкретный пользователь хотя бы раз заходил в форму документа Заказ покупателя и настраивал список видимых печатных форм под свои задачи (убирал неиспользуемые накладные, акты или счета), программа делает снимок доступных команд и сохраняет его в специальный регистр сведений — НастройкиПечатныхФорм. Все новые печатные формы, которые регистрируются в базе позже (включая подключаемые ВПФ), в этот сохраненный список уже не входят и автоматически получают статус скрытых.

Поскольку в форме Заказ-наряд этот же пользователь мог не менять стандартные настройки меню печати, там команда из новой ВПФ отобразилась сразу. А в форме Заказ покупателя интерфейс прочитал персональные ограничения из регистра и исключил новую команду из показа.

Способ 1. Очистка регистра «Настройки печатных форм»

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

  1. Откроем регистр сведений НастройкиПечатныхФорм через меню Функции для технического специалиста (или Все функции).
  2. Найдем записи, относящиеся к объекту метаданных Документ.ЗаказПокупателя и конкретному пользователю, у которого пропала видимость команды.
  3. Удалим соответствующие записи из регистра.
  4. Перезапустим сеанс пользователя и проверим меню Печать в заказе покупателя — подключенная ВПФ появится в списке.

Способ 2. Штатный сброс и настройка видимости через пользовательский интерфейс

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

  1. Откроем форму документа Заказ покупателя (или список заказов).
  2. Нажмем кнопку Печать на командной панели.
  3. В нижней части выпадающего подменю выберем пункт Настройка печати… (в некоторых версиях интерфейса пункт может называться Настроить состав печатных форм).
  4. В открывшемся окне найдем в перечне подключенную внешнюю печатную форму и установим для нее флаг видимости.
  5. Если требуется полностью вернуться к исходному отображению всех доступных команд конфигурации, нажмем кнопку Установить стандартные настройки.

Способ 3. Очистка персональных настроек администратором

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

  1. Перейдем в раздел Администрирование.
  2. Откроем подраздел Настройки пользователей и прав, затем пункт Персональные настройки пользователей.
  3. Перейдем по ссылке Очистка настроек.
  4. Выберем нужного пользователя (или группу пользователей), укажем категорию настроек печати и выполним очистку, не затрагивая настройки отчетов, списков и внешнего вида окон.

Дополнительные факторы, влияющие на доступность ВПФ

Проанализируем сопутствующие моменты, которые также могут препятствовать отображению внешней формы в интерфейсе:

  1. Колонка «Быстрый доступ» в справочнике дополнительных обработок: при загрузке обработки в справочник Дополнительные отчеты и обработки проверьте состав пользователей в колонке Быстрый доступ. Если там указаны определенные сотрудники, остальные пользователи не увидят команду в основном подменю.
  2. Кэширование интерфейса: БСП сохраняет сформированное дерево команд для ускорения работы. Если форма документа была открыта до загрузки новой версии обработки в базу, обязательно закройте документ и откройте его заново.
  3. Права доступа: убедитесь, что роли текущего пользователя дают право на чтение справочника ДополнительныеОтчетыИОбработки и интерактивное открытие внешних печатных форм.
← На главную