Имя: Пароль:
1C
1С v8
ГоризонтальныйРазделительСтраниц
,
0 Margo93
 
28.04.22
10:38
Добрый день ! Подскажите пожалуйста, почему ГоризонтальныйРазделительСтраниц ставится раньше и получается такая таблица:
Где ошибка ?

https://disk.yandex.ru/i/zAyVz5G_Taaefw

    ТабДокумент = Новый ТабличныйДокумент;
    Макет = ПолучитьМакет("Макет");
    ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_АктНаБрак8";
    ТабДокумент.ОтображатьСетку     = Ложь;
    ТабДокумент.ОтображатьЗаголовки = Ложь;
    ТабДокумент.ТолькоПросмотр      = Ложь;
    ТабДокумент.АвтоМасштаб         = Истина;
    ТабДокумент.ПолеСлева = 10;        
    ТабДокумент.ПолеСверху = 20;
    ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
        МассивОбластей = Новый Массив;
        МассивОбластей.Очистить();    

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

    Подвал = Макет.ПолучитьОбласть("Подвал");
    МассивОбластей.Добавить(Подвал);

    Если Не ТабДокумент.ПроверитьВывод(МассивОбластей) Тогда
        ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
    КонецЕсли;
    ТабДокумент.Вывести(Подвал);
1 unbred
 
28.04.22
10:49
дак ты не проверяй на вывод все области, которые уже выведены.
у меня есть 10 строк, я проверю, влезает ли у меня 21 строка. зачем?
2 Margo93
 
28.04.22
10:59
(1) Не поняла(
Я вывожу области, потом проверяю влезает ли область строка, нет - разделитель.
Разве нет ?
3 unbred
 
28.04.22
11:01
1строка + 1 строка  добавлена. ты проверяешь на вывод 2 строки. всё ок.
2 строки +1 строка добавлена, ты проверяешь на вывод 2+2+1 так понятно?
4 Margo93
 
28.04.22
11:05
(3) Понятно, большое спасибо!

Сделала так, вроде норм)

    КонецЕсли;
        ТабДокумент.Вывести(Строка);

//+
        МассивОбластей.Очистить()
//    
    КонецЦикла;
2 + 2 = 3.9999999999999999999999999999999...