Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

ЗУП3.1. Отчет Табель Т-13. Горизонтальный разделитель страниц

ЗУП3.1. Отчет Табель Т-13. Горизонтальный разделитель страниц
Я
   Sun125
 
19.03.19 - 14:03
Конфигурация ЗУП3.1.
Дорабатываю типовой отчет "Табель Т-13".
Нужно, чтобы последняя строка с сотрудником переносилась на следующую страницу, если подвал не помещается.
Такой код:
// дораб+
        ТабДок = Новый ТабличныйДокумент;
        ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
        ТабДок.АвтоМасштаб = Истина;
        ТабДок.Вывести(ОбластьШапка);
        ТабДок.Вывести(ОбластьШапкаТаблицы);
        ТабДок.Вывести(ОбластьДанныеОВремени);
// дораб-
            
        Для Каждого ДанныеПоСотруднику Из ДанныеПоОрганизации.Строки Цикл
            
// дораб+
            ТабДок.Вывести(ОбластьДанныеОВремени);
            Если ДанныеПоОрганизации.Строки[ДанныеПоОрганизации.Строки.Количество()-1] = ДанныеПоСотруднику Тогда
                КолСтраницДо = ТабДок.КоличествоСтраниц();
                ТабДок.Вывести(ОбластьПодвал);
                Если КолСтраницДо <> ТабДок.КоличествоСтраниц() Тогда
                    ДокументРезультат.ВывестиГоризонтальныйРазделительСтраниц();
                КонецЕсли;
            КонецЕсли;
// дораб-
            
            ВывестиДанныеПоСотруднику(ДокументРезультат, ОбластьДанныеОВремени, ОбластьШапкаТаблицы, ДанныеПоСотруднику, ТекущийЛист);
        КонецЦикла;    

В итоге РазделительСтраниц вставляется в табличный документ как будто два раза (При печати возникает пустой лист).
Подскажите,пожалуйста, в чем может быть ошибка?
 
 
   Sun125
 
1 - 19.03.19 - 14:27
(0)
В процедуре ВывестиОбласть()

// в отладчике ДокументРезультат.КоличествоСтраниц()=1

    ДокументРезультат.Вывести(ВыводимаяОбласть);  
// в отладчике ДокументРезультат.КоличествоСтраниц()=3
   Sun125
 
2 - 19.03.19 - 14:39
(0) Перед выводом везде где угодно установил Автомасштаб- не помогает все равно..

Процедура ВывестиОбласть(ДокументРезультат, ТекущийЛист, ВыводимаяОбласть, ПроверяемыеОбласти)  
    //Если Не ОбщегоНазначения.ПроверитьВыводТабличногоДокумента(ТекущийЛист, ПроверяемыеОбласти) Тогда              

    //    ТекущийЛист = Новый ТабличныйДокумент;

    //    ТекущийЛист.ОриентацияСтраницы = ДокументРезультат.ОриентацияСтраницы;

    //      ТекущийЛист.АвтоМасштаб = ДокументРезультат.АвтоМасштаб;

    //КонецЕсли;

    
    //ТекущийЛист.Вывести(ВыводимаяОбласть);

    ТекущийЛист.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
    ТекущийЛист.АвтоМасштаб = Истина;
    ВыводимаяОбласть.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
    ВыводимаяОбласть.АвтоМасштаб = Истина;
    ДокументРезультат.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
    ДокументРезультат.АвтоМасштаб = Истина;
    
    ДокументРезультат.Вывести(ВыводимаяОбласть);    
КонецПроцедуры
   Sun125
 
3 - 19.03.19 - 14:42
(0)
В процедуре ВывестиОбласть()

// в отладчике ДокументРезультат.КоличествоСтраниц()=1, ВыводимаяОбласть.КоличествоСтраниц()=1

    ДокументРезультат.Вывести(ВыводимаяОбласть);  
// в отладчике ДокументРезультат.КоличествоСтраниц()=3

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.