v3.0.0.110

This commit is contained in:
Профи-Софт
2026-07-23 04:21:14 +00:00
parent f1796f537a
commit aa3c4401ce
2 changed files with 15 additions and 13 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.109</Version> <Version>3.0.0.110</Version>
<Caption/> <Caption/>
<ShortCaption/> <ShortCaption/>
<DefaultLanguage>Language.Русский</DefaultLanguage> <DefaultLanguage>Language.Русский</DefaultLanguage>
@@ -36,10 +36,12 @@
Сообщить("Выберите файл!"); Сообщить("Выберите файл!");
Возврат; Возврат;
КонецЕсли; КонецЕсли;
Состояние("Загрузка и чтение файла..."); Состояние("Загрузка файла...");
Результат = ПрочитатьФайлНаСервере(Объект.ПутьКФайлу); АдресФайла = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(Объект.ПутьКФайлу), УникальныйИдентификатор);
Состояние("Чтение данных...");
Результат = ПрочитатьФайлНаСервере(АдресФайла);
Если Результат = Неопределено Тогда Если Результат = Неопределено Тогда
Сообщить("Ошибка загрузки файла!"); Сообщить("Ошибка чтения файла!");
Возврат; Возврат;
КонецЕсли; КонецЕсли;
// Заполняем реквизиты формы // Заполняем реквизиты формы
@@ -69,23 +71,23 @@
#Область СерверныеПроцедуры #Область СерверныеПроцедуры
// Главная функция: читает Excel файл целиком на сервере и возвращает структуру результатов // Главная функция: читает Excel файл из временного хранилища на сервере
&НаСервере &НаСервере
Функция ПрочитатьФайлНаСервере(ПутьКФайлу) Экспорт Функция ПрочитатьФайлНаСервере(АдресФайла) Экспорт
ФайлНаДиске = Новый Файл(ПутьКФайлу); ДД = ПолучитьИзВременногоХранилища(АдресФайла);
Если Не ФайлНаДиске.Существует() Тогда Если ДД = Неопределено Тогда
Сообщить("Файл не найден: " + ПутьКФайлу); Сообщить("Файл не получен!");
Возврат Неопределено; Возврат Неопределено;
КонецЕсли; КонецЕсли;
// Копируем во временный каталог (обход проблем с кириллицей) // Сохраняем во временный файл на сервере
ВремКаталог = КаталогВременныхФайлов(); ВремКаталог = КаталогВременныхФайлов();
ИмяФайла = "temp_load" + Формат(ТекущаяДатаСеанса(), "ДФ=yyyyMMddHHmmss") + ФайлНаДиске.Расширение; ПутьВрем = ВремКаталог + "temp_load.xlsx";
ПутьВрем = ВремКаталог + ИмяФайла; ДД.Записать(ПутьВрем);
КопироватьФайл(ПутьКФайлу, ПутьВрем);
// Читаем в ТабличныйДокумент // Читаем в ТабличныйДокумент
ТаблДок = Новый ТабличныйДокумент; ТаблДок = Новый ТабличныйДокумент;
ТаблДок.Прочитать(ПутьВрем); ТаблДок.Прочитать(ПутьВрем);
УдалитьФайлы(ПутьВрем); УдалитьФайлы(ПутьВрем);
УдалитьФайлы(ПутьВрем);
// Проверяем наличие листа "Расчет" // Проверяем наличие листа "Расчет"
ЛистРасчет = Неопределено; ЛистРасчет = Неопределено;