v3.0.0.110
This commit is contained in:
@@ -36,10 +36,12 @@
|
||||
Сообщить("Выберите файл!");
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
Состояние("Загрузка и чтение файла...");
|
||||
Результат = ПрочитатьФайлНаСервере(Объект.ПутьКФайлу);
|
||||
Состояние("Загрузка файла...");
|
||||
АдресФайла = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(Объект.ПутьКФайлу), УникальныйИдентификатор);
|
||||
Состояние("Чтение данных...");
|
||||
Результат = ПрочитатьФайлНаСервере(АдресФайла);
|
||||
Если Результат = Неопределено Тогда
|
||||
Сообщить("Ошибка загрузки файла!");
|
||||
Сообщить("Ошибка чтения файла!");
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
// Заполняем реквизиты формы
|
||||
@@ -69,23 +71,23 @@
|
||||
|
||||
#Область СерверныеПроцедуры
|
||||
|
||||
// Главная функция: читает Excel файл целиком на сервере и возвращает структуру результатов
|
||||
// Главная функция: читает Excel файл из временного хранилища на сервере
|
||||
&НаСервере
|
||||
Функция ПрочитатьФайлНаСервере(ПутьКФайлу) Экспорт
|
||||
ФайлНаДиске = Новый Файл(ПутьКФайлу);
|
||||
Если Не ФайлНаДиске.Существует() Тогда
|
||||
Сообщить("Файл не найден: " + ПутьКФайлу);
|
||||
Функция ПрочитатьФайлНаСервере(АдресФайла) Экспорт
|
||||
ДД = ПолучитьИзВременногоХранилища(АдресФайла);
|
||||
Если ДД = Неопределено Тогда
|
||||
Сообщить("Файл не получен!");
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
// Копируем во временный каталог (обход проблем с кириллицей)
|
||||
// Сохраняем во временный файл на сервере
|
||||
ВремКаталог = КаталогВременныхФайлов();
|
||||
ИмяФайла = "temp_load" + Формат(ТекущаяДатаСеанса(), "ДФ=yyyyMMddHHmmss") + ФайлНаДиске.Расширение;
|
||||
ПутьВрем = ВремКаталог + ИмяФайла;
|
||||
КопироватьФайл(ПутьКФайлу, ПутьВрем);
|
||||
ПутьВрем = ВремКаталог + "temp_load.xlsx";
|
||||
ДД.Записать(ПутьВрем);
|
||||
// Читаем в ТабличныйДокумент
|
||||
ТаблДок = Новый ТабличныйДокумент;
|
||||
ТаблДок.Прочитать(ПутьВрем);
|
||||
УдалитьФайлы(ПутьВрем);
|
||||
УдалитьФайлы(ПутьВрем);
|
||||
|
||||
// Проверяем наличие листа "Расчет"
|
||||
ЛистРасчет = Неопределено;
|
||||
|
||||
Reference in New Issue
Block a user