v3.0.0.105

This commit is contained in:
Профи-Софт
2026-07-21 17:49:17 +00:00
parent 49a4b89f00
commit 7346734a09
2 changed files with 22 additions and 5 deletions
+1 -1
View File
@@ -56,7 +56,7 @@
<ScriptVariant>Russian</ScriptVariant> <ScriptVariant>Russian</ScriptVariant>
<DefaultRoles/> <DefaultRoles/>
<Vendor>ООО "Профи-Софт", код партнера 42575-13, г.Байконур.</Vendor> <Vendor>ООО "Профи-Софт", код партнера 42575-13, г.Байконур.</Vendor>
<Version>3.0.0.104</Version> <Version>3.0.0.105</Version>
<Caption/> <Caption/>
<ShortCaption/> <ShortCaption/>
<DefaultLanguage>Language.Русский</DefaultLanguage> <DefaultLanguage>Language.Русский</DefaultLanguage>
@@ -39,7 +39,21 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
Состояние("Загрузка файла..."); Состояние("Загрузка файла...");
АдресТабДока = ЗагрузитьФайлНаСервере(Объект.ПутьКФайлу); // Определяем тип файла на клиенте (перечисление доступно)
Расширение = НРег(Новый Файл(Объект.ПутьКФайлу).Расширение);
Если Расширение = ".xlsx" ИЛИ Расширение = ".xlsm" Тогда
ТипФайла = 3; // ТипФайлаТабличногоДокумента.XLSX
ИначеЕсли Расширение = ".xls" Тогда
ТипФайла = 2; // ТипФайлаТабличногоДокумента.XLS
ИначеЕсли Расширение = ".mxl" Тогда
ТипФайла = 1; // ТипФайлаТабличногоДокумента.MXL
ИначеЕсли Расширение = ".csv" Тогда
ТипФайла = 4; // ТипФайлаТабличногоДокумента.CSV
Иначе
Сообщить("Неподдерживаемый формат: " + Расширение);
Возврат;
КонецЕсли;
АдресТабДока = ЗагрузитьФайлНаСервере(Объект.ПутьКФайлу, ТипФайла);
Если АдресТабДока = Неопределено Тогда Если АдресТабДока = Неопределено Тогда
Сообщить("Ошибка загрузки файла!"); Сообщить("Ошибка загрузки файла!");
Возврат; Возврат;
@@ -182,16 +196,19 @@
#Область СерверныеПроцедуры #Область СерверныеПроцедуры
&НаСервереБезКонтекста &НаСервереБезКонтекста
Функция ЗагрузитьФайлНаСервере(ПутьКФайлу) Экспорт Функция ЗагрузитьФайлНаСервере(ПутьКФайлу, ТипФайла = Неопределено) Экспорт
ФайлНаДиске = Новый Файл(ПутьКФайлу); ФайлНаДиске = Новый Файл(ПутьКФайлу);
Если Не ФайлНаДиске.Существует() Тогда Сообщить("Файл не найден: " + ПутьКФайлу); Возврат Неопределено; КонецЕсли; Если Не ФайлНаДиске.Существует() Тогда Сообщить("Файл не найден: " + ПутьКФайлу); Возврат Неопределено; КонецЕсли;
// Копируем файл во временную папку для чтения сервером
ВремКаталог = КаталогВременныхФайлов(); ВремКаталог = КаталогВременныхФайлов();
ИмяФайла = "temp_load" + Формат(ТекущаяДатаСеанса(), "ДФ=yyyyMMddHHmmss") + ФайлНаДиске.Расширение; ИмяФайла = "temp_load" + Формат(ТекущаяДатаСеанса(), "ДФ=yyyyMMddHHmmss") + ФайлНаДиске.Расширение;
ПутьВрем = ВремКаталог + ИмяФайла; ПутьВрем = ВремКаталог + ИмяФайла;
КопироватьФайл(ПутьКФайлу, ПутьВрем); КопироватьФайл(ПутьКФайлу, ПутьВрем);
ТаблДок = Новый ТабличныйДокумент; ТаблДок = Новый ТабличныйДокумент;
Если ЗначениеЗаполнено(ТипФайла) Тогда
ТаблДок.Прочитать(ПутьВрем, ТипФайла);
Иначе
ТаблДок.Прочитать(ПутьВрем); ТаблДок.Прочитать(ПутьВрем);
КонецЕсли;
УдалитьФайлы(ПутьВрем); УдалитьФайлы(ПутьВрем);
Возврат ПоместитьВоВременноеХранилище(ТаблДок); Возврат ПоместитьВоВременноеХранилище(ТаблДок);
КонецФункции КонецФункции