Имя: Пароль:
1C
1С v8
Развернуть ТабДок на всю страницу
0 dimonderman
 
05.09.13
18:12
Здравствуйте, есть ТабДок сформированный СКД, нужно выводить его на весь
лист чтобы напечатать его по размеру листа. ТабДок формируется динамично...тоисть его размеры при печати постоянно меняются в зависимости от даных ввода.  

Вот код :
Функция  ПечатьНаСервере(МассивКультура,МассивСПП,МассивТрактористы, КолХодок)
.
.
.код
.
Запрос = Новый Запрос;
    МВТ = Новый МенеджерВременныхТаблиц;
    Запрос.МенеджерВременныхТаблиц = МВТ;
    Запрос.УстановитьПараметр("ТабСПП",ТаблицаСПП);
    Запрос.УстановитьПараметр("ТабТрактористы",ТаблицаТрактористы);
    Запрос.УстановитьПараметр("ТабКультура",ТаблицаКультура);
    Запрос.УстановитьПараметр("ТабчастьХодка",ТаблицаХодок);

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



Код вывода ПОЛЬЗОВАТЕЛЮ:

Процедура ПечатьПустографки(Команда)
КоличествоХодок = ЭтаФорма.КоличествоХодок;    
ТабДок = ПечатьНаСервере(МассивКультура,МассивСПП,МассивТрактористы, КоличествоХодок);
ТабДок.ИмяПараметровПечати = Дата(ТекущаяДата());
ТабДок.ОриентацияСтраницы=ОриентацияСтраницы.Ландшафт;
ТабДок.ЧерноБелыйПросмотр=Истина;
ТабДок.ЧерноБелаяПечать = Истина;
ТабДок.АвтоМасштаб = Истина;

ТабДок.Показать();

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