Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Чтение файла на сервере

Чтение файла на сервере
Я
   13spartak13
 
20.10.20 - 12:30
Имеется данный код;

&НаКлиенте
Процедура ИмяФайлаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    
    Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
    Диалог.Заголовок = "Выберите Файл";
    Диалог.ПолноеИмяФайла = "";
        Диалог.Фильтр = "MS Excel|*.xls";
        Диалог.МножественныйВыбор = Ложь;
    Если Диалог.Выбрать() Тогда
        ИмяФайла = Диалог.ПолноеИмяФайла;
    КонецЕсли;
    ФайлИмя = ИмяФайла;
    
        
    лФайл = Новый ДвоичныеДанные(ФайлИмя);
    Адрес = ПоместитьВоВременноеХранилище(лФайл, Новый УникальныйИдентификатор);
    ПолучитьРезультат(Адрес);
    
    

        
КонецПроцедуры

&НаСервере
Процедура ПолучитьРезультат(Адрес)
    
Период = ДатаФормирования;    
Состояние = Перечисления.СостоянияРаботникаОрганизации.Работает;
ВидЗанятости = Перечисления.ВидыЗанятостиВОрганизации.ОсновноеМестоРаботы;
Категория = Справочники.КатегорииОбъектов.НайтиПоНаименованию("Мира,37");

Файл = ПолучитьИмяВременногоФайла("xls");
пФайл = ПолучитьИзВременногоХранилища(Адрес);
пФайл.Записать(Файл);


    ТабличныйДокумент = Новый ТабличныйДокумент;
       ТабличныйДокумент.Прочитать(Файл);
    УдалитьФайлы(Файл);
КонецПроцедуры

Выдает: "Ошибка при выполнении файловой операции". Клиент-серверная версия. Что можно сделать?
   ZDenis
 
1 - 20.10.20 - 12:47
(0) На какой строке ругается то? Может файл открыт или не выбран
   13spartak13
 
2 - 20.10.20 - 12:49
(1) ТабличныйДокумент.Прочитать(Файл);
   ДенисЧ
 
3 - 20.10.20 - 12:51
Поставь ТО на эту строчку и глазами посмотри на записанный файл. Он в порядке?
   13spartak13
 
4 - 20.10.20 - 12:53
(3) Впорядке, на файловой все работает, клиент-сервер такая ошибка
   ZDenis
 
5 - 20.10.20 - 12:54
(1) А так что скажет?
    Попытка
        
        ТабличныйДокумент.Прочитать(Файл);    
    Исключение
        Сообщить(ОписаниеОшибки(), СтатусСообщения.Внимание);
    КонецПопытки;
   arsik
 
6 - 20.10.20 - 12:59
(2) Может файл еще не передался на сервер?
   ДенисЧ
 
7 - 20.10.20 - 13:01
(4) Так смотреть надо там, где ошибка возникает. А не искать потерю под фонарём, потому что там светлее
   Жан Пердежон
 
8 - 20.10.20 - 13:02
попробуй:
Адрес = ПоместитьВоВременноеХранилище(лФайл, УникальныйИдентификатор);
   13spartak13
 
9 - 20.10.20 - 13:10
(8) не помогает
(6) файл передался
   Жан Пердежон
 
10 - 20.10.20 - 13:12
может файл левый (не xls)?
   ZDenis
 
11 - 20.10.20 - 13:31
Сделай

На клиенте
//УдалитьФайлы(Файл);


На сервере
Файл = ПолучитьИмяВременногоФайла("xls");
пФайл = ПолучитьИзВременногоХранилища(Адрес);
пФайл.Записать(Файл);

Сообщить(Файл);

Далее все закомментируй и попробуй открыть сам файл на серваке по указанному пути. Откроется он?
   ZDenis
 
12 - 20.10.20 - 13:32
А хотя на клиенте то зачем трогать, не надо)
   13spartak13
 
13 - 20.10.20 - 13:51
Всем спасибо, нашел выход без передачи файла на сервер (походу проблемы с работой через RDP и правами доступа). Просто обрабатываю EXEL на клиенте и закидываю на ТЗ объекта.
   13spartak13
 
14 - 20.10.20 - 13:51
(13) А уже с ней не проблема работать на сервере
   Kassern
 
15 - 20.10.20 - 15:54
(0) А расширение точно совпадает с расширением временного файла(xls)? Лучше поэтому передавать еще и расширение файла на сервер. Если к примеру файл xlsx, а вы временный файл создаете с расширением xls, то у вас не получится прочитать табличный документ...

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