diff --git a/Configuration.xml b/Configuration.xml
index ecbc10a..18df647 100755
--- a/Configuration.xml
+++ b/Configuration.xml
@@ -56,7 +56,7 @@
Russian
ООО "Профи-Софт", код партнера 42575-13, г.Байконур.
- 3.0.0.109
+ 3.0.0.110
Language.Русский
diff --git a/DataProcessors/ЗагрузкаДанныхИзExcel/Forms/Форма/Ext/Form/Module.bsl b/DataProcessors/ЗагрузкаДанныхИзExcel/Forms/Форма/Ext/Form/Module.bsl
index 4574577..9ce4027 100644
--- a/DataProcessors/ЗагрузкаДанныхИзExcel/Forms/Форма/Ext/Form/Module.bsl
+++ b/DataProcessors/ЗагрузкаДанныхИзExcel/Forms/Форма/Ext/Form/Module.bsl
@@ -36,10 +36,12 @@
Сообщить("Выберите файл!");
Возврат;
КонецЕсли;
- Состояние("Загрузка и чтение файла...");
- Результат = ПрочитатьФайлНаСервере(Объект.ПутьКФайлу);
+ Состояние("Загрузка файла...");
+ АдресФайла = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(Объект.ПутьКФайлу), УникальныйИдентификатор);
+ Состояние("Чтение данных...");
+ Результат = ПрочитатьФайлНаСервере(АдресФайла);
Если Результат = Неопределено Тогда
- Сообщить("Ошибка загрузки файла!");
+ Сообщить("Ошибка чтения файла!");
Возврат;
КонецЕсли;
// Заполняем реквизиты формы
@@ -69,23 +71,23 @@
#Область СерверныеПроцедуры
-// Главная функция: читает Excel файл целиком на сервере и возвращает структуру результатов
+// Главная функция: читает Excel файл из временного хранилища на сервере
&НаСервере
-Функция ПрочитатьФайлНаСервере(ПутьКФайлу) Экспорт
- ФайлНаДиске = Новый Файл(ПутьКФайлу);
- Если Не ФайлНаДиске.Существует() Тогда
- Сообщить("Файл не найден: " + ПутьКФайлу);
+Функция ПрочитатьФайлНаСервере(АдресФайла) Экспорт
+ ДД = ПолучитьИзВременногоХранилища(АдресФайла);
+ Если ДД = Неопределено Тогда
+ Сообщить("Файл не получен!");
Возврат Неопределено;
КонецЕсли;
- // Копируем во временный каталог (обход проблем с кириллицей)
+ // Сохраняем во временный файл на сервере
ВремКаталог = КаталогВременныхФайлов();
- ИмяФайла = "temp_load" + Формат(ТекущаяДатаСеанса(), "ДФ=yyyyMMddHHmmss") + ФайлНаДиске.Расширение;
- ПутьВрем = ВремКаталог + ИмяФайла;
- КопироватьФайл(ПутьКФайлу, ПутьВрем);
+ ПутьВрем = ВремКаталог + "temp_load.xlsx";
+ ДД.Записать(ПутьВрем);
// Читаем в ТабличныйДокумент
ТаблДок = Новый ТабличныйДокумент;
ТаблДок.Прочитать(ПутьВрем);
УдалитьФайлы(ПутьВрем);
+ УдалитьФайлы(ПутьВрем);
// Проверяем наличие листа "Расчет"
ЛистРасчет = Неопределено;