Как в управляемой форме.внешней обработки/отчета (*.epf) вывести на печать таблицу значений созданную программно и так же выведенную на форму программно (1С.8.3.15.34, 1С Бух 3.0.70.52) ?
---
Что значит "выведенную на форму программно"? Реквизит формы с типом ТаблицаЗначений изначально существует или создается программно? Если существует, просто выведите его стандартную команду "Вывести список..." на форму.
Иначе Вариант 1:
```1c
    &НаКлиенте
    Процедура ВывестиНаПечать(Команда)
    ТабДок = ВывестиНаПечатьНаСервере();
    ТабДок.Показать();
    КонецПроцедуры

    &НаСервере
    Функция ВывестиНаПечатьНаСервере()
    ТЗ = РеквизитФормыВЗначение("Реквизит1");
    ПостроительОтчета = Новый ПостроительОтчета;
    ПостроительОтчета.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТЗ);

    ТабДок = Новый ТабличныйДокумент;
    ПостроительОтчета.Вывести(ТабДок);
    Возврат ТабДок
    КонецФункции
```
Вариант 2:
```1c
    &НаКлиенте
    Процедура ВывестиНаПечать2(Команда)
    ТабДок = ВывестиНаПечатьНаСервере2();
    ТабДок.Показать();
    КонецПроцедуры

    &НаСервере
    Функция ВывестиНаПечатьНаСервере2()
    ТЗ = РеквизитФормыВЗначение("Реквизит1");

    ТабДок = Новый ТабличныйДокумент;
    Сч = 1;
    Для Каждого Колонка Из ТЗ.Колонки Цикл
    ТабДок.Область(1, Сч).Текст = Колонка.Имя;
    Сч = Сч + 1
    КонецЦикла;

    КоличествоКолонок = ТЗ.Колонки.Количество();

    ТекущаяСтрока = 2;
    Для Каждого Стр Из ТЗ Цикл
    Для Сч = 1 По КоличествоКолонок Цикл
    ТабДок.Область(ТекущаяСтрока, Сч).Текст = Стр[Сч - 1];
    КонецЦикла;
    ТекущаяСтрока = ТекущаяСтрока + 1;
    КонецЦикла;

    Возврат ТабДок
    КонецФункции
```
---
Считать все в таб.док, и дальше делать все что нужно
---
Что значит "выведенную на форму программно"? Реквизит формы с типом ТаблицаЗначений изначально существует или создается программно? Если существует, просто выведите его стандартную команду "Вывести список..." на форму.
Иначе Вариант 1:
```1c
    &НаКлиенте
    Процедура ВывестиНаПечать(Команда)
    ТабДок = ВывестиНаПечатьНаСервере();
    ТабДок.Показать();
    КонецПроцедуры

    &НаСервере
    Функция ВывестиНаПечатьНаСервере()
    ТЗ = РеквизитФормыВЗначение("Реквизит1");
    ПостроительОтчета = Новый ПостроительОтчета;
    ПостроительОтчета.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТЗ);

    ТабДок = Новый ТабличныйДокумент;
    ПостроительОтчета.Вывести(ТабДок);
    Возврат ТабДок
    КонецФункции
```
Вариант 2:
```1c
    &НаКлиенте
    Процедура ВывестиНаПечать2(Команда)
    ТабДок = ВывестиНаПечатьНаСервере2();
    ТабДок.Показать();
    КонецПроцедуры

    &НаСервере
    Функция ВывестиНаПечатьНаСервере2()
    ТЗ = РеквизитФормыВЗначение("Реквизит1");

    ТабДок = Новый ТабличныйДокумент;
    Сч = 1;
    Для Каждого Колонка Из ТЗ.Колонки Цикл
    ТабДок.Область(1, Сч).Текст = Колонка.Имя;
    Сч = Сч + 1
    КонецЦикла;

    КоличествоКолонок = ТЗ.Колонки.Количество();

    ТекущаяСтрока = 2;
    Для Каждого Стр Из ТЗ Цикл
    Для Сч = 1 По КоличествоКолонок Цикл
    ТабДок.Область(ТекущаяСтрока, Сч).Текст = Стр[Сч - 1];
    КонецЦикла;
    ТекущаяСтрока = ТекущаяСтрока + 1;
    КонецЦикла;

    Возврат ТабДок
    КонецФункции
```
---
Реквизит формы с типом ТаблицаЗначений изначально существует, например как в Вашем примере "Реквизит1" , но колонки формируются программно, а не заданы как у Вас Реквизит1,Реквизит2,Реквизит13.
---
Спасибо, что откликнулись!
---
И еще вопрос как вывести не имя колонки а заголовок ?