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