0
Eeelena
03.03.21
✎
11:09
|
Клиент серверная база ERP , на сервере операционка Linux
Есть обработка самописная, которая считывает данные из Ексель. При выборе файла для загрузки на клиенте ругается, что нет доступа к файлу. Если эту же базу сделать файловой на Винде, загрузка проходит без проблем.
Подскажите куда копать ? По серверной части не очень разбираюсь.
|
|
1
ДенисЧ
03.03.21
✎
11:10
|
На клиенте получать имя файла, пихать его в ХЗ, ХЗ передавать на сервер.
На сервере получать из ХЗ, записывать во временный, полученный временный обрабатывать.
|
|
3
Михаил Козлов
03.03.21
✎
11:58
|
Если файл на клиенте, примерно так:
&НаКлиенте
Процедура ЗагрузитьДанные(Команда)
ОчиститьСообщения();
АдресФайлаВоВременномХранилище = "";
ОписаниеОповещения = Новый ОписаниеОповещения("ЗагрузитьДанныеЗавершение", ЭтотОбъект);
НачатьПомещениеФайла(ОписаниеОповещения, АдресФайлаВоВременномХранилище,Объект.ВыбранноеИмяФайла,, УникальныйИдентификатор);
КонецПроцедуры
&НаКлиенте
Процедура ЗагрузитьДанныеЗавершение(Результат, Адрес, ВыбранноеИмяФайла, ДополнительныеПараметры) Экспорт
Если Результат Тогда
//Состояние(Нстр("ru = 'Выполняется загрузка данных. Пожалуйста, подождите...'"));
Объект.ВыбранноеИмяФайла = ВыбранноеИмяФайла;
Файл = Новый Файл(ВыбранноеИмяФайла);
Если Не Файл.Существует() Тогда
ТекстСообщения = Нстр("ru = 'Указанный файл не существует'");
СообщитьПользователю(ТекстСообщения);
Возврат;
КонецЕсли;
ЗагрузитьДанныеНаСервере(Адрес, Файл.Расширение);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ЗагрузитьДанныеНаСервере(АдресФайлаВоВременномХранилище, Расширение)
ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресФайлаВоВременномХранилище);
ИмяВременногоФайла = ПолучитьИмяВременногоФайла(Расширение);
ДвоичныеДанные.Записать(ИмяВременногоФайла);
Объект.табДокумент.Прочитать(ИмяВременногоФайла, СпособЧтенияЗначенийТабличногоДокумента.Текст);
Файл = Новый Файл(ИмяВременногоФайла);
Если Файл.Существует() Тогда
УдалитьФайлы(ИмяВременногоФайла);
КонецЕсли;
//СообщитьПользователю(Нстр("ru = 'Загрузка данных успешно завершена'"));
КонецПроцедуры
|
|