Документы и Печать · 10 мин
Как редактировать печатную форму в 1С 7.7
Как открыть и отредактировать печатную форму в 1С 7.7: режим Таблица, работа с секциями и ячейками, изменение макета в конфигураторе, типичные ошибки и FAQ.
Печатная форма в 1С:Предприятии 7.7 — это табличный макет, связанный с модулем документа, справочника или отчёта. В отличие от современных версий платформы, здесь нет отдельного редактора макетов в пользовательском режиме: изменения выполняются либо через редактирование уже сформированной таблицы, либо через правку макета в конфигураторе. Понимание разницы между этими двумя подходами — ключ к тому, чтобы не тратить время на бесполезные действия.
Разовая правка готового документа перед печатью и постоянное изменение шаблона — разные задачи. В первом случае достаточно открыть сформированную таблицу и исправить текст прямо в ячейках. Во втором потребуется монопольный доступ к конфигурации и работа в конфигураторе, а значит, понадобятся права и резервная копия информационной базы.
Ниже разобраны оба сценария: когда достаточно простой правки таблицы, когда нужно лезть в конфигуратор, как устроены секции макета и почему после обновления конфигурации ваши изменения могут пропасть.
Разовая правка сформированной печатной формы
Если нужно исправить один конкретный документ перед печатью — опечатку в адресе, номер счёта, формулировку — не трогайте шаблон. Сформируйте печатную форму кнопкой «Печать» в документе, затем откройте меню «Вид» и включите пункт «Редактирование». Таблица станет доступной для правки: можно вводить текст в ячейки, менять шрифт и выравнивание через панель инструментов.
После правки нажмите кнопку печати на панели инструментов или Ctrl+P. Учтите ограничение: исправления существуют только в открытом окне таблицы. Если закрыть форму и сформировать её заново, все правки исчезнут — документ снова заполнится из шаблона и данных информационной базы.
Исправлять данные лучше в самом документе, а не в печатной форме. Если в счёте неверная цена, правильное действие — изменить цену в табличной части документа и перепровести его, а не подправлять цифру в таблице. Иначе печатная форма разойдётся с учётными данными, что при проверке создаст проблемы.
Как открыть макет печатной формы в конфигураторе
Постоянные изменения шаблона делаются в конфигураторе. Запустите 1С в режиме «Конфигуратор», выбрав нужную базу в стартовом окне. Для сохранения изменений требуется монопольный доступ: все пользователи должны выйти из базы, иначе конфигурация не сохранится.
Откройте «Конфигурация → Открыть конфигурацию», найдите нужный объект — например, «Документы → СчетФактура» или «Документы → РасходнаяНакладная». В дереве объекта есть ветка «Макеты» (в некоторых конфигурациях макет открывается через кнопку «Макет» в окне редактирования объекта). Двойной щелчок по макету открывает табличный редактор.
В типовых конфигурациях у одного документа может быть несколько макетов: «Счет», «Накладная», «ТОРГ-12». Чтобы понять, какой макет используется, откройте модуль формы документа и найдите процедуру печати — в ней указано имя вызываемого макета, например Печать("Накладная").
- 1Сделайте резервную копию базы (копирование каталога или выгрузка данных)
- 2Попросите всех пользователей выйти и запустите базу в режиме Конфигуратор
- 3Откройте конфигурацию и найдите нужный документ или отчёт
- 4Откройте макет в ветке Макеты или через кнопку Макет
- 5Внесите изменения в секции и ячейки таблицы
- 6Сохраните конфигурацию (Ctrl+S) и подтвердите обновление
- 7Проверьте печать на тестовом документе
Структура макета: секции, ячейки и параметры
Макет в 1С 7.7 — это таблица, разбитая на именованные секции. Секция — это строка или блок строк с именем в левом поле (например, «Шапка», «Строка», «Подвал»). Модуль документа выводит секции последовательно: сначала шапку, затем секцию «Строка» для каждой позиции документа, затем подвал с итогами.
Внутри ячеек секций встречаются три типа содержимого. Обычный текст выводится как есть. Выражения в квадратных скобках, например [НомерДок] или [Контрагент.ПолнНаименование], — это параметры, значения которых подставляет модуль. Директивы вида #Если ... #КонецЕсли управляют условным выводом, но встречаются реже.
При правке важно не разрушить связь макета с модулем. Если переименовать секцию «Строка» в «Позиция», а в модуле останется вызов Таб.ВывестиСекцию("Строка"), печать завершится ошибкой. То же относится к именам параметров в квадратных скобках: модуль заполняет их через Таб.ПараметрыСтраницы или присваивание, и имя должно совпадать точно.
Типовые изменения макета
Добавление статичного текста — самая безопасная правка. Чтобы вписать в счёт строку «Оплата в течение 5 банковских дней», найдите секцию «Подвал» или «Шапка», вставьте новую строку внутри секции (правой кнопкой по номеру строки — «Раздвинуть») и введите текст в нужную ячейку. Границы секции при этом не должны смещаться так, чтобы захватить чужие строки.
Изменение ширины колонок и шрифтов выполняется стандартными средствами табличного редактора: перетаскиванием границы столбца или через свойства ячейки (правой кнопкой — «Свойства»). Там же задаются рамки, выравнивание и формат чисел. Формат даты или суммы меняется в свойствах ячейки на закладке «Текст» через шаблон формата.
Вывод нового реквизита сложнее: одной правкой макета не обойтись. Нужно добавить в ячейку параметр в квадратных скобках, а в модуле документа — присвоить этому параметру значение из реквизита. Если реквизита нет в документе, его сначала добавляют в структуру метаданных, что требует реструктуризации базы.
// В модуле документа, процедура печати
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Накладная");
Таб.ВывестиСекцию("Шапка");
Для Ном = 1 По КоличествоСтрок() Цикл
Таб.ВывестиСекцию("Строка");
КонецЦикла;
Таб.ВывестиСекцию("Подвал");
Таб.Показать("Печать накладной");Внешние печатные формы как альтернатива
Если конфигурацию нельзя изменять — например, она на поддержке поставщика или обновляется часто — используйте внешнюю печатную форму. Это файл обработки с расширением .ert, который открывается через «Файл → Открыть» и формирует печать по данным открытого документа. Внешняя форма не требует монопольного доступа и не затирается при обновлении конфигурации.
Создать внешнюю форму можно, скопировав существующую обработку или написав новую: в модуле обработки размещают процедуру, которая получает контекст документа и выводит таблицу по собственному макету. Макет хранится внутри того же .ert-файла и редактируется в конфигураторе при открытом файле обработки.
Сравнение вариантов
Подходит для разового исправления перед печатью. Не требует прав, но изменения не сохраняются и не влияют на шаблон.
Постоянное изменение для всех пользователей. Требует монопольного доступа и затирается при типовом обновлении конфигурации.
Изменения не зависят от обновлений конфигурации. Требует навыков программирования и ручного запуска файла.
Проверка результата и типичные ошибки
После сохранения конфигурации откройте базу в режиме «Предприятие» и сформируйте печать на реальном документе с несколькими строками. Проверьте: шапка заполнена корректно, секция строки повторяется для каждой позиции, итоги в подвале сходятся с документом, текст не обрезан по ширине ячеек.
Распространённая ошибка — появление пустых квадратных скобок или текста параметра вместо значения. Это значит, что модуль не присвоил параметру значение: либо имя в макете не совпадает с именем в модуле, либо секция выводится до заполнения параметров. Вторая частая проблема — «поехавшая» вёрстка после вставки строк: проверьте, что новая строка вошла внутрь нужной секции, а не разорвала её.
Если после обновления конфигурации печатная форма вернулась к типовому виду, восстановите правки из резервной копии макета. Хорошая практика — хранить изменённые макеты отдельно: сохранять таблицу макета в файл (в редакторе таблиц — «Файл → Сохранить как») и документировать, какие секции менялись.
Что важно запомнить
Разовые исправления делайте в режиме редактирования сформированной таблицы, постоянные — в макете через конфигуратор с резервной копией. Синхронизируйте имена секций и параметров с модулем документа, а при частых обновлениях конфигурации выносите печать во внешнюю форму.
Частые вопросы
Почему пункт «Редактирование» в меню «Вид» неактивен?
Режим редактирования доступен только для окна таблицы, а не для формы документа. Сначала сформируйте печатную форму кнопкой «Печать», затем кликните в открывшееся окно таблицы и снова откройте меню «Вид». Также проверьте, что таблица не открыта в режиме «Только просмотр» — это задаётся в модуле при вызове метода Показать().
Изменения в макете не видны пользователям. Что не так?
Чаще всего конфигурация не была сохранена или сохранена без обновления: в конфигураторе нужно выполнить «Конфигурация → Сохранить» и подтвердить обновление. Также пользователи должны перезайти в базу — работающие сеансы используют старую версию конфигурации. Реже причина в том, что печать вызывает другой макет или внешнюю форму.
Как добавить логотип компании в печатную форму?
В макете выделите ячейку шапки, откройте «Вставка → Рисунок» и выберите файл изображения. Рисунок привязывается к ячейке, поэтому заранее задайте нужный размер строки и столбца. Учтите, что картинка хранится внутри конфигурации и увеличивает размер файла метаданных.
Можно ли редактировать печатную форму без конфигуратора?
Только разово — в сформированной таблице через режим редактирования. Шаблон макета из режима «Предприятие» не редактируется. Альтернатива без изменения конфигурации — внешняя печатная форма (.ert), но её разработка всё равно выполняется в конфигураторе.
После правки макета печать выдаёт ошибку «Секция не найдена». Как исправить?
Имя секции в макете не совпадает с именем в вызове ВывестиСекцию() в модуле. Откройте модуль формы документа, найдите процедуру печати и сравните имена посимвольно — включая регистр и пробелы. Либо переименуйте секцию обратно, либо поправьте вызов в модуле.
Пропадут ли мои изменения при обновлении конфигурации?
Да, если при обновлении загрузить типовую конфигурацию полностью — изменённый макет заменится типовым. При объединении конфигураций можно отказаться от загрузки конкретного макета, но тогда вы не получите изменения поставщика в этой форме. Надёжнее хранить копии изменённых макетов и переносить правки после каждого обновления.