Добавление и настройка печатных форм в 1С 8.3
Содержание
Добавить бланк в 1С 8.3 можно тремя путями: подключить внешнюю печатную форму в режиме «Предприятие», нарисовать макет в Конфигураторе или оформить бланк расширением конфигурации. Выбор зависит от одного вопроса — разрешено ли менять типовую конфигурацию . Если база на поддержке и обновляется автоматически, трогать конфигуратор напрямую нельзя: правка слетит при первом же обновлении.
Под словом «бланк» здесь понимается печатная форма — макет в виде табличного документа, который документ выводит на печать (счёт, акт, накладная, договор). Отдельно стоит фирменный бланк: логотип, подпись и печать организации, которые подставляются поверх типовой формы без программирования.
Ниже — что подготовить, как подключить готовый бланк пользователю, как собрать свой макет разработчику и как привязать поля к данным базы.
.epf) и подключайте через «Дополнительные отчёты и обработки». Типовая конфигурация не меняется, обновления проходят штатно..cfe). Макет переопределяется в расширении, типовая остаётся нетронутой.Что подготовить: макет, формат файла и права
Прежде чем добавлять бланк, соберите исходники и проверьте доступы. Набор зависит от способа.
- 📄 Готовый образец формы. Распечатанный или PDF-образец того, как бланк должен выглядеть: шапка, таблица строк, подвал с итогами и подписями. По нему удобно размечать области макета.
- 🖼️ Файлы изображений — для логотипа, факсимиле подписи и печати. Подойдут
PNGилиJPG; у подписи и печати фон лучше прозрачный (PNG), иначе белый прямоугольник перекроет текст. Оптимальный размер логотипа — около 300–600 пикселей по ширине. - 🧩 Файл внешней обработки
.epf— если бланк готовит сторонний разработчик. Это отдельный файл, собранный как внешняя обработка с макетом внутри. - 🧱 Файл расширения
.cfe— если бланк оформляется расширением конфигурации.
Проверьте права. Подключение внешних обработок и правка макетов в пользовательском режиме доступны пользователю с правами администратора. Работа в Конфигураторе требует отдельного доступа к конфигурированию.
Заранее решите, к чему привязан бланк. Если форма нужна одному документу — макет кладут внутрь этого документа. Если один и тот же бланк печатают несколько объектов (например, фирменная шапка для счёта и акта), его выносят в общий макет конфигурации, а документы обращаются к нему через ПолучитьОбщийМакет. От этого выбора зависит, где в дереве конфигурации вы будете добавлять макет.
Добавление нового макета в Конфигураторе меняет структуру конфигурации, а значит потребует обновления конфигурации базы данных в монопольном режиме. Планируйте это на время, когда в базе никто не работает: на момент обновления сеансы пользователей придётся завершить.
Подключение внешней печатной формы в «Предприятии»
Это основной способ для баз на поддержке — типовая конфигурация не затрагивается.
- Откройте
Администрирование → Печатные формы, отчёты и обработки. - Включите флажок Дополнительные отчёты и обработки. Без него список обработок не появится.
- Перейдите в появившийся пункт Дополнительные отчёты и обработки и нажмите Добавить из файла.
- Выберите файл
.epfс бланком. Система предупредит, что обработка из внешнего источника — подтвердите, если файлу доверяете. - В карточке обработки на вкладке Размещение укажите, к каким документам или справочникам привязать бланк (например, к «Реализации товаров и услуг»).
- Запишите и закройте карточку.
После этого в нужном документе у кнопки Печать появится ваш бланк в выпадающем списке.
Отдельный случай — фирменный бланк без программирования. Откройте карточку организации (Главное → Организации в 1С:Бухгалтерии) и найдите раздел Логотип и печать. Там загружаются логотип, факсимиле подписи руководителя и бухгалтера, печать. Эти изображения 1С сама подставит в счёт на оплату и ряд других типовых форм.
Для счёта на оплату есть предпросмотр: загрузили логотип и печать — сразу нажмите «Предварительный просмотр», чтобы увидеть результат и поправить размер картинок.
Создание макета в Конфигураторе
Если нужен полностью свой бланк и база не на поддержке, макет рисуют в Конфигураторе.
- Откройте Конфигуратор, в дереве конфигурации найдите объект — документ или справочник, которому нужен бланк.
- Разверните ветку Макеты, через контекстное меню выберите Добавить → Макет.
- В конструкторе макета укажите тип Табличный документ и задайте имя латиницей, например
НовыйБланк. - Откроется редактор табличного документа — размеченная сеткой область, похожая на лист электронной таблицы. Здесь вы рисуете бланк: объединяете ячейки, задаёте шрифты, рамки, высоту строк.
- Разбейте бланк на именованные области: шапка, строка таблицы, подвал. Выделите нужные строки, через меню Таблица → Имена → Назначить имя дайте области имя (
Шапка,СтрокаТаблицы,Подвал).
Именованные области — ключевой приём. Шапка выводится один раз, строка таблицы — в цикле по товарам, подвал с итогами — снова один раз. Без разбиения на области динамическую таблицу собрать не получится.
Отдельно настройте параметры печати макета. В меню Таблица → Параметры страницы задаются ориентация листа (книжная или альбомная), размер бумаги и поля. Если бланк широкий — акт сверки, товарная накладная — ставьте альбомную ориентацию, иначе таблица уедет за край листа.
Чтобы шапка таблицы повторялась на каждой странице многостраничного бланка, выделите строки шапки и в меню Таблица → Повторение при печати задайте их как повторяемые сверху. Без этого на второй и последующих страницах столбцы останутся без названий.
Логотип прямо в макете Конфигуратора добавляется через Таблица → Рисунок: выбираете область, вставляете картинку и привязываете её к ячейке. Для фирменного бланка это удобнее, чем каждый раз грузить логотип в карточку организации.
Перед добавлением макета в рабочую базу сделайте резервную копию конфигурации. Любая правка структуры необратима в один клик.
После того как макет нарисован, выполните Конфигурация → Обновить конфигурацию базы данных (F7). Это и есть тот шаг, который требует монопольного доступа.
Бланк через расширение конфигурации
Расширения появились в платформе версии 8.3.6 и решают главную проблему: как добавить свой бланк, не снимая типовую конфигурацию с поддержки.
Идея в том, что макет лежит не в основной конфигурации, а в отдельном «слое» поверх неё. Обновления типовой проходят штатно, ваш бланк остаётся.
- В Конфигураторе откройте
Конфигурация → Расширения конфигурации, добавьте новое расширение, задайте имя и префикс. - Переключитесь на конфигурацию расширения. Через Добавить в расширение заимствуйте нужный документ.
- Добавьте документу новый макет-табличный документ так же, как в обычной конфигурации.
- Пропишите команду печати, которая вызывает ваш макет (в модуле объекта или команде расширения).
- Сохраните расширение в файл
.cfeдля переноса в другие базы.
Подключение в рабочей базе — отдельная операция. В режиме «Предприятие» зайдите в Администрирование → Печатные формы, отчёты и обработки → Расширения, загрузите .cfe и затем выполните обновление конфигурации
базы данных. Загрузка файла расширения и обновление конфигурации БД — два разных шага: пока не обновили, расширение не работает
.
Как связать поля бланка с данными базы
Нарисованный макет — пустой шаблон. Чтобы в шапку попал номер документа, а в таблицу — товары, поля связывают с данными через параметры.
В редакторе макета выделите ячейку, где должно появиться значение, откройте свойства и в поле Заполнение выберите Параметр. Имя параметра задайте латиницей, например НомерДокумента. Для статичного текста оставляйте Текст, для смешанного (Счёт №[Номер]) — Шаблон.
Дальше в модуле печати код получает макет, берёт области, подставляет значения параметров и выводит их в табличный документ. Упрощённый пример процедуры печати:
Функция ПечатьБланка(ДокументСсылка) Экспорт
ТабДок = Новый ТабличныйДокумент;
Макет = Документы.РеализацияТоваровУслуг.ПолучитьМакет("НовыйБланк");
// Шапка — выводим один раз
Шапка = Макет.ПолучитьОбласть("Шапка");
Шапка.Параметры.НомерДокумента = ДокументСсылка.Номер;
Шапка.Параметры.ДатаДокумента = ДокументСсылка.Дата;
ТабДок.Вывести(Шапка);
// Строки таблицы — в цикле по товарам
СтрокаМакета = Макет.ПолучитьОбласть("СтрокаТаблицы");
Для Каждого ТекСтрока Из ДокументСсылка.Товары Цикл
СтрокаМакета.Параметры.Номенклатура = ТекСтрока.Номенклатура;
СтрокаМакета.Параметры.Количество = ТекСтрока.Количество;
СтрокаМакета.Параметры.Сумма = ТекСтрока.Сумма;
ТабДок.Вывести(СтрокаМакета);
КонецЦикла;
Возврат ТабДок;
КонецФункции
Логика простая: шапку и подвал выводим по разу, строку таблицы — столько раз, сколько товаров в документе. Имя параметра в коде (Шапка.Параметры.НомерДокумента) должно буква в букву совпадать с именем параметра, которое вы задали в свойствах ячейки, иначе значение не подставится.
Числа и даты форматируйте при подстановке функцией Формат, например Формат(ТекСтрока.Сумма, "ЧЦ=15; ЧДЦ=2"). Иначе сумма выведется без разделителей и копеек.
Выбор бланка по умолчанию и настройка печати
Когда у документа несколько бланков, удобно управлять тем, какие из них видны и какой открывается первым.
Откройте любой документ, у кнопки Печать разверните подменю и выберите Настройка списка. Здесь можно скрыть лишние формы и оставить только нужные — порядок в списке задаёт очерёдность.
Для внешней печатной формы приоритет настраивается в её карточке в разделе Администрирование → Печатные формы, отчёты и обработки → Дополнительные отчёты и обработки: на вкладке Размещение указывается, у каких документов форма доступна, а флажок быстрой печати выводит её сразу на принтер, минуя предпросмотр.
| Задача | Где настраивается |
|---|---|
| Скрыть лишние бланки у документа | Печать → Настройка списка в самом документе |
| Привязать внешний бланк к документу | Карточка обработки → вкладка «Размещение» |
| Быстрая печать без предпросмотра | Флажок в карточке внешней обработки |
Полноценного «выбора бланка по умолчанию одним флажком» в типовой нет: по умолчанию 1С предлагает первый подходящий бланк из списка. Поэтому практический приём — оставить в списке печати только свою форму, тогда она и будет открываться первой.
Ошибки при выводе печатной формы
Разберём, что идёт не так чаще всего и как это чинить.
.cfe выполнено обновление конфигурации базы данных.ТабДок.Вывести(СтрокаМакета) должен стоять внутри цикла Для Каждого ... Цикл.PNG с прозрачностью.Частые вопросы
Можно ли добавить бланк, не заходя в Конфигуратор?
.epf подключают в режиме «Предприятие» через «Дополнительные отчёты и обработки», а логотип и печать загружают в карточке организации. Конфигуратор нужен только чтобы нарисовать макет с нуля.Слетит ли бланк при обновлении конфигурации?
Чем внешняя обработка отличается от расширения?
.epf — отдельный файл с собственной командой печати, он не трогает документ. Расширение .cfe встраивает макет в сам типовой документ, бланк появляется в его стандартном меню «Печать».Почему в бланк не подставляются данные?
Как сделать бланк доступным во всех базах организации?
.epf или .cfe и загрузите в каждую базу тем же способом. Для расширения после загрузки не забудьте обновить конфигурацию базы данных.