Как отредактировать макет печатной формы счета в 1С:УТ 11, если кнопки Изменить недоступны

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

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

В данной статье мы разберем, почему так происходит, как найти «спрятанный» макет и каким образом правильно внести изменения, чтобы система их подхватила автоматически, или использовать конструктор печатных форм.

Разберем причину недоступности кнопок редактирования

Первым делом проанализируем ситуацию, когда в разделе НСИ и Администрирование — Печатные формы, отчеты и обработки — Макеты печатных форм мы находим нужный документ (например, «Счет на оплату клиенту»), но кнопки Изменить или Использовать измененный неактивны.

Выясним причину такого поведения системы. В современных конфигурациях используется подсистема «Печать» из состава «Библиотеки стандартных подсистем» (БСП). Особенность этой подсистемы заключается в том, что макет печатной формы не всегда жестко привязан к объекту метаданных «Документ». Для унификации кода разработчики 1С часто выносят логику печати и сами макеты в отдельные Обработки.

В случае со счетом на оплату, макет может отображаться в списке как принадлежащий документу «Заказ клиенту» или «Счет на оплату», но фактически являться лишь ссылкой. Если кнопки недоступны, значит, мы пытаемся редактировать «виртуальное» представление макета. Настоящий макет, доступный для правки, находится в ветке обработок.

Пошаговый поиск правильного макета

Рассмотрим алгоритм действий, который помог решить проблему в обсуждаемой теме:

  1. Перейдем в список Макеты печатных форм.
  2. Вместо поиска по названию документа, прокрутим список (или воспользуемся поиском) до раздела Обработки.
  3. Найдем объект с названием Печать счетов на оплату (Обработка).
  4. Внутри этой группы будет находиться искомый макет, например, ПФ_MXL_СчетНаОплату (в том числе версия с весом).
  5. Именно здесь кнопка Изменить будет доступна для использования.

Проанализируем ситуацию: почему это сделано именно так? Один и тот же счет на оплату может печататься из разных документов: «Заказ клиента», «Реализация товаров и услуг», «Счет на оплату». Чтобы не дублировать один и тот же макет во всех этих объектах, разработчики создали единую обработку ПечатьСчетовНаОплату, которая содержит универсальный шаблон. Система при вызове печати обращается именно к ней — например, для быстрого решения задачи кастомизации есть готовая печатная форма счета с QR-кодом для 1С:УТ и КА.

Почему ручное создание макета через кнопку Создать не работает

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

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

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

Работа с регистром пользовательских макетов

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

Если макет перестал отображаться или кнопки всё еще недоступны, выполним следующие действия:

  1. Откроем Функции для технического специалиста (ранее «Все функции»).
  2. Найдем Регистр сведений «Пользовательские макеты печати».
  3. Посмотрим, нет ли там «битых» записей или дублей для нужной формы. При необходимости лишние записи можно удалить, чтобы сбросить настройки макета к заводским.

Использование расширений как профессиональная альтернатива

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

В таких случаях рекомендуется использовать Расширения конфигурации или инструменты для добавления реквизитов на формы без кодирования. Рассмотрим этот процесс кратко:

  1. Создаем новое расширение.
  2. Добавляем в него макет из основной конфигурации (например, заявление на отпуск без сохранения оплаты).
  3. Заимствуем процедуру печати (обычно это Печать() или СформироватьПечатныеФормы() в модуле менеджера).
  4. Вносим изменения в запрос и логику заполнения параметров макета.

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

Резюме и рекомендации

Подведем итог нашему разбору. Если вам нужно «подрихтовать» печатную форму в 1С:УТ 11 (для автоматического вывода факсимиле без изменения макетов есть обработка автоматического добавления печатей и подписей в 1С), придерживайтесь следующего плана:

  1. Проверьте права доступа: У пользователя должны быть роли Администратор системы или Полные права. Также важна роль Редактирование макетов печатных форм.
  2. Найдите владельца: Если макет недоступен в самом документе, ищите его в разделе Обработки в том же списке макетов.
  3. Используйте только кнопку Изменить: Не пытайтесь создавать макеты с нуля через кнопку Создать, если не планируете переписывать программный код вызова этой формы.
  4. Проверяйте результат: После сохранения макета он должен выделиться жирным или синим цветом в списке. Это сигнализирует о том, что система теперь использует вашу версию.

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

← На главную