ТабДок = Новый ТабличныйДокумент;
Построитель = Новый ПостроительОтчета();
*** Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТаблицаОтчета);
Построитель.ВыводитьЗаголовокОтчета = Ложь;
Построитель.Вывести(ТабДок );
ТабДок.Записать(ИмяФайла,ТипФайлаТабличногоДокумента.XLSX);
При выполнении пишет ошибку на строке *** "Несоответствие типов (Параметр № '1')".
ТаблицаОтчета не пустая, в этой процедуре (код выше и не скопировал) заполняется...
Сама строка точно также пишется в https://its.1c.ru/db/metod8dev#content:2240:hdoc
(4) Я всегда знал, что танцы с бубном и "не верь глазам своим" - другого определения 1С-программированию нет. Жаль картинки не приклеить. Ваш подход сработал. Но ... *** .... пииииии. Я же вижу в конфигураторе, что ТаблицаОтчета - ТАБЛИЦАЗНАЧЕНИЙ, я сам ее делал. А вот отладчик показывает ДАННЫЕФОРМЫКОЛЛЕКЦИЯ! А вот после ТЗ = ТаблицаОтчета.Выгрузить(); сама ТЗ показывается как ТАБЛИЦАЗНАЧЕНИЙ и все работает!!!
Наверное, я многого в 1С-е не понимаю. Трудновато с сертификатом по сиквелу 2005 с 1с-ом справляться.
Спасибо!
Все получилось, в файл выгружается,но... Эксель его открывает с предупреждением, что формат файла не соответствует его расширению. Но все-таки открывает и работать можно.
(7) Сформированный файл имеет расширение (добавляется автоматически, я указываю в диалоге только имя) - xlsx. но... Винды не распознают его как файл Эксель - в файловых менеджерах иконка, как у неизвестного типа. На "два щелчка" не открывается, что естественно. В Экселе открывается с предупреждением (выше уже его цитировал) и, в принципе, работает. Но вид таблиц кривой до безобразия. В задаче отчеты не нужны как таковые - так что и так сойдет. Но для себя в следующий раз буду делать через OLE.
Не глупи! Это тяжело и лишне. Десятки людей подтвердят, что сотни раз сохраняли свои отчеты в Экселе и они нормально читались.
Я бы советовал:
- сделать на другом компе. Нет иконки - значит настройка ОС сбилась.
- а еще есть вариант. Вместо:
ТабДок.Записать(ИмяФайла,ТипФайлаТабличногоДокумента.XLSX);
Сделать:
ТабДок.Записать(ИмяФайла,ТипФайлаТабличногоДокумента.XLS97);
и файлу задать имя "XLS"
В конце-концов - глянуть файл редактором. по первым буквам будет видно: это точно Эксель?
Может это одиэсовский MXL, только назван как XLS. Такие Эксель тоже может читать.
(9)Спасибо, попробовал. Без проблем сформировался, распознался виндами, открылся экселем, но потребовал приведения в "божеский" вид (длина колонок, высота строк, шрифты и пр.).