Печатные формы в 1С:Предприятие 8.3 — это не просто «бумажная» копия документа, а мощный инструмент для стандартизации деловой документации. От счетов-фактур до товарных накладных — правильно настроенная форма экономит часы работы, исключает ошибки и создаёт профессиональное впечатление у контрагентов. Однако даже опытные пользователи часто сталкиваются с проблемами: поля съезжают, шрифты не читаются, а логотип компании отказывается вставать на место.
В этой статье вы найдёте пошаговые инструкции для любых задач: от базовой настройки стандартных форм до создания кастомных макетов с динамическими полями и QR-кодами. Мы разберём нюансы для разных конфигураций (Управление торговлей 11, Бухгалтерия 3.0, Зарплата и управление персоналом 3.1), покажем, как обойти типичные ошибки (например, «не печатается подвал документа»), и дадим готовые решения для интеграции с Excel и Word. Особое внимание уделим новым возможностям платформы 8.3.22+, включая работу с СКД (Система компоновки данных) и БСП (Библиотека стандартных подсистем).
Неважно, нужна ли вам простая корректировка существующей формы или полная переработка с нуля — после прочтения этой статьи вы сможете настроить печать так, чтобы каждый документ выглядел идеально, соответствовал законодательным требованиям и ускорял бизнес-процессы.
1. Базовые понятия: что такое печатная форма в 1С и где её искать
Печатная форма в 1С 8.3 — это шаблон, который определяет, как документ будет выглядеть при выводе на печать или сохранении в PDF/Excel. Она включает:
- 📄 Структуру документа (шапка, табличная часть, подвал)
- 🎨 Оформление (шрифты, цвета, границы ячеек)
- 📊 Динамические данные (номер документа, дата, суммы)
- 🖼️ Статичные элементы (логотип, реквизиты компании)
Где хранятся печатные формы?
- 📁 В конфигураторе: раздел
Объекты → Печатные формы(для старых версий) илиОбщие → Печатные формы(для новых конфигураций на БСП). - 🖥️ В пользовательском режиме: через меню документа
Печать → Настроить форму(если права доступа позволяют). - 📂 Во внешних файлах: формы могут подгружаться из
.mxlили.ert-файлов (например, для СКД).
Важно понимать разницу между:
- 🔄 Стандартными формами — встроенными в конфигурацию (например,
Счет на оплатув УТ 11). - ⚙️ Внешними формами — кастомизированными шаблонами, которые подключаются дополнительно.
- 📑 Универсальными формами — используют
СКДдля динамического формирования отчётов.
⚠️ Внимание: В конфигурациях на базе БСП 3.1+ (например, 1С:ERP 2.5) печатные формы могут храниться в подсистеме Печатные формы и отчёты. Проверьте наличие этого раздела в дереве объектов конфигуратора.
2. Пошаговая настройка стандартной печатной формы
Начнём с простейшего сценария: редактирования существующей формы без программирования. Например, добавим логотип компании в Счет на оплату в 1С:Бухгалтерия 3.0.
Шаг 1. Открытие формы в режиме редактирования
- Перейдите в документ (например,
Реализация товаров и услуг). - Нажмите
Печать → Счет на оплату. - В открывшемся окне предварительного просмотра выберите
Ещё → Настроить форму(илиИзменить форму, в зависимости от конфигурации).
Шаг 2. Добавление логотипа
- В редакторе формы найдите панель инструментов с кнопкой
Рисунок(обычно выглядит как 🖼️). - Нарисуйте прямоугольник в шапке документа (например, слева от названия компании).
- В свойствах объекта укажите путь к файлу логотипа (поддерживаются форматы
.jpg,.png,.bmp). - Настройте размеры, чтобы логотип не растягивался (используйте параметр
Сохранять пропорции).
Шаг 3. Редактирование полей
Чтобы изменить шрифт или положение текста (например, увеличить номер счета):
- Выделите поле с номером документа (кликните по нему в редакторе).
- В панели свойств найдите параметры
Шрифт,Размер,Выравнивание. - Для изменения позиции перетащите поле мышью или задайте координаты вручную в свойствах
ЛевоиВерх.
Шаг 4. Сохранение и тестирование
После изменений:
- Сохраните форму (
Файл → Сохранить). - Закройте редактор и снова откройте предварительный просмотр (
Печать → Счет на оплату). - Проверьте, что логотип отображается, а поля не наезжают друг на друга.
Проверено отображение логотипа|Все динамические поля (номер, дата) подставляются корректно|Шрифты читаемые (размер не менее 10pt)|Границы таблиц не обрезаны|Подвал документа виден полностью-->
⚠️ Внимание: Если после сохранения изменения не применяются, проверьте права доступа вАдминистрирование → Настройки пользователей. Для редактирования форм требуется роль с правомИзменение печатных форм.
3. Создание новой печатной формы с нуля
Если стандартные формы не подходят, можно создать свою. Например, разработаем форму Акт выполненных работ для 1С:Управление торговлей 11.
Шаг 1. Создание макета в конфигураторе
- Откройте конфигуратор (
1С:Предприятие → Конфигуратор). - Перейдите в
Объекты → Документы → [Ваш документ] → Печатные формы. - Добавьте новую форму (
Добавить → Печатная форма). - Укажите имя (например,
АктВыполненныхРабот) и синхронизируйте с данными документа.
Шаг 2. Дизайн формы
Используйте конструктор печатных форм:
- 📏 Шапка: добавьте поля для названия документа, номера, даты, реквизитов компании.
- 📋 Табличная часть: создайте колонки для описания работ, количества, цены, суммы.
- 📌 Подвал: разместите итоговые суммы, подписи, печать.
Для ускорения работы используйте готовые элементы из панели инструментов:
- 📝
Текст— для статичных надписей (например, «Исполнитель»). - 🔢
Поле— для динамических данных (например,Документ.Номер). - 📊
Таблица— для перечня работ/товаров.
Шаг 3. Привязка к документу
Чтобы форма открывалась из документа:
- В модуле документа добавьте процедуру:
Процедура ПечатьАктаВыполненныхРабот(Копия)
ПечатнаяФорма = ПечатныеФормы.АктВыполненныхРабот.Создать();
ПечатнаяФорма.Заполнить(Объект);
ПечатнаяФорма.Открыть();
КонецПроцедуры
- Добавьте команду печати в форму документа через
Действия → Добавить команду.
Шаг 4. Тестирование
Создайте тестовый документ и проверьте:
- Корректность подстановки данных (номер, дата, суммы).
- Выравнивание колонок в табличной части.
- Отображение на разных устройствах (принтер,
PDF).
4. Работа с динамическими данными и выражениями
Часто в печатных формах требуется выводить расчётные поля или данные из связанных справочников. Например, добавим в форму Товарная накладная колонку с весом нетто и строкой «Всего мест».
Пример 1: Вывод данных из справочника
Допустим, нужно показать адрес склада из справочника Склады:
- В конструкторе формы добавьте текстовое поле.
- В свойствах поля укажите выражение:
Документ.Склад.Адрес
Если адрес многострочный, используйте функцию СтрЗаменить() для форматирования:
СтрЗаменить(Документ.Склад.Адрес, Символы.ПС, ", ")
Пример 2: Расчётные поля
Чтобы вывести итоговый вес всех товаров в накладной:
- Добавьте поле в подвал формы.
- Задайте выражение:
Сумма(Документ.Товары.Количество * Документ.Товары.Вес)
Для округления до 2 знаков:
Окр(Сумма(Документ.Товары.Количество * Документ.Товары.Вес), 2)
Пример 3: Условное форматирование
Если нужно выделить цветом строки с нулевым количеством:
- Выделите ячейку таблицы с количеством.
- В свойствах установите
Условное оформление:
Если Документ.Товары.Количество = 0 Тогда
ЦветФона = ВебЦвета.Красный;
КонецЕсли;
| Тип данных | Пример выражения | Результат |
|---|---|---|
| Текст | "Накладная №" + Документ.Номер |
Накладная №Т-12345 |
| Дата | Формат(Документ.Дата, "ДФ=dd.MM.yyyy") |
15.05.2026 |
| Число | Формат(Документ.СуммаДокумента, "ЧДЦ=2; ЧРД=.") |
1 234,56 |
| Логическое | Если Документ.Оплачен Тогда "Оплачено" Иначе "Не оплачено" |
Оплачено |
⚠️ Внимание: При использовании сложных выражений (например, с обходом табличных частей) форма может тормозить при печати больших документов. Оптимизируйте запросы или используйте СКД для генерации данных.
5. Продвинутые возможности: СКД, QR-коды и интеграция с Word/Excel
Для сложных отчётов или документов со специфическими требованиями (например, QR-коды для маркировки или экспорт в Excel с формулами) стандартного конструктора недостаточно. Рассмотрим продвинутые инструменты.
1. Использование Системы компоновки данных (СКД)
СКД позволяет создавать динамические формы с группировками, фильтрами и вычисляемыми полями. Например, сделаем форму Реестр счетов-фактур с группировкой по контрагентам:
- В конфигураторе создайте новую печатную форму на базе
СхемаКомпоновкиДанных. - В конструкторе СКД добавьте набор данных —
Запрос:
ВЫБРАТЬ
СчетФактураВыданный.Номер КАК Номер,
СчетФактураВыданный.Дата КАК Дата,
СчетФактураВыданный.Контрагент КАК Контрагент,
СчетФактураВыданный.СуммаДокумента КАК Сумма
ИЗ
Документ.СчетФактураВыданный КАК СчетФактураВыданный
- Настройте группировку по полю
Контрагент. - Добавьте вычисляемое поле
ИтогоПоКонтрагентус выражениемСумма(Сумма).
2. Генерация QR-кодов
Для добавления QR-кода (например, со ссылкой на оплату) в форму Счет на оплату:
- Используйте внешнюю компоненту
Barcode1D2D(входит в поставку 1С) - В модуле формы добавьте код:
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
QR = Новый Картинка(Неопределено);
ТекстДляQR = "https://example.com/pay?doc=" + Документ.Ссылка.УникальныйИдентификатор();
Barcode1D2D.ШтрихкодQR(QR, ТекстДляQR, 200, 200);
Элементы.QRКод.Картинка = QR;
КонецПроцедуры
Где Элементы.QRКод — поле типа ПолеКартинки в макете формы.
3. Экспорт в Word/Excel
Для сохранения формы в Excel с сохранением формул:
- Используйте объект
ТабличныйДокумент:
ТабДок = Новый ТабличныйДокумент;
ПечатнаяФорма.Вывести(ТабДок);
ТабДок.Записать("C:\Temp\Накладная.xlsx", ТипФайлаТабличногоДокумента.XLSX);
Для Word потребуется COM-объект:
Word = Новый COMОбъект("Word.Application");
ДокументWord = Word.Documents.Add();
// Вставка текста и таблиц
ДокументWord.SaveAs("C:\Temp\Договор.docx");
Word.Quit();
Если QR-код не считывается, проверьте кодировку текста (используйте UTF-8) и размер картинки (оптимально 200x200 пикселей).
6. Типичные ошибки и их решения
Даже опытные пользователи сталкиваются с проблемами при настройке печатных форм. Разберём TOP-5 ошибок и способы их исправления.
1. Поля съезжают или накладываются
Причина: неверные координаты или размеры элементов.
Решение:
- 🔍 Проверьте свойства
Лево,Верх,Ширина,Высотадля каждого элемента. - 📏 Используйте сетку в редакторе (включается в настройках формы).
- 🖼️ Для таблиц фиксируйте ширину колонок (свойство
ФиксированнаяШирина).
2. Не печатается подвал документа
Причина: область печати ограничена размерами страницы.
Решение:
- 📄 В свойствах формы проверьте параметры
ВысотаСтраницыиНижнийКолонтитул. - 🔄 Увеличьте высоту страницы или уменьшите отступы.
- 🖨️ В настройках принтера отключите опцию «Подогнать под размер страницы».
3. Динамические данные не подставляются
Причина: неверное имя поля или отсутствует привязка к документу.
Решение:
- 🔗 Проверьте выражение в свойствах поля (например,
Документ.Номер, а не простоНомер). - 🔄 Обновите данные формы кнопкой
Заполнитьв редакторе. - 📌 Убедитесь, что документ сохранён перед печатью.
4. Форма печатается «в одну строку»
Причина: не установлены переносы строк или проблема с драйвером принтера.
Решение:
- 📝 В текстовом поле включите
МногострочныйРежим. - 🖨️ Обновите драйвер принтера или попробуйте печать в
PDF. - 📏 Проверьте ширину полей — если текст не помещается, он обрезается.
5. Ошибка «Не найден макет»
Причина: макет формы удалён или не синхронизирован с конфигурацией.
Решение:
- 🔍 В конфигураторе проверьте наличие макета в ветке
Общие → Макеты. - 🔄 Выполните
Обновление конфигурации базы данных. - 📥 Если макет внешний, проверьте путь к файлу в свойствах формы.
Что делать, если форма печатается пустой?
1. Проверьте, что документ не помечен на удаление.
2. Убедитесь, что в модуле формы есть процедура Заполнить() и она корректно заполняет данные.
3. Временно отключите антивирус — он может блокировать доступ к макетам.
4. Попробуйте печать на другом компьютере, чтобы исключить проблемы с драйверами.
7. Оптимизация печатных форм для скорости и удобства
Медленная печать или неудобный интерфейс редактирования формы раздражают пользователей. Вот как оптимизировать процесс:
1. Ускорение печати больших документов
- 📈 Отключите предварительный просмотр для массовой печати:
ПечатнаяФорма.Открыть(Ложь); // Печать без показа
- 🗃️ Кэшируйте данные: если форма использует сложные запросы, сохраните результаты в временную таблицу.
- 🖼️ Сожмите картинки: логотипы в формате
.pngс оптимальным разрешением (150-200 dpi).
2. Шаблоны для разных типов документов
Создайте несколько версий одной формы под разные сценарии. Например:
- 📄
СчетНаОплату_СЛого— для клиентов. - 📄
СчетНаОплату_БезЛого— для внутреннего использования. - 📄
СчетНаОплату_Экспорт— с переводом на английский.
Для переключения между шаблонами добавьте параметр в форму:
Процедура ПечатьСчета(ТипФормы = "СЛого")
Если ТипФормы = "СЛого" Тогда
ПечатнаяФорма = ПечатныеФормы.СчетНаОплату_СЛого.Создать();
ИначеЕсли ТипФормы = "Экспорт" Тогда
ПечатнаяФорма = ПечатныеФормы.СчетНаОплату_Экспорт.Создать();
КонецЕсли;
3. Автоматизация через обработки
Для массовой печати документов (например, пакет актов для клиентов) создайте обработку:
- 📂 Выберите документы через отбор.
- 🖨️ Настройте печать в фоновом режиме.
- 📥 Сохраняйте результаты в папку с именем файла по шаблону (например,
Акт_№{Документ.Номер}.pdf).
4. Контроль версий форм
Чтобы откатиться к предыдущей версии формы:
- 🔄 Используйте хранилище конфигурации в 1С.
- 📂 Экспортируйте макеты в файлы
.mxlперед изменениями. - 📝 Ведите журнал изменений в комментариях к форме (например, «Версия 2.1 — добавлен QR-код»).
Для ускорения работы с формами используйте внешние печатные формы — они не блокируются при обновлении конфигурации и легче переносятся между базами.
8. Печатные формы и законодательные требования
Некоторые документы (например, Счет-фактура или Товарная накладная ТОРГ-12) должны соответствовать требованиям законодательства. Разберём ключевые моменты для России (2026 год).
1. Обязательные реквизиты
В печатной форме Счета-фактуры должны присутствовать:
- 📌 Название документа («Счет-фактура»).
- 📅 Дата и номер.
- 🏢 Реквизиты продавца и покупателя (ИНН, КПП, адрес).
- 📦 Наименование, количество и стоимость товаров.
- 💰 Сумма НДС (если операция облагается налогом).
2. Штрихкоды и маркировка
Для товаров, подлежащих обязательной маркировке (лекарства, обувь, табак), в форму Товарной накладной необходимо добавить:
- 📌 Колонку с кодами маркировки (
DataMatrix). - 🖼️ Штрихкод в виде картинки (используйте компоненту
Barcode1D2D).
Пример кода для генерации DataMatrix:
КартинкаШтрихкода = Новый Картинка(Неопределено);
Barcode1D2D.ШтрихкодDataMatrix(КартинкаШтрихкода, Документ.Товары.КодМаркировки, 100, 100);
Элементы.Штрихкод.Картинка = КартинкаШтрихкода;
3. Электронный документооборот (ЭДО)
Для интеграции с Диадок, СБИС или Контур.Диадок:
- 📄 Печатная форма должна генерировать
XML-файл по стандартуУПД(универсальный передаточный документ). - 🔗 В форме добавьте кнопку
Отправить в ЭДОс вызовом обработки:
Процедура ОтправитьВЭДО()
ЭДО = Новый ЭлектронныйДокументооборот();
ЭДО.ОтправитьДокумент(Документ.Ссылка, "Диадок");
КонецПроцедуры
| Документ | Обязательные реквизиты | Особенности оформления |
|---|---|---|
| Счет-фактура | ИНН/КПП, сумма НДС, подписи | Нумерация сквозная в пределах квартала |
| ТОРГ-12 | Грузоотправитель, грузополучатель, вес брутто/нетто | Подписи ответственных лиц |