День добрый! Есть отчет для вывода расчета оплаты по путевым. То есть надо вставить разрыв страницы но как это сделать не знаю( Еще ко всему размер плавающий там в одном расчете может быть несколько работ.
Есть пример в своей конфигурации (расчетные листки) но там так мудрено написано что просто взять от туда механизм не получается.

```1c
    Процедура СформироватьОтчет(ДокументРезультат, ПоказыватьЗаголовок = Ложь, ВысотаЗаголовка = 0, ТолькоЗаголовок = Ложь, ОчищатьТабличныйДокумент = Истина) Экспорт

    Если НЕ ЗначениеЗаполнено(ДатаНач) Тогда

    Сообщить("Не указана дата начала периода!", СтатусСообщения.Важное);
    Возврат

    КонецЕсли;

    Если НЕ ЗначениеЗаполнено(ДатаКон) Тогда

    Сообщить("Не указана дата окончания периода!", СтатусСообщения.Важное);
    Возврат

    КонецЕсли;
    Если ОчищатьТабличныйДокумент Тогда
    ДокументРезультат.Очистить();
    КонецЕсли;

    Макет = ПолучитьМакет("Макет");
    ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
    ОбластьТаблица = Макет.ПолучитьОбласть("Таблица");
    ОбластьИтого = Макет.ПолучитьОбласть("Итого");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    //Линия = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.Сплошная, 1);

    Запрос = Новый Запрос();
    Запрос.Текст =
    "ВЫБРАТЬ
    | ПутевойТракторный.Дата КАК Дата,
    | ПутевойТракторный.ФизЛицо,
    | ПутевойТракторный.Трактор,
    | ПутевойТракторный.Ссылка,
    | ПутевойТракторный.Ответственный,
    | ПутевойТракторный.НомерБланка,
    | ПутевойТракторный.Выработка.(
    | Ссылка,
    | НомерСтроки,
    | Подразделение,
    | СпособОтражения,
    | ТехнологическаяОперация,
    | Количество,
    | Дни,
    | Часы,
    | ВидРасчета,
    | Расценка,
    | НормаВыработки,
    | НормаРасхода,
    | Сумма,
    | Расход,
    | РаботаДвигателя,
    | РасходФакт,
    | ТипОперации,
    | Прицеп
    | )
    |ИЗ
    | Документ.ПутевойТракторный КАК ПутевойТракторный
    |ГДЕ
    | ПутевойТракторный.ФизЛицо = &Работник
    | И ПутевойТракторный.Дата >= &ДатаНач
    | И ПутевойТракторный.Дата <= &ДатаКон
    |
    |УПОРЯДОЧИТЬ ПО
    | Дата" ;

    Запрос.УстановитьПараметр("Работник", Работник);
    Запрос.УстановитьПараметр("ДатаНач", ДатаНач);
    Запрос.УстановитьПараметр("ДатаКон", ДатаКон);

    Итог = Запрос.Выполнить();
    Выборка = Итог.Выбрать();
    ПОка Выборка.Следующий() ЦИкл
    ОбластьШапка.Параметры.НомерЛиста = Выборка.НомерБланка;
    ОбластьШапка.Параметры.Авто = Выборка.Трактор;
    ОбластьШапка.Параметры.КодА = Выборка.Трактор.Код;
    ОбластьШапка.Параметры.День = День(Выборка.Дата);
    СтрокаДата = Формат(Выборка.Дата, "ДФ=ММММ");
    ОтчетныйМесяцСклонение(СтрокаДата);
    ОбластьШапка.Параметры.Месяц = НРег(СтрокаДата);
    ОбластьШапка.Параметры.Год = Год(Выборка.Дата);
    ОбластьШапка.Параметры.Сотрудник = Выборка.ФизЛицо.Код + " " + Выборка.ФизЛицо;
    ДокументРезультат.Вывести(ОбластьШапка);

    Запрос1 = Новый Запрос();
    Запрос1.Текст =
    "ВЫБРАТЬ
    | ПутевойТракторныйВыработка.Ссылка,
    | ПутевойТракторныйВыработка.НомерСтроки,
    | ПутевойТракторныйВыработка.Подразделение,
    | ПутевойТракторныйВыработка.СпособОтражения,
    | ПутевойТракторныйВыработка.ТехнологическаяОперация,
    | ПутевойТракторныйВыработка.Количество КАК Количество,
    | ПутевойТракторныйВыработка.Дни КАК Дни,
    | ПутевойТракторныйВыработка.Часы КАК Часы,
    | ПутевойТракторныйВыработка.ВидРасчета,
    | ПутевойТракторныйВыработка.Расценка,
    | ПутевойТракторныйВыработка.НормаВыработки,
    | ПутевойТракторныйВыработка.НормаРасхода,
    | ПутевойТракторныйВыработка.Сумма КАК Сумма,
    | ПутевойТракторныйВыработка.Расход КАК Расход,
    | ПутевойТракторныйВыработка.РаботаДвигателя,
    | ПутевойТракторныйВыработка.РасходФакт КАК РасходФакт,
    | ПутевойТракторныйВыработка.ТипОперации,
    | ПутевойТракторныйВыработка.Прицеп,
    | ПутевойТракторный.Ссылка КАК Ссылка
    |ИЗ
    | Документ.ПутевойТракторный.Выработка КАК ПутевойТракторныйВыработка
    | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПутевойТракторный КАК ПутевойТракторный
    | ПО ПутевойТракторныйВыработка.Ссылка = ПутевойТракторный.Ссылка
    |ГДЕ
    | ПутевойТракторныйВыработка.Ссылка = &Ссылка";
    Запрос1.УстановитьПараметр("Ссылка", Выборка.Ссылка);
    Итог1 = Запрос1.Выполнить().Выбрать();
    Пока Итог1.Следующий() Цикл

    //ТабРезультатЗапроса= Итог1.Выбрать();

    ОбластьТаблица.Параметры.НомерПП = Итог1.НомерСтроки;
    ОбластьТаблица.Параметры.СпособОтражения = Итог1.СпособОтражения;
    ОбластьТаблица.Параметры.ТехОперация = Итог1.ТехнологическаяОперация;
    ОбластьТаблица.Параметры.Кол = Итог1.Количество;
    ОбластьТаблица.Параметры.ОтрДней = Итог1.Дни;
    ОбластьТаблица.Параметры.ОтрЧасы = Итог1.Часы;
    ОбластьТаблица.Параметры.ВидРасчета = Итог1.ВидРасчета.Код;
    ОбластьТаблица.Параметры.Расценка = Итог1.Расценка;
    ОбластьТаблица.Параметры.Сумма = Итог1.Сумма;
    ОбластьТаблица.Параметры.РабДвиг = Итог1.РаботаДвигателя;
    ОбластьТаблица.Параметры.НормВыраб = Итог1.НормаВыработки;
    ОбластьТаблица.Параметры.НормРасх = Итог1.НормаРасхода;
    ОбластьТаблица.Параметры.РасхНорм = Итог1.Расход;
    ОбластьТаблица.Параметры.РасхФакт = Итог1.РасходФакт;
    ДокументРезультат.Вывести(ОбластьТаблица);
    КонецЦикла;
    Запрос2 = Новый Запрос();
    Запрос2.Текст =
    "ВЫБРАТЬ
    | ПутевойТракторныйВыработка.Ссылка,
    | ПутевойТракторныйВыработка.Количество КАК Количество,
    | ПутевойТракторныйВыработка.Дни КАК Дни,
    | ПутевойТракторныйВыработка.Часы КАК Часы,
    | ПутевойТракторныйВыработка.Сумма КАК Сумма,
    | ПутевойТракторныйВыработка.Расход КАК Расход,
    | ПутевойТракторныйВыработка.РасходФакт КАК РасходФакт,
    | ПутевойТракторный.Ссылка КАК Ссылка
    |ИЗ
    | Документ.ПутевойТракторный.Выработка КАК ПутевойТракторныйВыработка
    | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПутевойТракторный КАК ПутевойТракторный
    | ПО ПутевойТракторныйВыработка.Ссылка = ПутевойТракторный.Ссылка
    |ГДЕ
    | ПутевойТракторныйВыработка.Ссылка = &Ссылка
    |ИТОГИ
    | СУММА(Количество),
    | СУММА(Дни),
    | СУММА(Часы),
    | СУММА(Сумма),
    | СУММА(Расход),
    | СУММА(РасходФакт)
    |ПО
    | ОБЩИЕ";
    Запрос2.УстановитьПараметр("Ссылка", Выборка.Ссылка);
    Итог2 = Запрос2.Выполнить().Выбрать();
    Итог2.Следующий();
    ОбластьИтого.Параметры.ИтогоКол = Итог2.Количество;
    ОбластьИтого.Параметры.ИтогоДней = Итог2.Дни;
    ОбластьИтого.Параметры.ИтогоЧасов = Итог2.Часы;
    ОбластьИтого.Параметры.ИтогоСумма = Итог2.Сумма;
    ОбластьИтого.Параметры.ИтогоРасНорм = Итог2.Расход;
    ОбластьИтого.Параметры.ИтогоРасФакт = Итог2.РасходФакт;
    ДокументРезультат.Вывести(ОбластьИтого);

    ОбластьПодвал.Параметры.Ответственный = Выборка.Ответственный;
    ДокументРезультат.Вывести(ОбластьПодвал);

    //МассивОбластей = Новый Массив;
    //МассивОбластей.Добавить(ОбластьШапка);
    //МассивОбластей.Добавить(ОбластьТаблица);
    //МассивОбластей.Добавить(ОбластьИтого);
    //МассивОбластей.Добавить(ОбластьПодвал);
    // Если ДокументРезультат.ПроверитьВывод(МассивОбластей) Тогда
    // ДокументРезультат.ВывестиГоризонтальныйРазделительСтраниц();
    // КонецЕсли
    КонецЦикла;

    КонецПроцедуры
```
---
Всем спасибо получилось вставляю код может быть кому такой пример пригодится.

```1c
    Процедура СформироватьОтчет(ДокументРезультат, ПоказыватьЗаголовок = Ложь, ВысотаЗаголовка = 0, ТолькоЗаголовок = Ложь, ОчищатьТабличныйДокумент = Истина) Экспорт

    Если НЕ ЗначениеЗаполнено(ДатаНач) Тогда

    Сообщить("Не указана дата начала периода!", СтатусСообщения.Важное);
    Возврат

    КонецЕсли;

    Если НЕ ЗначениеЗаполнено(ДатаКон) Тогда

    Сообщить("Не указана дата окончания периода!", СтатусСообщения.Важное);
    Возврат

    КонецЕсли;
    Если ОчищатьТабличныйДокумент Тогда
    ДокументРезультат.Очистить();
    КонецЕсли;

    Макет = ПолучитьМакет("Макет");
    ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
    ОбластьТаблица = Макет.ПолучитьОбласть("Таблица");
    ОбластьИтого = Макет.ПолучитьОбласть("Итого");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    //Линия = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.Сплошная, 1);

    Запрос = Новый Запрос();
    Запрос.Текст =
    "ВЫБРАТЬ
    | ПутевойТракторный.Дата КАК Дата,
    | ПутевойТракторный.ФизЛицо,
    | ПутевойТракторный.Трактор,
    | ПутевойТракторный.Ссылка,
    | ПутевойТракторный.Ответственный,
    | ПутевойТракторный.НомерБланка,
    | ПутевойТракторный.Выработка.(
    | Ссылка,
    | НомерСтроки,
    | Подразделение,
    | СпособОтражения,
    | ТехнологическаяОперация,
    | Количество,
    | Дни,
    | Часы,
    | ВидРасчета,
    | Расценка,
    | НормаВыработки,
    | НормаРасхода,
    | Сумма,
    | Расход,
    | РаботаДвигателя,
    | РасходФакт,
    | ТипОперации,
    | Прицеп
    | )
    |ИЗ
    | Документ.ПутевойТракторный КАК ПутевойТракторный
    |ГДЕ
    | ПутевойТракторный.ФизЛицо = &Работник
    | И ПутевойТракторный.Дата >= &ДатаНач
    | И ПутевойТракторный.Дата <= &ДатаКон
    |
    |УПОРЯДОЧИТЬ ПО
    | Дата" ;

    Запрос.УстановитьПараметр("Работник", Работник);
    Запрос.УстановитьПараметр("ДатаНач", ДатаНач);
    Запрос.УстановитьПараметр("ДатаКон", ДатаКон);

    Итог = Запрос.Выполнить();
    Выборка = Итог.Выбрать();
    ПОка Выборка.Следующий() ЦИкл
    ОбластьШапка.Параметры.НомерЛиста = Выборка.НомерБланка;
    ОбластьШапка.Параметры.Авто = Выборка.Трактор;
    ОбластьШапка.Параметры.КодА = Выборка.Трактор.Код;
    ОбластьШапка.Параметры.День = День(Выборка.Дата);
    СтрокаДата = Формат(Выборка.Дата, "ДФ=ММММ");
    ОтчетныйМесяцСклонение(СтрокаДата);
    ОбластьШапка.Параметры.Месяц = НРег(СтрокаДата);
    ОбластьШапка.Параметры.Год = Год(Выборка.Дата);
    ОбластьШапка.Параметры.Сотрудник = Выборка.ФизЛицо.Код + " " + Выборка.ФизЛицо;
    //Перенести дальше, после проверки вывода
    //ДокументРезультат.Вывести(ОбластьШапка);

    Запрос1 = Новый Запрос();
    Запрос1.Текст =
    "ВЫБРАТЬ
    | ПутевойТракторныйВыработка.Ссылка,
    | ПутевойТракторныйВыработка.НомерСтроки,
    | ПутевойТракторныйВыработка.Подразделение,
    | ПутевойТракторныйВыработка.СпособОтражения,
    | ПутевойТракторныйВыработка.ТехнологическаяОперация,
    | ПутевойТракторныйВыработка.Количество КАК Количество,
    | ПутевойТракторныйВыработка.Дни КАК Дни,
    | ПутевойТракторныйВыработка.Часы КАК Часы,
    | ПутевойТракторныйВыработка.ВидРасчета,
    | ПутевойТракторныйВыработка.Расценка,
    | ПутевойТракторныйВыработка.НормаВыработки,
    | ПутевойТракторныйВыработка.НормаРасхода,
    | ПутевойТракторныйВыработка.Сумма КАК Сумма,
    | ПутевойТракторныйВыработка.Расход КАК Расход,
    | ПутевойТракторныйВыработка.РаботаДвигателя,
    | ПутевойТракторныйВыработка.РасходФакт КАК РасходФакт,
    | ПутевойТракторныйВыработка.ТипОперации,
    | ПутевойТракторныйВыработка.Прицеп,
    | ПутевойТракторный.Ссылка КАК Ссылка
    |ИЗ
    | Документ.ПутевойТракторный.Выработка КАК ПутевойТракторныйВыработка
    | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПутевойТракторный КАК ПутевойТракторный
    | ПО ПутевойТракторныйВыработка.Ссылка = ПутевойТракторный.Ссылка
    |ГДЕ
    | ПутевойТракторныйВыработка.Ссылка = &Ссылка";
    Запрос1.УстановитьПараметр("Ссылка", Выборка.Ссылка);
    Итог1 = Запрос1.Выполнить().Выбрать();
    //Нужен промежуточный Табличный документ, собрать таблицу в нем

    ТабДокТаблица = Новый ТабличныйДокумент;
    Пока Итог1.Следующий() Цикл
    ОбластьТаблица.Параметры.НомерПП = Итог1.НомерСтроки;
    ОбластьТаблица.Параметры.СпособОтражения = Итог1.СпособОтражения;
    ОбластьТаблица.Параметры.ТехОперация = Итог1.ТехнологическаяОперация;
    ОбластьТаблица.Параметры.Кол = Итог1.Количество;
    ОбластьТаблица.Параметры.ОтрДней = Итог1.Дни;
    ОбластьТаблица.Параметры.ОтрЧасы = Итог1.Часы;
    ОбластьТаблица.Параметры.ВидРасчета = Итог1.ВидРасчета.Код;
    ОбластьТаблица.Параметры.Расценка = Итог1.Расценка;
    ОбластьТаблица.Параметры.Сумма = Итог1.Сумма;
    ОбластьТаблица.Параметры.РабДвиг = Итог1.РаботаДвигателя;
    ОбластьТаблица.Параметры.НормВыраб = Итог1.НормаВыработки;
    ОбластьТаблица.Параметры.НормРасх = Итог1.НормаРасхода;
    ОбластьТаблица.Параметры.РасхНорм = Итог1.Расход;
    ОбластьТаблица.Параметры.РасхФакт = Итог1.РасходФакт;
    //Заменить на промежуточный Табличный документ
    //ДокументРезультат.Вывести(ОбластьТаблица);
    ТабДокТаблица.Вывести(ОбластьТаблица);
    КонецЦикла;
    Запрос2 = Новый Запрос();
    Запрос2.Текст =
    "ВЫБРАТЬ
    | ПутевойТракторныйВыработка.Ссылка,
    | ПутевойТракторныйВыработка.Количество КАК Количество,
    | ПутевойТракторныйВыработка.Дни КАК Дни,
    | ПутевойТракторныйВыработка.Часы КАК Часы,
    | ПутевойТракторныйВыработка.Сумма КАК Сумма,
    | ПутевойТракторныйВыработка.Расход КАК Расход,
    | ПутевойТракторныйВыработка.РасходФакт КАК РасходФакт,
    | ПутевойТракторный.Ссылка КАК Ссылка
    |ИЗ
    | Документ.ПутевойТракторный.Выработка КАК ПутевойТракторныйВыработка
    | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПутевойТракторный КАК ПутевойТракторный
    | ПО ПутевойТракторныйВыработка.Ссылка = ПутевойТракторный.Ссылка
    |ГДЕ
    | ПутевойТракторныйВыработка.Ссылка = &Ссылка
    |ИТОГИ
    | СУММА(Количество),
    | СУММА(Дни),
    | СУММА(Часы),
    | СУММА(Сумма),
    | СУММА(Расход),
    | СУММА(РасходФакт)
    |ПО
    | ОБЩИЕ";
    Запрос2.УстановитьПараметр("Ссылка", Выборка.Ссылка);
    Итог2 = Запрос2.Выполнить().Выбрать();
    Итог2.Следующий();
    ОбластьИтого.Параметры.ИтогоКол = Итог2.Количество;
    ОбластьИтого.Параметры.ИтогоДней = Итог2.Дни;
    ОбластьИтого.Параметры.ИтогоЧасов = Итог2.Часы;
    ОбластьИтого.Параметры.ИтогоСумма = Итог2.Сумма;
    ОбластьИтого.Параметры.ИтогоРасНорм = Итог2.Расход;
    ОбластьИтого.Параметры.ИтогоРасФакт = Итог2.РасходФакт;
    //Перенести дальше, после проверки вывода
    //ДокументРезультат.Вывести(ОбластьИтого);

    ОбластьПодвал.Параметры.Ответственный = Выборка.Ответственный;
    //Перенести дальше, после проверки вывода
    //ДокументРезультат.Вывести(ОбластьПодвал);

    МассивОбластей = Новый Массив;
    МассивОбластей.Добавить(ОбластьШапка);
    МассивОбластей.Добавить(ТабДокТаблица); // < -- Проверяем не одну строку, а таблицу целиком
    МассивОбластей.Добавить(ОбластьИтого);
    МассивОбластей.Добавить(ОбластьПодвал);

    Если (Не ДокументРезультат.ПроверитьВывод(МассивОбластей)) Тогда
    // Или (Ном = КоличествоСтрок) Тогда

    ДокументРезультат.ВывестиГоризонтальныйРазделительСтраниц();
    МассивОбластей.Очистить();
    КонецЕсли;

    //После проверки выводим области в документ
    ДокументРезультат.Вывести(ОбластьШапка);
    ДокументРезультат.Вывести(ТабДокТаблица);
    ДокументРезультат.Вывести(ОбластьИтого);
    ДокументРезультат.Вывести(ОбластьПодвал);
    ДокументРезультат.Автомасштаб = Истина;
    КонецЦикла;

    КонецПроцедуры
```
---
Точно отчет? не печатная форма?
---
Отчет с макетом внутри. В макете 4 области (Шапка,Таблица,Итог,Подвал) Если Шапка с Итогом и Подвалом фиксированы то таблица может содержать от одной строчки до 7-8 и строка может быть разная по высоте в зависимости от наименования тех. операции.
---
Другого способа не знаю.

https://infostart.ru/public/96583/
---
Вот так сделан
---
ну да. Проще говоря решается ручным выводом Процессора компоновки данных

```1c
    ТабличныйДокумент.Очистить();

    ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки, Истина);

    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ТабличныйДокумент);
    ПроцессорВывода.НачатьВывод();

    Пока Не ПроцессорКомпоновкиДанных.Следующий() = НЕопределено Цикл

    //тут в зависимости от структуры отчета проверяете вмещается или нет. Для этого используйте как раз ТабДокумент.ПроверитьВывод())

    ПроцессорВывода .Вывестиэлемент(ПроцессорКомпоновкиДанных);
    КонецЦикла;
```

Если совсем сложно будет выходить, можно ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент заменить на ПроцессорВыводаРезультатаКомпоновкиДанныхВТКоллекциюЗначений­ и руками вывести как печатную форму. Получится намного проще
---
ТабличныйДокумент.ПроверитьВывод(МассивОбластей), если не помещается Тогда ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц()
---
Создай Макет и нарисуй отчет.
На форме создаем реквизит с типом ТабличныйДокумент и туда выводим результат.

Разрыв вставляется туда, куда нужно. Если нужно после табличной части, значит после и вставляется.

```1c
    ТабДок.ВывестиГоризонтальныйРазделительСтраниц(); // Можно принудительно вставить разрывы страниц
```
---
Принудительно не получится размеры плавают.
---
Еще раз ТабличныйДокумент.ПроверитьВывод(МассивОбластей)
---
с массивами не работал по этому даже не знаю как начать.
---
Массив это по сути тот же Список значений, таблица значений, в который ты запихиваешь все выведеные тобой области....
---
Пример

```1c
    ОбластьМакета.Параметры.Количество = Количество;
    ОбластьМакета.Параметры.СуммаСНДС = ВсегоСНДС;
    ОбластьМакета.Параметры.СуммаБезНДС = ВсегоСНДС;
    ОбластьМакета.Параметры.СуммаНДС = 0;
    ОбластьМакета.Параметры.Цена = Цена;
    ОбластьМакета.Параметры.ТоварНаименование = СокрЛП(ВыборкаСтрокТовары.ТоварНаименование);
    ОбластьМакета.Параметры.КоррСчет = СокрЛП(ВыборкаСтрокТовары.СчетУчета);
    ОбластьМакета.Параметры.НоменклатурныйНомер = ВыборкаСтрокТовары.ТоварКод;
    МассивОбластей =Новый Массив;
    МассивОбластей.Добавить(ОбластьМакета);
    Если (Не ТабДокумент.ПроверитьВывод(МассивОбластей)) Тогда
    // Или (Ном = КоличествоСтрок) Тогда

    НомерСтраницы = НомерСтраницы + 1;
    ЗаголовокТаблицы.Параметры.НомерСтраницы = "Страница " + НомерСтраницы;
    ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
    ТабДокумент.Вывести(ЗаголовокТаблицы);
    МассивОбластей.Очистить();
    КонецЕсли;

    ТабДокумент.Вывести(ОбластьМакета);
```
---
Вставил код может че подскажете.
---
Проверку надо делать ДО вывода областей, т.е. собери все ДокументРезультат.Вывести() в одно место в конце, таблицу нужно будет выводить в отдельный ТабличныйДокумент, вновь созданный. Типа такого получится:

```1c
    Процедура СформироватьОтчет(ДокументРезультат, ПоказыватьЗаголовок = Ложь, ВысотаЗаголовка = 0, ТолькоЗаголовок = Ложь, ОчищатьТабличныйДокумент = Истина) Экспорт

    Если НЕ ЗначениеЗаполнено(ДатаНач) Тогда

    Сообщить("Не указана дата начала периода!", СтатусСообщения.Важное);
    Возврат

    КонецЕсли;

    Если НЕ ЗначениеЗаполнено(ДатаКон) Тогда

    Сообщить("Не указана дата окончания периода!", СтатусСообщения.Важное);
    Возврат

    КонецЕсли;
    Если ОчищатьТабличныйДокумент Тогда
    ДокументРезультат.Очистить();
    КонецЕсли;

    Макет = ПолучитьМакет("Макет");
    ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
    ОбластьТаблица = Макет.ПолучитьОбласть("Таблица");
    ОбластьИтого = Макет.ПолучитьОбласть("Итого");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    //Линия = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.Сплошная, 1);

    Запрос = Новый Запрос();
    Запрос.Текст =
    "ВЫБРАТЬ
    | ПутевойТракторный.Дата КАК Дата,
    | ПутевойТракторный.ФизЛицо,
    | ПутевойТракторный.Трактор,
    | ПутевойТракторный.Ссылка,
    | ПутевойТракторный.Ответственный,
    | ПутевойТракторный.НомерБланка,
    | ПутевойТракторный.Выработка.(
    | Ссылка,
    | НомерСтроки,
    | Подразделение,
    | СпособОтражения,
    | ТехнологическаяОперация,
    | Количество,
    | Дни,
    | Часы,
    | ВидРасчета,
    | Расценка,
    | НормаВыработки,
    | НормаРасхода,
    | Сумма,
    | Расход,
    | РаботаДвигателя,
    | РасходФакт,
    | ТипОперации,
    | Прицеп
    | )
    |ИЗ
    | Документ.ПутевойТракторный КАК ПутевойТракторный
    |ГДЕ
    | ПутевойТракторный.ФизЛицо = &Работник
    | И ПутевойТракторный.Дата >= &ДатаНач
    | И ПутевойТракторный.Дата <= &ДатаКон
    |
    |УПОРЯДОЧИТЬ ПО
    | Дата" ;

    Запрос.УстановитьПараметр("Работник", Работник);
    Запрос.УстановитьПараметр("ДатаНач", ДатаНач);
    Запрос.УстановитьПараметр("ДатаКон", ДатаКон);

    Итог = Запрос.Выполнить();
    Выборка = Итог.Выбрать();
    ПОка Выборка.Следующий() ЦИкл
    ОбластьШапка.Параметры.НомерЛиста = Выборка.НомерБланка;
    ОбластьШапка.Параметры.Авто = Выборка.Трактор;
    ОбластьШапка.Параметры.КодА = Выборка.Трактор.Код;
    ОбластьШапка.Параметры.День = День(Выборка.Дата);
    СтрокаДата = Формат(Выборка.Дата, "ДФ=ММММ");
    ОтчетныйМесяцСклонение(СтрокаДата);
    ОбластьШапка.Параметры.Месяц = НРег(СтрокаДата);
    ОбластьШапка.Параметры.Год = Год(Выборка.Дата);
    ОбластьШапка.Параметры.Сотрудник = Выборка.ФизЛицо.Код + " " + Выборка.ФизЛицо;
    //Перенести дальше, после проверки вывода
    //ДокументРезультат.Вывести(ОбластьШапка);

    Запрос1 = Новый Запрос();
    Запрос1.Текст =
    "ВЫБРАТЬ
    | ПутевойТракторныйВыработка.Ссылка,
    | ПутевойТракторныйВыработка.НомерСтроки,
    | ПутевойТракторныйВыработка.Подразделение,
    | ПутевойТракторныйВыработка.СпособОтражения,
    | ПутевойТракторныйВыработка.ТехнологическаяОперация,
    | ПутевойТракторныйВыработка.Количество КАК Количество,
    | ПутевойТракторныйВыработка.Дни КАК Дни,
    | ПутевойТракторныйВыработка.Часы КАК Часы,
    | ПутевойТракторныйВыработка.ВидРасчета,
    | ПутевойТракторныйВыработка.Расценка,
    | ПутевойТракторныйВыработка.НормаВыработки,
    | ПутевойТракторныйВыработка.НормаРасхода,
    | ПутевойТракторныйВыработка.Сумма КАК Сумма,
    | ПутевойТракторныйВыработка.Расход КАК Расход,
    | ПутевойТракторныйВыработка.РаботаДвигателя,
    | ПутевойТракторныйВыработка.РасходФакт КАК РасходФакт,
    | ПутевойТракторныйВыработка.ТипОперации,
    | ПутевойТракторныйВыработка.Прицеп,
    | ПутевойТракторный.Ссылка КАК Ссылка
    |ИЗ
    | Документ.ПутевойТракторный.Выработка КАК ПутевойТракторныйВыработка
    | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПутевойТракторный КАК ПутевойТракторный
    | ПО ПутевойТракторныйВыработка.Ссылка = ПутевойТракторный.Ссылка
    |ГДЕ
    | ПутевойТракторныйВыработка.Ссылка = &Ссылка";
    Запрос1.УстановитьПараметр("Ссылка", Выборка.Ссылка);
    Итог1 = Запрос1.Выполнить().Выбрать();
    Пока Итог1.Следующий() Цикл

    //ТабРезультатЗапроса= Итог1.Выбрать();

    //Нужен промежуточный Табличный документ, собрать таблицу в нем
    ТабДокТаблица = Новый ТабличныйДокумент;

    ОбластьТаблица.Параметры.НомерПП = Итог1.НомерСтроки;
    ОбластьТаблица.Параметры.СпособОтражения = Итог1.СпособОтражения;
    ОбластьТаблица.Параметры.ТехОперация = Итог1.ТехнологическаяОперация;
    ОбластьТаблица.Параметры.Кол = Итог1.Количество;
    ОбластьТаблица.Параметры.ОтрДней = Итог1.Дни;
    ОбластьТаблица.Параметры.ОтрЧасы = Итог1.Часы;
    ОбластьТаблица.Параметры.ВидРасчета = Итог1.ВидРасчета.Код;
    ОбластьТаблица.Параметры.Расценка = Итог1.Расценка;
    ОбластьТаблица.Параметры.Сумма = Итог1.Сумма;
    ОбластьТаблица.Параметры.РабДвиг = Итог1.РаботаДвигателя;
    ОбластьТаблица.Параметры.НормВыраб = Итог1.НормаВыработки;
    ОбластьТаблица.Параметры.НормРасх = Итог1.НормаРасхода;
    ОбластьТаблица.Параметры.РасхНорм = Итог1.Расход;
    ОбластьТаблица.Параметры.РасхФакт = Итог1.РасходФакт;
    //Заменить на промежуточный Табличный документ
    //ДокументРезультат.Вывести(ОбластьТаблица);
    ТабДокТаблица.Вывести(ОбластьТаблица);
    КонецЦикла;
    Запрос2 = Новый Запрос();
    Запрос2.Текст =
    "ВЫБРАТЬ
    | ПутевойТракторныйВыработка.Ссылка,
    | ПутевойТракторныйВыработка.Количество КАК Количество,
    | ПутевойТракторныйВыработка.Дни КАК Дни,
    | ПутевойТракторныйВыработка.Часы КАК Часы,
    | ПутевойТракторныйВыработка.Сумма КАК Сумма,
    | ПутевойТракторныйВыработка.Расход КАК Расход,
    | ПутевойТракторныйВыработка.РасходФакт КАК РасходФакт,
    | ПутевойТракторный.Ссылка КАК Ссылка
    |ИЗ
    | Документ.ПутевойТракторный.Выработка КАК ПутевойТракторныйВыработка
    | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПутевойТракторный КАК ПутевойТракторный
    | ПО ПутевойТракторныйВыработка.Ссылка = ПутевойТракторный.Ссылка
    |ГДЕ
    | ПутевойТракторныйВыработка.Ссылка = &Ссылка
    |ИТОГИ
    | СУММА(Количество),
    | СУММА(Дни),
    | СУММА(Часы),
    | СУММА(Сумма),
    | СУММА(Расход),
    | СУММА(РасходФакт)
    |ПО
    | ОБЩИЕ";
    Запрос2.УстановитьПараметр("Ссылка", Выборка.Ссылка);
    Итог2 = Запрос2.Выполнить().Выбрать();
    Итог2.Следующий();
    ОбластьИтого.Параметры.ИтогоКол = Итог2.Количество;
    ОбластьИтого.Параметры.ИтогоДней = Итог2.Дни;
    ОбластьИтого.Параметры.ИтогоЧасов = Итог2.Часы;
    ОбластьИтого.Параметры.ИтогоСумма = Итог2.Сумма;
    ОбластьИтого.Параметры.ИтогоРасНорм = Итог2.Расход;
    ОбластьИтого.Параметры.ИтогоРасФакт = Итог2.РасходФакт;
    //Перенести дальше, после проверки вывода
    //ДокументРезультат.Вывести(ОбластьИтого);

    ОбластьПодвал.Параметры.Ответственный = Выборка.Ответственный;
    //Перенести дальше, после проверки вывода
    //ДокументРезультат.Вывести(ОбластьПодвал);

    МассивОбластей = Новый Массив;
    МассивОбластей.Добавить(ОбластьШапка);
    МассивОбластей.Добавить(ТабДокТаблица); // < -- Проверяем не одну строку, а таблицу целиком
    МассивОбластей.Добавить(ОбластьИтого);
    МассивОбластей.Добавить(ОбластьПодвал);
    Если ДокументРезультат.ПроверитьВывод(МассивОбластей) Тогда
    ДокументРезультат.ВывестиГоризонтальныйРазделительСтраниц();
    КонецЕсли

    //После проверки выводим области в документ
    ДокументРезультат.Вывести(ОбластьШапка);
    ДокументРезультат.Вывести(ТабДокТаблица);
    ДокументРезультат.Вывести(ОбластьИтого);
    ДокументРезультат.Вывести(ОбластьПодвал);

    КонецЦикла;

    КонецПроцедуры
```

Текст кстати в коде очень трудно читать, расстановкой отступов я смотрю никто не заморачивался...
---
Спасибо попробую я не чистый программист нет даже образования по этому делаю как могу и учусь потиху
---
Немного не то но спасибо!! буду пилить далее. Он разрыв ставит после каждой расчетки хотя на странице может влезь больше
---
И троху испортили таблицу она выводит только последнею строчку, остальное затирает
---
Да, ошибся, надо объявление табличного документа вывести за цикл

```1c
    ......

    //Нужен промежуточный Табличный документ, собрать таблицу в нем
    ТабДокТаблица = Новый ТабличныйДокумент;

    Пока Итог1.Следующий() Цикл
    .....
```
---
Всем спасибо получилось вставляю код может быть кому такой пример пригодится.

```1c
    Процедура СформироватьОтчет(ДокументРезультат, ПоказыватьЗаголовок = Ложь, ВысотаЗаголовка = 0, ТолькоЗаголовок = Ложь, ОчищатьТабличныйДокумент = Истина) Экспорт

    Если НЕ ЗначениеЗаполнено(ДатаНач) Тогда

    Сообщить("Не указана дата начала периода!", СтатусСообщения.Важное);
    Возврат

    КонецЕсли;

    Если НЕ ЗначениеЗаполнено(ДатаКон) Тогда

    Сообщить("Не указана дата окончания периода!", СтатусСообщения.Важное);
    Возврат

    КонецЕсли;
    Если ОчищатьТабличныйДокумент Тогда
    ДокументРезультат.Очистить();
    КонецЕсли;

    Макет = ПолучитьМакет("Макет");
    ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
    ОбластьТаблица = Макет.ПолучитьОбласть("Таблица");
    ОбластьИтого = Макет.ПолучитьОбласть("Итого");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    //Линия = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.Сплошная, 1);

    Запрос = Новый Запрос();
    Запрос.Текст =
    "ВЫБРАТЬ
    | ПутевойТракторный.Дата КАК Дата,
    | ПутевойТракторный.ФизЛицо,
    | ПутевойТракторный.Трактор,
    | ПутевойТракторный.Ссылка,
    | ПутевойТракторный.Ответственный,
    | ПутевойТракторный.НомерБланка,
    | ПутевойТракторный.Выработка.(
    | Ссылка,
    | НомерСтроки,
    | Подразделение,
    | СпособОтражения,
    | ТехнологическаяОперация,
    | Количество,
    | Дни,
    | Часы,
    | ВидРасчета,
    | Расценка,
    | НормаВыработки,
    | НормаРасхода,
    | Сумма,
    | Расход,
    | РаботаДвигателя,
    | РасходФакт,
    | ТипОперации,
    | Прицеп
    | )
    |ИЗ
    | Документ.ПутевойТракторный КАК ПутевойТракторный
    |ГДЕ
    | ПутевойТракторный.ФизЛицо = &Работник
    | И ПутевойТракторный.Дата >= &ДатаНач
    | И ПутевойТракторный.Дата <= &ДатаКон
    |
    |УПОРЯДОЧИТЬ ПО
    | Дата" ;

    Запрос.УстановитьПараметр("Работник", Работник);
    Запрос.УстановитьПараметр("ДатаНач", ДатаНач);
    Запрос.УстановитьПараметр("ДатаКон", ДатаКон);

    Итог = Запрос.Выполнить();
    Выборка = Итог.Выбрать();
    ПОка Выборка.Следующий() ЦИкл
    ОбластьШапка.Параметры.НомерЛиста = Выборка.НомерБланка;
    ОбластьШапка.Параметры.Авто = Выборка.Трактор;
    ОбластьШапка.Параметры.КодА = Выборка.Трактор.Код;
    ОбластьШапка.Параметры.День = День(Выборка.Дата);
    СтрокаДата = Формат(Выборка.Дата, "ДФ=ММММ");
    ОтчетныйМесяцСклонение(СтрокаДата);
    ОбластьШапка.Параметры.Месяц = НРег(СтрокаДата);
    ОбластьШапка.Параметры.Год = Год(Выборка.Дата);
    ОбластьШапка.Параметры.Сотрудник = Выборка.ФизЛицо.Код + " " + Выборка.ФизЛицо;
    //Перенести дальше, после проверки вывода
    //ДокументРезультат.Вывести(ОбластьШапка);

    Запрос1 = Новый Запрос();
    Запрос1.Текст =
    "ВЫБРАТЬ
    | ПутевойТракторныйВыработка.Ссылка,
    | ПутевойТракторныйВыработка.НомерСтроки,
    | ПутевойТракторныйВыработка.Подразделение,
    | ПутевойТракторныйВыработка.СпособОтражения,
    | ПутевойТракторныйВыработка.ТехнологическаяОперация,
    | ПутевойТракторныйВыработка.Количество КАК Количество,
    | ПутевойТракторныйВыработка.Дни КАК Дни,
    | ПутевойТракторныйВыработка.Часы КАК Часы,
    | ПутевойТракторныйВыработка.ВидРасчета,
    | ПутевойТракторныйВыработка.Расценка,
    | ПутевойТракторныйВыработка.НормаВыработки,
    | ПутевойТракторныйВыработка.НормаРасхода,
    | ПутевойТракторныйВыработка.Сумма КАК Сумма,
    | ПутевойТракторныйВыработка.Расход КАК Расход,
    | ПутевойТракторныйВыработка.РаботаДвигателя,
    | ПутевойТракторныйВыработка.РасходФакт КАК РасходФакт,
    | ПутевойТракторныйВыработка.ТипОперации,
    | ПутевойТракторныйВыработка.Прицеп,
    | ПутевойТракторный.Ссылка КАК Ссылка
    |ИЗ
    | Документ.ПутевойТракторный.Выработка КАК ПутевойТракторныйВыработка
    | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПутевойТракторный КАК ПутевойТракторный
    | ПО ПутевойТракторныйВыработка.Ссылка = ПутевойТракторный.Ссылка
    |ГДЕ
    | ПутевойТракторныйВыработка.Ссылка = &Ссылка";
    Запрос1.УстановитьПараметр("Ссылка", Выборка.Ссылка);
    Итог1 = Запрос1.Выполнить().Выбрать();
    //Нужен промежуточный Табличный документ, собрать таблицу в нем

    ТабДокТаблица = Новый ТабличныйДокумент;
    Пока Итог1.Следующий() Цикл
    ОбластьТаблица.Параметры.НомерПП = Итог1.НомерСтроки;
    ОбластьТаблица.Параметры.СпособОтражения = Итог1.СпособОтражения;
    ОбластьТаблица.Параметры.ТехОперация = Итог1.ТехнологическаяОперация;
    ОбластьТаблица.Параметры.Кол = Итог1.Количество;
    ОбластьТаблица.Параметры.ОтрДней = Итог1.Дни;
    ОбластьТаблица.Параметры.ОтрЧасы = Итог1.Часы;
    ОбластьТаблица.Параметры.ВидРасчета = Итог1.ВидРасчета.Код;
    ОбластьТаблица.Параметры.Расценка = Итог1.Расценка;
    ОбластьТаблица.Параметры.Сумма = Итог1.Сумма;
    ОбластьТаблица.Параметры.РабДвиг = Итог1.РаботаДвигателя;
    ОбластьТаблица.Параметры.НормВыраб = Итог1.НормаВыработки;
    ОбластьТаблица.Параметры.НормРасх = Итог1.НормаРасхода;
    ОбластьТаблица.Параметры.РасхНорм = Итог1.Расход;
    ОбластьТаблица.Параметры.РасхФакт = Итог1.РасходФакт;
    //Заменить на промежуточный Табличный документ
    //ДокументРезультат.Вывести(ОбластьТаблица);
    ТабДокТаблица.Вывести(ОбластьТаблица);
    КонецЦикла;
    Запрос2 = Новый Запрос();
    Запрос2.Текст =
    "ВЫБРАТЬ
    | ПутевойТракторныйВыработка.Ссылка,
    | ПутевойТракторныйВыработка.Количество КАК Количество,
    | ПутевойТракторныйВыработка.Дни КАК Дни,
    | ПутевойТракторныйВыработка.Часы КАК Часы,
    | ПутевойТракторныйВыработка.Сумма КАК Сумма,
    | ПутевойТракторныйВыработка.Расход КАК Расход,
    | ПутевойТракторныйВыработка.РасходФакт КАК РасходФакт,
    | ПутевойТракторный.Ссылка КАК Ссылка
    |ИЗ
    | Документ.ПутевойТракторный.Выработка КАК ПутевойТракторныйВыработка
    | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПутевойТракторный КАК ПутевойТракторный
    | ПО ПутевойТракторныйВыработка.Ссылка = ПутевойТракторный.Ссылка
    |ГДЕ
    | ПутевойТракторныйВыработка.Ссылка = &Ссылка
    |ИТОГИ
    | СУММА(Количество),
    | СУММА(Дни),
    | СУММА(Часы),
    | СУММА(Сумма),
    | СУММА(Расход),
    | СУММА(РасходФакт)
    |ПО
    | ОБЩИЕ";
    Запрос2.УстановитьПараметр("Ссылка", Выборка.Ссылка);
    Итог2 = Запрос2.Выполнить().Выбрать();
    Итог2.Следующий();
    ОбластьИтого.Параметры.ИтогоКол = Итог2.Количество;
    ОбластьИтого.Параметры.ИтогоДней = Итог2.Дни;
    ОбластьИтого.Параметры.ИтогоЧасов = Итог2.Часы;
    ОбластьИтого.Параметры.ИтогоСумма = Итог2.Сумма;
    ОбластьИтого.Параметры.ИтогоРасНорм = Итог2.Расход;
    ОбластьИтого.Параметры.ИтогоРасФакт = Итог2.РасходФакт;
    //Перенести дальше, после проверки вывода
    //ДокументРезультат.Вывести(ОбластьИтого);

    ОбластьПодвал.Параметры.Ответственный = Выборка.Ответственный;
    //Перенести дальше, после проверки вывода
    //ДокументРезультат.Вывести(ОбластьПодвал);

    МассивОбластей = Новый Массив;
    МассивОбластей.Добавить(ОбластьШапка);
    МассивОбластей.Добавить(ТабДокТаблица); // < -- Проверяем не одну строку, а таблицу целиком
    МассивОбластей.Добавить(ОбластьИтого);
    МассивОбластей.Добавить(ОбластьПодвал);

    Если (Не ДокументРезультат.ПроверитьВывод(МассивОбластей)) Тогда
    // Или (Ном = КоличествоСтрок) Тогда

    ДокументРезультат.ВывестиГоризонтальныйРазделительСтраниц();
    МассивОбластей.Очистить();
    КонецЕсли;

    //После проверки выводим области в документ
    ДокументРезультат.Вывести(ОбластьШапка);
    ДокументРезультат.Вывести(ТабДокТаблица);
    ДокументРезультат.Вывести(ОбластьИтого);
    ДокументРезультат.Вывести(ОбластьПодвал);
    ДокументРезультат.Автомасштаб = Истина;
    КонецЦикла;

    КонецПроцедуры
```