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