Вход | Регистрация
 

Создать excel файл

Создать excel файл
Я
   ArturDoo
 
13.01.22 - 16:19
Доброго дня. Нужно создать новый ексель табличным документом. Для получения пути использую диалоговое окно:
&НаКлиенте
Процедура Excel(Команда)
    Диалог = новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
    
        Если Диалог.Выбрать() Тогда
            ИмяКаталога = Диалог.ПолноеИмяФайла;
            Сообщить (ИмяКаталога);
        КонецЕсли;
        
     ЗаписатьВФайл (ИмяКаталога);
    
КонецПроцедуры

Записываю файл:

    ТабДок.Вывести(Область);
    Попытка
        ТабДок.Записать(Путь, ТипФайлаТабличногоДокумента.xlsx);
    Исключение
        
        Сообщить(ОписаниеОшибки());
    КонецПопытки;

Выдает ошибку: Ошибка при вызове метода контекста Записать, путь не найден.

Как исправить эту ошибку, подскажи, пожалуйста.
   arsik
 
1 - 13.01.22 - 16:22
Ты записываешь на сервере а путь указываешь на клиенте
   ArturDoo
 
2 - 13.01.22 - 16:24
(1) Перекинуть ТабДок на клиент нужно и там записывать?
   Kassern
 
3 - 13.01.22 - 16:28
(0) Помести табличный документ во временное хранилище и верни адрес этого хранилища на клиент. Далее на клиенте получи табличный документ из хранилища и запиши.
   Kassern
 
4 - 13.01.22 - 16:29
либо укажи сетевой путь, доступный для сервера, где кластер развернут
   Kassern
 
5 - 13.01.22 - 16:32
можно и не таб док, а сразу ДД созданного файла запихнуть во временное хранилище. На клиенте просто ДД=ПолучитьИзВременногоХранилища(Адрес) и ДД.Запистать(Путь)
   ArturDoo
 
6 - 13.01.22 - 16:35
(5) Как получить ДД файла, он же еще не создан? Почему нельзя воспользоваться ф-й и вернуть на клиент ТД?
   Kassern
 
7 - 13.01.22 - 16:37
(6) да все можно, только вот если ТД будет огромным (более 10тыс строк), то у вас зависнет все к чертям, хотя на сервере файл очень быстро создаться, а вот возрат на клиент будет оочень долгим. Тут либо на форму ТД вывести, либо на сервере записывать, либо временным хранилищем пользоваться
   Kassern
 
8 - 13.01.22 - 16:38
*создастся
   Kassern
 
9 - 13.01.22 - 16:39
вроде год назад была подобная ветка, мол почему на клиент долго ТД возвращается
   ArturDoo
 
10 - 13.01.22 - 16:44
(8) Спасибо большое, тогда суну ТД в ВХ и запишу на клиенте
   arsik
 
11 - 13.01.22 - 16:46
(6) Через поток в памяти можно и нужно, что бы лишний раз не дергать ФС сервера.
   ChMikle
 
12 - 13.01.22 - 17:34
можно путь к папке для записи расшарить для всех и указывать полный сетевой , а не локальный ...

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.