Skip to content

Commit

Permalink
feat: Выбор файла для передачи содержимого в Multipart сообщение
Browse files Browse the repository at this point in the history
  • Loading branch information
Stivo182 committed Jul 21, 2024
1 parent 64d4646 commit 4660534
Show file tree
Hide file tree
Showing 3 changed files with 143 additions and 11 deletions.
22 changes: 17 additions & 5 deletions src/ExternalDataProcessors/CURLBuilder/CURLBuilder.mdo
Original file line number Diff line number Diff line change
Expand Up @@ -801,10 +801,10 @@
<maxValue xsi:type="core:UndefinedValue"/>
</attributes>
<attributes uuid="62046ce1-3ff0-4f8a-bce6-ec04349782d8">
<name>ОтправлятьДанныеАутентификацииНаДругойХост</name>
<name>РазрешитьПередачуСведенийАутентификацииНаДругойХост</name>
<synonym>
<key>ru</key>
<value>Отправлять данные аутентификации на другой хост</value>
<value>Разрешить передачу сведений аутентификации на другой хост</value>
</synonym>
<type>
<types>Boolean</types>
Expand Down Expand Up @@ -981,20 +981,32 @@
<fillChecking>ShowError</fillChecking>
</attributes>
<attributes uuid="3d3427bb-8bf4-40a3-bff6-4686837d8988">
<name>Значение</name>
<name>Текст</name>
<synonym>
<key>ru</key>
<value>Значение</value>
<value>Текст</value>
</synonym>
<type>
<types>String</types>
<stringQualifiers/>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fillChecking>ShowError</fillChecking>
<fillValue xsi:type="core:UndefinedValue"/>
</attributes>
<attributes uuid="bddb7afc-e184-4a90-9380-7c8c5e9bddba">
<name>Файл</name>
<synonym>
<key>ru</key>
<value>Файл</value>
</synonym>
<type>
<types>String</types>
<stringQualifiers/>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</attributes>
<attributes uuid="ba3099d5-ddad-47cd-86a4-12e2de927df5">
<name>ТипMIME</name>
<synonym>
Expand Down
83 changes: 79 additions & 4 deletions src/ExternalDataProcessors/CURLBuilder/Forms/Форма/Form.form
Original file line number Diff line number Diff line change
Expand Up @@ -928,18 +928,26 @@
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>ПоляФормыЗначение</name>
<name>ПоляФормыТекст</name>
<id>425</id>
<title>
<key>ru</key>
<value>Текст</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Объект.ПоляФормы.Значение</segments>
<segments>Объект.ПоляФормы.Текст</segments>
</dataPath>
<handlers>
<event>OnChange</event>
<name>ПоляФормыТекстПриИзменении</name>
</handlers>
<extendedTooltip>
<name>ПоляФормыЗначениеРасширеннаяПодсказка</name>
<name>ПоляФормыТекстРасширеннаяПодсказка</name>
<id>427</id>
<visible>true</visible>
<enabled>true</enabled>
Expand All @@ -954,7 +962,7 @@
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ПоляФормыЗначениеКонтекстноеМеню</name>
<name>ПоляФормыТекстКонтекстноеМеню</name>
<id>426</id>
<visible>true</visible>
<enabled>true</enabled>
Expand All @@ -969,6 +977,10 @@
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<handlers>
<event>StartChoice</event>
<name>ПоляФормыТекстНачалоВыбора</name>
</handlers>
<width>10</width>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
Expand All @@ -978,6 +990,69 @@
<textEdit>true</textEdit>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>ПоляФормыФайл</name>
<id>448</id>
<title>
<key>ru</key>
<value>Текст из файла</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Объект.ПоляФормы.Файл</segments>
</dataPath>
<handlers>
<event>OnChange</event>
<name>ПоляФормыФайлПриИзменении</name>
</handlers>
<extendedTooltip>
<name>ПоляФормыФайлРасширеннаяПодсказка</name>
<id>450</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>449</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<handlers>
<event>StartChoice</event>
<name>ПоляФормыФайлНачалоВыбора</name>
</handlers>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<choiceButton>true</choiceButton>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>ПоляФормыТипMIME</name>
<id>428</id>
Expand Down
49 changes: 47 additions & 2 deletions src/ExternalDataProcessors/CURLBuilder/Forms/Форма/Module.bsl
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,33 @@

#КонецОбласти

#Область ОбработчикиСобытийЭлементовТаблицыФормыПоляФормы

&НаКлиенте
Процедура ПоляФормыФайлНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)

ДанныеСтроки = Элементы.ПоляФормы.ТекущиеДанные;

ДополнительныеПараметры = Новый Структура("ДанныеСтроки", ДанныеСтроки);
ОписаниеОповещения = Новый ОписаниеОповещения("ПослеВыбораФайлаВТаблицеПоляФормы", ЭтотОбъект, ДополнительныеПараметры);
НачатьВыборФайла(ДанныеСтроки, "Файл", Ложь, ОписаниеОповещения);

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

&НаКлиенте
Процедура ПоляФормыТекстПриИзменении(Элемент)
ДанныеСтроки = Элементы.ПоляФормы.ТекущиеДанные;
ДанныеСтроки.Файл = "";
КонецПроцедуры

&НаКлиенте
Процедура ПоляФормыФайлПриИзменении(Элемент)
ДанныеСтроки = Элементы.ПоляФормы.ТекущиеДанные;
ДанныеСтроки.Текст = "";
КонецПроцедуры

#КонецОбласти

#Область ОбработчикиКомандФормы

&НаКлиенте
Expand Down Expand Up @@ -354,6 +381,19 @@

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

// После выбора файла в таблице поля формы.
//
// Параметры:
// ПолноеИмя - Строка - Полное имя
// ДополнительныеПараметры - Структура - Дополнительные параметры:
// * ДанныеСтроки - ДанныеФормыЭлементКоллекции - Строка таблицы Файлы:
// ** Текст - Строка - Текст
&НаКлиенте
Процедура ПослеВыбораФайлаВТаблицеПоляФормы(ПолноеИмя, ДополнительныеПараметры) Экспорт
ДанныеСтроки = ДополнительныеПараметры.ДанныеСтроки;
ДанныеСтроки.Текст = "";
КонецПроцедуры

&НаКлиенте
Функция ДоступенМетодЗапроса()
Возврат ЭтоHTTP(СхемаURL);
Expand Down Expand Up @@ -923,8 +963,13 @@
КонецЦикла;

Для Каждого СтрокаПоле Из Объект.ПоляФормы Цикл
Curl.ДобавитьТекстMultipart(СтрокаПоле.Имя, СтрокаПоле.Значение, СтрокаПоле.ТипMIME);
ДобавитьМетодОбработкиВКод("ДобавитьТекстMultipart", СтрокаПоле.Имя, СтрокаПоле.Значение, СтрокаПоле.ТипMIME);
Если ЗначениеЗаполнено(СтрокаПоле.Файл) Тогда
Curl.ДобавитьТекстИзФайлаMultipart(СтрокаПоле.Имя, СтрокаПоле.Файл, СтрокаПоле.ТипMIME);
ДобавитьМетодОбработкиВКод("ДобавитьТекстИзФайлаMultipart", СтрокаПоле.Имя, СтрокаПоле.Файл, СтрокаПоле.ТипMIME);
Иначе
Curl.ДобавитьТекстMultipart(СтрокаПоле.Имя, СтрокаПоле.Текст, СтрокаПоле.ТипMIME);
ДобавитьМетодОбработкиВКод("ДобавитьТекстMultipart", СтрокаПоле.Имя, СтрокаПоле.Текст, СтрокаПоле.ТипMIME);
КонецЕсли;
КонецЦикла;

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

0 comments on commit 4660534

Please sign in to comment.