фильтр таблиц и параметры конвертации в форме

This commit is contained in:
Dmitry Belyaev 2022-05-16 11:29:19 +03:00
parent d40148665b
commit 9f8af02165
Signed by: b4tman
GPG Key ID: 41A00BF15EA7E5F3
3 changed files with 142 additions and 30 deletions

View File

@ -1,4 +1,4 @@
Функция ВывестиДокументВордВМоксель(ИмяФайла, рСантиметр = 6.25, рШиринаСтраницы = 75) Экспорт Функция ВывестиДокументВордВМоксель(ИмяФайла, рСантиметр = 6.25, рШиринаСтраницы = 75, ФильтрТаблиц = "Условие=Истина") Экспорт
// источник: https://infostart.ru/1c/articles/1499795/ // источник: https://infostart.ru/1c/articles/1499795/
комВорд = Неопределено; комВорд = Неопределено;
комДокумент = Неопределено; комДокумент = Неопределено;
@ -36,7 +36,8 @@
// подготовка вывода таблиц // подготовка вывода таблиц
мКомТаблиц = Новый Массив; мКомТаблиц = Новый Массив;
Для каждого комТаблица Из комДокумент.Tables Цикл всеТаблицы = Фильтр(ФильтрТаблиц, комДокумент.Tables);
Для каждого комТаблица Из всеТаблицы Цикл
мКомТаблиц.Добавить(Новый Структура("Начало,Конец,Таблица", комТаблица.Range.Start, комТаблица.Range.End, комТаблица)); мКомТаблиц.Добавить(Новый Структура("Начало,Конец,Таблица", комТаблица.Range.Start, комТаблица.Range.End, комТаблица));
КонецЦикла; КонецЦикла;

View File

@ -1,5 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <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">
<AutoSaveDataInSettings>Use</AutoSaveDataInSettings>
<SaveDataInSettings>UseList</SaveDataInSettings>
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"> <AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
<ChildItems> <ChildItems>
<Button name="ФормаКонвертировать" id="13"> <Button name="ФормаКонвертировать" id="13">
@ -49,35 +51,84 @@
</ProgressBarField> </ProgressBarField>
</ChildItems> </ChildItems>
</UsualGroup> </UsualGroup>
<UsualGroup name="ГруппаРезультат" id="7"> <Pages name="ГруппаСтраницы" id="26">
<Group>Vertical</Group> <PagesRepresentation>TabsOnTop</PagesRepresentation>
<Behavior>Usual</Behavior> <ExtendedTooltip name="ГруппаСтраницыРасширеннаяПодсказка" id="27"/>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаРезультатРасширеннаяПодсказка" id="8"/>
<ChildItems> <ChildItems>
<CommandBar name=руппа2" id="9"> <Page name="СтраницаПараметры" id="28">
<CommandSource>Item.ДокументРезультат</CommandSource> <Title>
<ExtendedTooltip name=руппа2РасширеннаяПодсказка" id="10"/> <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>
<ExtendedTooltip name="СтраницаПараметрыРасширеннаяПодсказка" id="29"/>
<ChildItems> <ChildItems>
<Button name="ДокументРезультатСохранить" id="11"> <InputField name="рСантиметр" id="30">
<Type>CommandBarButton</Type> <DataPath>рСантиметр</DataPath>
<Representation>PictureAndText</Representation> <ContextMenu name="рСантиметрКонтекстноеМеню" id="31"/>
<CommandName>Form.Item.ДокументРезультат.StandardCommand.Save</CommandName> <ExtendedTooltip name="рСантиметрРасширеннаяПодсказка" id="32"/>
<LocationInCommandBar>InCommandBarAndInAdditionalSubmenu</LocationInCommandBar> </InputField>
<ExtendedTooltip name="ДокументРезультатСохранитьРасширеннаяПодсказка" id="12"/> <InputField name="рШиринаСтраницы" id="33">
</Button> <DataPath>рШиринаСтраницы</DataPath>
<ContextMenu name="рШиринаСтраницыКонтекстноеМеню" id="34"/>
<ExtendedTooltip name="рШиринаСтраницыРасширеннаяПодсказка" id="35"/>
</InputField>
<InputField name="ФильтрТаблиц" id="23">
<DataPath>ФильтрТаблиц</DataPath>
<MultiLine>true</MultiLine>
<ExtendedEdit>true</ExtendedEdit>
<ContextMenu name="ФильтрТаблицКонтекстноеМеню" id="24"/>
<ExtendedTooltip name="ФильтрТаблицРасширеннаяПодсказка" id="25"/>
</InputField>
</ChildItems> </ChildItems>
</CommandBar> </Page>
<SpreadSheetDocumentField name="ДокументРезультат" id="4"> <Page name="СтраницаРезультат" id="7">
<DataPath>ДокументРезультат</DataPath> <Title>
<ShowGrid>true</ShowGrid> <v8:item>
<ShowHeaders>true</ShowHeaders> <v8:lang>ru</v8:lang>
<ContextMenu name="ДокументРезультатКонтекстноеМеню" id="5"/> <v8:content>Результат</v8:content>
<ExtendedTooltip name="ДокументРезультатРасширеннаяПодсказка" id="6"/> </v8:item>
</SpreadSheetDocumentField> </Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Результат</v8:content>
</v8:item>
</ToolTip>
<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>
<TitleLocation>None</TitleLocation>
<ShowGrid>true</ShowGrid>
<ShowHeaders>true</ShowHeaders>
<ContextMenu name="ДокументРезультатКонтекстноеМеню" id="5"/>
<ExtendedTooltip name="ДокументРезультатРасширеннаяПодсказка" id="6"/>
</SpreadSheetDocumentField>
</ChildItems>
</Page>
</ChildItems> </ChildItems>
</UsualGroup> </Pages>
</ChildItems> </ChildItems>
<Attributes> <Attributes>
<Attribute name="Объект" id="1"> <Attribute name="Объект" id="1">
@ -128,6 +179,62 @@
</v8:NumberQualifiers> </v8:NumberQualifiers>
</Type> </Type>
</Attribute> </Attribute>
<Attribute name="ФильтрТаблиц" id="5">
<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>
<Save>
<Field>ФильтрТаблиц</Field>
</Save>
</Attribute>
<Attribute name="рСантиметр" id="6">
<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>2</v8:FractionDigits>
<v8:AllowedSign>Nonnegative</v8:AllowedSign>
</v8:NumberQualifiers>
</Type>
<Save>
<Field>рСантиметр</Field>
</Save>
</Attribute>
<Attribute name="рШиринаСтраницы" id="7">
<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>0</v8:FractionDigits>
<v8:AllowedSign>Nonnegative</v8:AllowedSign>
</v8:NumberQualifiers>
</Type>
<Save>
<Field>рШиринаСтраницы</Field>
</Save>
</Attribute>
</Attributes> </Attributes>
<Commands> <Commands>
<Command name="Конвертировать" id="1"> <Command name="Конвертировать" id="1">

View File

@ -24,7 +24,8 @@
ОбновитьОтображениеДанных(Элементы.Состояние); ОбновитьОтображениеДанных(Элементы.Состояние);
КонвертироватьНаСервере(ОписаниеФайла.Адрес, ОписаниеФайла.СсылкаНаФайл.Расширение); КонвертироватьНаСервере(ОписаниеФайла.Адрес, ОписаниеФайла.СсылкаНаФайл.Расширение);
Элементы.ГруппаПрогресс.Видимость = Ложь; Элементы.ГруппаПрогресс.Видимость = Ложь;
Элементы.ГруппаРезультат.Видимость = Истина; Элементы.СтраницаРезультат.Видимость = Истина;
Элементы.ГруппаСтраницы.ТекущаяСтраница = Элементы.СтраницаРезультат;
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@ -59,7 +60,7 @@
ИмяФайла = ВремФайл; ИмяФайла = ВремФайл;
Попытка Попытка
РезультатКонвертации = Обработка.ВывестиДокументВордВМоксель(ИмяФайла); РезультатКонвертации = Обработка.ВывестиДокументВордВМоксель(ИмяФайла, рСантиметр, рШиринаСтраницы, ФильтрТаблиц);
Исключение Исключение
Ошибка = ОписаниеОшибки(); Ошибка = ОписаниеОшибки();
Причина = ИнформацияОбОшибке(); Причина = ИнформацияОбОшибке();
@ -88,5 +89,8 @@
&НаСервере &НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Элементы.ГруппаПрогресс.Видимость = Ложь; Элементы.ГруппаПрогресс.Видимость = Ложь;
Элементы.ГруппаРезультат.Видимость = Ложь; Элементы.СтраницаРезультат.Видимость = Ложь;
ФильтрТаблиц = "Условие = (Элемент.Columns.Count > 1 И Элемент.Rows.Count > 1) ИЛИ Элемент.Rows.Count = 4";
рСантиметр = 6.25;
рШиринаСтраницы = 75;
КонецПроцедуры КонецПроцедуры