Здравия желаю, господа Программисты 1С

Вот же ж задачка, однако...
Есть печатная форма, в которой должна выводиться номенклатура из 2-х таблиц (товары) и (услуги).
В печатной форме предусматривается вывод только 12-ти строк и не больше (из обеих таблиц).
Если строк меньше - программа выводит пустые строки, заполняя предусмотренные 12 строк (то есть, 3 заполненных + 9 пустых, или в другой комбинации, но строго 12 !).
А вот если строк набирается больше 12-ти, тогда я вручную активирую флажок, и вместо, предположим 13-ти или более строк выводится одна обобщённая строка со всеми вычислениями из этих самых 13-ти или более строк.
И вся эта комбинация работает, но...
... хотелось бы автоматизировать процесс следующим образом:

- При наличии 13-ти или более строк (из обеих таблиц) чтобы (ЕстьУслуги = Истина) активировалась автоматически, без нажатия на флажок.

Предполагаю, что реализация не должна быть слишком сложной, но как это сделать, не могу сообразить...
Подскажете?... Плиз...

```1c
    /свёрнутая печать
    //********************************************
    ЕстьУслуги = Ложь;
    Флажок = Объект.Флажок;
    Если Флажок = Истина Тогда
    //получаем строку итогов по услугам
    ЕстьУслуги = Истина;
    КонецЕсли;

    Если ЕстьУслуги = Истина Тогда

    //у нас есть услуги, превышающие 12 строк и нужна свёрнутая печать
    Область = Макет.ПолучитьОбласть("ОбобщеннаяСтрокаУслуг");
    Область.Параметры.СуммаБезНДС = Формат(Объект.ТабличнаяЧасть1.Итог("Сумма")
    - Объект.ТабличнаяЧасть1.Итог("СуммаНДС")
    + Объект.ТабличнаяЧасть2.Итог("Сумма")
    - Объект.ТабличнаяЧасть2.Итог("СуммаНДС"),"ЧДЦ=2,Ч10.2");
    Область.Параметры.СтавкаНДС = "20%";
    Область.Параметры.НДС = Формат(Объект.ТабличнаяЧасть1.Итог("СуммаНДС")
    + Объект.ТабличнаяЧасть2.Итог("СуммаНДС"),"ЧДЦ=2,Ч10.2");
    Область.Параметры.СуммаЛей = Формат(Объект.ТабличнаяЧасть1.Итог("Сумма")
    + Объект.ТабличнаяЧасть2.Итог("Сумма"),"ЧДЦ=2,Ч10.2");
    ТабДокумент.Вывести(Область);

    //добавляем пустые строки в Накладную, в случае, если есть свёрнутая печать
    Область = Макет.ПолучитьОбласть("ПустаяБезПрочерков");
    Для н = 1 по 11 Цикл // выводит 12 строк в НН
    ТабДокумент.Вывести(Область);
    КонецЦикла;
    Иначе
    КоличествоСтрок = 0;

    //выводим строку (запчасти)
    Для Каждого Строка Из Объект.ТабличнаяЧасть1 Цикл
    Область = Макет.ПолучитьОбласть("Строка");
    Область.Параметры.НоменклатураИКод = Строка(Строка.Товары);
    Область.Параметры.ЕдИзм = Строка.Товары.ЕдИзм;
    Область.Параметры.Количество = Формат(Строка.Количество ,"ЧДЦ=2");
    Область.Параметры.ЦенаБезНДС = Формат(Строка.Цена - Строка.Цена / 6 ,"ЧДЦ=2,Ч10.2");
    Область.Параметры.СуммаБезНДС = Формат((Строка.Цена - Строка.Цена / 6)
    * Строка.Количество , "ЧДЦ=2");
    Область.Параметры.СтавкаНДС = "20%";
    Область.Параметры.НДС = Формат(Строка.СуммаНДС ,"ЧДЦ=2,Ч10.2");
    Область.Параметры.СуммаЛей = Формат(Строка.Сумма ,"ЧДЦ=2,Ч10.2");
    ТабДокумент.Вывести(Область);
    КоличествоСтрок = КоличествоСтрок + 1;
    КонецЦикла;

    //выводим строку (работы)
    Для Каждого Строка Из Объект.ТабличнаяЧасть2 Цикл
    Область = Макет.ПолучитьОбласть("Строка");
    Область.Параметры.НоменклатураИКод = Строка(Строка.Работы);
    Область.Параметры.ЕдИзм = "serv";
    Область.Параметры.Количество = Формат(Строка.Количество ,"ЧДЦ=2");
    Область.Параметры.ЦенаБезНДС = Формат(Строка.Цена ,"ЧДЦ=2,Ч10.2");
    Область.Параметры.СуммаБезНДС = Формат(Строка.Цена
    * Строка.Количество , "ЧДЦ=2");
    Область.Параметры.СтавкаНДС = "20%";
    Область.Параметры.НДС = Формат(Строка.СуммаНДС ,"ЧДЦ=2,Ч10.2");
    Область.Параметры.СуммаЛей = Формат(Строка.Сумма ,"ЧДЦ=2,Ч10.2");
    ТабДокумент.Вывести(Область);
    КоличествоСтрок = КоличествоСтрок + 1;
    КонецЦикла;

    //добавляем пустые строки в Накладную
    Область = Макет.ПолучитьОбласть("Строка");
    Пока КоличествоСтрок < 12 Цикл // выводит 12 строк в НН
    ТабДокумент.Вывести(Область);
    КоличествоСтрок = КоличествоСтрок + 1;
    КонецЦикла;
    КонецЕсли;
    //********************************************
```
---
```1c
    Товары1 = Объект.ТабличнаяЧасть1.Выгрузить();
    Товары2 = Объект.ТабличнаяЧасть2.Выгрузить();
    Если Товары1.Количество() + Товары2.Количество() >12 тогда
    ЕстьУслуги = Истина;
```
---
```1c
    Товары1 = Объект.ТабличнаяЧасть1.Выгрузить();
    Товары2 = Объект.ТабличнаяЧасть2.Выгрузить();
    Если Товары1.Количество() + Товары2.Количество() >12 тогда
    ЕстьУслуги = Истина;
```
---
Сейчас попробую
---
можно счетчик в цикле запустить и если допустим значение счетчика равно нужному количеству, тогда на этом листе хватит.
я бы на скорую руку так сделал
---
, (4) На форме есть даже :
            Объект.ТабличнаяЧасть1.КоличествоСтрок
            Объект.ТабличнаяЧасть2.КоличествоСтрок
            может использовать их сумму в качестве контроля?
---
можно адаптировать то что я выше писал, с количеством строк.
Тут смотрите, как будет удобнее.
дело в том, что количество строк у вас считается в цикле, и данные наполняются в ПФ.
А вам бы до момента наполнения проставить "Истина/ЛОЖЬ", поэтому я предложил вариант с Выгрузить, при таком раскладе без циклов вы получите количетство строк, и более того, дальше в коде можно использовать Товары1 и Товары2 в качестве источника информации не нагружая сервер обращениями к ТЧ документа в цикле.
---
Премного благодарен!
Всё работает!