Имя: Пароль:
1C
1С v8
Проблема с выводом ТЗ в ТД
0 Vladislava-smile
 
07.07.16
22:56
ИмяФайла = "Номенклатура сводного заказа.xls";
СоздатьКаталог("C:\1C\tmp");
ПутьКФайлу = "C:\1C\tmp\" + Имяфайла;

ТабДокумент = Новый ТабличныйДокумент;
Построитель = Новый ПостроительОтчета;
Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТЗТовары);      
Построитель.Вывести(ТабДокумент);
ТабДокумент.Показать();
ТабДокумент.Записать(ПутьКФайлу, ТипФайлаТабличногоДокумента.XLS);


У меня он записывает таблицу начиная с 4 строки  2 колонки, подскажите как правильно заполнять без макета?
1 Garykom
 
гуру
07.07.16
23:02
По клеточкам
2 youalex
 
07.07.16
23:04
Попробуйте ТипФайлаТабличногоДокумента.XLSX

Или с настройками Построителя поиграться. ВыводитьЗаголовокОтчета, МакетОформления
3 youalex
 
07.07.16
23:06
зы. непонятно - проблема с выводом в ТД, или сохранением ТД в Иксель?
4 Vladislava-smile
 
07.07.16
23:24
все, что он показывает через построитель, то и копирует в ексель

Сделала так:

ИмяФайла = "Номенклатура сводного заказа.xls";
СоздатьКаталог("C:\1C\tmp");
ПутьКФайлу = "C:\1C\tmp\" + Имяфайла;

ТабДокумент = Новый ТабличныйДокумент;

Заголовки = Новый Структура;
ОбластьВывода = ТабДокумент.ПолучитьОбласть(1, 1, 1, ТЗТовары.Колонки.Количество());

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

ОбластьВывода.Параметры.Заполнить(Заголовки);
ТабДокумент.Вывести(ОбластьВывода);

Для каждого стр из ТЗТовары Цикл
    ОбластьВывода.Параметры.Заполнить(стр);
    ТабДокумент.Вывести(ОбластьВывода);
КонецЦикла;

ТабДокумент.Записать(ПутьКФайлу, ТипФайлаТабличногоДокумента.XLS);
5 RomanYS
 
07.07.16
23:37
(4) Генерация макета программно, красиво!
Но проще
1. Выпилить нужную область из выведенного построителем
2. Двойной цикл по строкам и колонкам Область.Текст = ...
6 Garykom
 
гуру
07.07.16
23:48
(5) Да тож насчет красиво хотел написать что далеко пойдет ;)

Как то про такое не подумал когда (1) видать старею ((
Ошибка? Это не ошибка, это системная функция.