Добавление и настройка печатных форм в 1С 8.3

· 9 мин

Содержание

Добавить бланк в 1С 8.3 можно тремя путями: подключить внешнюю печатную форму в режиме «Предприятие», нарисовать макет в Конфигураторе или оформить бланк расширением конфигурации. Выбор зависит от одного вопроса — разрешено ли менять типовую конфигурацию . Если база на поддержке и обновляется автоматически, трогать конфигуратор напрямую нельзя: правка слетит при первом же обновлении.

Под словом «бланк» здесь понимается печатная форма — макет в виде табличного документа, который документ выводит на печать (счёт, акт, накладная, договор). Отдельно стоит фирменный бланк: логотип, подпись и печать организации, которые подставляются поверх типовой формы без программирования.

Ниже — что подготовить, как подключить готовый бланк пользователю, как собрать свой макет разработчику и как привязать поля к данным базы.

Каким способом добавить бланк именно вам?

Что подготовить: макет, формат файла и права

Прежде чем добавлять бланк, соберите исходники и проверьте доступы. Набор зависит от способа.

  • 📄 Готовый образец формы. Распечатанный или PDF-образец того, как бланк должен выглядеть: шапка, таблица строк, подвал с итогами и подписями. По нему удобно размечать области макета.
  • 🖼️ Файлы изображений — для логотипа, факсимиле подписи и печати. Подойдут PNG или JPG; у подписи и печати фон лучше прозрачный (PNG), иначе белый прямоугольник перекроет текст. Оптимальный размер логотипа — около 300–600 пикселей по ширине.
  • 🧩 Файл внешней обработки .epf — если бланк готовит сторонний разработчик. Это отдельный файл, собранный как внешняя обработка с макетом внутри.
  • 🧱 Файл расширения .cfe — если бланк оформляется расширением конфигурации.

Проверьте права. Подключение внешних обработок и правка макетов в пользовательском режиме доступны пользователю с правами администратора. Работа в Конфигураторе требует отдельного доступа к конфигурированию.

Заранее решите, к чему привязан бланк. Если форма нужна одному документу — макет кладут внутрь этого документа. Если один и тот же бланк печатают несколько объектов (например, фирменная шапка для счёта и акта), его выносят в общий макет конфигурации, а документы обращаются к нему через ПолучитьОбщийМакет. От этого выбора зависит, где в дереве конфигурации вы будете добавлять макет.

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

Подключение внешней печатной формы в «Предприятии»

Это основной способ для баз на поддержке — типовая конфигурация не затрагивается.

  1. Откройте Администрирование → Печатные формы, отчёты и обработки.
  2. Включите флажок Дополнительные отчёты и обработки. Без него список обработок не появится.
  3. Перейдите в появившийся пункт Дополнительные отчёты и обработки и нажмите Добавить из файла.
  4. Выберите файл .epf с бланком. Система предупредит, что обработка из внешнего источника — подтвердите, если файлу доверяете.
  5. В карточке обработки на вкладке Размещение укажите, к каким документам или справочникам привязать бланк (например, к «Реализации товаров и услуг»).
  6. Запишите и закройте карточку.

После этого в нужном документе у кнопки Печать появится ваш бланк в выпадающем списке.

Отдельный случай — фирменный бланк без программирования. Откройте карточку организации (Главное → Организации в 1С:Бухгалтерии) и найдите раздел Логотип и печать. Там загружаются логотип, факсимиле подписи руководителя и бухгалтера, печать. Эти изображения 1С сама подставит в счёт на оплату и ряд других типовых форм.

Для счёта на оплату есть предпросмотр: загрузили логотип и печать — сразу нажмите «Предварительный просмотр», чтобы увидеть результат и поправить размер картинок.

Создание макета в Конфигураторе

Если нужен полностью свой бланк и база не на поддержке, макет рисуют в Конфигураторе.

  1. Откройте Конфигуратор, в дереве конфигурации найдите объект — документ или справочник, которому нужен бланк.
  2. Разверните ветку Макеты, через контекстное меню выберите Добавить → Макет.
  3. В конструкторе макета укажите тип Табличный документ и задайте имя латиницей, например НовыйБланк.
  4. Откроется редактор табличного документа — размеченная сеткой область, похожая на лист электронной таблицы. Здесь вы рисуете бланк: объединяете ячейки, задаёте шрифты, рамки, высоту строк.
  5. Разбейте бланк на именованные области: шапка, строка таблицы, подвал. Выделите нужные строки, через меню Таблица → Имена → Назначить имя дайте области имя (Шапка, СтрокаТаблицы, Подвал).

Именованные области — ключевой приём. Шапка выводится один раз, строка таблицы — в цикле по товарам, подвал с итогами — снова один раз. Без разбиения на области динамическую таблицу собрать не получится.

Отдельно настройте параметры печати макета. В меню Таблица → Параметры страницы задаются ориентация листа (книжная или альбомная), размер бумаги и поля. Если бланк широкий — акт сверки, товарная накладная — ставьте альбомную ориентацию, иначе таблица уедет за край листа.

Чтобы шапка таблицы повторялась на каждой странице многостраничного бланка, выделите строки шапки и в меню Таблица → Повторение при печати задайте их как повторяемые сверху. Без этого на второй и последующих страницах столбцы останутся без названий.

Логотип прямо в макете Конфигуратора добавляется через Таблица → Рисунок: выбираете область, вставляете картинку и привязываете её к ячейке. Для фирменного бланка это удобнее, чем каждый раз грузить логотип в карточку организации.

Перед добавлением макета в рабочую базу сделайте резервную копию конфигурации. Любая правка структуры необратима в один клик.

После того как макет нарисован, выполните Конфигурация → Обновить конфигурацию базы данных (F7). Это и есть тот шаг, который требует монопольного доступа.

Бланк через расширение конфигурации

Расширения появились в платформе версии 8.3.6 и решают главную проблему: как добавить свой бланк, не снимая типовую конфигурацию с поддержки.

Идея в том, что макет лежит не в основной конфигурации, а в отдельном «слое» поверх неё. Обновления типовой проходят штатно, ваш бланк остаётся.

  1. В Конфигураторе откройте Конфигурация → Расширения конфигурации, добавьте новое расширение, задайте имя и префикс.
  2. Переключитесь на конфигурацию расширения. Через Добавить в расширение заимствуйте нужный документ.
  3. Добавьте документу новый макет-табличный документ так же, как в обычной конфигурации.
  4. Пропишите команду печати, которая вызывает ваш макет (в модуле объекта или команде расширения).
  5. Сохраните расширение в файл .cfe для переноса в другие базы.

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

Как связать поля бланка с данными базы

Нарисованный макет — пустой шаблон. Чтобы в шапку попал номер документа, а в таблицу — товары, поля связывают с данными через параметры.

В редакторе макета выделите ячейку, где должно появиться значение, откройте свойства и в поле Заполнение выберите Параметр. Имя параметра задайте латиницей, например НомерДокумента. Для статичного текста оставляйте Текст, для смешанного (Счёт №[Номер]) — Шаблон.

Дальше в модуле печати код получает макет, берёт области, подставляет значения параметров и выводит их в табличный документ. Упрощённый пример процедуры печати:

Функция ПечатьБланка(ДокументСсылка) Экспорт

    ТабДок = Новый ТабличныйДокумент;
    Макет  = Документы.РеализацияТоваровУслуг.ПолучитьМакет("НовыйБланк");

    // Шапка — выводим один раз
    Шапка = Макет.ПолучитьОбласть("Шапка");
    Шапка.Параметры.НомерДокумента = ДокументСсылка.Номер;
    Шапка.Параметры.ДатаДокумента  = ДокументСсылка.Дата;
    ТабДок.Вывести(Шапка);

    // Строки таблицы — в цикле по товарам
    СтрокаМакета = Макет.ПолучитьОбласть("СтрокаТаблицы");
    Для Каждого ТекСтрока Из ДокументСсылка.Товары Цикл
        СтрокаМакета.Параметры.Номенклатура = ТекСтрока.Номенклатура;
        СтрокаМакета.Параметры.Количество   = ТекСтрока.Количество;
        СтрокаМакета.Параметры.Сумма         = ТекСтрока.Сумма;
        ТабДок.Вывести(СтрокаМакета);
    КонецЦикла;

    Возврат ТабДок;

КонецФункции

Логика простая: шапку и подвал выводим по разу, строку таблицы — столько раз, сколько товаров в документе. Имя параметра в коде (Шапка.Параметры.НомерДокумента) должно буква в букву совпадать с именем параметра, которое вы задали в свойствах ячейки, иначе значение не подставится.

Числа и даты форматируйте при подстановке функцией Формат, например Формат(ТекСтрока.Сумма, "ЧЦ=15; ЧДЦ=2"). Иначе сумма выведется без разделителей и копеек.

Выбор бланка по умолчанию и настройка печати

Когда у документа несколько бланков, удобно управлять тем, какие из них видны и какой открывается первым.

Откройте любой документ, у кнопки Печать разверните подменю и выберите Настройка списка. Здесь можно скрыть лишние формы и оставить только нужные — порядок в списке задаёт очерёдность.

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

ЗадачаГде настраивается
Скрыть лишние бланки у документаПечать → Настройка списка в самом документе
Привязать внешний бланк к документуКарточка обработки → вкладка «Размещение»
Быстрая печать без предпросмотраФлажок в карточке внешней обработки

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

Ошибки при выводе печатной формы

Разберём, что идёт не так чаще всего и как это чинить.

Диагностика: выберите симптом

Частые вопросы

Можно ли добавить бланк, не заходя в Конфигуратор?
Да. Готовую внешнюю печатную форму .epf подключают в режиме «Предприятие» через «Дополнительные отчёты и обработки», а логотип и печать загружают в карточке организации. Конфигуратор нужен только чтобы нарисовать макет с нуля.
Слетит ли бланк при обновлении конфигурации?
Если макет добавлен прямо в типовую конфигурацию — да, обновление его затрёт. Внешняя обработка и расширение конфигурации обновлениям не мешают и сохраняются.
Чем внешняя обработка отличается от расширения?
Внешняя обработка .epf — отдельный файл с собственной командой печати, он не трогает документ. Расширение .cfe встраивает макет в сам типовой документ, бланк появляется в его стандартном меню «Печать».
Почему в бланк не подставляются данные?
Чаще всего имя параметра ячейки не совпадает с именем в коде или область выводится не в том месте процедуры. Сверьте имена параметров и порядок вывода областей.
Как сделать бланк доступным во всех базах организации?
Сохраните его как файл .epf или .cfe и загрузите в каждую базу тем же способом. Для расширения после загрузки не забудьте обновить конфигурацию базы данных.