Имя: Пароль:
1C
1С v8
Ошибка при выгрузке в Excel файл.
, , ,
0 Buzztekk
 
29.01.19
11:58
Добрый день. Подскажите пожалуйста в чем дело.
Есть самописная выгрузка. Выгружаю данные в ексель
и при попытке сохранить эксель файл пишет это:
Ошибка при выполнении файловой операции .... Путь %1 не найден

https://cdn1.savepice.ru/uploads/2019/1/29/9390a16244011ba46034e49e3cdfb13e-full.png



ТЗОбщ = ВыбратьВсеОтраженияЗаПериод();
    
    Сообщить (" Файл создан") ;
    
    ИмяФайла="C:\Обмен\Организации.xls";
    //Запись в Эксель
    ТабДок = Новый ТабличныйДокумент;
    
    Построитель = Новый ПостроительОтчета();

    Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТЗОбщ);
    Построитель.ВыводитьЗаголовокОтчета = Ложь;
    Построитель.Вывести(ТабДок );
    ТабДок.Записать(ИмяФайла,ТипФайлаТабличногоДокумента.XLS97);
    //Запись в Эксель

    
    ТабличныйДокумент = Новый ТабличныйДокумент;
    Макет = РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет");

    Шапка = Макет.ПолучитьОбласть("Шапка");
    Строка = Макет.ПолучитьОбласть("Строка");
    
    ТабличныйДокумент.Вывести(Шапка);
    
    Для Каждого Проводка Из ТЗОбщ Цикл
        ЗаполнитьЗначенияСвойств(Строка.Параметры, Проводка);
        ТабличныйДокумент.Вывести(Строка);
    КонецЦикла;
    
    Возврат ТабличныйДокумент;
1 Мыш
 
29.01.19
12:06
(0) На сервере?
2 IvanGorbunov
 
29.01.19
12:17
Попробуйте заменить тип на вот этот ТипФайлаТабличногоДокумента.XLS
3 Buzztekk
 
29.01.19
14:08
(1) Попробовал на сервере - заработало!

А Можно сделать, чтобы сохраняло на клиенте?
4 Мыш
 
29.01.19
14:17
(3) Вернуть табличный документ на клиента и сохранять там.
5 ChMikle
 
29.01.19
14:20
"C:\Обмен\" папку создайте на компе где выгружать будете
6 Buzztekk
 
01.02.19
15:04
Не понимаю, почему-то не удается передать ТЗ с Сервера на Клиент.

&НаКлиенте
Процедура Выгрузить(Команда)
ТЗ = ВыбратьВсеОтраженияЗаПериод();
КонецПроцедуры

&НаСервере
Функция ВыбратьВсеОтраженияЗаПериод();
.... тут формируется ТЗОбщ
Возврат (ТЗОбщ)
КонецФункции

Ошибка:
{ВнешняяОбработка.ВыгрузкаПроводокИзЗУП31.Форма.Форма.Форма(824)}: Ошибка при вызове метода контекста (ВыбратьВсеОтраженияЗаПериод)
    ТЗ = ВыбратьВсеОтраженияЗаПериод();
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: ret    Форма: Элемент    Тип: {http://www.w3.org/2001/XMLSchema}anyType
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа '{http://v8.1c.ru/8.1/data/cor
7 ДенисЧ
 
01.02.19
15:05
(6) Потому что таблицы значений на клиенте не существует
8 Buzztekk
 
01.02.19
15:06
А если я создам на форме реквизит типа таблица значений?
9 ДенисЧ
 
01.02.19
15:07
(8) Лучше табличную часть обработки
10 Buzztekk
 
01.02.19
15:08
Т.е. создать реквизит с типом табличная часть
И присвоить этому реквизиту Табличную часть возвращаему сервером?
11 ДенисЧ
 
01.02.19
15:12
(10) Не присвоить, а заполнить. На сервере
12 Buzztekk
 
01.02.19
15:28
(11)    ДенисЧ, Спасибо.