Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
12 дек 2024, 10:37

Не помещается тадличная часть на странице

Автор Pavel779, 11 дек 2012, 11:19

0 Пользователей и 1 гость просматривают эту тему.

Pavel779

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

MuI_I_Ika

Может зафиксировать высоту строки и проверять количество строк в табличной части. Старый проверенный метод.

Pavel779

Не подходит, высота строки постоянно меняется

wolf3d

Цитата: Pavel779 от 11 дек 2012, 16:32Не подходит, высота строки постоянно меняется
в свое время пришлось извращаться - считать длину строки и направлять ее в 3 разные секции в зависимости от длины. Ну а секции были разной высоты соответственно. Ну и как следствие считалось количество строк чтобы уместить на странице

Похожие темы (5)

Рейтинг@Mail.ru

Поиск