форматирование через phoenixbsl
This commit is contained in:
@@ -1,93 +1,92 @@
|
||||
|
||||
&НаКлиенте
|
||||
&НаКлиенте
|
||||
Асинх Процедура Конвертировать(Команда)
|
||||
Диалог = Новый ПараметрыДиалогаПомещенияФайлов;
|
||||
Диалог.Заголовок = "Выберите документ";
|
||||
Диалог.МножественныйВыбор = Ложь;
|
||||
Диалог.Фильтр = "Документы (*.doc,*.docx,*.rtf)|*.doc;*.docx;*.rtf|Все файлы|*.*";
|
||||
|
||||
Прогресс = 0;
|
||||
Элементы.ГруппаПрогресс.Видимость = Истина;
|
||||
Элементы.Прогресс.Видимость = Истина;
|
||||
Состояние = "Передача файла";
|
||||
Оповещение_ОХодеВыполнения = Новый ОписаниеОповещения("ПомещениеФайла_ОповещенияОХодеВыполнения", ЭтаФорма, Неопределено);
|
||||
ОписаниеФайла = Ждать ПоместитьФайлНаСерверАсинх(Оповещение_ОХодеВыполнения,,,Диалог, ЭтаФорма.УникальныйИдентификатор);
|
||||
|
||||
Элементы.Прогресс.Видимость = Ложь;
|
||||
Прогресс = 0;
|
||||
|
||||
Если Неопределено = ОписаниеФайла Тогда
|
||||
Элементы.ГруппаПрогресс.Видимость = Ложь;
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Состояние = "Конвертация";
|
||||
ОбновитьОтображениеДанных(Элементы.Состояние);
|
||||
КонвертироватьНаСервере(ОписаниеФайла.Адрес, ОписаниеФайла.СсылкаНаФайл.Расширение);
|
||||
Элементы.ГруппаПрогресс.Видимость = Ложь;
|
||||
Элементы.ГруппаРезультат.Видимость = Истина;
|
||||
Диалог = Новый ПараметрыДиалогаПомещенияФайлов;
|
||||
Диалог.Заголовок = "Выберите документ";
|
||||
Диалог.МножественныйВыбор = Ложь;
|
||||
Диалог.Фильтр = "Документы (*.doc,*.docx,*.rtf)|*.doc;*.docx;*.rtf|Все файлы|*.*";
|
||||
|
||||
Прогресс = 0;
|
||||
Элементы.ГруппаПрогресс.Видимость = Истина;
|
||||
Элементы.Прогресс.Видимость = Истина;
|
||||
Состояние = "Передача файла";
|
||||
Оповещение_ОХодеВыполнения = Новый ОписаниеОповещения("ПомещениеФайла_ОповещенияОХодеВыполнения", ЭтаФорма, Неопределено);
|
||||
ОписаниеФайла = Ждать ПоместитьФайлНаСерверАсинх(Оповещение_ОХодеВыполнения, , , Диалог, ЭтаФорма.УникальныйИдентификатор);
|
||||
|
||||
Элементы.Прогресс.Видимость = Ложь;
|
||||
Прогресс = 0;
|
||||
|
||||
Если Неопределено = ОписаниеФайла Тогда
|
||||
Элементы.ГруппаПрогресс.Видимость = Ложь;
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Состояние = "Конвертация";
|
||||
ОбновитьОтображениеДанных(Элементы.Состояние);
|
||||
КонвертироватьНаСервере(ОписаниеФайла.Адрес, ОписаниеФайла.СсылкаНаФайл.Расширение);
|
||||
Элементы.ГруппаПрогресс.Видимость = Ложь;
|
||||
Элементы.ГруппаРезультат.Видимость = Истина;
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПомещениеФайла_ОповещенияОХодеВыполнения(ПомещаемыйФайл, Помещено, ОтказОтПомещенияФайла, ДополнительныеПараметры) Экспорт
|
||||
Прогресс = Помещено;
|
||||
Прогресс = Помещено;
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиентеНаСервереБезКонтекста
|
||||
Процедура ПопыткаУдалитьФайлы(Файлы)
|
||||
Если Неопределено = Файлы Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Попытка
|
||||
УдалитьФайлы(Файлы);
|
||||
Исключение
|
||||
КонецПопытки;
|
||||
|
||||
Файлы = Неопределено;
|
||||
Если Неопределено = Файлы Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Попытка
|
||||
УдалитьФайлы(Файлы);
|
||||
Исключение
|
||||
КонецПопытки;
|
||||
|
||||
Файлы = Неопределено;
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура КонвертироватьНаСервере(Знач Адрес, Знач Расширение)
|
||||
Обработка = РеквизитФормыВЗначение("Объект");
|
||||
|
||||
РезультатКонвертации = Неопределено;
|
||||
|
||||
ВремФайл = ПолучитьИмяВременногоФайла(Расширение);
|
||||
Данные = ПолучитьИзВременногоХранилища(Адрес);
|
||||
Данные.Записать(ВремФайл);
|
||||
Данные = Неопределено;
|
||||
ИмяФайла = ВремФайл;
|
||||
|
||||
Попытка
|
||||
РезультатКонвертации = Обработка.ВывестиДокументВордВМоксель(ИмяФайла);
|
||||
Исключение
|
||||
Ошибка = ОписаниеОшибки();
|
||||
Причина = ИнформацияОбОшибке();
|
||||
|
||||
ПопыткаУдалитьФайлы(ВремФайл);
|
||||
Если ЭтоАдресВременногоХранилища(Адрес) Тогда
|
||||
УдалитьИзВременногоХранилища(Адрес);
|
||||
Адрес = Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
ВызватьИсключение ("Ошибка конвертации в mxl",КатегорияОшибки.ОшибкаВнешнегоИсточникаДанных,"500",Ошибка,Причина);
|
||||
КонецПопытки;
|
||||
|
||||
ПопыткаУдалитьФайлы(ВремФайл);
|
||||
Если ЭтоАдресВременногоХранилища(Адрес) Тогда
|
||||
УдалитьИзВременногоХранилища(Адрес);
|
||||
Адрес = Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не Неопределено = РезультатКонвертации Тогда
|
||||
ДокументРезультат = РезультатКонвертации;
|
||||
КонецЕсли;
|
||||
|
||||
Обработка = РеквизитФормыВЗначение("Объект");
|
||||
|
||||
РезультатКонвертации = Неопределено;
|
||||
|
||||
ВремФайл = ПолучитьИмяВременногоФайла(Расширение);
|
||||
Данные = ПолучитьИзВременногоХранилища(Адрес);
|
||||
Данные.Записать(ВремФайл);
|
||||
Данные = Неопределено;
|
||||
ИмяФайла = ВремФайл;
|
||||
|
||||
Попытка
|
||||
РезультатКонвертации = Обработка.ВывестиДокументВордВМоксель(ИмяФайла);
|
||||
Исключение
|
||||
Ошибка = ОписаниеОшибки();
|
||||
Причина = ИнформацияОбОшибке();
|
||||
|
||||
ПопыткаУдалитьФайлы(ВремФайл);
|
||||
Если ЭтоАдресВременногоХранилища(Адрес) Тогда
|
||||
УдалитьИзВременногоХранилища(Адрес);
|
||||
Адрес = Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
ВызватьИсключение("Ошибка конвертации в mxl", КатегорияОшибки.ОшибкаВнешнегоИсточникаДанных, "500", Ошибка, Причина);
|
||||
КонецПопытки;
|
||||
|
||||
ПопыткаУдалитьФайлы(ВремФайл);
|
||||
Если ЭтоАдресВременногоХранилища(Адрес) Тогда
|
||||
УдалитьИзВременногоХранилища(Адрес);
|
||||
Адрес = Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не Неопределено = РезультатКонвертации Тогда
|
||||
ДокументРезультат = РезультатКонвертации;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
Элементы.ГруппаПрогресс.Видимость = Ложь;
|
||||
Элементы.ГруппаРезультат.Видимость = Ложь;
|
||||
КонецПроцедуры
|
||||
Элементы.ГруппаПрогресс.Видимость = Ложь;
|
||||
Элементы.ГруппаРезультат.Видимость = Ложь;
|
||||
КонецПроцедуры
|
Reference in New Issue
Block a user