Всем привет. Нужна помощь

Из ТабДока берется дата и копируется столбцами в ТЧ. Нужно, чтобы на каждой странице выводилось только 18 столбцов. вот код

```1c
    &НаСервереБезКонтекста
    Процедура СформироватьУчетПосещаемости(ТабДок,Расп)
    ТабДок.Очистить();
    Макет = Документы.Расписание.ПолучитьМакет("Макет5");
    ОблШапка = Макет.ПолучитьОбласть("Шапка");
    ОблЭлемент = Макет.ПолучитьОбласть("Столб");
    ОблОценка = Макет.ПолучитьОбласть("ОблОценка");
    ТабДок.Вывести(ОблШапка);

    Для каждого Колонка Из Расп Цикл

    ОблЭлемент.Параметры.Дата=Формат(Колонка.Дата, "Дф=дд.ММ");
    ТабДок.Вывести(ОблЭлемент);
    Если ТабДок.ШиринаТаблицы = 18 Тогда
    ТабДок.Присоединить(ОблОценка);
    ТабДок.ВывестиВертикальныйРазделительСтраниц();
    Продолжить;

    КонецЕсли;
    КонецЦикла;
    КонецПроцедуры;
```

На первой странице все ок, а на следующие не идет ограничение в 18 столбцов. + ко всему макет как-то криво выводится.
В программировании я почти ноль, сильно не кричите, пожалста. Обшарил кучу форумов и пытаюсь разобраться уже не одну неделю. Уверен что тема пустяковая для тех кто знает. Прошу дать направление куда копать. Прикрепил скрины макета и как оно выводится.
---
```1c
    счетчик = 0;
    Для каждого Колонка Из Расп Цикл

    счетчик = счетчик + 1;

    ОблЭлемент.Параметры.Дата=Формат(Колонка.Дата, "Дф=дд.ММ");
    ТабДок.Вывести(ОблЭлемент);
    Если счетчик = 18 Тогда
    ТабДок.Присоединить(ОблОценка);
    ТабДок.ВывестиВертикальныйРазделительСтраниц();
    счетчик = 0;
    КонецЕсли;
    КонецЦикла;
    Если счетчик <> 0 Тогда
    ТабДок.Присоединить(ОблОценка);
    КонецЕсли;
```
---
ну или (1)
---
```1c
    счетчик = 0;
    Для каждого Колонка Из Расп Цикл

    счетчик = счетчик + 1;

    ОблЭлемент.Параметры.Дата=Формат(Колонка.Дата, "Дф=дд.ММ");
    ТабДок.Вывести(ОблЭлемент);
    Если счетчик = 18 Тогда
    ТабДок.Присоединить(ОблОценка);
    ТабДок.ВывестиВертикальныйРазделительСтраниц();
    счетчик = 0;
    КонецЕсли;
    КонецЦикла;
    Если счетчик <> 0 Тогда
    ТабДок.Присоединить(ОблОценка);
    КонецЕсли;
```
---
Потрясно, заработало! Огромное спасибо!
---
только не забудьте поменять строку "Если счетчик <> 18 Тогда" на "Если счетчик <> 0 Тогда" как в моем сообщении, а не в цитате.
---
Разницы не заметил. все и так работает. но есть еще проблема с макетом. еще полдня убил мучая этот макет. проблема в том что шапка идет не по центру и все эти даты как-то не снизу, а слева идут.
---
Для н = 0 по 18 Цикл
         ОблЭлемент.Параметры.Дата=Формат(Колонка.Дата, "Дф=дд.ММ");
    ТабДок.Вывести(ОблЭлемент);
КонецЦИкла;
---
макет какой-то странный у вас.

выводимой горизонтальной области (сейчас не именованной) присвойте имя (например Строка) (аналогично тому как сделано для Шапка).

и получайте область не как:

```1c
    ОблЭлемент = Макет.ПолучитьОбласть("Столб");
    ОблОценка = Макет.ПолучитьОбласть("ОблОценка");
```

а как:

```1c
    ОблЭлемент = Макет.ПолучитьОбласть("Строка|Столб");
    ОблОценка = Макет.ПолучитьОбласть("Строка|ОблОценка");
```
---
спасибо, сработало! =) и последнее в чем у меня затуп - шапка должна печататься на каждой странице. использовал

```1c
    СекцияПовтора = ТабДок.Вывести(ОблШапка);
    ТабДок.ПовторятьПриПечатиСтроки = СекцияПовтора;
```

ничего не происходит.
---
победил циклом

```1c
    Если счетчик = 18 Тогда
    ТабДок.Присоединить(ОблОценка);
    ТабДок.ВывестиВертикальныйРазделительСтраниц();
    счетчик = 0;
    ТабДок.Вывести(ОблШапка);
    ТабДок.Вывести(ОблНомеров);
    КонецЕсли;
    КонецЦикла;
```

спасибо за помощь, shurikvz , без Вас бы не справился.