Капитально об программе 1С 8.0-8.3-8.4, 7.7

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

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

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

Колонтитулы

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

 
Алгоритм должен быть такой:

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

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