Документы и Печать · 10 мин
Как создать форму счета в 1С
Как создать форму счета в 1С: типовой и внешний макет, настройка печатной формы, изменение в конфигураторе, типичные ошибки и проверка результата.
Форма счета на оплату в 1С может пониматься по-разному: как документ «Счет на оплату покупателю», который оформляет менеджер, и как его печатная форма — макет, который уходит контрагенту. Задачи «создать счет в программе» и «сделать свой шаблон счета» решаются разными инструментами, и важно сразу определить, какой именно результат нужен.
В типовых конфигурациях (1С:Бухгалтерия, Управление торговлей, УНФ) счет создается из раздела продаж и печатается по готовому макету. Если стандартный вид не подходит — нет логотипа, реквизитов или нужных колонок — форму дорабатывают через встроенный редактор макетов, внешнюю печатную форму или конфигуратор. Каждый способ имеет свои ограничения и стоимость ошибки.
Ниже разобраны все варианты: от быстрого создания документа до разработки собственной внешней печатной формы, с проверкой результата и типичными ошибками.
Создание документа «Счет на оплату» в пользовательском режиме
В 1С:Бухгалтерии 8 документ находится в разделе «Продажи — Счета покупателям». Нажмите «Создать», заполните покупателя, дату, срок оплаты и табличную часть с номенклатурой. Программа автоматически подставит цены из типа цен, указанного в договоре или настройках, и рассчитает НДС по ставке, заданной в карточке номенклатуры.
В Управлении торговлей и УНФ документ называется «Счет на оплату» и также создается из раздела продаж. Здесь счет часто связан с заказом покупателя: если заказ уже оформлен, счет удобнее вводить на его основании — тогда состав и суммы заполнятся автоматически, а оплата корректно распределится по документам.
После заполнения проверьте реквизиты организации: расчетный счет, банк и ИНН подтягиваются из карточки организации. Если счетов несколько, обратите внимание, какой из них выбран в поле «Банковский счет» — именно он попадет в печатную форму.
- 1Откройте раздел «Продажи» и выберите «Счета покупателям» (или «Счета на оплату» в УТ/УНФ)
- 2Нажмите «Создать» и заполните покупателя, дату и срок оплаты
- 3Добавьте товары и услуги в табличную часть, проверьте цены и НДС
- 4Убедитесь, что выбран правильный расчетный счет организации
- 5Запишите документ и нажмите «Печать — Счет на оплату» для проверки формы
Как устроена печатная форма счета
Печатная форма счета — это макет на встроенном языке 1С: табличный документ с областями (шапка, строка таблицы, подвал), в которые программно подставляются данные документа. В типовых конфигурациях макет хранится внутри конфигурации и вызывается процедурой печати документа.
Понимание этой структуры важно: когда вы меняете макет, вы меняете только внешний вид, а не данные. Наоборот, если в форме чего-то не хватает (например, КПП организации или номера договора), недостаточно добавить поле в макет — нужно, чтобы процедура печати передавала это значение в область.
Изменение формы через встроенный редактор макетов
Самый безопасный способ доработать счет — «Администрирование — Печатные формы, отчеты и обработки — Макеты печатных форм». Найдите в списке макет счета (например, «Счет на оплату»), откройте его и отредактируйте как таблицу: добавьте логотип, измените текст заголовка, переставьте колонки. Затем нажмите «Записать и закрыть».
Этот механизм не требует прав на конфигуратор и не нарушает поддержку конфигурации: измененный макет хранится в информационной базе отдельно от типового. При обновлении конфигурации ваш макет сохранится, но это же и минус — если в новом релизе разработчики изменят состав передаваемых параметров, ваш макет не получит эти изменения автоматически.
Ограничение способа: можно менять только расположение и оформление существующих параметров. Добавить новое вычисляемое поле (например, сумму прописью в другом формате) через редактор макета нельзя — для этого нужна внешняя печатная форма.
Внешняя печатная форма счета
Внешняя печатная форма — это файл с расширением .epf, который подключается через «Администрирование — Печатные формы, отчеты и обработки — Дополнительные отчеты и обработки». В нем разработчик описывает собственный макет и код формирования, а типовой механизм печати подставляет его в кнопку «Печать» документа.
Этот вариант подходит, когда нужна логика, которой нет в типовом макете: вывод дополнительных полей из договора, особый расчет итогов, разные шаблоны для разных организаций. Внешняя обработка не затрагивает конфигурацию и переживает обновления, но требует навыков программирования на встроенном языке 1С.
Минимальный каркас внешней печатной формы — функция СведенияОВнешнейОбработке, где указывается вид «ПечатнаяФорма», назначение (документ «Счет на оплату покупателю») и команды печати. Без корректного заполнения этой функции обработка не зарегистрируется в подсистеме дополнительных отчетов.
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке();
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма();
ПараметрыРегистрации.Назначение.Добавить("Документ.СчетНаОплатуПокупателю");
НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
НоваяКоманда.Представление = НСтр("ru = 'Счет на оплату (своя форма)'");
НоваяКоманда.Идентификатор = "СчетНаОплату";
НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
Возврат ПараметрыРегистрации;
КонецФункцииДоработка формы в конфигураторе
Если возможностей редактора макетов и внешних форм недостаточно, макет и процедуру печати меняют в конфигураторе. Путь: «Конфигурация — Открыть конфигурацию», найти документ «СчетНаОплатуПокупателю» (или общий макет и модуль менеджера печати, в зависимости от конфигурации), скопировать макет под новым именем и изменить процедуру формирования.
Перед изменением проверьте состояние поддержки: «Конфигурация — Поддержка — Настройка поддержки». Объект, который вы правите, будет снят с полной поддержки, и при обновлении платформа предложит сравнение и объединение. На практике это означает, что каждое обновление потребует ручной проверки измененных объектов.
Работайте только на копии базы или после выгрузки .dt. Ошибка в процедуре печати не испортит данные документов, но может сломать печать для всех пользователей до момента отката.
Сравнение вариантов
Подходит для логотипа, текста и перестановки колонок. Ограничение: нельзя добавить новые данные, которых нет в типовом макете.
Подходит для новых полей и собственной логики. Требует программирования, но не трогает конфигурацию и переживает обновления.
Максимальная гибкость, включая изменение процедур печати. Минус: снятие с поддержки и ручное сопровождение при обновлениях.
Проверка результата и типичные ошибки
После любой доработки сформируйте счет из реального документа с разными наборами данных: с НДС и без, с длинными наименованиями товаров, с несколькими страницами. Проверьте, что итоговая сумма совпадает с суммой документа, а сумма прописью формируется корректно.
Частые проблемы: логотип растягивает шапку и ломает верстку (задайте фиксированную высоту строки), длинное наименование обрезается (включите автоперенос в свойствах ячейки), при печати на двух страницах «подвал» уезжает отдельно от таблицы (настройте повтор заголовка и область итогов).
Если после подключения внешней формы она не появляется в меню «Печать», проверьте: включена ли подсистема «Дополнительные отчеты и обработки», указано ли в регистрации нужное назначение и не заблокирована ли обработка антивирусной проверкой безопасности при загрузке.
Как проверить результат
Итоговая сумма и НДС совпадают с данными документа
Сумма в форме отличается от суммы документа или пустая
Формируется корректно с валютой и копейками
Прописью выводится неверное число или поле пустое
Заголовок таблицы повторяется, итоги на последней странице
Таблица обрывается, подвал «висит» отдельно
ИНН, КПП, банк и счет соответствуют карточке организации
Подставлены реквизиты другой организации или старого банка
Частые вопросы
Можно ли добавить логотип в счет без программирования?
Да. В редакторе макетов («Администрирование — Печатные формы, отчеты и обработки — Макеты печатных форм») откройте макет счета, вставьте картинку в область шапки и зафиксируйте высоту строки, чтобы логотип не растягивал форму. Сохраните макет — изменения применятся сразу для всех пользователей.
Почему после обновления конфигурации мой счет снова стал типовым?
Если макет меняли в конфигураторе, обновление могло вернуть типовой вариант. Макеты, измененные через редактор в режиме Предприятия, и внешние печатные формы при обновлении сохраняются — поэтому эти способы предпочтительнее.
Как вывести в счет номер договора или дополнительное поле?
Если поле уже передается в типовой макет, достаточно отредактировать макет. Если параметра в макете нет, потребуется внешняя печатная форма или доработка процедуры печати в конфигураторе — простым редактированием шаблона новые данные не добавить.
Чем внешняя печатная форма лучше доработки конфигурации?
Внешняя форма (.epf) подключается без изменения конфигурации, не снимает объекты с поддержки и не мешает обновлениям. Ее можно отключить в один клик. Минус — нужны навыки разработки на встроенном языке 1С и понимание подсистемы дополнительных отчетов и обработок.
Опасно ли менять макет в рабочей базе?
Редактор макетов в режиме Предприятия безопасен: ошибка затронет только внешний вид печати, данные документов не пострадают. А вот доработку в конфигураторе и тестирование внешних обработок лучше проводить на копии базы — ошибка в коде печати может остановить выставление счетов у всех пользователей.
Что важно запомнить
Счет создается документом «Счет на оплату покупателю», а его внешний вид меняется тремя способами: редактором макетов (простые правки без риска), внешней печатной формой (новые поля и логика без снятия с поддержки) и конфигуратором (полная свобода ценой ручного сопровождения обновлений). Начинайте с самого простого способа и проверяйте форму на реальных документах с длинными наименованиями и несколькими страницами.