Как в печатной форме выводить номер страницы

Очень часто требуется вывести в табличном документе номер текущего листа, страницы, другой информации.  Эту задачу можно решить двумя способами

Если требуется вывести это в самом начале или конце, то самый простой способ использовать колонтитулы.

Колонтитулы

Это автоматически отображаемый в документе текст.

Можно управлять его шрифтом или вертикальным/горизонтальным положением текста в “ячейках” (6 зон)

Для текста существует список доступных “макропеременных”:

  • [&НомерСтраницы] ([&PageNumber]) – отобразить номер листа;
  • [&СтраницВсего] ([&PagesTotal]) – отобразить общее количество;
  • [&Дата] ([&Date]) – отобразить текущий дату ;
  • [&Время] ([&Time]) – отобразить текущее время (момент печати)

Код для вывода колонтитула

Если необходимо вывести счетчик листов внизу/справа, код будет таким:

ТабДок = Новый ТабличныйДокумент;
ТабДок.ИмяПараметровПечати = “ПАРАМЕТРЫ_ПЕЧАТИ_АктСверкиВзаиморасчетов_АктСверки”;

ТабДок.НижнийКолонтитул.ТекстСправа = “Лист [&НомерСтраницы] из [&СтраницВсего]”;
ТабДок.НижнийКолонтитул.Выводить = Истина;
ТабДок.НижнийКолонтитул.НачальнаяСтраница = 1;

 

Важно располагать данный код после установки имени настроек печати.

Аналогично делается для верхнего колонтитула и других частей.

В режиме “Предприятие” также можно задать/убрать колонтитул в меню “Таблица\Настройки печати\Колонтитулы..” , если документ в режиме правки (меню “Таблица\Вид\Редактирование”) 

Области макета

Когда же требуется вывести в  середине табличного документа, например в шапке таблицы, или более сложное отображение, тогда следует использовать области.

Считать листы в таком варианте придется самостоятельно.

Для  вывода нам потребуется использовать функцию

ПроверитьВывод(<Таблицы>)

Параметры: <Таблицы> (обязательный) Тип: Массив; ТабличныйДокумент

Массив из проверяемых таблиц или табличный документ.

 
Алгоритм должен быть такой:
  • Перед выводом очередной секции создается/очищается переменная массива.
  • В нее добавляется эта секция, а также секция колонтитула
  • Проверяется вывод
  • Если успешно: просто выводится секция, иначе выводится колонтитул
  • Выводится горизонтальный разделитель страницы
  • При выводе колонтитула  увеличивается счетчик страниц, и сразу заполняется в секцию колонтитула

В данном случае есть риск, что не получится вывести сам колонтитул: он должен быть не большим, чтобы снизить эту вероятность, либо потребуется усложнить алгоритм, перед выводом секции проверять получится ли вывести сам колонтитул.

В случае например Торг-12, где номер страницы выводится в шапке, требуется только проверять получится ли вывести очередную строку, если нет . то просто выводится горизонтальный разделитель и “итерируется” счетчик страницы.

Изобилие товаров устраняет дефицит, широкой рекламой устраняется психическая неустойчивость.

— Жан Бодрийа