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