initial commit
This commit is contained in:
149
Word2MXL/Forms/Форма/Ext/Form.xml
Normal file
149
Word2MXL/Forms/Форма/Ext/Form.xml
Normal file
@@ -0,0 +1,149 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.14">
|
||||
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
|
||||
<ChildItems>
|
||||
<Button name="ФормаКонвертировать" id="13">
|
||||
<Type>CommandBarButton</Type>
|
||||
<DefaultButton>true</DefaultButton>
|
||||
<CommandName>Form.Command.Конвертировать</CommandName>
|
||||
<ExtendedTooltip name="ФормаКонвертироватьРасширеннаяПодсказка" id="14"/>
|
||||
</Button>
|
||||
</ChildItems>
|
||||
</AutoCommandBar>
|
||||
<Events>
|
||||
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
|
||||
</Events>
|
||||
<ChildItems>
|
||||
<UsualGroup name="ГруппаПрогресс" id="15">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Группа прогресс</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Группа прогресс</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Group>Vertical</Group>
|
||||
<Behavior>Usual</Behavior>
|
||||
<Representation>None</Representation>
|
||||
<ShowTitle>false</ShowTitle>
|
||||
<ExtendedTooltip name="ГруппаПрогрессРасширеннаяПодсказка" id="16"/>
|
||||
<ChildItems>
|
||||
<LabelField name="Состояние" id="17">
|
||||
<DataPath>Состояние</DataPath>
|
||||
<TitleLocation>None</TitleLocation>
|
||||
<TextColor>web:Indigo</TextColor>
|
||||
<Font ref="style:NormalTextFont" bold="true" italic="false" underline="false" strikeout="false" kind="StyleItem" scale="150"/>
|
||||
<ContextMenu name="СостояниеКонтекстноеМеню" id="18"/>
|
||||
<ExtendedTooltip name="СостояниеРасширеннаяПодсказка" id="19"/>
|
||||
</LabelField>
|
||||
<ProgressBarField name="Прогресс" id="20">
|
||||
<DataPath>Прогресс</DataPath>
|
||||
<TitleLocation>None</TitleLocation>
|
||||
<ContextMenu name="ПрогрессКонтекстноеМеню" id="21"/>
|
||||
<ExtendedTooltip name="ПрогрессРасширеннаяПодсказка" id="22"/>
|
||||
</ProgressBarField>
|
||||
</ChildItems>
|
||||
</UsualGroup>
|
||||
<UsualGroup name="ГруппаРезультат" id="7">
|
||||
<Group>Vertical</Group>
|
||||
<Behavior>Usual</Behavior>
|
||||
<Representation>None</Representation>
|
||||
<ShowTitle>false</ShowTitle>
|
||||
<ExtendedTooltip name="ГруппаРезультатРасширеннаяПодсказка" id="8"/>
|
||||
<ChildItems>
|
||||
<CommandBar name="Группа2" id="9">
|
||||
<CommandSource>Item.ДокументРезультат</CommandSource>
|
||||
<ExtendedTooltip name="Группа2РасширеннаяПодсказка" id="10"/>
|
||||
<ChildItems>
|
||||
<Button name="ДокументРезультатСохранить" id="11">
|
||||
<Type>CommandBarButton</Type>
|
||||
<Representation>PictureAndText</Representation>
|
||||
<CommandName>Form.Item.ДокументРезультат.StandardCommand.Save</CommandName>
|
||||
<LocationInCommandBar>InCommandBarAndInAdditionalSubmenu</LocationInCommandBar>
|
||||
<ExtendedTooltip name="ДокументРезультатСохранитьРасширеннаяПодсказка" id="12"/>
|
||||
</Button>
|
||||
</ChildItems>
|
||||
</CommandBar>
|
||||
<SpreadSheetDocumentField name="ДокументРезультат" id="4">
|
||||
<DataPath>ДокументРезультат</DataPath>
|
||||
<ShowGrid>true</ShowGrid>
|
||||
<ShowHeaders>true</ShowHeaders>
|
||||
<ContextMenu name="ДокументРезультатКонтекстноеМеню" id="5"/>
|
||||
<ExtendedTooltip name="ДокументРезультатРасширеннаяПодсказка" id="6"/>
|
||||
</SpreadSheetDocumentField>
|
||||
</ChildItems>
|
||||
</UsualGroup>
|
||||
</ChildItems>
|
||||
<Attributes>
|
||||
<Attribute name="Объект" id="1">
|
||||
<Type>
|
||||
<v8:Type>cfg:ExternalDataProcessorObject.Word2MXL</v8:Type>
|
||||
</Type>
|
||||
<MainAttribute>true</MainAttribute>
|
||||
</Attribute>
|
||||
<Attribute name="ДокументРезультат" id="2">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Документ результат</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type xmlns:mxl="http://v8.1c.ru/8.2/data/spreadsheet">mxl:SpreadsheetDocument</v8:Type>
|
||||
</Type>
|
||||
</Attribute>
|
||||
<Attribute name="Состояние" id="3">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Состояние</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>xs:string</v8:Type>
|
||||
<v8:StringQualifiers>
|
||||
<v8:Length>0</v8:Length>
|
||||
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||
</v8:StringQualifiers>
|
||||
</Type>
|
||||
</Attribute>
|
||||
<Attribute name="Прогресс" id="4">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Прогресс</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>xs:decimal</v8:Type>
|
||||
<v8:NumberQualifiers>
|
||||
<v8:Digits>10</v8:Digits>
|
||||
<v8:FractionDigits>3</v8:FractionDigits>
|
||||
<v8:AllowedSign>Nonnegative</v8:AllowedSign>
|
||||
</v8:NumberQualifiers>
|
||||
</Type>
|
||||
</Attribute>
|
||||
</Attributes>
|
||||
<Commands>
|
||||
<Command name="Конвертировать" id="1">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Конвертировать</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Конвертировать</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Action>Конвертировать</Action>
|
||||
</Command>
|
||||
</Commands>
|
||||
</Form>
|
93
Word2MXL/Forms/Форма/Ext/Form/Module.bsl
Normal file
93
Word2MXL/Forms/Форма/Ext/Form/Module.bsl
Normal file
@@ -0,0 +1,93 @@
|
||||
|
||||
&НаКлиенте
|
||||
Асинх Процедура Конвертировать(Команда)
|
||||
Диалог = Новый ПараметрыДиалогаПомещенияФайлов;
|
||||
Диалог.Заголовок = "Выберите документ";
|
||||
Диалог.МножественныйВыбор = Ложь;
|
||||
Диалог.Фильтр = "Документы (*.doc,*.docx,*.rtf)|*.doc;*.docx;*.rtf|Все файлы|*.*";
|
||||
|
||||
Прогресс = 0;
|
||||
Элементы.ГруппаПрогресс.Видимость = Истина;
|
||||
Элементы.Прогресс.Видимость = Истина;
|
||||
Состояние = "Передача файла";
|
||||
Оповещение_ОХодеВыполнения = Новый ОписаниеОповещения("ПомещениеФайла_ОповещенияОХодеВыполнения", ЭтаФорма, Неопределено);
|
||||
ОписаниеФайла = Ждать ПоместитьФайлНаСерверАсинх(Оповещение_ОХодеВыполнения,,,Диалог, ЭтаФорма.УникальныйИдентификатор);
|
||||
|
||||
Элементы.Прогресс.Видимость = Ложь;
|
||||
Прогресс = 0;
|
||||
|
||||
Если Неопределено = ОписаниеФайла Тогда
|
||||
Элементы.ГруппаПрогресс.Видимость = Ложь;
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Состояние = "Конвертация";
|
||||
ОбновитьОтображениеДанных(Элементы.Состояние);
|
||||
КонвертироватьНаСервере(ОписаниеФайла.Адрес, ОписаниеФайла.СсылкаНаФайл.Расширение);
|
||||
Элементы.ГруппаПрогресс.Видимость = Ложь;
|
||||
Элементы.ГруппаРезультат.Видимость = Истина;
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПомещениеФайла_ОповещенияОХодеВыполнения(ПомещаемыйФайл, Помещено, ОтказОтПомещенияФайла, ДополнительныеПараметры) Экспорт
|
||||
Прогресс = Помещено;
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиентеНаСервереБезКонтекста
|
||||
Процедура ПопыткаУдалитьФайлы(Файлы)
|
||||
Если Неопределено = Файлы Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Попытка
|
||||
УдалитьФайлы(Файлы);
|
||||
Исключение
|
||||
КонецПопытки;
|
||||
|
||||
Файлы = Неопределено;
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура КонвертироватьНаСервере(Знач Адрес, Знач Расширение)
|
||||
Обработка = РеквизитФормыВЗначение("Объект");
|
||||
|
||||
РезультатКонвертации = Неопределено;
|
||||
|
||||
ВремФайл = ПолучитьИмяВременногоФайла(Расширение);
|
||||
Данные = ПолучитьИзВременногоХранилища(Адрес);
|
||||
Данные.Записать(ВремФайл);
|
||||
Данные = Неопределено;
|
||||
ИмяФайла = ВремФайл;
|
||||
|
||||
Попытка
|
||||
РезультатКонвертации = Обработка.ВывестиДокументВордВМоксель(ИмяФайла);
|
||||
Исключение
|
||||
Ошибка = ОписаниеОшибки();
|
||||
Причина = ИнформацияОбОшибке();
|
||||
|
||||
ПопыткаУдалитьФайлы(ВремФайл);
|
||||
Если ЭтоАдресВременногоХранилища(Адрес) Тогда
|
||||
УдалитьИзВременногоХранилища(Адрес);
|
||||
Адрес = Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
ВызватьИсключение ("Ошибка конвертации в mxl",КатегорияОшибки.ОшибкаВнешнегоИсточникаДанных,"500",Ошибка,Причина);
|
||||
КонецПопытки;
|
||||
|
||||
ПопыткаУдалитьФайлы(ВремФайл);
|
||||
Если ЭтоАдресВременногоХранилища(Адрес) Тогда
|
||||
УдалитьИзВременногоХранилища(Адрес);
|
||||
Адрес = Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не Неопределено = РезультатКонвертации Тогда
|
||||
ДокументРезультат = РезультатКонвертации;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
Элементы.ГруппаПрогресс.Видимость = Ложь;
|
||||
Элементы.ГруппаРезультат.Видимость = Ложь;
|
||||
КонецПроцедуры
|
Reference in New Issue
Block a user