|
Чтение файла на сервере | ☑ | ||
---|---|---|---|---|
0
13spartak13
20.10.20
✎
12:30
|
Имеется данный код;
&НаКлиенте Процедура ИмяФайлаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); Диалог.Заголовок = "Выберите Файл"; Диалог.ПолноеИмяФайла = ""; Диалог.Фильтр = "MS Excel|*.xls"; Диалог.МножественныйВыбор = Ложь; Если Диалог.Выбрать() Тогда ИмяФайла = Диалог.ПолноеИмяФайла; КонецЕсли; ФайлИмя = ИмяФайла; лФайл = Новый ДвоичныеДанные(ФайлИмя); Адрес = ПоместитьВоВременноеХранилище(лФайл, Новый УникальныйИдентификатор); ПолучитьРезультат(Адрес); КонецПроцедуры &НаСервере Процедура ПолучитьРезультат(Адрес) Период = ДатаФормирования; Состояние = Перечисления.СостоянияРаботникаОрганизации.Работает; ВидЗанятости = Перечисления.ВидыЗанятостиВОрганизации.ОсновноеМестоРаботы; Категория = Справочники.КатегорииОбъектов.НайтиПоНаименованию("Мира,37"); Файл = ПолучитьИмяВременногоФайла("xls"); пФайл = ПолучитьИзВременногоХранилища(Адрес); пФайл.Записать(Файл); ТабличныйДокумент = Новый ТабличныйДокумент; ТабличныйДокумент.Прочитать(Файл); УдалитьФайлы(Файл); КонецПроцедуры Выдает: "Ошибка при выполнении файловой операции". Клиент-серверная версия. Что можно сделать? |
|||
1
ZDenis
20.10.20
✎
12:47
|
(0) На какой строке ругается то? Может файл открыт или не выбран
|
|||
2
13spartak13
20.10.20
✎
12:49
|
(1) ТабличныйДокумент.Прочитать(Файл);
|
|||
3
ДенисЧ
20.10.20
✎
12:51
|
Поставь ТО на эту строчку и глазами посмотри на записанный файл. Он в порядке?
|
|||
4
13spartak13
20.10.20
✎
12:53
|
(3) Впорядке, на файловой все работает, клиент-сервер такая ошибка
|
|||
5
ZDenis
20.10.20
✎
12:54
|
(1) А так что скажет?
Попытка ТабличныйДокумент.Прочитать(Файл); Исключение Сообщить(ОписаниеОшибки(), СтатусСообщения.Внимание); КонецПопытки; |
|||
6
arsik
гуру
20.10.20
✎
12:59
|
(2) Может файл еще не передался на сервер?
|
|||
7
ДенисЧ
20.10.20
✎
13:01
|
(4) Так смотреть надо там, где ошибка возникает. А не искать потерю под фонарём, потому что там светлее
|
|||
8
Жан Пердежон
20.10.20
✎
13:02
|
попробуй:
Адрес = ПоместитьВоВременноеХранилище(лФайл, УникальныйИдентификатор); |
|||
9
13spartak13
20.10.20
✎
13:10
|
(8) не помогает
(6) файл передался |
|||
10
Жан Пердежон
20.10.20
✎
13:12
|
может файл левый (не xls)?
|
|||
11
ZDenis
20.10.20
✎
13:31
|
Сделай
На клиенте //УдалитьФайлы(Файл); На сервере Файл = ПолучитьИмяВременногоФайла("xls"); пФайл = ПолучитьИзВременногоХранилища(Адрес); пФайл.Записать(Файл); Сообщить(Файл); Далее все закомментируй и попробуй открыть сам файл на серваке по указанному пути. Откроется он? |
|||
12
ZDenis
20.10.20
✎
13:32
|
А хотя на клиенте то зачем трогать, не надо)
|
|||
13
13spartak13
20.10.20
✎
13:51
|
Всем спасибо, нашел выход без передачи файла на сервер (походу проблемы с работой через RDP и правами доступа). Просто обрабатываю EXEL на клиенте и закидываю на ТЗ объекта.
|
|||
14
13spartak13
20.10.20
✎
13:51
|
(13) А уже с ней не проблема работать на сервере
|
|||
15
Kassern
20.10.20
✎
15:54
|
(0) А расширение точно совпадает с расширением временного файла(xls)? Лучше поэтому передавать еще и расширение файла на сервер. Если к примеру файл xlsx, а вы временный файл создаете с расширением xls, то у вас не получится прочитать табличный документ...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |