Добавляем подвал в табличный документ и макет 1С
Содержание
Слово «подвал» в 1С путает, потому что означает сразу две разные вещи. Нижний колонтитул страницы (номер листа, дата, подпись внизу каждого листа) настраивается в табличном документе за минуту и без конфигуратора. А вот область «Подвал» с итогами и подписями — это часть макета печатной формы, её добавляют в конфигураторе и выводят кодом.
Если нужна строка внизу каждого распечатанного листа — идите в Таблица → Параметры страницы, раздел «Колонтитулы». Если нужны «Итого», реквизиты организации и места под подписи в конце документа — это область макета, которую выводят методом Вывести(). Ниже — оба пути, с логотипом, печатью и типичными граблями.
Какой именно подвал вам нужен
Прежде чем лезть в конфигуратор, определитесь, что вы называете подвалом. От этого зависит весь путь.
Таблица → Параметры страницы → Колонтитулы.ПолучитьОбласть("Подвал").Колонтитул — пользовательская настройка конкретного табличного документа. Область «Подвал» — часть конфигурации, она одинаковая для всех документов этого вида. Это принципиально разные уровни, и дальше они разобраны отдельно.
Нижний колонтитул: подвал на каждом листе без конфигуратора
Самый быстрый подвал — колонтитул. Он печатается внизу каждой страницы и не зависит от содержимого документа.
Порядок такой:
- Откройте или сформируйте табличный документ (печатную форму, отчёт).
- В главном меню выберите
Таблица → Параметры страницы. - Перейдите в раздел
Колонтитулы. - Найдите блок «Нижний колонтитул» — это и есть подвал.
- Колонтитул делится на три части: левая, центральная, правая. Впишите текст в нужную.
В поля колонтитула можно вставлять не только текст, но и автоподстановки — кнопками в том же окне:
- 📄 номер страницы;
- 🔢 общее число страниц (для формата «стр. 3 из 12»);
- 📅 дату и время печати;
- 🏷️ имя файла.
Чтобы получить «Страница 3 из 12», в центральную часть колонтитула поставьте слово «Страница», затем кнопкой вставьте номер страницы, допишите «из» и кнопкой вставьте число страниц. 1С подставит реальные значения при печати.
Колонтитул рассчитан на короткие служебные строки. Если туда напихать абзац текста, он обрежется по высоте поля. Для развёрнутого подвала с таблицей итогов нужен уже макет.
Когда печатную форму собирают кодом, колонтитул задают у самого табличного документа через свойство НижнийКолонтитул. Так подвал не пропадёт при повторном формировании:
ТабДок.НижнийКолонтитул.Выводить = Истина;
ТабДок.НижнийКолонтитул.ТекстВЦентре = "Подготовлено в 1С";
ТабДок.НижнийКолонтитул.ТекстСправа = "";
У колонтитула есть и левая, и правая части (ТекстСлева, ТекстСправа) — распределяйте служебную информацию по ним, чтобы строки не слипались.
Область «Подвал» в макете печатной формы
Когда подвал должен содержать итоги, реквизиты и подписи, его делают областью макета. Макет — это шаблон табличного документа внутри конфигурации, разбитый на именованные области: «Шапка», «Строка», «Подвал».
Создаётся область так:
- В конфигураторе откройте макет печатной формы (тип макета — «Табличный документ»).
- Выделите строки, которые станут подвалом (итоги, реквизиты, подписи).
- Вызовите
Таблица → Имена → Назначить имя(илиCtrl+Shift+N). - Задайте имя латиницей или кириллицей, например
Подвал.
Теперь область можно вывести из модуля. Минимальный код печати:
ТабДок = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("ПечатнаяФорма");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
ОбластьПодвал.Параметры.ИтогоСумма = СуммаДокумента;
ОбластьПодвал.Параметры.Руководитель = РуководительФИО;
ТабДок.Вывести(ОбластьПодвал);
Чтобы в подвал попадали данные документа, в ячейках области задают параметры. В конфигураторе дважды щёлкните по ячейке, в палитре свойств поставьте «Заполнение → Параметр» и впишите имя (например, ИтогоСумма). В коде это имя становится полем ОбластьПодвал.Параметры.ИтогоСумма.
Правьте типовой макет только через расширение конфигурации. Если изменить макет прямо в типовой конфигурации, снимется поддержка, а очередное обновление затрёт правки. Расширения доступны с версии 8.3.6 — создайте расширение, добавьте туда заимствованный макет и меняйте его там.
В типовых конфигурациях на «1С:Библиотеке стандартных подсистем» (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) подвал печатной формы можно поправить вообще без конфигуратора. Макеты печатных форм там редактируются из режима «1С:Предприятие»:
- Откройте
Администрирование → Печатные формы, отчёты и обработки. - Перейдите в
Макеты печатных форм. - Найдите в списке нужную форму, откройте её встроенным редактором макета.
- Правьте область подвала — добавляйте строки, параметры, рисунки.
Изменённый макет хранится в базе отдельно от типового и не затирается обновлением. Это щадящий путь для бухгалтера или администратора, которому не нужен весь конфигуратор. Если же подвалу нужны новые данные, которых нет в исходной форме (например, дополнительный реквизит из справочника), без доработки в конфигураторе или расширении уже не обойтись.
Логотип в подвале: рисунок, а не картинка в тексте
Логотип добавляют как объект «Рисунок» в области макета, а не вставляют символами в ячейку.
- В конфигураторе откройте макет и перейдите к области подвала.
- Выберите
Таблица → Рисунки → Вставить картинкулибо перетащите объект «Рисунок» из палитры. - Загрузите файл логотипа (PNG или JPG) в свойство «Картинка».
- Растяните рамку рисунка до нужного размера и зафиксируйте положение относительно ячеек.
Для логотипа, который должен печататься внизу каждого листа, а не один раз в конце, вставьте картинку в нижний колонтитул: в окне Параметры страницы → Колонтитулы есть кнопка вставки рисунка. Разница та же, что и с текстом: колонтитул повторяется на каждой странице, область макета выводится один раз.
Храните логотип в макете «Общие картинки» (ветка «Общие → Общие картинки» в дереве конфигурации) и ссылайтесь на него. Тогда один файл используется во всех печатных формах, и менять его придётся в одном месте.
Следите за разрешением: растянутый мелкий логотип на печати выглядит размытым. Берите исходник шириной хотя бы 300–600 пикселей на предполагаемый размер в сантиметрах.
Подписи и печать в подвале документа
Блок подписей — это те же ячейки макета в области «Подвал». Разметка обычно такая: слева должность и расшифровка, по центру линия для подписи, под ней мелким шрифтом — пояснение.
Типовой набор строк:
Руководитель______________ /ФИО/Главный бухгалтер______________ /ФИО/М.П.(место для печати)
ФИО удобно выводить параметром, чтобы они подставлялись из справочника:
ОбластьПодвал.Параметры.РуководительДолжность = Организация.РуководительДолжность;
ОбластьПодвал.Параметры.РуководительФИО = Организация.РуководительФИО;
Факсимиле подписи и печати — это тоже рисунок в макете. В типовых конфигурациях для факсимиле есть отдельная настройка: загруженное изображение хранится как присоединённый файл организации или подписанта, и печатная форма подставляет его в отведённую область.
Факсимильная подпись юридически приравнивается к собственноручной только по соглашению сторон. Для первички и счетов-фактур это рискованно — там обычно нужна либо живая подпись, либо квалифицированная электронная. Факсимиле уместно для внутренних и необязательных документов.
Если места под печать не хватает, не сдвигайте всю область — увеличьте высоту конкретных строк подвала в конфигураторе, тогда разметка остальных форм не поедет.
Когда подписантов несколько и их состав меняется (разные договоры, разные ответственные), строки подписей удобно выводить не фиксированными ячейками, а отдельной маленькой областью в цикле. Тогда в подвал попадёт ровно столько строк, сколько подписантов у конкретного документа:
ОбластьПодпись = Макет.ПолучитьОбласть("СтрокаПодписи");
Для Каждого Подписант Из Подписанты Цикл
ОбластьПодпись.Параметры.Должность = Подписант.Должность;
ОбластьПодпись.Параметры.ФИО = Подписант.ФИО;
ТабДок.Вывести(ОбластьПодпись);
КонецЦикла;
Подвал в отчётах и обработках
В отчётах на системе компоновки данных отдельную область «Подвал» вручную рисовать не нужно. Итоговую строку формируют ресурсы.
- На вкладке
Ресурсысхемы компоновки добавьте поля, по которым нужен итог (Сумма,Количество). - СКД сама выведет общий итог внизу — это и есть подвал отчёта.
- Текст и оформление итоговой строки настраиваются на вкладке
Макеты, где задаётся шаблон вывода для итоговой области. - Если итог нужен не только общий, но и по каждой группировке, в настройках группировки включите вывод её итога — тогда подвал появится после каждой группы.
Отдельная строка с реквизитами или подписью под итогом отчёта тоже делается на вкладке Макеты: там задают макет для области «Подвал» отчёта и выводят в него параметры. Это удобнее, чем дорисовывать строки в готовый табличный документ после формирования.
В обработках, которые печатают табличный документ своим кодом, подвал выводят ровно как в печатной форме: берут область из макета обработки и вызывают Вывести(). Разницы с печатной формой документа здесь нет — тот же ТабличныйДокумент, тот же ПолучитьОбласть.
Если обработка собирает документ построчно в цикле, подвал выводят один раз после цикла, иначе итоги задвоятся:
ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
Для Каждого СтрокаТЧ Из Товары Цикл
ОбластьСтрока.Параметры.Наименование = СтрокаТЧ.Наименование;
ОбластьСтрока.Параметры.Сумма = СтрокаТЧ.Сумма;
ТабДок.Вывести(ОбластьСтрока);
КонецЦикла;
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
ТабДок.Вывести(ОбластьПодвал);
Оформление: чтобы подвал не разваливался при печати
Подвал чаще всего ломается не в коде, а на печати. Несколько правил, которые экономят время:
- Задайте подвалу фиксированную высоту строк, чтобы он не наезжал на основную таблицу при большом числе строк.
- Границы ячеек рисуйте в свойствах ячейки («Границы»), а не псевдографикой из дефисов — последняя разъезжается при разных шрифтах.
- Проверяйте подвал в режиме
Таблица → Просмотр перед печатью: на экране область может выглядеть иначе, чем на бумаге. - Если итог должен быть на той же странице, что и последняя строка таблицы, настройте у области свойство запрета разрыва страницы внутри неё.
Для повторения «шапки с итогами» на каждом листе при длинной таблице используйте не подвал, а фиксацию строк: Таблица → Вид → Фиксация таблицы. Это другой механизм, но часто ищут именно его под словом «подвал».
Типичные ошибки при добавлении подвала
Таблица → Имена в макете: оно должно совпадать со строкой в коде посимвольно.Вывести(ОбластьПодвал) за пределы цикла, подвал выводится один раз.ТабДок.Частые вопросы
Можно ли добавить подвал без конфигуратора?
Таблица → Параметры страницы → Колонтитулы. Область «Подвал» с итогами и подписями добавляется только в конфигураторе, это часть макета.