Печатные формы в 1С:Управление торговлей 11 (11.4, 11.5) — это неотъемлемая часть документации, которая определяет, как будут выглядеть счета, накладные, акты и другие выходные документы. Стандартные шаблоны не всегда соответствуют бизнес-требованиям: компании добавляют логотипы, изменяют структуру таблиц, корректируют реквизиты или адаптируют формы под специфические нормативные акты. В этой статье разберём все способы модификации печатных форм — от простых настроек через конфигуратор до сложных доработок с использованием языка .

Важно понимать, что процесс изменения зависит от версии платформы (8.3.20+ рекомендуется для 11.5) и типа формы:

- Внешние печатные формы (файлы .erf или .epf) — гибкие, но требуют ручной привязки.

- Встроенные формы — редактируются в конфигураторе, но изменения могут сброситься при обновлении.

- Управляемые формы (для тонкого клиента) — настраиваются через механизм КомпоновкаДанных.

Если вы никогда не работали с печатными формами, начните с внешних — они безопаснее для новичков. Опытные разработчики могут сразу переходить к изменению встроенных шаблонов или созданию новых через Конструктор печатных форм.

⚠️ Внимание: Перед любыми изменениями сделайте резервную копию базы (через Администрирование → Выгрузка/загрузка данных или 1С:Предприятие → Все функции → Резервное копирование). Ошибки в печатных формах могут привести к краху сеанса или потере данных при формировании документов.

📊 Какой способ изменения печатных форм вы используете чаще?
Внешние печатные формы (.erf)
Редактирование в конфигураторе
Конструктор печатных форм
Скрипты на языке 1С
Не изменял(а)

1. Подготовка к изменению печатной формы

Прежде чем приступать к редактированию, определитесь с целями модификации:

- Добавление логотипа или реквизитов компании?

- Изменение структуры таблицы (например, объединение колонок)?

- Корректировка формул расчёта (НДС, скидки, итоги)?

- Адаптация под новый бланк (например, УПД вместо ТОРГ-12)?

От этого зависит выбор инструмента. Например, для добавления логотипа достаточно внешней печатной формы, а для изменения логики расчётов потребуется редактирование встроенного модуля.

Шаг 1. Найдите исходную форму:

- Откройте документ (например, Реализация товаров и услуг).

- Нажмите Печать → Настроить форму (или Ещё → Изменить форму в новых версиях).

- В списке выберите нужную форму (например, Торговая накладная (ТОРГ-12)) и посмотрите её название — оно пригодится для поиска в конфигураторе.

Шаг 2. Проверьте права доступа:

- Для редактирования встроенных форм нужен доступ в конфигуратор (роль Администратор или Конфигуратор).

- Для внешних форм достаточно прав на Администрирование печатных форм (настраивается в НСИ и администрирование → Настройки пользователей и прав).

Определить цель модификации (дизайн/логика/реквизиты)|Найти название формы в интерфейсе 1С|Сделать резервную копию базы|Проверить права доступа (конфигуратор или администрирование)|Уточнить версию платформы (8.3.20+ для 11.5)-->

2. Способ 1: Редактирование через внешнюю печатную форму (.erf)

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

Инструкция:

  1. Скачайте шаблон внешней формы для вашей версии 1С (например, с сайта Инфостарт или 1С:ИТС). Для УТ 11.4 подойдёт форма в формате .erf, для 11.5 — .epf.

  2. Откройте форму в Конфигураторе через Файл → Открыть.

  3. Внесите изменения в дизайн (например, добавьте картинку через Вставить → Рисунок или измените шрифт в свойствах текстового поля).

  4. Сохраните файл и загрузите его в 1С через НСИ и администрирование → Печатные формы → Внешние печатные формы.

  5. Привяжите форму к документу в настройках (Действия → Настроить привязку).

Пример кода для добавления логотипа (в модуле внешней формы):

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

Картинка = Новый Картинка(ПутьКФайлуЛоготипа);

ЭлементыФормы.Логотип.Картинка = Картинка;

КонецПроцедуры

⚠️ Внимание: Если логотип не отображается, проверьте путь к файлу (должен быть доступен на сервере 1С) и формат изображения (рекомендуется .png или .jpg с разрешением не выше 300 dpi).

💡

Для ускорения работы сохраните часто используемые внешние формы в отдельную папку на сервере и настройте к ней доступ через Администрирование → Общие настройки → Пути к файлам.

3. Способ 2: Изменение встроенной печатной формы в конфигураторе

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

Пошаговая инструкция:

  1. Откройте конфигуратор (1С:Предприятие → Конфигуратор).

  2. Найдите объект конфигурации:

    - Для документов: Объекты → Документы → [ВашДокумент] → Печатные формы.

    - Для справочников: Объекты → Справочники → [ВашСправочник] → Печатные формы.

  3. Выберите нужную форму (например, ТорговаяНакладная) и откройте её в Конструкторе печатных форм.

  4. Внесите изменения:

    - Перетащите поля из панели Данные в макет.

    - Измените свойства элементов (шрифт, выравнивание, границы).

    - Добавьте новые табличные части через Вставить → Таблица.

  5. Сохраните форму и обновите конфигурацию базы (Конфигурация → Обновить конфигурацию базы данных).

Типовые ошибки и решения:

  • 🔴 Форма не обновляется после изменений → Проверьте, что обновили конфигурацию базы и перезапустили сеанс 1С.
  • 🔴 Исчезли стандартные реквизиты → Верните удалённые поля из панели Данные или откатите изменения через Ctrl+Z.
  • 🔴 Краш при открытии формы → Удалите временные файлы 1С (папка %TEMP%\1C) и перезапустите программу.
Как вернуть стандартную форму после неудачного редактирования?

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

4. Способ 3: Использование конструктора печатных форм

В 1С:УТ 11.5 появился удобный Конструктор печатных форм, который позволяет настраивать макеты без глубоких знаний программирования. Он поддерживает:

- Перетаскивание полей (drag-and-drop).

- Группировку данных.

- Условное форматирование (например, выделение цветом строк с отрицательным остатком).

Как открыть конструктор:

  1. В пользовательском режиме откройте документ (например, Заказ покупателя).
  2. Нажмите Печать → Изменить форму (или Ещё → Настроить печатную форму).
  3. Выберите Конструктор печатных форм.

Пример настройки:

- Добавьте новую колонку в таблицу: перетащите поле Артикул из панели Доступные поля в заголовок таблицы.

- Измените порядок колонок: перетащите Цена перед Количество.

- Настройте условное форматирование: выделите колонку Остаток, нажмите Условное форматирование и добавьте правило"Если < 0, то красный цвет текста".

⚠️ Внимание: Изменения, сделанные через конструктор, сохраняются в пользовательских настройках и могут сброситься при обновлении платформы. Для постоянных изменений экспортируйте форму в .erf и загрузите как внешнюю.

Способ изменения Сложность Безопасность Когда использовать
Внешняя форма (.erf) Низкая ⭐⭐⭐⭐⭐ Добавление логотипа, изменение дизайна
Конфигуратор Высокая ⭐⭐⭐ Глубокие доработки логики
Конструктор печатных форм Средняя ⭐⭐⭐⭐ Быстрые правки без программирования
Скрипты на языке 1С Очень высокая ⭐⭐ Сложные расчёты, интеграция с другими системами

5. Доработка печатной формы через код (для разработчиков)

Если стандартные инструменты не покрывают ваши нужды, можно изменить форму программно. Например, чтобы добавить динамическую подпись или расчёт дополнительных полей.

Пример 1. Добавление новой колонки в таблицу:

Процедура ПечатьТорговаяНакладная(Документ, ТаблицаТоваров)

// Добавляем колонку"Вес нетто" в таблицу товаров

Колонка = ТаблицаТоваров.Колонки.Добавить("ВесНетто");

Колонка.Заголовок ="Вес нетто, кг";

Колонка.ТипЗначения = Новый Тип("Число");

// Заполняем данными

Для Каждого Строка Из Документ.Товары Цикл

Вес = Строка.Количество * СпрТовары.НайтиПоНаименованию(Строка.Номенклатура).Вес;

ТаблицаТоваров.Добавить(Строка.Номенклатура,..., Вес);

КонецЦикла;

КонецПроцедуры

Пример 2. Изменение шапки документа:

Процедура ПриКомпоновкеДанных(Документ, КомпоновщикМакета)

// Меняем заголовок документа в зависимости от типа операции

Если Документ.ВидОперации = ВидОперации.Розница Тогда

КомпоновщикМакета.Параметры.УстановитьЗначение("Заголовок","Чек ККМ №" + Документ.Номер);

Иначе

КомпоновщикМакета.Параметры.УстановитьЗначение("Заголовок","Счёт на оплату №" + Документ.Номер);

КонецЕсли;

КонецПроцедуры

⚠️ Внимание: При программных доработках используйте обработку ошибок, чтобы избежать падения формы:

Попытка

// Ваш код

Исключение

ЗаписатьЖурналРегистрации(НСтр("ru ='Ошибка печатной формы:'") + ОписаниеОшибки);

ПрерватьОбработку;

КонецПопытки;

💡

Программные доработки печатных форм требуют тестирования на копии базы. Особенно опасно изменять формы, которые используются в регламентных заданиях (например, автоматическая отправка счетов по email).

6. Типовые ошибки и их решения

Даже опытные пользователи сталкиваются с проблемами при изменении печатных форм. Вот самые распространённые случаи и способы их устранения:

  • 🔴 Форма открывается пустой:

    - Причина: неверно указан источник данных или сбросились настройки компоновки.

    - Решение: проверьте привязку формы к документу в НСИ и администрирование → Печатные формы.

  • 🔴 Не отображаются русские символы:

    - Причина: неверная кодировка файла .erf (должна быть UTF-8).

    - Решение: откройте файл в Notepad++ и сохраните с кодировкой UTF-8 без BOM.

  • 🔴 Медленное формирование формы:

    - Причина: сложные запросы или большие таблицы в макете.

    - Решение: оптимизируйте запрос (используйте индексы) или разбейте форму на несколько страниц.

  • 🔴 Ошибка"Не найден макет":

    - Причина: макет удалён или переименован.

    - Решение: восстановите макет из резервной копии или создайте новый через Конфигуратор → Объекты → Макеты.

Критическая ошибка: если после изменения формы перестали формироваться все печатные формы документа, проверьте целостность конфигурации через Администрирование → Тестирование и исправление с флагом"Проверка логической целостности".

7. Как сохранить изменения после обновления 1С

Одно из главных разочарований при работе с печатными формами — сброс изменений после обновления конфигурации. Чтобы этого избежать:

  1. Для внешних форм: Храните файлы .erf/.epf в отдельной папке и загружайте их заново после обновления.

  2. Для встроенных форм:

    - Создайте расширение конфигурации (Конфигурация → Расширения) и перенесите изменения туда.

    - Или используйте механизм Подписки на события для динамического изменения формы.

  3. Для программных доработок: Вынесите код в отдельный общий модуль и подключите его к форме через обработчик события.

⚠️ Внимание: Если вы используете 1С:УТ 11.5 в облачном сервисе (1С:Fresh), некоторые способы (например, расширения) могут быть ограничены. Уточните возможности в личном кабинете сервиса.

💡

Перед обновлением конфигурации экспортируйте все изменённые печатные формы в файл через Конфигурация → Выгрузить конфигурацию в файлы. После обновления сравните файлы с новой версией (например, через Beyond Compare) и перенесите изменения.

FAQ: Частые вопросы по печатным формам в 1С:УТ 11

Можно ли изменить печатную форму без доступа в конфигуратор?

Да, если использовать внешние печатные формы (.erf/.epf) или Конструктор печатных форм (доступен в пользовательском режиме для 11.5). Для этого нужны права на администрирование печатных форм, но не требуется доступ в конфигуратор.

Как добавить QR-код в печатную форму?

Для добавления QR-кода:

  1. Скачайте внешнюю обработку генерации QR (например, с Инфостарта).
  2. В модуле печатной формы добавьте код:
    КартинкаQR = ПолучитьQRКод(Документ.Ссылка.УникальныйИдентификатор);
    

    ЭлементыФормы.QRCode.Картинка = КартинкаQR;

  3. Разместите элемент ПолеКартинки в макете формы.

Почему после изменения формы в конфигураторе она не применяется?

Вероятные причины:

  • Не обновлена конфигурация базы (Конфигурация → Обновить конфигурацию базы данных).
  • Форма кэшируется. Попробуйте очистить кэш 1С (удалите папку %APPDATA%\1C\1Cv8\).
  • Изменения сделаны в другой базе. Проверьте, что редактируете ту же базу, в которой тестируете.

Как сделать печатную форму для нового документа?

Шаги:

  1. В конфигураторе откройте объект документа (Объекты → Документы → [ВашДокумент]).
  2. Добавьте новую печатную форму через Действия → Добавить → Печатная форма.
  3. Настройте макет в Конструкторе печатных форм или вручную.
  4. Привяжите форму к документу в модуле объекта:
    Процедура Печать(КоллекцияПечатныхФорм, Объект)
    

    КоллекцияПечатныхФорм.Добавить("НоваяФорма", Новый ПечатнаяФормаНоваяФорма(Объект));

    КонецПроцедуры

Можно ли изменить печатную форму для мобильного приложения 1С?

В 1С:Мобильная платформа печатные формы настраиваются отдельно. Для этого:

  1. Откройте мобильное приложение в конфигураторе.
  2. Найдите раздел Мобильное приложение → Печатные формы.
  3. Используйте упрощённые макеты (без сложных таблиц и графики).

⚠️ Ограничения: в мобильной версии не поддерживаются некоторые элементы (например, ТабличныйДокумент с вложенными таблицами).