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