diff --git "a/src/\320\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\321\213/src/DataProcessors/\320\243\320\230_\320\232\320\276\320\275\321\201\320\276\320\273\321\214HTTP\320\227\320\260\320\277\321\200\320\276\321\201\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Form.form" "b/src/\320\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\321\213/src/DataProcessors/\320\243\320\230_\320\232\320\276\320\275\321\201\320\276\320\273\321\214HTTP\320\227\320\260\320\277\321\200\320\276\321\201\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Form.form"
index be5d4eaa..63c92e80 100644
--- "a/src/\320\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\321\213/src/DataProcessors/\320\243\320\230_\320\232\320\276\320\275\321\201\320\276\320\273\321\214HTTP\320\227\320\260\320\277\321\200\320\276\321\201\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Form.form"
+++ "b/src/\320\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\321\213/src/DataProcessors/\320\243\320\230_\320\232\320\276\320\275\321\201\320\276\320\273\321\214HTTP\320\227\320\260\320\277\321\200\320\276\321\201\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Form.form"
@@ -553,6 +553,91 @@
true
true
+
+ ГруппаНастройки
+ 636
+
+ СохранятьПередВыполнением
+ 638
+ true
+ true
+
+ true
+
+
+ СохранятьПередВыполнением
+
+
+ ru
+ Будет выполнено сохранение файла запросов перед выполнением запроса
+
+ Button
+
+ СохранятьПередВыполнениемРасширеннаяПодсказка
+ 640
+ true
+ true
+
+ true
+
+ Label
+ true
+ true
+
+ Left
+
+
+
+ СохранятьПередВыполнениемКонтекстноеМеню
+ 639
+ true
+ true
+
+ true
+
+ true
+
+ CheckBoxField
+ Enter
+ true
+ Left
+ true
+
+
+ true
+ true
+
+ true
+
+
+ ru
+ Настройки
+
+
+ ГруппаНастройкиРасширеннаяПодсказка
+ 637
+ true
+ true
+
+ true
+
+ Label
+ true
+ true
+
+ Left
+
+
+ UsualGroup
+
+ HorizontalIfPossible
+ true
+ true
+ true
+ Auto
+ Auto
+
+
true
true
@@ -803,39 +888,6 @@
Left
-
- ВыполнитьЗапрос
- 40
- true
- true
-
- true
-
-
- ВыполнитьЗапросРасширеннаяПодсказка
- 41
- true
- true
-
- true
-
- Label
- true
- true
-
- Left
-
-
- UsualButton
- Form.Command.ВыполнитьЗапрос
- Auto
- true
- 3
- true
- true
- UserCmds
- Auto
-
true
true
@@ -5951,6 +6003,37 @@
UserCmds
Auto
+
+ ВыполнитьЗапрос
+ 40
+ true
+ true
+
+ true
+
+
+ ВыполнитьЗапросРасширеннаяПодсказка
+ 41
+ true
+ true
+
+ true
+
+ Label
+ true
+ true
+
+ Left
+
+
+ Form.Command.ВыполнитьЗапрос
+ Auto
+ true
+ true
+ true
+ UserCmds
+ Auto
+
true
true
@@ -7568,11 +7651,31 @@
true
+
+ СохранятьПередВыполнением
+
+ ru
+ Сохранять перед выполнением
+
+ 152
+
+ Boolean
+
+
+ true
+
+
+ true
+
+
+ СохранятьПередВыполнением
+
+
ВыполнитьЗапрос
ru
- Выполнить сейчас
+ Выполнить запрос
1
diff --git "a/src/\320\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\321\213/src/DataProcessors/\320\243\320\230_\320\232\320\276\320\275\321\201\320\276\320\273\321\214HTTP\320\227\320\260\320\277\321\200\320\276\321\201\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Module.bsl" "b/src/\320\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\321\213/src/DataProcessors/\320\243\320\230_\320\232\320\276\320\275\321\201\320\276\320\273\321\214HTTP\320\227\320\260\320\277\321\200\320\276\321\201\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Module.bsl"
index 4a8e3169..41741112 100644
--- "a/src/\320\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\321\213/src/DataProcessors/\320\243\320\230_\320\232\320\276\320\275\321\201\320\276\320\273\321\214HTTP\320\227\320\260\320\277\321\200\320\276\321\201\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Module.bsl"
+++ "b/src/\320\230\320\275\321\201\321\202\321\200\321\203\320\274\320\265\320\275\321\202\321\213/src/DataProcessors/\320\243\320\230_\320\232\320\276\320\275\321\201\320\276\320\273\321\214HTTP\320\227\320\260\320\277\321\200\320\276\321\201\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Module.bsl"
@@ -323,25 +323,14 @@
Возврат;
КонецЕсли;
- ПараметрыСледующегоШага = Новый Структура;
- ПараметрыСледующегоШага.Вставить("ИдентификаторСтроки", СтрокаЗапроса.ПолучитьИдентификатор());
- ПараметрыСледующегоШага.Вставить("Файл", Неопределено);
-
- Если СтрокаЗапроса.ВидТела = ВидыТелаЗапроса.Файл Тогда
- ПараметрыЧтенияФайла = УИ_ОбщегоНазначенияКлиент.НовыйПараметрыЧтенияФайла(УникальныйИдентификатор);
- ПараметрыЧтенияФайла.ПолноеИмяФайла = СтрокаЗапроса.ИмяФайлаТела;
- ПараметрыЧтенияФайла.ОповещениеОЗавершении = Новый ОписаниеОповещения("ВыполнитьЗапросЗавершениеЧтенияФайлаВоВременноеХранилище",
- ЭтотОбъект, ПараметрыСледующегоШага);
-
- УИ_ОбщегоНазначенияКлиент.НачатьЧтениеФайла(ПараметрыЧтенияФайла);
- ИначеЕсли СтрокаЗапроса.ВидТела = ВидыТелаЗапроса.МультипартФорм Тогда
- НачатьПомещениеФайловВоВременноеХранилищеДляСтрокТелаМультипарт(СтрокаЗапроса,
- Новый ОписаниеОповещения("ВыполнитьЗапросЗавершениеЧтенияФайловМультипартВоВременноеХранилище",
- ЭтотОбъект, ПараметрыСледующегоШага));
+ ДопПараметры = Новый Структура;
+ ДопПараметры.Вставить("СтрокаЗапроса", СтрокаЗапроса);
+ Если СохранятьПередВыполнением И ЗначениеЗаполнено(ИмяФайлаЗапросов) Тогда
+ ВыполнитьСохранениеЗапросовВФайл( , Новый ОписаниеОповещения("ВыполнитьЗапросЗавершениеСохраненияФайла",
+ ЭтотОбъект, ДопПараметры));
Иначе
- ВыполнитьЗапросЗавершениеПодготовительныхДействий(ПараметрыСледующегоШага);
+ ВыполнитьЗапросЗавершениеСохраненияФайла(Истина, ДопПараметры);
КонецЕсли;
-
КонецПроцедуры
&НаКлиенте
@@ -537,6 +526,34 @@
#Область СлужебныеПроцедурыИФункции
+&НаКлиенте
+Процедура ВыполнитьЗапросЗавершениеСохраненияФайла(Результат, ДополнительныеПараметры) Экспорт
+ Если Результат <> Истина Тогда
+ Возврат;
+ КонецЕсли;
+ СтрокаЗапроса = ДополнительныеПараметры.СтрокаЗапроса;
+
+ ПараметрыСледующегоШага = Новый Структура;
+ ПараметрыСледующегоШага.Вставить("ИдентификаторСтроки", СтрокаЗапроса.ПолучитьИдентификатор());
+ ПараметрыСледующегоШага.Вставить("Файл", Неопределено);
+
+ Если СтрокаЗапроса.ВидТела = ВидыТелаЗапроса.Файл Тогда
+ ПараметрыЧтенияФайла = УИ_ОбщегоНазначенияКлиент.НовыйПараметрыЧтенияФайла(УникальныйИдентификатор);
+ ПараметрыЧтенияФайла.ПолноеИмяФайла = СтрокаЗапроса.ИмяФайлаТела;
+ ПараметрыЧтенияФайла.ОповещениеОЗавершении = Новый ОписаниеОповещения("ВыполнитьЗапросЗавершениеЧтенияФайлаВоВременноеХранилище",
+ ЭтотОбъект, ПараметрыСледующегоШага);
+
+ УИ_ОбщегоНазначенияКлиент.НачатьЧтениеФайла(ПараметрыЧтенияФайла);
+ ИначеЕсли СтрокаЗапроса.ВидТела = ВидыТелаЗапроса.МультипартФорм Тогда
+ НачатьПомещениеФайловВоВременноеХранилищеДляСтрокТелаМультипарт(СтрокаЗапроса,
+ Новый ОписаниеОповещения("ВыполнитьЗапросЗавершениеЧтенияФайловМультипартВоВременноеХранилище",
+ ЭтотОбъект, ПараметрыСледующегоШага));
+ Иначе
+ ВыполнитьЗапросЗавершениеПодготовительныхДействий(ПараметрыСледующегоШага);
+ КонецЕсли;
+
+КонецПроцедуры
+
&НаКлиенте
Процедура НачатьПомещениеФайловВоВременноеХранилищеДляСтрокТелаМультипарт(СтрокаЗапроса, ОписаниеОповещенияОЗавершении)
ПараметрыОповещений = Новый Структура;
@@ -919,15 +936,21 @@
КонецФункции
&НаКлиенте
-Процедура ВыполнитьСохранениеЗапросовВФайл(СохранитьКак = Ложь)
+Процедура ВыполнитьСохранениеЗапросовВФайл(СохранитьКак = Ложь, ОписаниеОповещенияОЗаверешении = Неопределено)
СохранитьДанныеЗапросаВДеревоЗапросов();
+ ДопПараметрыОповещения = Неопределено;
+ Если ОписаниеОповещенияОЗаверешении <> Неопределено Тогда
+ ДопПараметрыОповещения = Новый Структура;
+ ДопПараметрыОповещения.Вставить("ОписаниеОповещенияОЗаверешении", ОписаниеОповещенияОЗаверешении);
+ КонецЕсли;
+
УИ_ОбщегоНазначенияКлиент.СохранитьДанныеКонсолиВФайл("КонсольHTTPЗапросов",
СохранитьКак,
СтруктураОписанияСохраняемогоФайла(),
ПолучитьСтрокуДанныхФайлаДляСохраненияВФайл(),
Новый ОписаниеОповещения("СохранениеВФайлЗавершение",
- ЭтотОбъект));
+ ЭтотОбъект, ДопПараметрыОповещения));
КонецПроцедуры
@@ -1303,6 +1326,9 @@
Модифицированность = Ложь;
ОбновитьЗаголовок();
+ Если ДополнительныеПараметры <> Неопределено Тогда
+ ВыполнитьОбработкуОповещения(ДополнительныеПараметры.ОписаниеОповещенияОЗаверешении, Истина);
+ КонецЕсли;
КонецПроцедуры
&НаСервере