Выводит на печать произвольную ТЗ
//вариант 1
&НаКлиенте
Процедура ВывестиНаПечать(Команда)
ТабДок = ВывестиНаПечатьНаСервере();
ТабДок.Показать();
КонецПроцедуры
&НаСервере
Функция ВывестиНаПечатьНаСервере()
ТЗ = РеквизитФормыВЗначение("Реквизит1");
ПостроительОтчета = Новый ПостроительОтчета;
ПостроительОтчета.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТЗ);
ТабДок = Новый ТабличныйДокумент;
ПостроительОтчета.Вывести(ТабДок);
Возврат ТабДок
КонецФункции
//вариант 2
&НаКлиенте
Процедура ВывестиНаПечать2(Команда)
ТабДок = ВывестиНаПечатьНаСервере2();
ТабДок.Показать();
КонецПроцедуры
&НаСервере
Функция ВывестиНаПечатьНаСервере2()
ТЗ = РеквизитФормыВЗначение("Реквизит1");
ТабДок = Новый ТабличныйДокумент;
Сч = 1;
Для Каждого Колонка Из ТЗ.Колонки Цикл
ТабДок.Область(1, Сч).Текст = Колонка.Имя;
Сч = Сч + 1
КонецЦикла;
КоличествоКолонок = ТЗ.Колонки.Количество();
ТекущаяСтрока = 2;
Для Каждого Стр Из ТЗ Цикл
Для Сч = 1 По КоличествоКолонок Цикл
ТабДок.Область(ТекущаяСтрока, Сч).Текст = Стр[Сч - 1];
КонецЦикла;
ТекущаяСтрока = ТекущаяСтрока + 1;
КонецЦикла;
Возврат ТабДок
КонецФункции
Вывод произвольной Таблицы Значений в Табличный Документ
Транспонировать таблицу значений