+ обработка

This commit is contained in:
Dmitry Belyaev 2018-09-25 16:10:50 +03:00
parent 04f0cae7c5
commit 810551dde2
Signed by: b4tman
GPG Key ID: 014E87EC54B77673
4 changed files with 597 additions and 0 deletions

View File

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" 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:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" 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.6">
<ExternalDataProcessor uuid="2bb5ffec-1bd0-40bc-9d0c-22cf24724ee9">
<InternalInfo>
<xr:ContainedObject>
<xr:ClassId>c3831ec8-d8d5-4f93-8a22-f9bfae07327f</xr:ClassId>
<xr:ObjectId>82014eb2-1440-42f4-a207-bdbf936bddb8</xr:ObjectId>
</xr:ContainedObject>
<xr:GeneratedType name="ExternalDataProcessorObject.РедакторТЗ_XML" category="Object">
<xr:TypeId>8ae23967-cf9d-4b0d-82be-100f5a6f8da7</xr:TypeId>
<xr:ValueId>667fcb12-6aec-412b-b387-b98db18a0394</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>РедакторТЗ_XML</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Редактор таблиц значений</v8:content>
</v8:item>
</Synonym>
<Comment/>
<DefaultForm>ExternalDataProcessor.РедакторТЗ_XML.Form.Форма</DefaultForm>
<AuxiliaryForm/>
</Properties>
<ChildObjects>
<Form>Форма</Form>
</ChildObjects>
</ExternalDataProcessor>
</MetaDataObject>

View File

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" 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:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" 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.6">
<Form uuid="991ac5e0-faf9-4b76-9bd0-b2ebf57587b4">
<Properties>
<Name>Форма</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Форма</v8:content>
</v8:item>
</Synonym>
<Comment/>
<FormType>Managed</FormType>
<IncludeHelpInContents>false</IncludeHelpInContents>
<UsePurposes>
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
</UsePurposes>
<ExtendedPresentation/>
</Properties>
</Form>
</MetaDataObject>

View File

@ -0,0 +1,348 @@
<?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.6">
<AutoSaveDataInSettings>Use</AutoSaveDataInSettings>
<SaveDataInSettings>UseList</SaveDataInSettings>
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
<ChildItems>
<Button name="ФормаЗагрузить" id="41">
<Type>CommandBarButton</Type>
<DefaultButton>true</DefaultButton>
<CommandName>Form.Command.Загрузить</CommandName>
<ExtendedTooltip name="ФормаЗагрузитьРасширеннаяПодсказка" id="42"/>
</Button>
</ChildItems>
</AutoCommandBar>
<Events>
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
</Events>
<ChildItems>
<InputField name="Формат" id="38">
<DataPath>Формат</DataPath>
<ListChoiceMode>true</ListChoiceMode>
<ChooseType>false</ChooseType>
<ChoiceList>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>XML</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xs:string">xml</Value>
</xr:Value>
</xr:Item>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>JSON</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xs:string">json</Value>
</xr:Value>
</xr:Item>
</ChoiceList>
<ContextMenu name="ФорматКонтекстноеМеню" id="39"/>
<ExtendedTooltip name="ФорматРасширеннаяПодсказка" id="40"/>
</InputField>
<Pages name="ГрСтраницы" id="1">
<ExtendedTooltip name="ГрСтраницыРасширеннаяПодсказка" id="2"/>
<ChildItems>
<Page name="Создание" id="3">
<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>
<ExtendedTooltip name="СозданиеРасширеннаяПодсказка" id="4"/>
<ChildItems>
<Table name="КолонкиНовойТЗ" id="5">
<Representation>List</Representation>
<TitleLocation>Top</TitleLocation>
<AutoInsertNewRow>true</AutoInsertNewRow>
<EnableStartDrag>true</EnableStartDrag>
<EnableDrag>true</EnableDrag>
<DataPath>КолонкиНовойТЗ</DataPath>
<RowFilter xsi:nil="true"/>
<ContextMenu name="КолонкиНовойТЗКонтекстноеМеню" id="6"/>
<AutoCommandBar name="КолонкиНовойТЗКоманднаяПанель" id="7">
<ChildItems>
<Button name="СоздатьТЗ" id="27">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.СоздатьТЗ</CommandName>
<ExtendedTooltip name="СоздатьТЗРасширеннаяПодсказка" id="28"/>
</Button>
<Button name="КолонкиНовойТЗЗагрузитьКолонки" id="34">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.ЗагрузитьКолонки</CommandName>
<ExtendedTooltip name="КолонкиНовойТЗЗагрузитьКолонкиРасширеннаяПодсказка" id="35"/>
</Button>
<Button name="КолонкиНовойТЗВыгрузитьКолонки" id="36">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.ВыгрузитьКолонки</CommandName>
<ExtendedTooltip name="КолонкиНовойТЗВыгрузитьКолонкиРасширеннаяПодсказка" id="37"/>
</Button>
</ChildItems>
</AutoCommandBar>
<ExtendedTooltip name="КолонкиНовойТЗРасширеннаяПодсказка" id="8"/>
<SearchStringAddition name="КолонкиНовойТЗСтрокаПоиска" id="9">
<AdditionSource>
<Item>КолонкиНовойТЗ</Item>
<Type>SearchStringRepresentation</Type>
</AdditionSource>
<ContextMenu name="КолонкиНовойТЗСтрокаПоискаКонтекстноеМеню" id="10"/>
<ExtendedTooltip name="КолонкиНовойТЗСтрокаПоискаРасширеннаяПодсказка" id="11"/>
</SearchStringAddition>
<ViewStatusAddition name="КолонкиНовойТЗСостояниеПросмотра" id="12">
<AdditionSource>
<Item>КолонкиНовойТЗ</Item>
<Type>ViewStatusRepresentation</Type>
</AdditionSource>
<ContextMenu name="КолонкиНовойТЗСостояниеПросмотраКонтекстноеМеню" id="13"/>
<ExtendedTooltip name="КолонкиНовойТЗСостояниеПросмотраРасширеннаяПодсказка" id="14"/>
</ViewStatusAddition>
<SearchControlAddition name="КолонкиНовойТЗУправлениеПоиском" id="15">
<AdditionSource>
<Item>КолонкиНовойТЗ</Item>
<Type>SearchControl</Type>
</AdditionSource>
<ContextMenu name="КолонкиНовойТЗУправлениеПоискомКонтекстноеМеню" id="16"/>
<ExtendedTooltip name="КолонкиНовойТЗУправлениеПоискомРасширеннаяПодсказка" id="17"/>
</SearchControlAddition>
<ChildItems>
<InputField name="КолонкиНовойТЗИмя" id="18">
<DataPath>КолонкиНовойТЗ.Имя</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="КолонкиНовойТЗИмяКонтекстноеМеню" id="19"/>
<ExtendedTooltip name="КолонкиНовойТЗИмяРасширеннаяПодсказка" id="20"/>
</InputField>
<InputField name="КолонкиНовойТЗТипКолонки" id="24">
<DataPath>КолонкиНовойТЗ.ТипКолонки</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="КолонкиНовойТЗТипКолонкиКонтекстноеМеню" id="25"/>
<ExtendedTooltip name="КолонкиНовойТЗТипКолонкиРасширеннаяПодсказка" id="26"/>
</InputField>
<InputField name="КолонкиНовойТЗЗаголовок" id="21">
<DataPath>КолонкиНовойТЗ.Заголовок</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="КолонкиНовойТЗЗаголовокКонтекстноеМеню" id="22"/>
<ExtendedTooltip name="КолонкиНовойТЗЗаголовокРасширеннаяПодсказка" id="23"/>
</InputField>
<InputField name="КолонкиНовойТЗШирина" id="31">
<DataPath>КолонкиНовойТЗ.Ширина</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="КолонкиНовойТЗШиринаКонтекстноеМеню" id="32"/>
<ExtendedTooltip name="КолонкиНовойТЗШиринаРасширеннаяПодсказка" id="33"/>
</InputField>
</ChildItems>
</Table>
</ChildItems>
</Page>
<Page name="Редактирование" id="29">
<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>
<ExtendedTooltip name="РедактированиеРасширеннаяПодсказка" id="30"/>
</Page>
</ChildItems>
</Pages>
</ChildItems>
<Attributes>
<Attribute name="Объект" id="1">
<Type>
<v8:Type>cfg:ExternalDataProcessorObject.РедакторТЗ_XML</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>v8:ValueTable</v8:Type>
</Type>
<Save>
<Field>КолонкиНовойТЗ</Field>
</Save>
<Columns>
<Column name="Имя" id="1">
<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>90</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Column>
<Column name="Заголовок" id="2">
<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>
</Column>
<Column name="ТипКолонки" id="3">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Тип</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>v8:TypeDescription</v8:Type>
</Type>
</Column>
<Column 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>0</v8:FractionDigits>
<v8:AllowedSign>Nonnegative</v8:AllowedSign>
</v8:NumberQualifiers>
</Type>
</Column>
</Columns>
</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>10</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
<Save>
<Field>Формат</Field>
</Save>
</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>
<Command name="Загрузить" id="2">
<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>
<Command name="Выгрузить" id="3">
<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>
<Command name="ВыгрузитьКолонки" id="4">
<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>
<Command name="ЗагрузитьКолонки" id="5">
<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>

View File

@ -0,0 +1,197 @@
#Область Служебные
&НаСервере
Процедура ВывестиТЗНаФорму(Знач ТаблицаОбъект,СтрОбТб) Экспорт
ЭлементФормы = Элементы.Найти(СтрОбТб);
МассивДобавляемыхРеквизитов = Новый Массив;
МассивУдаляемыхРеквизитов = Новый Массив;
Если ЭлементФормы = Неопределено Тогда
МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы(СтрОбТб, Новый ОписаниеТипов("ТаблицаЗначений")));
Иначе
ЭтаФорма.Элементы.Удалить(ЭлементФормы);
МассивУдаляемыхРеквизитов.Добавить(СтрОбТб);
ИзменитьРеквизиты(МассивДобавляемыхРеквизитов,МассивУдаляемыхРеквизитов);
МассивУдаляемыхРеквизитов = Новый Массив;
МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы(СтрОбТб, Новый ОписаниеТипов("ТаблицаЗначений")));
КонецЕсли;
Для Каждого Колонка Из ТаблицаОбъект.Колонки Цикл
МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы(Колонка.Имя, Колонка.ТипЗначения, СтрОбТб, Колонка.Заголовок));
КонецЦикла;
ИзменитьРеквизиты(МассивДобавляемыхРеквизитов,МассивУдаляемыхРеквизитов);
// Преобразование объекта прикладного типа Таблица_Значений
// в реквизит управляемой формы (данные формы)
ЗначениеВРеквизитФормы(ТаблицаОбъект, СтрОбТб);
// Создание элемента формы типа ТаблицаФормы для отображения дерева
ЭлементДерево = Элементы.Добавить(СтрОбТб, Тип("ТаблицаФормы"), Элементы.Редактирование);
ЭлементДерево.ПутьКДанным = СтрОбТб;
ЭлементДерево.Отображение = ОтображениеТаблицы.Список;
//ЭлементДерево.РежимВыделенияСтроки = РежимВыделенияСтрокиТаблицы.Строка;
КнопкаВыгрузить = Элементы.Добавить("КнопкаВыгрузить", Тип("КнопкаФормы"), ЭлементДерево.КоманднаяПанель);
КнопкаЗагрузить = Элементы.Добавить("КнопкаЗагрузить", Тип("КнопкаФормы"), ЭлементДерево.КоманднаяПанель);
КнопкаВыгрузить.Заголовок = "Выгрузить";
КнопкаЗагрузить.Заголовок = "Загрузить";
КнопкаВыгрузить.ИмяКоманды = "Выгрузить";
КнопкаЗагрузить.ИмяКоманды = "Загрузить";
Для Каждого Колонка Из ТаблицаОбъект.Колонки Цикл
НовыйЭлемент = Элементы.Добавить(СтрОбТб+"_" +Колонка.Имя, Тип("ПолеФормы"), ЭлементДерево);
НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
НовыйЭлемент.ПутьКДанным = СтрОбТб+"."+Колонка.Имя;
Если Не ЗначениеЗаполнено(Колонка.Ширина) Тогда
НовыйЭлемент.Ширина = 10;
Иначе
НовыйЭлемент.Ширина = Колонка.Ширина;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
#КонецОбласти
&НаКлиенте
Процедура СоздатьТЗ(Команда)
СоздатьТЗНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура Загрузить(Команда)
ДопПараметры = Новый Структура("ИмяРеквизитаТЗ", "РеквизитТЗ");
НачатьПомещениеФайла(Новый ОписаниеОповещения("Загрузить_ПослеПомещенияфайла", ЭтаФорма, ДопПараметры), ,,Истина);
КонецПроцедуры
&НаКлиенте
Процедура Выгрузить(Команда)
АдресДанных = ПолучитьДанные_ДляВыгрузки("РеквизитТЗ");
Если НЕ ЭтоАдресВременногоХранилища(АдресДанных) Тогда Возврат КонецЕсли;
ПолучитьФайл(АдресДанных, "ТаблицаЗначений."+Формат, Истина);
КонецПроцедуры
&НаКлиенте
Процедура ЗагрузитьКолонки(Команда)
ДопПараметры = Новый Структура("ИмяРеквизитаТЗ", "КолонкиНовойТЗ");
НачатьПомещениеФайла(Новый ОписаниеОповещения("Загрузить_ПослеПомещенияфайла", ЭтаФорма, ДопПараметры), ,,Истина);
КонецПроцедуры
&НаКлиенте
Процедура ВыгрузитьКолонки(Команда)
АдресДанных = ПолучитьДанные_ДляВыгрузки("КолонкиНовойТЗ");
Если НЕ ЭтоАдресВременногоХранилища(АдресДанных) Тогда Возврат КонецЕсли;
ПолучитьФайл(АдресДанных, "ТаблицаЗначений."+Формат, Истина);
КонецПроцедуры
&НаКлиенте
Процедура Загрузить_ПослеПомещенияфайла(Результат, Адрес, ВыбранноеИмяФайла, ДопПараметры) Экспорт
Если Ложь = Результат Тогда
Возврат;
КонецЕсли;
Загрузить_НаСервере(Адрес, ВыбранноеИмяФайла, ДопПараметры.ИмяРеквизитаТЗ);
Если НЕ "КолонкиНовойТЗ" = ДопПараметры.ИмяРеквизитаТЗ Тогда
Элементы.ГрСтраницы.ТекущаяСтраница = Элементы.Редактирование;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура СоздатьТЗНаСервере()
ТЗ = Новый ТаблицаЗначений;
Для Каждого ТекКолонка Из КолонкиНовойТЗ Цикл
ТЗ.Колонки.Добавить(ТекКолонка.Имя, ТекКолонка.ТипКолонки, ТекКолонка.Заголовок, ТекКолонка.Ширина);
КонецЦикла;
ВывестиТЗНаФорму(ТЗ, "РеквизитТЗ");
Элементы.ГрСтраницы.ТекущаяСтраница = Элементы.Редактирование;
КонецПроцедуры
&НаСервере
Процедура Загрузить_НаСервере(Адрес, ИмяФайла, ИмяРеквизитаТЗ)
Файл = Новый Файл(ИмяФайла);
ФорматФайла = НРег(Файл.Расширение);
Если СтрНачинаетсяС(ФорматФайла, ".") Тогда
ФорматФайла = Прав(ФорматФайла, СтрДлина(ФорматФайла) - 1);
КонецЕсли;
ПоддерживаемыеФорматы = СтрРазделить("xml,json", ",", Ложь);
Если Не Неопределено = ПоддерживаемыеФорматы.Найти(ФорматФайла) Тогда
Формат = ФорматФайла;
КонецЕсли;
ДвоичныеДанные = ПолучитьИзВременногоХранилища(Адрес);
Поток = ДвоичныеДанные.ОткрытьПотокДляЧтения();
ТЗ = Неопределено;
Если "xml" = Формат Тогда
ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.ОткрытьПоток(Поток);
ТЗ = СериализаторXDTO.ПрочитатьXML(ЧтениеXML, Тип("ТаблицаЗначений"));
ЧтениеXML.Закрыть();
ИначеЕсли "json" = Формат Тогда
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.ОткрытьПоток(Поток);
ТЗ = СериализаторXDTO.ПрочитатьJSON(ЧтениеJSON, Тип("ТаблицаЗначений"));
ЧтениеJSON.Закрыть();
КонецЕсли;
Поток.Закрыть();
ДвоичныеДанные = Неопределено;
Если НЕ Тип("ТаблицаЗначений") = ТипЗнч(ТЗ) Тогда
Возврат;
КонецЕсли;
Если "КолонкиНовойТЗ" = ИмяРеквизитаТЗ Тогда
ЗначениеВРеквизитФормы(ТЗ, ИмяРеквизитаТЗ);
Иначе
ВывестиТЗНаФорму(ТЗ, "РеквизитТЗ");
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция ПолучитьДанные_ДляВыгрузки(ИмяРеквизитаТЗ)
Результат = "";
ТЗ = РеквизитФормыВЗначение(ИмяРеквизитаТЗ);
Если "xml" = Формат Тогда
Поток = Новый ПотокВПамяти();
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.ОткрытьПоток(Поток);
ЗаписьXML.ЗаписатьОбъявлениеXML();
СериализаторXDTO.ЗаписатьXML(ЗаписьXML, ТЗ, "ValueTable", "http://v8.1c.ru/8.1/data/core");
ЗаписьXML.Закрыть();
Данные = Поток.ЗакрытьИПолучитьДвоичныеДанные();
Результат = ПоместитьВоВременноеХранилище(Данные, ЭтаФорма.УникальныйИдентификатор);
ИначеЕсли "json" = Формат Тогда
Поток = Новый ПотокВПамяти();
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.ОткрытьПоток(Поток);
СериализаторXDTO.ЗаписатьJSON(ЗаписьJSON, ТЗ);
ЗаписьJSON.Закрыть();
Данные = Поток.ЗакрытьИПолучитьДвоичныеДанные();
Результат = ПоместитьВоВременноеХранилище(Данные, ЭтаФорма.УникальныйИдентификатор);
КонецЕсли;
Возврат Результат;
КонецФункции
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Формат = "xml";
КонецПроцедуры