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