Как настроить состав команд в подменю «Печать» и убрать лишние печатные формы

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

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

Способ 1: Индивидуальная настройка формы пользователем

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

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

Важный нюанс: этот метод скрывает формы только для текущего пользователя. Если необходимо применить эти настройки для всех сотрудников, администратор может воспользоваться механизмом «Копирование настроек пользователей» в разделе администрирования. Однако, если пользователей много, этот путь может быть трудозатратным.

Способ 2: Глобальная настройка через административный раздел

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

Проанализируем последовательность действий (на примере ERP и схожих конфигураций):

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

Это наиболее правильный и эффективный способ для администратора системы, так как изменения применяются сразу ко всем пользователям.

Способ 3: Управление внешними печатными формами

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

Зайдем в раздел «Дополнительные отчеты и обработки». В списке найдем нужную печатную форму. Проанализируем её настройки: в поле «Публикация» можно выбрать статус «Выключена» или «Доступна только для отладки». В этом случае кнопка исчезнет из интерфейса пользователей, но сама обработка останется в базе. При необходимости разработки собственного замещающего варианта пригодится руководство по созданию внешних печатных форм на основе типовых.

Способ 4: Программное управление в модуле менеджера

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

Рассмотрим пример того, как это выглядит в коде 1С:


Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
    
    // Добавление типовой команды печати
    КомандаПечати = КомандыПечати.Добавить();
    КомандаПечати.Идентификатор = "МедицинскоеЗаключение";
    КомандаПечати.Представление = НСтр("ru = 'Медицинское заключение'");
    КомандаПечати.ПроверкаПроведенностиПередПечатью = Истина;
    
КонецПроцедуры

Для того чтобы скрыть встроенную форму через расширение, мы можем создать метод &После для этой процедуры и программно удалить ненужную строку из таблицы КомандыПечати:


&После("ДобавитьКомандыПечати")
Процедура Расш_ДобавитьКомандыПечати(КомандыПечати)
    
    // Удаляем команду по её идентификатору
    СтрокаКоманды = КомандыПечати.Найти("ИдентификаторНужнойКоманды", "Идентификатор");
    Если СтрокаКоманды <> Неопределено Тогда
        КомандыПечати.Удалить(СтрокаКоманды);
    КонецЕсли;
    
КонецПроцедуры

Дополнительные факторы влияния

Иногда печатная форма не убирается стандартными методами или, наоборот, не появляется. Проанализируем дополнительные причины:

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

← На главную