diff --git a/Configuration.xml b/Configuration.xml
index 9b9fe47..07998d6 100755
--- a/Configuration.xml
+++ b/Configuration.xml
@@ -56,7 +56,7 @@
Russian
ООО "Профи-Софт", код партнера 42575-13, г.Байконур.
- 3.0.0.104
+ 3.0.0.105
Language.Русский
diff --git a/DataProcessors/ЗагрузкаДанныхИзExcel/Forms/Форма/Ext/Form/Module.bsl b/DataProcessors/ЗагрузкаДанныхИзExcel/Forms/Форма/Ext/Form/Module.bsl
index 47fee9c..b009c3b 100644
--- a/DataProcessors/ЗагрузкаДанныхИзExcel/Forms/Форма/Ext/Form/Module.bsl
+++ b/DataProcessors/ЗагрузкаДанныхИзExcel/Forms/Форма/Ext/Form/Module.bsl
@@ -39,7 +39,21 @@
Возврат;
КонецЕсли;
Состояние("Загрузка файла...");
- АдресТабДока = ЗагрузитьФайлНаСервере(Объект.ПутьКФайлу);
+ // Определяем тип файла на клиенте (перечисление доступно)
+ Расширение = НРег(Новый Файл(Объект.ПутьКФайлу).Расширение);
+ Если Расширение = ".xlsx" ИЛИ Расширение = ".xlsm" Тогда
+ ТипФайла = 3; // ТипФайлаТабличногоДокумента.XLSX
+ ИначеЕсли Расширение = ".xls" Тогда
+ ТипФайла = 2; // ТипФайлаТабличногоДокумента.XLS
+ ИначеЕсли Расширение = ".mxl" Тогда
+ ТипФайла = 1; // ТипФайлаТабличногоДокумента.MXL
+ ИначеЕсли Расширение = ".csv" Тогда
+ ТипФайла = 4; // ТипФайлаТабличногоДокумента.CSV
+ Иначе
+ Сообщить("Неподдерживаемый формат: " + Расширение);
+ Возврат;
+ КонецЕсли;
+ АдресТабДока = ЗагрузитьФайлНаСервере(Объект.ПутьКФайлу, ТипФайла);
Если АдресТабДока = Неопределено Тогда
Сообщить("Ошибка загрузки файла!");
Возврат;
@@ -182,16 +196,19 @@
#Область СерверныеПроцедуры
&НаСервереБезКонтекста
-Функция ЗагрузитьФайлНаСервере(ПутьКФайлу) Экспорт
+Функция ЗагрузитьФайлНаСервере(ПутьКФайлу, ТипФайла = Неопределено) Экспорт
ФайлНаДиске = Новый Файл(ПутьКФайлу);
Если Не ФайлНаДиске.Существует() Тогда Сообщить("Файл не найден: " + ПутьКФайлу); Возврат Неопределено; КонецЕсли;
- // Копируем файл во временную папку для чтения сервером
ВремКаталог = КаталогВременныхФайлов();
ИмяФайла = "temp_load" + Формат(ТекущаяДатаСеанса(), "ДФ=yyyyMMddHHmmss") + ФайлНаДиске.Расширение;
ПутьВрем = ВремКаталог + ИмяФайла;
КопироватьФайл(ПутьКФайлу, ПутьВрем);
ТаблДок = Новый ТабличныйДокумент;
- ТаблДок.Прочитать(ПутьВрем);
+ Если ЗначениеЗаполнено(ТипФайла) Тогда
+ ТаблДок.Прочитать(ПутьВрем, ТипФайла);
+ Иначе
+ ТаблДок.Прочитать(ПутьВрем);
+ КонецЕсли;
УдалитьФайлы(ПутьВрем);
Возврат ПоместитьВоВременноеХранилище(ТаблДок);
КонецФункции