К статье
Практический материал

Документы и Печать · 10 мин

Как создать форму счета в 1С

Как создать форму счета в 1С: типовой и внешний макет, настройка печатной формы, изменение в конфигураторе, типичные ошибки и проверка результата.

Форма счета на оплату в 1С может пониматься по-разному: как документ «Счет на оплату покупателю», который оформляет менеджер, и как его печатная форма — макет, который уходит контрагенту. Задачи «создать счет в программе» и «сделать свой шаблон счета» решаются разными инструментами, и важно сразу определить, какой именно результат нужен.

В типовых конфигурациях (1С:Бухгалтерия, Управление торговлей, УНФ) счет создается из раздела продаж и печатается по готовому макету. Если стандартный вид не подходит — нет логотипа, реквизитов или нужных колонок — форму дорабатывают через встроенный редактор макетов, внешнюю печатную форму или конфигуратор. Каждый способ имеет свои ограничения и стоимость ошибки.

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

Создание документа «Счет на оплату» в пользовательском режиме

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

В Управлении торговлей и УНФ документ называется «Счет на оплату» и также создается из раздела продаж. Здесь счет часто связан с заказом покупателя: если заказ уже оформлен, счет удобнее вводить на его основании — тогда состав и суммы заполнятся автоматически, а оплата корректно распределится по документам.

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

Порядок действий
  1. 1
    Откройте раздел «Продажи» и выберите «Счета покупателям» (или «Счета на оплату» в УТ/УНФ)
  2. 2
    Нажмите «Создать» и заполните покупателя, дату и срок оплаты
  3. 3
    Добавьте товары и услуги в табличную часть, проверьте цены и НДС
  4. 4
    Убедитесь, что выбран правильный расчетный счет организации
  5. 5
    Запишите документ и нажмите «Печать — Счет на оплату» для проверки формы

Как устроена печатная форма счета

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

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

Изменение формы через встроенный редактор макетов

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

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

Ограничение способа: можно менять только расположение и оформление существующих параметров. Добавить новое вычисляемое поле (например, сумму прописью в другом формате) через редактор макета нельзя — для этого нужна внешняя печатная форма.

Внешняя печатная форма счета

Внешняя печатная форма — это файл с расширением .epf, который подключается через «Администрирование — Печатные формы, отчеты и обработки — Дополнительные отчеты и обработки». В нем разработчик описывает собственный макет и код формирования, а типовой механизм печати подставляет его в кнопку «Печать» документа.

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

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

bsl
Функция СведенияОВнешнейОбработке() Экспорт
	ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке();
	ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма();
	ПараметрыРегистрации.Назначение.Добавить("Документ.СчетНаОплатуПокупателю");
	НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
	НоваяКоманда.Представление = НСтр("ru = 'Счет на оплату (своя форма)'");
	НоваяКоманда.Идентификатор = "СчетНаОплату";
	НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
	Возврат ПараметрыРегистрации;
КонецФункции

Доработка формы в конфигураторе

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

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

Работайте только на копии базы или после выгрузки .dt. Ошибка в процедуре печати не испортит данные документов, но может сломать печать для всех пользователей до момента отката.

Сравнение вариантов

Редактор макетов в режиме Предприятия

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

Внешняя печатная форма (.epf)

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

Доработка в конфигураторе

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

Проверка результата и типичные ошибки

После любой доработки сформируйте счет из реального документа с разными наборами данных: с НДС и без, с длинными наименованиями товаров, с несколькими страницами. Проверьте, что итоговая сумма совпадает с суммой документа, а сумма прописью формируется корректно.

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

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

Типичные ошибки
01
Правка типового макета в конфигураторе вместо редактора макетов — при обновлении изменения теряются или мешают обновлению
02
Добавление поля в макет без изменения процедуры печати — параметр остается пустым, в форме выводится пустое место
03
Проверка формы только на коротком документе — на реальном счете с длинными наименованиями верстка разъезжается
04
Изменение макета в рабочей базе без копии — ошибка в коде печати блокирует выставление счетов всеми пользователями
Контрольные точки

Как проверить результат

Суммы в форме
Норма

Итоговая сумма и НДС совпадают с данными документа

Тревожный признак

Сумма в форме отличается от суммы документа или пустая

Сумма прописью
Норма

Формируется корректно с валютой и копейками

Тревожный признак

Прописью выводится неверное число или поле пустое

Многостраничная печать
Норма

Заголовок таблицы повторяется, итоги на последней странице

Тревожный признак

Таблица обрывается, подвал «висит» отдельно

Реквизиты
Норма

ИНН, КПП, банк и счет соответствуют карточке организации

Тревожный признак

Подставлены реквизиты другой организации или старого банка

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

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

Да. В редакторе макетов («Администрирование — Печатные формы, отчеты и обработки — Макеты печатных форм») откройте макет счета, вставьте картинку в область шапки и зафиксируйте высоту строки, чтобы логотип не растягивал форму. Сохраните макет — изменения применятся сразу для всех пользователей.

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

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

Как вывести в счет номер договора или дополнительное поле?

Если поле уже передается в типовой макет, достаточно отредактировать макет. Если параметра в макете нет, потребуется внешняя печатная форма или доработка процедуры печати в конфигураторе — простым редактированием шаблона новые данные не добавить.

Чем внешняя печатная форма лучше доработки конфигурации?

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

Опасно ли менять макет в рабочей базе?

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

Итог

Что важно запомнить

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