Skip to content

Commit

Permalink
Автосохранение файла запросов перед выполнением кода в консоли HTTP
Browse files Browse the repository at this point in the history
запросов #571
  • Loading branch information
LevkinSergey committed Jan 27, 2024
1 parent f961316 commit 159a98a
Show file tree
Hide file tree
Showing 2 changed files with 183 additions and 54 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -553,6 +553,91 @@
<enableStartDrag>true</enableStartDrag>
<enableDrag>true</enableDrag>
</items>
<items xsi:type="form:FormGroup">
<name>ГруппаНастройки</name>
<id>636</id>
<items xsi:type="form:FormField">
<name>СохранятьПередВыполнением</name>
<id>638</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>СохранятьПередВыполнением</segments>
</dataPath>
<toolTip>
<key>ru</key>
<value>Будет выполнено сохранение файла запросов перед выполнением запроса</value>
</toolTip>
<toolTipRepresentation>Button</toolTipRepresentation>
<extendedTooltip>
<name>СохранятьПередВыполнениемРасширеннаяПодсказка</name>
<id>640</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>СохранятьПередВыполнениемКонтекстноеМеню</name>
<id>639</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<autoFill>true</autoFill>
</contextMenu>
<type>CheckBoxField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:CheckBoxFieldExtInfo"/>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Настройки</value>
</title>
<extendedTooltip>
<name>ГруппаНастройкиРасширеннаяПодсказка</name>
<id>637</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>HorizontalIfPossible</group>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<showTitle>true</showTitle>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
Expand Down Expand Up @@ -803,39 +888,6 @@
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</items>
<items xsi:type="form:Button">
<name>ВыполнитьЗапрос</name>
<id>40</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ВыполнитьЗапросРасширеннаяПодсказка</name>
<id>41</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualButton</type>
<commandName>Form.Command.ВыполнитьЗапрос</commandName>
<representation>Auto</representation>
<defaultButton>true</defaultButton>
<width>3</width>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
Expand Down Expand Up @@ -5951,6 +6003,37 @@
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button">
<name>ВыполнитьЗапрос</name>
<id>40</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ВыполнитьЗапросРасширеннаяПодсказка</name>
<id>41</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.ВыполнитьЗапрос</commandName>
<representation>Auto</representation>
<defaultButton>true</defaultButton>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
Expand Down Expand Up @@ -7568,11 +7651,31 @@
<common>true</common>
</edit>
</attributes>
<attributes>
<name>СохранятьПередВыполнением</name>
<title>
<key>ru</key>
<value>Сохранять перед выполнением</value>
</title>
<id>152</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
<settingsSavedData xsi:type="form:DataPath">
<segments>СохранятьПередВыполнением</segments>
</settingsSavedData>
</attributes>
<formCommands>
<name>ВыполнитьЗапрос</name>
<title>
<key>ru</key>
<value>Выполнить сейчас</value>
<value>Выполнить запрос</value>
</title>
<id>1</id>
<use>
Expand All @@ -7586,7 +7689,7 @@
<name>ВыполнитьЗапрос</name>
</handler>
</action>
<representation>Picture</representation>
<representation>TextPicture</representation>
<currentRowUse>Auto</currentRowUse>
</formCommands>
<formCommands>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -323,25 +323,14 @@
Возврат;
КонецЕсли;

ПараметрыСледующегоШага = Новый Структура;
ПараметрыСледующегоШага.Вставить("ИдентификаторСтроки", СтрокаЗапроса.ПолучитьИдентификатор());
ПараметрыСледующегоШага.Вставить("Файл", Неопределено);

Если СтрокаЗапроса.ВидТела = ВидыТелаЗапроса.Файл Тогда
ПараметрыЧтенияФайла = УИ_ОбщегоНазначенияКлиент.НовыйПараметрыЧтенияФайла(УникальныйИдентификатор);
ПараметрыЧтенияФайла.ПолноеИмяФайла = СтрокаЗапроса.ИмяФайлаТела;
ПараметрыЧтенияФайла.ОповещениеОЗавершении = Новый ОписаниеОповещения("ВыполнитьЗапросЗавершениеЧтенияФайлаВоВременноеХранилище",
ЭтотОбъект, ПараметрыСледующегоШага);

УИ_ОбщегоНазначенияКлиент.НачатьЧтениеФайла(ПараметрыЧтенияФайла);
ИначеЕсли СтрокаЗапроса.ВидТела = ВидыТелаЗапроса.МультипартФорм Тогда
НачатьПомещениеФайловВоВременноеХранилищеДляСтрокТелаМультипарт(СтрокаЗапроса,
Новый ОписаниеОповещения("ВыполнитьЗапросЗавершениеЧтенияФайловМультипартВоВременноеХранилище",
ЭтотОбъект, ПараметрыСледующегоШага));
ДопПараметры = Новый Структура;
ДопПараметры.Вставить("СтрокаЗапроса", СтрокаЗапроса);
Если СохранятьПередВыполнением И ЗначениеЗаполнено(ИмяФайлаЗапросов) Тогда
ВыполнитьСохранениеЗапросовВФайл( , Новый ОписаниеОповещения("ВыполнитьЗапросЗавершениеСохраненияФайла",
ЭтотОбъект, ДопПараметры));
Иначе
ВыполнитьЗапросЗавершениеПодготовительныхДействий(ПараметрыСледующегоШага);
ВыполнитьЗапросЗавершениеСохраненияФайла(Истина, ДопПараметры);
КонецЕсли;

КонецПроцедуры

&НаКлиенте
Expand Down Expand Up @@ -537,6 +526,34 @@

#Область СлужебныеПроцедурыИФункции

&НаКлиенте
Процедура ВыполнитьЗапросЗавершениеСохраненияФайла(Результат, ДополнительныеПараметры) Экспорт
Если Результат <> Истина Тогда
Возврат;
КонецЕсли;
СтрокаЗапроса = ДополнительныеПараметры.СтрокаЗапроса;

ПараметрыСледующегоШага = Новый Структура;
ПараметрыСледующегоШага.Вставить("ИдентификаторСтроки", СтрокаЗапроса.ПолучитьИдентификатор());
ПараметрыСледующегоШага.Вставить("Файл", Неопределено);

Если СтрокаЗапроса.ВидТела = ВидыТелаЗапроса.Файл Тогда
ПараметрыЧтенияФайла = УИ_ОбщегоНазначенияКлиент.НовыйПараметрыЧтенияФайла(УникальныйИдентификатор);
ПараметрыЧтенияФайла.ПолноеИмяФайла = СтрокаЗапроса.ИмяФайлаТела;
ПараметрыЧтенияФайла.ОповещениеОЗавершении = Новый ОписаниеОповещения("ВыполнитьЗапросЗавершениеЧтенияФайлаВоВременноеХранилище",
ЭтотОбъект, ПараметрыСледующегоШага);

УИ_ОбщегоНазначенияКлиент.НачатьЧтениеФайла(ПараметрыЧтенияФайла);
ИначеЕсли СтрокаЗапроса.ВидТела = ВидыТелаЗапроса.МультипартФорм Тогда
НачатьПомещениеФайловВоВременноеХранилищеДляСтрокТелаМультипарт(СтрокаЗапроса,
Новый ОписаниеОповещения("ВыполнитьЗапросЗавершениеЧтенияФайловМультипартВоВременноеХранилище",
ЭтотОбъект, ПараметрыСледующегоШага));
Иначе
ВыполнитьЗапросЗавершениеПодготовительныхДействий(ПараметрыСледующегоШага);
КонецЕсли;

КонецПроцедуры

&НаКлиенте
Процедура НачатьПомещениеФайловВоВременноеХранилищеДляСтрокТелаМультипарт(СтрокаЗапроса, ОписаниеОповещенияОЗавершении)
ПараметрыОповещений = Новый Структура;
Expand Down Expand Up @@ -919,15 +936,21 @@
КонецФункции

&НаКлиенте
Процедура ВыполнитьСохранениеЗапросовВФайл(СохранитьКак = Ложь)
Процедура ВыполнитьСохранениеЗапросовВФайл(СохранитьКак = Ложь, ОписаниеОповещенияОЗаверешении = Неопределено)
СохранитьДанныеЗапросаВДеревоЗапросов();

ДопПараметрыОповещения = Неопределено;
Если ОписаниеОповещенияОЗаверешении <> Неопределено Тогда
ДопПараметрыОповещения = Новый Структура;
ДопПараметрыОповещения.Вставить("ОписаниеОповещенияОЗаверешении", ОписаниеОповещенияОЗаверешении);
КонецЕсли;

УИ_ОбщегоНазначенияКлиент.СохранитьДанныеКонсолиВФайл("КонсольHTTPЗапросов",
СохранитьКак,
СтруктураОписанияСохраняемогоФайла(),
ПолучитьСтрокуДанныхФайлаДляСохраненияВФайл(),
Новый ОписаниеОповещения("СохранениеВФайлЗавершение",
ЭтотОбъект));
ЭтотОбъект, ДопПараметрыОповещения));

КонецПроцедуры

Expand Down Expand Up @@ -1303,6 +1326,9 @@
Модифицированность = Ложь;
ОбновитьЗаголовок();

Если ДополнительныеПараметры <> Неопределено Тогда
ВыполнитьОбработкуОповещения(ДополнительныеПараметры.ОписаниеОповещенияОЗаверешении, Истина);
КонецЕсли;
КонецПроцедуры

&НаСервере
Expand Down

0 comments on commit 159a98a

Please sign in to comment.