From 7346734a09f40d9578fe5128981fb52f86aee528 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D1=80=D0=BE=D1=84=D0=B8-=D0=A1=D0=BE=D1=84=D1=82?= Date: Tue, 21 Jul 2026 17:49:17 +0000 Subject: [PATCH] v3.0.0.105 --- Configuration.xml | 2 +- .../Forms/Форма/Ext/Form/Module.bsl | 25 ++++++++++++++++--- 2 files changed, 22 insertions(+), 5 deletions(-) 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") + ФайлНаДиске.Расширение; ПутьВрем = ВремКаталог + ИмяФайла; КопироватьФайл(ПутьКФайлу, ПутьВрем); ТаблДок = Новый ТабличныйДокумент; - ТаблДок.Прочитать(ПутьВрем); + Если ЗначениеЗаполнено(ТипФайла) Тогда + ТаблДок.Прочитать(ПутьВрем, ТипФайла); + Иначе + ТаблДок.Прочитать(ПутьВрем); + КонецЕсли; УдалитьФайлы(ПутьВрем); Возврат ПоместитьВоВременноеХранилище(ТаблДок); КонецФункции