1
0
mirror of https://github.com/firstBitSportivnaya/PSSL.git synced 2024-11-21 17:56:47 +02:00

Архитектурный рефакторинг подсистемы управления интеграциями (#99)

Архитектурный рефакторинг подсистемы управления интеграциями. Добавлены / изменены реквизиты для типов интеграций помимо SOAP и REST. Добавлены / изменены обработчики форм справочников подсистемы под отрисовку разных типов интеграций
This commit is contained in:
Permichev Vladislav 2024-09-13 19:12:58 +03:00 committed by GitHub
parent 108ead975a
commit 22a7181555
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
60 changed files with 3998 additions and 308 deletions

View File

@ -8,7 +8,11 @@
"OrdinaryAppSupport": false,
"Typo": {
"userWordsToIgnore": "пбп"
}
},
"LatinAndCyrillicSymbolInWord": {
"excludeWords": "ЧтениеXML, ЧтениеJSON, ЗаписьXML, ЗаписьJSON, ComОбъект, ФабрикаXDTO, ОбъектXDTO, СоединениеFTP, HTTPСоединение, HTTPЗапрос, HTTPСервисОтвет, SMSСообщение, WSПрокси, ИмяCOMОбъекта, ЭтоWindowsКлиент",
"allowTrailingPartsInAnotherLanguage": true
}
}
}
}

View File

@ -2,33 +2,33 @@
<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.16">
<Catalog uuid="66713231-4a79-48b8-856c-10d2717a63e7">
<InternalInfo>
<xr:GeneratedType name="CatalogObject.пбп_МетодыИнтеграции" category="Object">
<xr:GeneratedType name="CatalogObject.пбп_ИнтеграционныеПотоки" category="Object">
<xr:TypeId>27e4477a-30c0-46c0-99d5-1662d5278fbf</xr:TypeId>
<xr:ValueId>950612ee-2c6e-4a4a-a7ae-02716a74d3fa</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogRef.пбп_МетодыИнтеграции" category="Ref">
<xr:GeneratedType name="CatalogRef.пбп_ИнтеграционныеПотоки" category="Ref">
<xr:TypeId>a43f4bad-6139-42b3-9f28-c55d60b71fb8</xr:TypeId>
<xr:ValueId>59d0a00d-ee1c-48e5-8e2b-3949a70cc3c1</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogSelection.пбп_МетодыИнтеграции" category="Selection">
<xr:GeneratedType name="CatalogSelection.пбп_ИнтеграционныеПотоки" category="Selection">
<xr:TypeId>a19a8ac0-76a9-4657-981e-7e53c430f242</xr:TypeId>
<xr:ValueId>fd8a81a3-26c0-4982-96f9-ab40d9fad50b</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogList.пбп_МетодыИнтеграции" category="List">
<xr:GeneratedType name="CatalogList.пбп_ИнтеграционныеПотоки" category="List">
<xr:TypeId>30e79f29-fec1-4060-af9d-0bde4238e4c9</xr:TypeId>
<xr:ValueId>5e4ead15-4199-4d03-8ec9-e6d666e1cfde</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogManager.пбп_МетодыИнтеграции" category="Manager">
<xr:GeneratedType name="CatalogManager.пбп_ИнтеграционныеПотоки" category="Manager">
<xr:TypeId>f9fd23df-8010-4128-8546-9a3c88ce3dcd</xr:TypeId>
<xr:ValueId>9a054a13-ab52-4669-9039-fb486e762445</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>пбп_МетодыИнтеграции</Name>
<Name>пбп_ИнтеграционныеПотоки</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Методы интеграции</v8:content>
<v8:content>Интеграционные потоки</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
@ -58,15 +58,15 @@
<QuickChoice>false</QuickChoice>
<ChoiceMode>BothWays</ChoiceMode>
<InputByString>
<xr:Field>Catalog.пбп_МетодыИнтеграции.StandardAttribute.Description</xr:Field>
<xr:Field>Catalog.пбп_МетодыИнтеграции.StandardAttribute.Code</xr:Field>
<xr:Field>Catalog.пбп_ИнтеграционныеПотоки.StandardAttribute.Description</xr:Field>
<xr:Field>Catalog.пбп_ИнтеграционныеПотоки.StandardAttribute.Code</xr:Field>
</InputByString>
<SearchStringModeOnInputByString>Begin</SearchStringModeOnInputByString>
<FullTextSearchOnInputByString>DontUse</FullTextSearchOnInputByString>
<ChoiceDataGetModeOnInputByString>Directly</ChoiceDataGetModeOnInputByString>
<DefaultObjectForm>Catalog.пбп_МетодыИнтеграции.Form.ФормаЭлемента</DefaultObjectForm>
<DefaultObjectForm>Catalog.пбп_ИнтеграционныеПотоки.Form.ФормаЭлемента</DefaultObjectForm>
<DefaultFolderForm/>
<DefaultListForm>Catalog.пбп_МетодыИнтеграции.Form.ФормаСписка</DefaultListForm>
<DefaultListForm>Catalog.пбп_ИнтеграционныеПотоки.Form.ФормаСписка</DefaultListForm>
<DefaultChoiceForm/>
<DefaultFolderChoiceForm/>
<AuxiliaryObjectForm/>
@ -82,14 +82,14 @@
<ObjectPresentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Метод интеграции</v8:content>
<v8:content>Интеграционный поток</v8:content>
</v8:item>
</ObjectPresentation>
<ExtendedObjectPresentation/>
<ListPresentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Методы интеграции</v8:content>
<v8:content>Интеграционные потоки</v8:content>
</v8:item>
</ListPresentation>
<ExtendedListPresentation/>
@ -103,11 +103,11 @@
<ChildObjects>
<Attribute uuid="2d7cb1e2-a560-4707-bf23-e029fd3a4a04">
<Properties>
<Name>Метод</Name>
<Name>ТочкаВхода</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Метод</v8:content>
<v8:content>Точка входа</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
@ -241,23 +241,103 @@
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="7a390105-a477-4812-8f06-571a65355a9f">
<Properties>
<Name>ПользовательскаяФункция</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Пользовательская функция</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>cfg:CatalogRef.пбп_ПользовательскиеФункции</v8:Type>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip/>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="2f33fcf4-18bb-40de-9936-72f2681930fe">
<Properties>
<Name>ИзмененВручную</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Изменен вручную</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip/>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<TabularSection uuid="2a6450ad-2f8e-4dab-bdcb-6a6acaf132f9">
<InternalInfo>
<xr:GeneratedType name="CatalogTabularSection.пбп_МетодыИнтеграции.ПараметрыREST" category="TabularSection">
<xr:GeneratedType name="CatalogTabularSection.пбп_ИнтеграционныеПотоки.ПараметрыВхода" category="TabularSection">
<xr:TypeId>6a32aa61-64ff-42c6-b4e1-58ae1428c549</xr:TypeId>
<xr:ValueId>45199e31-ad67-4e15-84fc-a1ae2066e542</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogTabularSectionRow.пбп_МетодыИнтеграции.ПараметрыREST" category="TabularSectionRow">
<xr:GeneratedType name="CatalogTabularSectionRow.пбп_ИнтеграционныеПотоки.ПараметрыВхода" category="TabularSectionRow">
<xr:TypeId>02a0b998-bcb9-461a-aa4d-c3d67079a49b</xr:TypeId>
<xr:ValueId>a1db27da-6351-42bc-ab03-d4e10c8e7ebf</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>ПараметрыREST</Name>
<Name>ПараметрыВхода</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Параметры REST</v8:content>
<v8:content>Параметры входа</v8:content>
</v8:item>
</Synonym>
<Comment/>
@ -344,6 +424,43 @@
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="a35a3112-2d42-4c11-832e-72ece2038866">
<Properties>
<Name>ПараметрURL</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Параметр URL</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip/>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="c577c4d1-aa38-4c9b-9839-103837f5554f">
<Properties>
<Name>ЗначениеПоУмолчанию</Name>
@ -396,6 +513,47 @@
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="09be51cc-4e80-483a-9f87-4ab683c643f0">
<Properties>
<Name>ПолеОбъекта</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Поле объекта</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>100</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip/>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
</ChildObjects>
</TabularSection>
<Form>ФормаЭлемента</Form>

View File

@ -22,29 +22,33 @@
#Область ПрограммныйИнтерфейс
// Получает структуру параметров метода интеграции со значениями по умолчанию
// Получить структуру параметров входа
//
// Параметры:
// *МетодИнтеграции - СправочникСсылка.пбп_МетодыИнтеграции - ссылка на метод, параметры которого получаем.
// *ЗаполнятьПоУмолчанию - Булево - добавлять ли в возвращаемую структуру значения по умолчанию
// **Ложь - возвращает структуру вида ИмяПараметра<Строка>:ТипЗначения<ПеречислениеСсылка.пбп_ТипыJSON>
// **Истина - возвращает структуру вида ИмяПараметра<Строка>:ЗначениеПоУмолчанию<Строка>
// ИнтеграционныйПоток - СправочникСсылка.пбп_ИнтеграционныеПотоки - ссылка на поток, параметры которого получаем.
// ЗаполнятьПоУмолчанию - Булево - добавлять ли в возвращаемую структуру значения по умолчанию
// - Ложь - возвращает структуру вида ИмяПараметра<Строка>:ТипЗначения<ПеречислениеСсылка.пбп_ТипыJSON>
// - Истина - возвращает структуру вида ИмяПараметра<Строка>:ЗначениеПоУмолчанию<Строка>
//
// Возвращаемое значение:
// Структура
Функция ПолучитьСтруктуруПараметровREST(МетодИнтеграции, ЗаполнятьПоУмолчанию = Ложь) Экспорт
// - Структура
//
Функция ПолучитьСтруктуруПараметровВхода(ИнтеграционныйПоток, ЗаполнятьПоУмолчанию = Ложь) Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| пбп_МетодыИнтеграцииПараметрыREST.Имя КАК Имя,
| пбп_МетодыИнтеграцииПараметрыREST.Тип КАК Тип,
| пбп_МетодыИнтеграцииПараметрыREST.ЗначениеПоУмолчанию КАК ЗначениеПоУмолчанию
|ИЗ
| Справочник.пбп_МетодыИнтеграции.ПараметрыREST КАК пбп_МетодыИнтеграцииПараметрыREST
|ГДЕ
| пбп_МетодыИнтеграцииПараметрыREST.Ссылка = &МетодИнтеграции";
"ВЫБРАТЬ
| пбп_ИнтеграционныеПотокиПараметрыВхода.Имя КАК Имя,
| пбп_ИнтеграционныеПотокиПараметрыВхода.Тип КАК Тип,
| пбп_ИнтеграционныеПотокиПараметрыВхода.ПараметрURL КАК ПараметрURL,
| пбп_ИнтеграционныеПотокиПараметрыВхода.ЗначениеПоУмолчанию КАК ЗначениеПоУмолчанию,
| пбп_ИнтеграционныеПотокиПараметрыВхода.ПолеОбъекта КАК ПолеОбъекта
|ИЗ
| Справочник.пбп_ИнтеграционныеПотоки.ПараметрыВхода КАК пбп_ИнтеграционныеПотокиПараметрыВхода
|ГДЕ
| пбп_ИнтеграционныеПотокиПараметрыВхода.Ссылка = &ИнтеграционныйПоток";
Запрос.УстановитьПараметр("МетодИнтеграции", МетодИнтеграции);
Запрос.УстановитьПараметр("ИнтеграционныйПоток", ИнтеграционныйПоток);
РезультатЗапроса = Запрос.Выполнить();
@ -56,24 +60,26 @@
Имя = Выборка.Имя;
Если ЗаполнятьПоУмолчанию Тогда
Результат.Вставить(Имя, ПривестиЗначениеПоУмолчаниюREST(Выборка.ЗначениеПоУмолчанию, Выборка.Тип));
Иначе
Результат.Вставить(Имя, ПривестиЗначениеПоУмолчаниюREST(Выборка.ЗначениеПоУмолчанию, Выборка.Тип));
Иначе
Результат.Вставить(Имя, Выборка.Тип);
КонецЕсли;
КонецЦикла;
Возврат Результат;
КонецФункции
// Получает структуру параметров метода интеграции со значениями по умолчанию
// Получает структуру параметров метода интеграции со значениями по умолчанию
//
// Параметры:
// Значение - СправочникСсылка.пбп_МетодыИнтеграции - ссылка на метод, параметры которого получаем.
// ТипJSON - ПеречислениеСсылка.пбп_ТипыJSON - добавлять ли в возвращаемую структуру значения по умолчанию
// Значение - СправочникСсылка.пбп_МетодыИнтеграции - ссылка на метод, параметры которого получаем.
// ТипJSON - ПеречислениеСсылка.пбп_ТипыJSON - добавлять ли в возвращаемую структуру значения по умолчанию
//
// Возвращаемое значение:
// Строка - приведенное к JSON поле типа
// - Строка - приведенное к JSON поле типа
//
Функция ПривестиЗначениеПоУмолчаниюREST(Значение, ТипJSON) Экспорт
Если Не ЗначениеЗаполнено(Значение) Тогда
@ -84,17 +90,19 @@
Иначе
Возврат "null";
КонецЕсли;
КонецЕсли;
Если ТипJSON = Перечисления.пбп_ТипыJSON.Булево Тогда
Возврат ?(Значение, "true", "false");
ИначеЕсли ТипJSON = Перечисления.пбп_ТипыJSON.Дата Тогда
Возврат Формат(Значение, "ДФ=yyyy-MM-dd");
ИначеЕсли ТипJSON = Перечисления.пбп_ТипыJSON.Число Тогда
Возврат Формат(Значение, "ЧГ=0");
КонецЕсли;
Возврат "";
Если ТипJSON = Перечисления.пбп_ТипыJSON.Булево Тогда
ПреобразованноеЗначение = ?(Значение, "true", "false");
ИначеЕсли ТипJSON = Перечисления.пбп_ТипыJSON.Дата Тогда
ПреобразованноеЗначение = Формат(Значение, "ДФ=yyyy-MM-dd");
ИначеЕсли ТипJSON = Перечисления.пбп_ТипыJSON.Число Тогда
ПреобразованноеЗначение = Формат(Значение, "ЧГ=0");
Иначе
ПреобразованноеЗначение = "";
КонецЕсли;
Возврат ПреобразованноеЗначение;
КонецФункции

View File

@ -0,0 +1,109 @@
// Библиотека проектных подсистем для упрощения разработки архитектуры на 1С: Предприятие 8,
// включая доработку типовых конфигураций.
//
// Copyright First BIT company
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// URL: https://github.com/firstBitSportivnaya/PSSL/
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ОбработчикиСобытий
Процедура ПередЗаписью(Отказ)
Если ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
Если Не ЭтоНовый()
И пбп_ОбщегоНазначенияПовтИсп.ПолучитьЗначениеКонстанты("пбп_ИспользоватьПользовательскиеФункции") Тогда
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Ссылка", Ссылка);
Запрос.Текст = "ВЫБРАТЬ
| пбп_ИнтеграционныеПотоки.ПользовательскаяФункция КАК ПользовательскаяФункция,
| пбп_ИнтеграционныеПотоки.НастройкаИнтеграции КАК НастройкаИнтеграции
|ИЗ
| Справочник.пбп_ИнтеграционныеПотоки КАК пбп_ИнтеграционныеПотоки
|ГДЕ
| пбп_ИнтеграционныеПотоки.Ссылка = &Ссылка";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаРезультатаЗапроса = РезультатЗапроса.Выбрать();
ПользовательскаяФункцияДоИзменения = Справочники.пбп_ПользовательскиеФункции.ПустаяСсылка();
НастройкаИнтеграцииДоИзменения = Справочники.пбп_НастройкиИнтеграции.ПустаяСсылка();
Если ВыборкаРезультатаЗапроса.Следующий() Тогда
ПользовательскаяФункцияДоИзменения = ВыборкаРезультатаЗапроса.ПользовательскаяФункция;
НастройкаИнтеграцииДоИзменения = ВыборкаРезультатаЗапроса.НастройкаИнтеграции;
КонецЕсли;
Если ЗначениеЗаполнено(ПользовательскаяФункцияДоИзменения)
И Не ЗначениеЗаполнено(ПользовательскаяФункция) Тогда
УдалитьРегламентноеЗаданиеПоКлючу(Строка(Ссылка.УникальныйИдентификатор()));
КонецЕсли;
ФункцияИзменена = ЗначениеЗаполнено(ПользовательскаяФункцияДоИзменения) И ЗначениеЗаполнено(ПользовательскаяФункция)
И ПользовательскаяФункцияДоИзменения <> ПользовательскаяФункция;
НастройкаИзменена = ЗначениеЗаполнено(НастройкаИнтеграцииДоИзменения) И ЗначениеЗаполнено(НастройкаИнтеграции)
И НастройкаИнтеграцииДоИзменения <> НастройкаИнтеграции;
Если ФункцияИзменена Или НастройкаИзменена Тогда
ОбновитьПараметрыРегламентногоЗадания();
КонецЕсли;
КонецЕсли;
КонецПроцедуры
#КонецОбласти // ОбработчикиСобытий
#Область СлужебныеПроцедурыИФункции
Процедура ОбновитьПараметрыРегламентногоЗадания()
КлючЗадания = Строка(Ссылка.УникальныйИдентификатор());
ОтборЗадания = Новый Структура;
ОтборЗадания.Вставить("Ключ", КлючЗадания);
МассивРегламентныхЗаданий = пбп_РегламентныеЗаданияСервер.НайтиЗадания(ОтборЗадания);
Если МассивРегламентныхЗаданий.Количество() Тогда
РегламентноеЗадание = МассивРегламентныхЗаданий[0];
ПараметрыРегламентногоЗадания = Новый Массив;
ПараметрыРегламентногоЗадания.Добавить(НастройкаИнтеграции);
ПараметрыРегламентногоЗадания.Добавить(ПользовательскаяФункция);
РегламентноеЗадание.Параметры = ПараметрыРегламентногоЗадания;
РегламентноеЗадание.Записать();
КонецЕсли;
КонецПроцедуры
Процедура УдалитьРегламентноеЗаданиеПоКлючу(КлючЗадания)
ОтборЗадания = Новый Структура;
ОтборЗадания.Вставить("Ключ", КлючЗадания);
МассивРегламентныхЗаданий = пбп_РегламентныеЗаданияСервер.НайтиЗадания(ОтборЗадания);
Если МассивРегламентныхЗаданий.Количество() Тогда
РегламентноеЗадание = МассивРегламентныхЗаданий[0];
пбп_РегламентныеЗаданияСервер.УдалитьЗадание(РегламентноеЗадание.УникальныйИдентификатор);
КонецЕсли;
КонецПроцедуры
#КонецОбласти // СлужебныеПроцедурыИФункцкии
#Иначе
ВызватьИсключение НСтр("ru = 'Недопустимый вызов объекта на клиенте.'");
#КонецЕсли

View File

@ -95,7 +95,7 @@
<ExtendedTooltip name="НаименованиеРасширеннаяПодсказка" id="18"/>
</LabelField>
<InputField name="Метод" id="22">
<DataPath>Список.Метод</DataPath>
<DataPath>~Список.Метод</DataPath>
<ContextMenu name="МетодКонтекстноеМеню" id="23"/>
<ExtendedTooltip name="МетодРасширеннаяПодсказка" id="24"/>
</InputField>
@ -111,7 +111,7 @@
<Settings xsi:type="DynamicList">
<ManualQuery>false</ManualQuery>
<DynamicDataRead>true</DynamicDataRead>
<MainTable>Catalog.пбп_МетодыИнтеграции</MainTable>
<MainTable>Catalog.пбп_ИнтеграционныеПотоки</MainTable>
<ListSettings>
<dcsset:filter>
<dcsset:viewMode>Normal</dcsset:viewMode>

View File

@ -26,7 +26,7 @@
&НаСервереБезКонтекста
Процедура ЗаполнитьПредопределенныеНаСервере()
пбп_ПредопределенныеЗначения.ИнициализироватьПредопределенныеЗначения(Справочники.пбп_МетодыИнтеграции);
пбп_ПредопределенныеЗначения.ИнициализироватьПредопределенныеЗначения(Справочники.пбп_ИнтеграционныеПотоки);
КонецПроцедуры
&НаКлиенте

View File

@ -0,0 +1,234 @@
<?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.16">
<WindowOpeningMode>LockOwnerWindow</WindowOpeningMode>
<CommandSet>
<ExcludedCommand>Delete</ExcludedCommand>
</CommandSet>
<UseForFoldersAndItems>Items</UseForFoldersAndItems>
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
<Events>
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
<Event name="BeforeWriteAtServer">ПередЗаписьюНаСервере</Event>
</Events>
<ChildItems>
<UsualGroup name="ГруппаРегламентноеЗадание" id="52">
<Title>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Scheduled task</v8:content>
</v8:item>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Регламентное задание</v8:content>
</v8:item>
</Title>
<Behavior>Usual</Behavior>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаРегламентноеЗаданиеРасширеннаяПодсказка" id="53"/>
<ChildItems>
<CheckBoxField name="ИспользоватьРегламентноеЗадание" id="54">
<DataPath>ИспользоватьРегламентноеЗадание</DataPath>
<TitleLocation>Right</TitleLocation>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="ИспользоватьРегламентноеЗаданиеКонтекстноеМеню" id="55"/>
<ExtendedTooltip name="ИспользоватьРегламентноеЗаданиеРасширеннаяПодсказка" id="56"/>
<Events>
<Event name="OnChange">ИспользоватьРегламентноеЗаданиеПриИзменении</Event>
</Events>
</CheckBoxField>
<Button name="НастроитьРасписаниеРегламентногоЗадания" id="57">
<Type>Hyperlink</Type>
<CommandName>Form.Command.НастроитьРасписаниеРегламентногоЗадания</CommandName>
<ExtendedTooltip name="НастроитьРасписаниеРегламентногоЗаданияРасширеннаяПодсказка" id="58"/>
</Button>
</ChildItems>
</UsualGroup>
<UsualGroup name="НаименованиеКод" id="10">
<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>
<Group>AlwaysHorizontal</Group>
<Behavior>Usual</Behavior>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="НаименованиеКодРасширеннаяПодсказка" id="11"/>
<ChildItems>
<InputField name="Наименование" id="4">
<DataPath>Объект.Description</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="НаименованиеКонтекстноеМеню" id="5"/>
<ExtendedTooltip name="НаименованиеРасширеннаяПодсказка" id="6"/>
</InputField>
<InputField name="Код" id="1">
<DataPath>Объект.Code</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="КодКонтекстноеМеню" id="2"/>
<ExtendedTooltip name="КодРасширеннаяПодсказка" id="3"/>
</InputField>
</ChildItems>
</UsualGroup>
<InputField name="НастройкаИнтеграции" id="12">
<DataPath>Объект.НастройкаИнтеграции</DataPath>
<EditTextUpdate>OnValueChange</EditTextUpdate>
<ContextMenu name="НастройкаИнтеграцииКонтекстноеМеню" id="13"/>
<ExtendedTooltip name="НастройкаИнтеграцииРасширеннаяПодсказка" id="14"/>
<Events>
<Event name="OnChange">НастройкаИнтеграцииПриИзменении</Event>
<Event name="AutoComplete">НастройкаИнтеграцииАвтоПодбор</Event>
<Event name="StartChoice">НастройкаИнтеграцииНачалоВыбора</Event>
</Events>
</InputField>
<InputField name="ПользовательскаяФункция" id="40">
<DataPath>Объект.ПользовательскаяФункция</DataPath>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ПользовательскаяФункцияКонтекстноеМеню" id="41"/>
<ExtendedTooltip name="ПользовательскаяФункцияРасширеннаяПодсказка" id="42"/>
<Events>
<Event name="OnChange">ПользовательскаяФункцияПриИзменении</Event>
</Events>
</InputField>
<Table name="ПараметрыВхода" id="15">
<TitleLocation>Top</TitleLocation>
<AutoInsertNewRow>true</AutoInsertNewRow>
<EnableStartDrag>true</EnableStartDrag>
<EnableDrag>true</EnableDrag>
<DataPath>Объект.ПараметрыВхода</DataPath>
<RowFilter xsi:nil="true"/>
<ContextMenu name="ПараметрыВходаКонтекстноеМеню" id="16"/>
<AutoCommandBar name="ПараметрыВходаКоманднаяПанель" id="17"/>
<ExtendedTooltip name="ПараметрыВходаРасширеннаяПодсказка" id="18"/>
<SearchStringAddition name="ПараметрыВходаСтрокаПоиска" id="19">
<AdditionSource>
<Item>ПараметрыВхода</Item>
<Type>SearchStringRepresentation</Type>
</AdditionSource>
<ContextMenu name="ПараметрыВходаСтрокаПоискаКонтекстноеМеню" id="20"/>
<ExtendedTooltip name="ПараметрыВходаСтрокаПоискаРасширеннаяПодсказка" id="21"/>
</SearchStringAddition>
<ViewStatusAddition name="ПараметрыВходаСостояниеПросмотра" id="22">
<AdditionSource>
<Item>ПараметрыВхода</Item>
<Type>ViewStatusRepresentation</Type>
</AdditionSource>
<ContextMenu name="ПараметрыВходаСостояниеПросмотраКонтекстноеМеню" id="23"/>
<ExtendedTooltip name="ПараметрыВходаСостояниеПросмотраРасширеннаяПодсказка" id="24"/>
</ViewStatusAddition>
<SearchControlAddition name="ПараметрыВходаУправлениеПоиском" id="25">
<AdditionSource>
<Item>ПараметрыВхода</Item>
<Type>SearchControl</Type>
</AdditionSource>
<ContextMenu name="ПараметрыВходаУправлениеПоискомКонтекстноеМеню" id="26"/>
<ExtendedTooltip name="ПараметрыВходаУправлениеПоискомРасширеннаяПодсказка" id="27"/>
</SearchControlAddition>
<ChildItems>
<LabelField name="ПараметрыВходаНомерСтроки" id="28">
<DataPath>Объект.ПараметрыВхода.LineNumber</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="ПараметрыВходаНомерСтрокиКонтекстноеМеню" id="29"/>
<ExtendedTooltip name="ПараметрыВходаНомерСтрокиРасширеннаяПодсказка" id="30"/>
</LabelField>
<InputField name="ПараметрыВходаИмя" id="31">
<DataPath>Объект.ПараметрыВхода.Имя</DataPath>
<EditMode>EnterOnInput</EditMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ПараметрыВходаИмяКонтекстноеМеню" id="32"/>
<ExtendedTooltip name="ПараметрыВходаИмяРасширеннаяПодсказка" id="33"/>
</InputField>
<InputField name="ПараметрыВходаТип" id="34">
<DataPath>Объект.ПараметрыВхода.Тип</DataPath>
<EditMode>EnterOnInput</EditMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ПараметрыВходаТипКонтекстноеМеню" id="35"/>
<ExtendedTooltip name="ПараметрыВходаТипРасширеннаяПодсказка" id="36"/>
</InputField>
<CheckBoxField name="ПараметрыВходаПараметрURL" id="46">
<DataPath>Объект.ПараметрыВхода.ПараметрURL</DataPath>
<EditMode>EnterOnInput</EditMode>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="ПараметрыВходаПараметрURLКонтекстноеМеню" id="47"/>
<ExtendedTooltip name="ПараметрыВходаПараметрURLРасширеннаяПодсказка" id="48"/>
</CheckBoxField>
<InputField name="ПараметрыВходаЗначениеПоУмолчанию" id="37">
<DataPath>Объект.ПараметрыВхода.ЗначениеПоУмолчанию</DataPath>
<EditMode>EnterOnInput</EditMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ПараметрыВходаЗначениеПоУмолчаниюКонтекстноеМеню" id="38"/>
<ExtendedTooltip name="ПараметрыВходаЗначениеПоУмолчаниюРасширеннаяПодсказка" id="39"/>
</InputField>
<InputField name="ПараметрыВходаПолеОбъекта" id="49">
<DataPath>Объект.ПараметрыВхода.ПолеОбъекта</DataPath>
<EditMode>EnterOnInput</EditMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ПараметрыВходаПолеОбъектаКонтекстноеМеню" id="50"/>
<ExtendedTooltip name="ПараметрыВходаПолеОбъектаРасширеннаяПодсказка" id="51"/>
</InputField>
</ChildItems>
</Table>
<TextDocumentField name="ТочкаВхода" id="7">
<DataPath>Объект.ТочкаВхода</DataPath>
<EditMode>EnterOnInput</EditMode>
<Height>5</Height>
<ContextMenu name="ТочкаВходаКонтекстноеМеню" id="8"/>
<ExtendedTooltip name="ТочкаВходаРасширеннаяПодсказка" id="9"/>
</TextDocumentField>
</ChildItems>
<Attributes>
<Attribute name="Объект" id="1">
<Type>
<v8:Type>cfg:CatalogObject.пбп_ИнтеграционныеПотоки</v8:Type>
</Type>
<MainAttribute>true</MainAttribute>
<SavedData>true</SavedData>
</Attribute>
<Attribute name="ИспользоватьРегламентноеЗадание" id="2">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Автоматически по расписанию:</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
<Attribute name="РасписаниеРегламентногоЗадания" id="3">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Расписание регламентного задания</v8:content>
</v8:item>
</Title>
<Type/>
</Attribute>
</Attributes>
<Commands>
<Command name="НастроитьРасписаниеРегламентногоЗадания" id="1">
<Title>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Set up scheduled task schedule</v8:content>
</v8:item>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Расписание выполнения задания</v8:content>
</v8:item>
</Title>
<Picture>
<xr:Ref>StdPicture.ScheduledJob</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</Picture>
<Action>НастроитьРасписаниеРегламентногоЗадания</Action>
</Command>
</Commands>
</Form>

View File

@ -0,0 +1,444 @@
// Библиотека проектных подсистем для упрощения разработки архитектуры на 1С: Предприятие 8,
// включая доработку типовых конфигураций.
//
// Copyright First BIT company
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// URL: https://github.com/firstBitSportivnaya/PSSL/
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ПодготовитьФормуНаСервере();
УстановитьСвойстваЭлементов();
КонецПроцедуры
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
Если Модифицированность И Не ПустаяСтрока(Объект.ИдентификаторНастройки) Тогда
ТекущийОбъект.ИзмененВручную = Истина;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ИспользоватьРегламентноеЗаданиеПриИзмененииНаСервере()
РегламентноеЗадание = ПолучитьРегламентноеЗадание();
Если РегламентноеЗадание = Неопределено Тогда
СоздатьРегламентноеЗадание();
Иначе
ОбновитьОтключитьРегламентноеЗадание();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ИспользоватьРегламентноеЗаданиеПриИзменении(Элемент)
Если Не ЗначениеЗаполнено(Объект.Ссылка) Тогда
ТекстСообщения = НСтр("ru = 'Для настройки расписания выполнения задания необходимо записать справочник. Записать?'");
ОписаниеОповещения = Новый ОписаниеОповещения("ИспользоватьРегламентноеЗаданиеПриИзмененииЗавершение", ЭтотОбъект);
ПоказатьВопрос(ОписаниеОповещения, ТекстСообщения, РежимДиалогаВопрос.ОКОтмена);
Иначе
НастроитьДоступностьСсылкиНастройкиРасписания();
ИспользоватьРегламентноеЗаданиеПриИзмененииНаСервере();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура НастройкаИнтеграцииПриИзменении(Элемент)
УстановитьСвойстваЭлементов();
КонецПроцедуры
&НаКлиенте
Процедура НастройкаИнтеграцииНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка)
Если Не ПустаяСтрока(Объект.ИдентификаторНастройки) Тогда
Возврат;
КонецЕсли;
НовыйПараметр = Новый ПараметрВыбора("Отбор.Ссылка", СписокФайловыхНастроекИнтеграции(""));
НовыйМассив = Новый Массив();
НовыйМассив.Добавить(НовыйПараметр);
НовыеПараметры = Новый ФиксированныйМассив(НовыйМассив);
Элемент.ПараметрыВыбора = НовыеПараметры;
КонецПроцедуры
&НаКлиенте
Процедура НастройкаИнтеграцииАвтоПодбор(Элемент, Текст,
ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка)
Если Не ПустаяСтрока(Объект.ИдентификаторНастройки) Тогда
Возврат;
КонецЕсли;
СписокЗначений = Новый СписокЗначений;
СписокЗначений.ЗагрузитьЗначения(СписокФайловыхНастроекИнтеграции(Текст));
ДанныеВыбора = СписокЗначений;
КонецПроцедуры
#КонецОбласти // ОбработчикиСобытийФормы
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура НастроитьРасписаниеРегламентногоЗадания(Команда)
Если Не ЗначениеЗаполнено(Объект.Ссылка) Тогда
Возврат;
КонецЕсли;
Диалог = Новый ДиалогРасписанияРегламентногоЗадания(РасписаниеРегламентногоЗадания);
ОписаниеОповещения = Новый ОписаниеОповещения("РедактированиеРасписаниеРегламентногоЗаданияЗавершение", ЭтотОбъект);
Диалог.Показать(ОписаниеОповещения);
КонецПроцедуры
&НаКлиенте
Процедура ПользовательскаяФункцияПриИзменении(Элемент)
Если ПроверитьВидимостьНастроекРасписания() Тогда
Элементы.ГруппаРегламентноеЗадание.Видимость = Истина;
Если ЗначениеЗаполнено(Объект.Ссылка) Тогда
Элементы.НастроитьРасписаниеРегламентногоЗадания.Доступность = Истина;
Иначе
Элементы.НастроитьРасписаниеРегламентногоЗадания.Доступность = Ложь;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
#КонецОбласти // ОбработчикиКомандФормы
#Область СлужебныеПроцедурыИФункции
&НаСервере
Процедура ПодготовитьФормуНаСервере()
Если ПроверитьВидимостьНастроекРасписания() И ЗначениеЗаполнено(Объект.Ссылка) Тогда
РегламентноеЗадание = ПолучитьРегламентноеЗадание();
Если РегламентноеЗадание <> Неопределено Тогда
РасписаниеРегламентногоЗадания = РегламентноеЗадание.Расписание;
ИспользоватьРегламентноеЗадание = РегламентноеЗадание.Использование;
КонецЕсли;
Иначе
Элементы.ГруппаРегламентноеЗадание.Видимость = Ложь;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура УстановитьСвойстваЭлементов()
ТочкаВхода = "ТочкаВхода";
ПользовательскаяФункция = "ПользовательскаяФункция";
ПараметрыВходаСтрока = "ПараметрыВхода";
ПараметрыВходаПараметрURL = "ПараметрыВходаПараметрURL";
КонечнаяТочкаСтрока = НСтр("ru = 'Конечная точка'");
ПараметрыЗапросаСтрока = НСтр("ru = 'Параметры запроса'");
УстанавливаемоеСвойство = "Видимость";
Если Не ЗначениеЗаполнено(Объект.НастройкаИнтеграции) Тогда
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ТочкаВхода, УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ПользовательскаяФункция, УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ПараметрыВходаСтрока, УстанавливаемоеСвойство, Ложь);
Иначе
РеквизитыОбъекта = пбп_ОбщегоНазначенияСервер.ЗначенияРеквизитовОбъекта(
Объект.НастройкаИнтеграции, "ТипИнтеграции, ИспользоватьПользовательскиеФункции");
ЭлементНаследования = Справочники.пбп_ТипыИнтеграций
.ПолучитьПредопределенныйЭлементНаследованияНастроекТипаИнтеграции(РеквизитыОбъекта.ТипИнтеграции);
Если ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.Каталог
Или ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.FTPРесурсы
Или ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.ПочтовыйКлиент Тогда
УстановитьВидимостьЭлементовДляТипаФайловыеОбмены();
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, "ПользовательскаяФункция", УстанавливаемоеСвойство,
РеквизитыОбъекта.ИспользоватьПользовательскиеФункции);
ИначеЕсли ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.COM Тогда
Элементы.ТочкаВхода.Заголовок = НСтр("ru = 'Функция / запрос'");
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ТочкаВхода, УстанавливаемоеСвойство, Истина);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ПользовательскаяФункция, УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ПараметрыВходаСтрока, УстанавливаемоеСвойство, Ложь);
ИначеЕсли ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.RESTAPI Тогда
Элементы.ТочкаВхода.Заголовок = НСтр("ru = 'Ресурс'");
Элементы.ПараметрыВхода.Заголовок = НСтр("ru = 'Параметры запроса / URL'");
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ТочкаВхода, УстанавливаемоеСвойство, Истина);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ПользовательскаяФункция, УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ПараметрыВходаСтрока, УстанавливаемоеСвойство, Истина);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ПараметрыВходаПараметрURL, УстанавливаемоеСвойство, Истина);
ИначеЕсли ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.SOAP Тогда
Элементы.ТочкаВхода.Заголовок = КонечнаяТочкаСтрока;
Элементы.ПараметрыВхода.Заголовок = ПараметрыЗапросаСтрока;
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ТочкаВхода, УстанавливаемоеСвойство, Истина);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ПользовательскаяФункция, УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ПараметрыВходаСтрока, УстанавливаемоеСвойство, Истина);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ПараметрыВходаПараметрURL, УстанавливаемоеСвойство, Ложь);
ИначеЕсли ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.ПрямоеПодключениеКБД Тогда
Элементы.ТочкаВхода.Заголовок = НСтр("ru = 'Текст запроса'");
Элементы.ПараметрыВхода.Заголовок = ПараметрыЗапросаСтрока;
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ТочкаВхода, УстанавливаемоеСвойство, Истина);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ПользовательскаяФункция, УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ПараметрыВходаСтрока, УстанавливаемоеСвойство, Истина);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ПараметрыВходаПараметрURL, УстанавливаемоеСвойство, Ложь);
ИначеЕсли ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.ВнешняяКомпонента Тогда
Элементы.ТочкаВхода.Заголовок = НСтр("ru = 'Функция'");
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ТочкаВхода, УстанавливаемоеСвойство, Истина);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ПользовательскаяФункция, УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ПараметрыВходаСтрока, УстанавливаемоеСвойство, Ложь);
ИначеЕсли ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.КоманднаяСтрока Тогда
Элементы.ТочкаВхода.Заголовок = НСтр("ru = 'Команда'");
Элементы.ПараметрыВхода.Заголовок = НСтр("ru = 'Аргументы команды'");
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ТочкаВхода, УстанавливаемоеСвойство, Истина);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ПользовательскаяФункция, УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ПараметрыВходаСтрока, УстанавливаемоеСвойство, Истина);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ПараметрыВходаПараметрURL, УстанавливаемоеСвойство, Ложь);
ИначеЕсли ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.БрокерыСообщений Тогда
Элементы.ТочкаВхода.Заголовок = КонечнаяТочкаСтрока;
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ТочкаВхода, УстанавливаемоеСвойство, Истина);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ПользовательскаяФункция, УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ПараметрыВходаСтрока, УстанавливаемоеСвойство, Ложь);
Иначе
Элементы.ТочкаВхода.Заголовок = КонечнаяТочкаСтрока;
Элементы.ПараметрыВхода.Заголовок = НСтр("ru = 'Параметры'");
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ТочкаВхода, УстанавливаемоеСвойство, Истина);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ПользовательскаяФункция, УстанавливаемоеСвойство, Истина);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ПараметрыВходаСтрока, УстанавливаемоеСвойство, Истина);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ПараметрыВходаПараметрURL, УстанавливаемоеСвойство, Ложь);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура УстановитьВидимостьЭлементовДляТипаФайловыеОбмены()
УстанавливаемоеСвойство = "Видимость";
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, "ТочкаВхода", УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, "ПараметрыВхода", УстанавливаемоеСвойство, Ложь);
КонецПроцедуры
&НаСервере
Функция ПроверитьВидимостьНастроекРасписания()
ПользовательскиеФункцииДоступны = пбп_ОбщегоНазначенияПовтИсп.ПолучитьЗначениеКонстанты(
"пбп_ИспользоватьПользовательскиеФункции");
ДоступноПоРолям = ПравоДоступа("Изменение",
Метаданные.Справочники.пбп_ИнтеграционныеПотоки,
пбп_Пользователи.ТекущийПользователь());
Если Не (ПользовательскиеФункцииДоступны И ДоступноПоРолям) Тогда
Возврат Ложь;
КонецЕсли;
ТипИнтеграции = пбп_ОбщегоНазначенияСервер.ЗначениеРеквизитаОбъекта(
Объект.НастройкаИнтеграции, "ТипИнтеграции");
ЭлементНаследования = Справочники.пбп_ТипыИнтеграций
.ПолучитьПредопределенныйЭлементНаследованияНастроекТипаИнтеграции(ТипИнтеграции);
Если ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.Каталог
Или ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.FTPРесурсы
Или ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.ПочтовыйКлиент Тогда
ДоступноПоНастройке = Истина;
Иначе
ДоступноПоНастройке = Ложь;
КонецЕсли;
Возврат ДоступноПоНастройке;
КонецФункции
&НаКлиенте
Процедура ИспользоватьРегламентноеЗаданиеПриИзмененииЗавершение(Результат, ДополнительныеПараметры) Экспорт
Если Результат = КодВозвратаДиалога.ОК Тогда
Записать();
НастроитьДоступностьСсылкиНастройкиРасписания();
СоздатьРегламентноеЗадание();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура РедактированиеРасписаниеРегламентногоЗаданияЗавершение(Расписание, ДополнительныеПараметры) Экспорт
Если Расписание <> Неопределено Тогда
РасписаниеРегламентногоЗадания = Расписание;
ОбновитьОтключитьРегламентноеЗадание();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура НастроитьДоступностьСсылкиНастройкиРасписания()
Элементы.НастроитьРасписаниеРегламентногоЗадания.Доступность = ИспользоватьРегламентноеЗадание;
КонецПроцедуры
&НаСервере
Процедура ОбновитьОтключитьРегламентноеЗадание()
РегламентноеЗадание = ПолучитьРегламентноеЗадание();
РегламентноеЗадание.Расписание = РасписаниеРегламентногоЗадания;
РегламентноеЗадание.Использование = ИспользоватьРегламентноеЗадание;
РегламентноеЗадание.Записать();
КонецПроцедуры
&НаСервере
Функция ПолучитьРегламентноеЗадание()
Если Не ЗначениеЗаполнено(Объект.Ссылка) Тогда
Возврат Неопределено;
КонецЕсли;
КлючЗадания = ПолучитьУникальныйИдентификаторТекущейНастройки();
ОтборЗадания = Новый Структура;
ОтборЗадания.Вставить("Ключ", КлючЗадания);
МассивРегламентныхЗаданий = пбп_РегламентныеЗаданияСервер.НайтиЗадания(ОтборЗадания);
Если МассивРегламентныхЗаданий.Количество() Тогда
РегламентноеЗадание = МассивРегламентныхЗаданий[0];
Иначе
РегламентноеЗадание = Неопределено;
КонецЕсли;
Возврат РегламентноеЗадание;
КонецФункции
&НаСервере
Процедура СоздатьРегламентноеЗадание()
Если Не ЗначениеЗаполнено(Объект.Ссылка) Тогда
Возврат;
КонецЕсли;
ПараметрыЗадания = Новый Структура;
НаименованиеРеглЗадания = пбп_СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
"ru = 'Выполнение пользовательской функции: выполнение пользовательской функции по настройке интеграции ""%1""'",
Объект.НастройкаИнтеграции.Наименование);
ПараметрыЗадания.Вставить("Наименование" , НСтр(НаименованиеРеглЗадания));
ПараметрыЗадания.Вставить("Использование" , Истина);
ПараметрыЗадания.Вставить("Метаданные" , Метаданные.РегламентныеЗадания
.пбп_ВыполнениеПользовательскихФункцийФайловыхОбменов);
ПараметрыРегламентногоЗадания = Новый Массив;
ПараметрыРегламентногоЗадания.Добавить(Объект.НастройкаИнтеграции);
ПараметрыРегламентногоЗадания.Добавить(Объект.ПользовательскаяФункция);
ПараметрыЗадания.Вставить("Параметры", ПараметрыРегламентногоЗадания);
КлючЗадания = ПолучитьУникальныйИдентификаторТекущейНастройки();
ПараметрыЗадания.Вставить("Ключ", КлючЗадания);
ПараметрыЗадания.Вставить("Расписание", Новый РасписаниеРегламентногоЗадания);
РегламентноеЗадание = пбп_РегламентныеЗаданияСервер.ДобавитьЗадание(ПараметрыЗадания);
РасписаниеРегламентногоЗадания = РегламентноеЗадание.Расписание;
ИспользоватьРегламентноеЗадание = РегламентноеЗадание.Использование;
КонецПроцедуры
&НаСервере
Функция ПолучитьУникальныйИдентификаторТекущейНастройки()
Возврат Строка(Объект.Ссылка.УникальныйИдентификатор());
КонецФункции
&НаСервере
Функция СписокФайловыхНастроекИнтеграции(Знач Текст)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| пбп_НастройкиИнтеграции.Ссылка КАК Ссылка
|ИЗ
| Справочник.пбп_НастройкиИнтеграции КАК пбп_НастройкиИнтеграции
|ГДЕ
| пбп_НастройкиИнтеграции.ТипИнтеграции В ИЕРАРХИИ (&Ссылка)";
Если Не ПустаяСтрока(Текст) Тогда
Запрос.Текст = Запрос.Текст + "
| И пбп_НастройкиИнтеграции.Наименование ПОДОБНО &Текст";
Запрос.УстановитьПараметр("Текст", Текст + "%");
КонецЕсли;
Запрос.УстановитьПараметр("Ссылка", Справочники.пбп_ТипыИнтеграций.ФайловыеОбмены);
Возврат Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");
КонецФункции
#КонецОбласти // СлужебныеПроцедурыИФункции

View File

@ -537,11 +537,11 @@
</Attribute>
<Attribute uuid="713449e4-cc91-4c4c-af12-595211d6afa5">
<Properties>
<Name>ФорматЗапросаИнтеграции</Name>
<Name>ФорматИнтеграции</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Формат запроса интеграции</v8:content>
<v8:content>Формат интеграции</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
@ -550,7 +550,7 @@
</Synonym>
<Comment/>
<Type>
<v8:Type>cfg:EnumRef.пбп_ФорматыЗапросовИнтеграции</v8:Type>
<v8:Type>cfg:EnumRef.пбп_ФорматыИнтеграций</v8:Type>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
@ -581,11 +581,11 @@
</Attribute>
<Attribute uuid="fb0fbd14-6837-471c-a1f0-78d90c5f5cf8">
<Properties>
<Name>ЗапросИсходящий</Name>
<Name>ИсходящееСообщение</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Запрос исходящий</v8:content>
<v8:content>Исходящее сообщение</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
@ -629,11 +629,11 @@
</Attribute>
<Attribute uuid="73d82ef9-59db-41d5-9d39-f538b5bae323">
<Properties>
<Name>ЗапросВходящий</Name>
<Name>ВходящееСообщение</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Запрос входящий</v8:content>
<v8:content>Входящее сообщение</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
@ -773,11 +773,11 @@
</Attribute>
<Attribute uuid="88061294-111c-4a90-b18d-aeafcd50b0c1">
<Properties>
<Name>МетодИнтеграции</Name>
<Name>ИнтеграционныйПоток</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Метод интеграции</v8:content>
<v8:content>Интеграционный поток</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
@ -786,7 +786,7 @@
</Synonym>
<Comment/>
<Type>
<v8:Type>cfg:CatalogRef.пбп_МетодыИнтеграции</v8:Type>
<v8:Type>cfg:CatalogRef.пбп_ИнтеграционныеПотоки</v8:Type>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
@ -874,7 +874,7 @@
</Synonym>
<Comment/>
<Type>
<v8:TypeSet>cfg:CatalogRef</v8:TypeSet>
<v8:TypeSet>cfg:DefinedType.пбп_Пользователи</v8:TypeSet>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>

View File

@ -80,6 +80,14 @@
<ExtendedTooltip name="СписокУправлениеПоискомРасширеннаяПодсказка" id="15"/>
</SearchControlAddition>
<ChildItems>
<LabelField name="Ссылка" id="76">
<DataPath>Список.Ref</DataPath>
<UserVisible>
<xr:Common>false</xr:Common>
</UserVisible>
<ContextMenu name="СсылкаКонтекстноеМеню" id="77"/>
<ExtendedTooltip name="СсылкаРасширеннаяПодсказка" id="78"/>
</LabelField>
<LabelField name="Код" id="19">
<DataPath>Список.Code</DataPath>
<ContextMenu name="КодКонтекстноеМеню" id="20"/>
@ -106,7 +114,7 @@
<ExtendedTooltip name="СтатусРасширеннаяПодсказка" id="53"/>
</InputField>
<LabelField name="МетодИнтеграции" id="63">
<DataPath>Список.МетодИнтеграции</DataPath>
<DataPath>~Список.МетодИнтеграции</DataPath>
<ContextMenu name="МетодИнтеграцииКонтекстноеМеню" id="64"/>
<ExtendedTooltip name="МетодИнтеграцииРасширеннаяПодсказка" id="65"/>
</LabelField>

View File

@ -93,13 +93,13 @@
<ExtendedTooltip name="ГруппаМетодФорматРасширеннаяПодсказка" id="131"/>
<ChildItems>
<InputField name="МетодИнтеграции" id="97">
<DataPath>Объект.МетодИнтеграции</DataPath>
<DataPath>Объект.ИнтеграционныйПоток</DataPath>
<ReadOnly>true</ReadOnly>
<ContextMenu name="МетодИнтеграцииКонтекстноеМеню" id="98"/>
<ExtendedTooltip name="МетодИнтеграцииРасширеннаяПодсказка" id="99"/>
</InputField>
<InputField name="ФорматЗапросаИнтеграции" id="127">
<DataPath>Объект.ФорматЗапросаИнтеграции</DataPath>
<DataPath>Объект.ФорматИнтеграции</DataPath>
<ReadOnly>true</ReadOnly>
<ContextMenu name="ФорматЗапросаИнтеграцииКонтекстноеМеню" id="128"/>
<ExtendedTooltip name="ФорматЗапросаИнтеграцииРасширеннаяПодсказка" id="129"/>

View File

@ -30,6 +30,8 @@
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
УстановитьСвойстваЭлементов();
ЭтоЗагрузка = Объект.Статус = Перечисления.пбп_СтатусыИнтеграции.Загружено
ИЛИ Объект.Статус = Перечисления.пбп_СтатусыИнтеграции.ОшибкаЗагрузки;
Элементы.ГруппаОбъектыОбмена.Заголовок = ?(ЭтоЗагрузка, "Загруженные объекты", "Выгруженные объекты");
@ -39,20 +41,20 @@
Элементы.Ошибка.Видимость = Ложь;
КонецЕсли;
Если Объект.ФорматЗапросаИнтеграции <> Перечисления.пбп_ФорматыЗапросовИнтеграции.ПроизвольныйФормат Тогда
Если Объект.ФорматИнтеграции <> Перечисления.пбп_ФорматыИнтеграций.ПроизвольныйФормат Тогда
Элементы.ГруппаФорматированиеТекстаЗапроса.Видимость = Истина;
Элементы.ВидОтображенияЗапроса.Видимость = Объект.ФорматЗапросаИнтеграции = Перечисления.пбп_ФорматыЗапросовИнтеграции.JSON;
Элементы.ВидОтображенияЗапроса.Видимость = Объект.ФорматИнтеграции = Перечисления.пбп_ФорматыИнтеграций.JSON;
Элементы.ЗапросИсходящий.Вид = ВидПоляФормы.ПолеHTMLДокумента;
Элементы.ЗапросВходящий.Вид = ВидПоляФормы.ПолеHTMLДокумента;
Элементы.ЗапросИсходящий.УстановитьДействие("ДокументСформирован", "ЗапросИсходящийДокументСформирован_Подключаемый");
Элементы.ЗапросВходящий.УстановитьДействие("ДокументСформирован", "ЗапросВходящийДокументСформирован_Подключаемый");
Иначе
Элементы.ГруппаФорматированиеТекстаЗапроса.Видимость = Ложь;
Если ЗначениеЗаполнено(Объект.ЗапросВходящий) Тогда
ЗапросВходящийОтформатированный = ОтформатироватьСообщениеИнтеграции(Объект.ЗапросВходящий);
Если ЗначениеЗаполнено(Объект.ВходящееСообщение) Тогда
ЗапросВходящийОтформатированный = ОтформатироватьСообщениеИнтеграции(Объект.ВходящееСообщение);
КонецЕсли;
Если ЗначениеЗаполнено(Объект.ЗапросИсходящий) Тогда
ЗапросИсходящийОтформатированный = ОтформатироватьСообщениеИнтеграции(Объект.ЗапросИсходящий);
Если ЗначениеЗаполнено(Объект.ИсходящееСообщение) Тогда
ЗапросИсходящийОтформатированный = ОтформатироватьСообщениеИнтеграции(Объект.ИсходящееСообщение);
КонецЕсли;
КонецЕсли;
@ -65,10 +67,10 @@
&НаКлиенте
Процедура ПриОткрытии(Отказ)
Предопределенный = "Перечисление.пбп_ФорматыЗапросовИнтеграции.ПроизвольныйФормат";
Если ЗначениеЗаполнено(Объект.ФорматЗапросаИнтеграции)
И Объект.ФорматЗапросаИнтеграции <> пбп_ОбщегоНазначенияСлужебныйКлиент.ПредопределенныйЭлемент(Предопределенный) Тогда
ИнициализироватьБазовыйФайлРедактора(ПолучитьФорматИнтеграции(Объект.ФорматЗапросаИнтеграции));
Предопределенный = "Перечисление.пбп_ФорматыИнтеграций.ПроизвольныйФормат";
Если ЗначениеЗаполнено(Объект.ФорматИнтеграции)
И Объект.ФорматИнтеграции <> пбп_ОбщегоНазначенияСлужебныйКлиент.ПредопределенныйЭлемент(Предопределенный) Тогда
ИнициализироватьБазовыйФайлРедактора(ПолучитьФорматИнтеграции(Объект.ФорматИнтеграции));
КонецЕсли;
КонецПроцедуры
@ -87,8 +89,8 @@
&НаКлиенте
Процедура ЗапросИсходящийДокументСформирован_Подключаемый(Элемент)
Предопределенный = "Перечисление.пбп_ФорматыЗапросовИнтеграции.JSON";
Если Объект.ФорматЗапросаИнтеграции = пбп_ОбщегоНазначенияСлужебныйКлиент.ПредопределенныйЭлемент(Предопределенный) Тогда
Предопределенный = "Перечисление.пбп_ФорматыИнтеграций.JSON";
Если Объект.ФорматИнтеграции = пбп_ОбщегоНазначенияСлужебныйКлиент.ПредопределенныйЭлемент(Предопределенный) Тогда
ИнициализироватьИЗаполнитьТекстомОбъектJSON("code", "Исходящий");
Иначе
ИнициализироватьИЗаполнитьТекстомОбъектXML("Исходящий");
@ -99,8 +101,8 @@
&НаКлиенте
Процедура ЗапросВходящийДокументСформирован_Подключаемый(Элемент)
Предопределенный = "Перечисление.пбп_ФорматыЗапросовИнтеграции.JSON";
Если Объект.ФорматЗапросаИнтеграции = пбп_ОбщегоНазначенияСлужебныйКлиент.ПредопределенныйЭлемент(Предопределенный) Тогда
Предопределенный = "Перечисление.пбп_ФорматыИнтеграций.JSON";
Если Объект.ФорматИнтеграции = пбп_ОбщегоНазначенияСлужебныйКлиент.ПредопределенныйЭлемент(Предопределенный) Тогда
ИнициализироватьИЗаполнитьТекстомОбъектJSON("code", "Входящий");
Иначе
ИнициализироватьИЗаполнитьТекстомОбъектXML("Входящий");
@ -115,8 +117,8 @@
&НаКлиенте
Процедура РазвернутьВсе(Команда)
Предопределенный = "Перечисление.пбп_ФорматыЗапросовИнтеграции.XML";
Если Объект.ФорматЗапросаИнтеграции = пбп_ОбщегоНазначенияСлужебныйКлиент.ПредопределенныйЭлемент(Предопределенный) Тогда
Предопределенный = "Перечисление.пбп_ФорматыИнтеграций.XML";
Если Объект.ФорматИнтеграции = пбп_ОбщегоНазначенияСлужебныйКлиент.ПредопределенныйЭлемент(Предопределенный) Тогда
Элементы.ЗапросИсходящий.Документ.defaultView.Xonomy.plusminus("xonomy1", true);
Элементы.ЗапросВходящий.Документ.defaultView.Xonomy.plusminus("xonomy1", true);
Иначе
@ -134,8 +136,8 @@
&НаКлиенте
Процедура СвернутьВсе(Команда)
Предопределенный = "Перечисление.пбп_ФорматыЗапросовИнтеграции.XML";
Если Объект.ФорматЗапросаИнтеграции = пбп_ОбщегоНазначенияСлужебныйКлиент.ПредопределенныйЭлемент(Предопределенный) Тогда
Предопределенный = "Перечисление.пбп_ФорматыИнтеграций.XML";
Если Объект.ФорматИнтеграции = пбп_ОбщегоНазначенияСлужебныйКлиент.ПредопределенныйЭлемент(Предопределенный) Тогда
Элементы.ЗапросИсходящий.Документ.defaultView.Xonomy.plusminus("xonomy1", false);
Элементы.ЗапросВходящий.Документ.defaultView.Xonomy.plusminus("xonomy1", false);
Иначе
@ -158,9 +160,9 @@
Если НЕ СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Linux_x86 Или ТипПлатформы.Linux_x86_64 Тогда
ОбъектКопирования = Новый COMОбъект("htmlfile");
Если Элементы.ГруппаСтраницы.ТекущаяСтраница.Имя = "ГруппаЗапросВходящий" Тогда
ПолеКопирования = Объект.ЗапросВходящий;
ПолеКопирования = Объект.ВходящееСообщение;
ИначеЕсли Элементы.ГруппаСтраницы.ТекущаяСтраница.Имя = "ГруппаЗапросИсходящий" Тогда
ПолеКопирования = Объект.ЗапросИсходящий;
ПолеКопирования = Объект.ИсходящееСообщение;
Иначе
Возврат;
КонецЕсли;
@ -175,9 +177,57 @@
#Область СлужебныеПроцедурыИФункции
&НаСервере
Функция ОтформатироватьСообщениеИнтеграции(ТекстСообщенияИнтеграции)
Процедура УстановитьСвойстваЭлементов()
Если Объект.ФорматЗапросаИнтеграции = Перечисления.пбп_ФорматыЗапросовИнтеграции.XML И СтрНайти(ТекстСообщенияИнтеграции, "xml") <> 0 Тогда
Если ЗначениеЗаполнено(Объект.ИнтеграционныйПоток) Тогда
ТипИнтеграции = пбп_ОбщегоНазначенияСервер.ЗначениеРеквизитаОбъекта(
Объект.ИнтеграционныйПоток, "НастройкаИнтеграции.ТипИнтеграции");
ЭлементНаследования = Справочники.пбп_ТипыИнтеграций
.ПолучитьПредопределенныйЭлементНаследованияНастроекТипаИнтеграции(ТипИнтеграции);
Если ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.Каталог
Или ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.FTPРесурсы Тогда
Элементы.ИсходящееСообщение.Заголовок = НСтр("ru = 'Содержимое записываемого файла'");
Элементы.ВходящееСообщение.Заголовок = НСтр("ru = 'Содержимое читаемого файла'");
ЭтоВыгрузка = НаправлениеИнтеграцииВыгружено(Объект.Статус);
Элементы.ИсходящееСообщение.Видимость = ЭтоВыгрузка;
Элементы.ВходящееСообщение.Видимость = Не ЭтоВыгрузка;
ИначеЕсли ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.ПочтовыйКлиент Тогда
Элементы.ИсходящееСообщение.Заголовок = НСтр("ru = 'Содержимое тела письма'");
Элементы.ИсходящееСообщение.Видимость = Истина;
Элементы.ВходящееСообщение.Видимость = Ложь;
ИначеЕсли ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.COM
Или ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.ВнешняяКомпонента Тогда
Элементы.ИсходящееСообщение.Видимость = Ложь;
Элементы.ВходящееСообщение.Видимость = Ложь;
ИначеЕсли ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.КоманднаяСтрока Тогда
Элементы.ИсходящееСообщение.Заголовок = НСтр("ru = 'Выполняемая команда'");
Элементы.ВходящееСообщение.Заголовок = НСтр("ru = 'Результат выполнения команды'");
Элементы.ИсходящееСообщение.Видимость = Истина;
Элементы.ВходящееСообщение.Видимость = Истина;
Иначе
Элементы.ИсходящееСообщение.Заголовок = НСтр("ru = 'Запрос исходящий'");
Элементы.ВходящееСообщение.Заголовок = НСтр("ru = 'Запрос входящий'");
Элементы.ИсходящееСообщение.Видимость = Истина;
Элементы.ВходящееСообщение.Видимость = Истина;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаСервереБезКонтекста
Функция НаправлениеИнтеграцииВыгружено(СтатусОбмена)
Возврат СтатусОбмена = Перечисления.пбп_СтатусыИнтеграции.Выгружено
Или СтатусОбмена = Перечисления.пбп_СтатусыИнтеграции.ОшибкаВыгрузки;
КонецФункции
&НаСервере
Функция ОтформатироватьСообщениеИнтеграции(Знач ТекстСообщенияИнтеграции)
Если Объект.ФорматИнтеграции = Перечисления.пбп_ФорматыИнтеграций.XML
И СтрНайти(ТекстСообщенияИнтеграции, "xml") <> 0 Тогда
Запрос = пбп_ИнтеграцииСервер.ОтформатироватьXMLЧерезDOM(ТекстСообщенияИнтеграции, Истина);
Иначе
Запрос = ТекстСообщенияИнтеграции;
@ -233,7 +283,7 @@
ДокументВнешнийОбъектИсходящий = Элементы.ЗапросИсходящий.Документ.defaultView.Init(ВидОтображения);
ДокументВнешнийОбъектИсходящий.setName("Корень"); // Установка имени верхнего уровня для дерева
ДокументВнешнийОбъектИсходящий.setText(Объект.ЗапросИсходящий);
ДокументВнешнийОбъектИсходящий.setText(Объект.ИсходящееСообщение);
ИначеЕсли ТипЗапроса = "Входящий" Тогда
Если ДокументВнешнийОбъектВходящий <> Неопределено Тогда
@ -242,7 +292,7 @@
ДокументВнешнийОбъектВходящий = Элементы.ЗапросВходящий.Документ.defaultView.Init(ВидОтображения);
ДокументВнешнийОбъектВходящий.setName("Корень"); // Установка имени верхнего уровня для дерева
ДокументВнешнийОбъектВходящий.setText(Объект.ЗапросВходящий);
ДокументВнешнийОбъектВходящий.setText(Объект.ВходящееСообщение);
Иначе
Если ДокументВнешнийОбъектИсходящий <> Неопределено Тогда
ДокументВнешнийОбъектИсходящий.destroy();
@ -250,7 +300,7 @@
ДокументВнешнийОбъектИсходящий = Элементы.ЗапросИсходящий.Документ.defaultView.Init(ВидОтображения);
ДокументВнешнийОбъектИсходящий.setName("Корень"); // Установка имени верхнего уровня для дерева
ДокументВнешнийОбъектИсходящий.setText(Объект.ЗапросИсходящий);
ДокументВнешнийОбъектИсходящий.setText(Объект.ИсходящееСообщение);
Если ДокументВнешнийОбъектВходящий <> Неопределено Тогда
ДокументВнешнийОбъектВходящий.destroy();
@ -258,7 +308,7 @@
ДокументВнешнийОбъектВходящий = Элементы.ЗапросВходящий.Документ.defaultView.Init(ВидОтображения);
ДокументВнешнийОбъектВходящий.setName("Корень"); // Установка имени верхнего уровня для дерева
ДокументВнешнийОбъектВходящий.setText(Объект.ЗапросВходящий);
ДокументВнешнийОбъектВходящий.setText(Объект.ВходящееСообщение);
КонецЕсли;
КонецПроцедуры
@ -267,9 +317,11 @@
Процедура ИнициализироватьИЗаполнитьТекстомОбъектXML(ТипЗапроса)
Если ТипЗапроса = "Исходящий" Тогда
Элементы.ЗапросИсходящий.Документ.defaultView.start(ОтформатироватьСообщениеИнтеграции(Объект.ЗапросИсходящий), "nerd");
Элементы.ЗапросИсходящий.Документ.defaultView.start(
ОтформатироватьСообщениеИнтеграции(Объект.ИсходящееСообщение), "nerd");
Иначе
Элементы.ЗапросВходящий.Документ.defaultView.start(ОтформатироватьСообщениеИнтеграции(Объект.ЗапросВходящий), "nerd");
Элементы.ЗапросВходящий.Документ.defaultView.start(
ОтформатироватьСообщениеИнтеграции(Объект.ВходящееСообщение), "nerd");
КонецЕсли;
КонецПроцедуры
@ -282,10 +334,10 @@
КонецФункции
&НаСервереБезКонтекста
Функция ПолучитьФорматИнтеграции(ФорматЗапросаИнтеграции)
Функция ПолучитьФорматИнтеграции(ФорматИнтеграции)
ИндексЗначенияПеречисления = Перечисления.пбп_ФорматыЗапросовИнтеграции.Индекс(ФорматЗапросаИнтеграции);
ФорматИнтеграции = Метаданные.Перечисления.пбп_ФорматыЗапросовИнтеграции.ЗначенияПеречисления[ИндексЗначенияПеречисления].Имя;
ИндексЗначенияПеречисления = Перечисления.пбп_ФорматыИнтеграций.Индекс(ФорматИнтеграции);
ФорматИнтеграции = Метаданные.Перечисления.пбп_ФорматыИнтеграций.ЗначенияПеречисления[ИндексЗначенияПеречисления].Имя;
Возврат ФорматИнтеграции;

View File

@ -1,128 +0,0 @@
<?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.16">
<WindowOpeningMode>LockOwnerWindow</WindowOpeningMode>
<CommandSet>
<ExcludedCommand>Delete</ExcludedCommand>
</CommandSet>
<UseForFoldersAndItems>Items</UseForFoldersAndItems>
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
<ChildItems>
<UsualGroup name="НаименованиеКод" id="10">
<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>
<Group>AlwaysHorizontal</Group>
<Behavior>Usual</Behavior>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="НаименованиеКодРасширеннаяПодсказка" id="11"/>
<ChildItems>
<InputField name="Наименование" id="4">
<DataPath>Объект.Description</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="НаименованиеКонтекстноеМеню" id="5"/>
<ExtendedTooltip name="НаименованиеРасширеннаяПодсказка" id="6"/>
</InputField>
<InputField name="Код" id="1">
<DataPath>Объект.Code</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="КодКонтекстноеМеню" id="2"/>
<ExtendedTooltip name="КодРасширеннаяПодсказка" id="3"/>
</InputField>
</ChildItems>
</UsualGroup>
<InputField name="НастройкаИнтеграции" id="12">
<DataPath>Объект.НастройкаИнтеграции</DataPath>
<ContextMenu name="НастройкаИнтеграцииКонтекстноеМеню" id="13"/>
<ExtendedTooltip name="НастройкаИнтеграцииРасширеннаяПодсказка" id="14"/>
</InputField>
<Table name="ПараметрыREST" id="15">
<AutoInsertNewRow>true</AutoInsertNewRow>
<EnableStartDrag>true</EnableStartDrag>
<EnableDrag>true</EnableDrag>
<DataPath>Объект.ПараметрыREST</DataPath>
<RowFilter xsi:nil="true"/>
<ContextMenu name="ПараметрыRESTКонтекстноеМеню" id="16"/>
<AutoCommandBar name="ПараметрыRESTКоманднаяПанель" id="17"/>
<ExtendedTooltip name="ПараметрыRESTРасширеннаяПодсказка" id="18"/>
<SearchStringAddition name="ПараметрыRESTСтрокаПоиска" id="19">
<AdditionSource>
<Item>ПараметрыREST</Item>
<Type>SearchStringRepresentation</Type>
</AdditionSource>
<ContextMenu name="ПараметрыRESTСтрокаПоискаКонтекстноеМеню" id="20"/>
<ExtendedTooltip name="ПараметрыRESTСтрокаПоискаРасширеннаяПодсказка" id="21"/>
</SearchStringAddition>
<ViewStatusAddition name="ПараметрыRESTСостояниеПросмотра" id="22">
<AdditionSource>
<Item>ПараметрыREST</Item>
<Type>ViewStatusRepresentation</Type>
</AdditionSource>
<ContextMenu name="ПараметрыRESTСостояниеПросмотраКонтекстноеМеню" id="23"/>
<ExtendedTooltip name="ПараметрыRESTСостояниеПросмотраРасширеннаяПодсказка" id="24"/>
</ViewStatusAddition>
<SearchControlAddition name="ПараметрыRESTУправлениеПоиском" id="25">
<AdditionSource>
<Item>ПараметрыREST</Item>
<Type>SearchControl</Type>
</AdditionSource>
<ContextMenu name="ПараметрыRESTУправлениеПоискомКонтекстноеМеню" id="26"/>
<ExtendedTooltip name="ПараметрыRESTУправлениеПоискомРасширеннаяПодсказка" id="27"/>
</SearchControlAddition>
<ChildItems>
<LabelField name="ПараметрыRESTНомерСтроки" id="28">
<DataPath>Объект.ПараметрыREST.LineNumber</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="ПараметрыRESTНомерСтрокиКонтекстноеМеню" id="29"/>
<ExtendedTooltip name="ПараметрыRESTНомерСтрокиРасширеннаяПодсказка" id="30"/>
</LabelField>
<InputField name="ПараметрыRESTИмя" id="31">
<DataPath>Объект.ПараметрыREST.Имя</DataPath>
<EditMode>EnterOnInput</EditMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ПараметрыRESTИмяКонтекстноеМеню" id="32"/>
<ExtendedTooltip name="ПараметрыRESTИмяРасширеннаяПодсказка" id="33"/>
</InputField>
<InputField name="ПараметрыRESTТип" id="34">
<DataPath>Объект.ПараметрыREST.Тип</DataPath>
<EditMode>EnterOnInput</EditMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ПараметрыRESTТипКонтекстноеМеню" id="35"/>
<ExtendedTooltip name="ПараметрыRESTТипРасширеннаяПодсказка" id="36"/>
</InputField>
<InputField name="ПараметрыRESTЗначениеПоУмолчанию" id="37">
<DataPath>Объект.ПараметрыREST.ЗначениеПоУмолчанию</DataPath>
<EditMode>EnterOnInput</EditMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ПараметрыRESTЗначениеПоУмолчаниюКонтекстноеМеню" id="38"/>
<ExtendedTooltip name="ПараметрыRESTЗначениеПоУмолчаниюРасширеннаяПодсказка" id="39"/>
</InputField>
</ChildItems>
</Table>
<TextDocumentField name="Метод" id="7">
<DataPath>Объект.Метод</DataPath>
<EditMode>EnterOnInput</EditMode>
<Height>5</Height>
<ContextMenu name="МетодКонтекстноеМеню" id="8"/>
<ExtendedTooltip name="МетодРасширеннаяПодсказка" id="9"/>
</TextDocumentField>
</ChildItems>
<Attributes>
<Attribute name="Объект" id="1">
<Type>
<v8:Type>cfg:CatalogObject.пбп_МетодыИнтеграции</v8:Type>
</Type>
<MainAttribute>true</MainAttribute>
<SavedData>true</SavedData>
</Attribute>
</Attributes>
</Form>

View File

@ -387,11 +387,11 @@
</Attribute>
<Attribute uuid="0c322601-8701-49a1-8852-670ce6af1c87">
<Properties>
<Name>Сервер</Name>
<Name>СтрокаПодключения</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Сервер</v8:content>
<v8:content>Строка подключения</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
@ -402,7 +402,7 @@
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>100</v8:Length>
<v8:Length>200</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
@ -525,8 +525,337 @@
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="47846046-d9a7-41a9-9cc4-e46079f1a5db">
<Properties>
<Name>ТипИнтеграции</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Тип интеграции</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>cfg:CatalogRef.пбп_ТипыИнтеграций</v8:Type>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip/>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:nil="true"/>
<FillChecking>ShowError</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="1c1ea368-a315-4c3a-a72f-19c2561f15a8">
<Properties>
<Name>УчетнаяЗапись</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Учетная запись</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:TypeSet>cfg:DefinedType.пбп_УчетныеЗаписиЭлектроннойПочты</v8:TypeSet>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip/>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="b0c44dbb-b295-4c9a-9b61-c1b336d35f9c">
<Properties>
<Name>ТипАвторизации</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Тип авторизации</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>cfg:EnumRef.пбп_ТипыАвторизации</v8:Type>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip/>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="2c025945-2e22-4f7a-8df0-1488b8abf31a">
<Properties>
<Name>ИспользоватьПользовательскиеФункции</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Использовать пользовательские функции</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip/>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="d4b9d8a2-ac94-47d7-8a15-8a91de15d12b">
<Properties>
<Name>ИмяОбъекта</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Имя объекта</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>100</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip/>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:type="xs:string"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="ecd79a99-073b-481b-a4f1-8024ddbf756f">
<Properties>
<Name>ИзмененВручную</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Изменен вручную</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip/>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="fb5e6c33-4119-44d6-996c-c0c3c5582faf">
<Properties>
<Name>ИмяФайлаВнешнейКомпоненты</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Имя файла внешней компоненты</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>100</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip/>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:type="xs:string"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="8f737ff4-f5a9-4a00-b1aa-fd911a829ee9">
<Properties>
<Name>ВнешняяКомпонента</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Внешняя компонента</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>v8:ValueStorage</v8:Type>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip/>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Form>ФормаЭлемента</Form>
<Form>ФормаСписка</Form>
<Form>ФормаЗагрузкиВнешнейКомпоненты</Form>
</ChildObjects>
</Catalog>
</MetaDataObject>

View File

@ -0,0 +1,123 @@
// Библиотека проектных подсистем для упрощения разработки архитектуры на 1С: Предприятие 8,
// включая доработку типовых конфигураций.
//
// Copyright First BIT company
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// URL: https://github.com/firstBitSportivnaya/PSSL/
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ОбработчикиСобытий
Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
НепроверяемыеРеквизиты = Новый Массив;
ЭлементНаследования = Справочники.пбп_ТипыИнтеграций
.ПолучитьПредопределенныйЭлементНаследованияНастроекТипаИнтеграции(ТипИнтеграции);
Если ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.COM
Или ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.КоманднаяСтрока
Или ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.ПочтовыйКлиент Тогда
НепроверяемыеРеквизиты.Добавить("СтрокаПодключения");
КонецЕсли;
Если ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.COM
Или ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.ПрямоеПодключениеКБД Тогда
ПроверяемыеРеквизиты.Добавить("ИмяОбъекта");
КонецЕсли;
Для Каждого ЭлементМассива Из НепроверяемыеРеквизиты Цикл
ПорядковыйНомер = ПроверяемыеРеквизиты.Найти(ЭлементМассива);
Если ПорядковыйНомер <> Неопределено Тогда
ПроверяемыеРеквизиты.Удалить(ПорядковыйНомер);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Процедура ПередЗаписью(Отказ)
Если ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
ЭлементНаследования = Справочники.пбп_ТипыИнтеграций
.ПолучитьПредопределенныйЭлементНаследованияНастроекТипаИнтеграции(ТипИнтеграции);
Если ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.Каталог Тогда
Порт = "";
ВнешняяКомпонента = Неопределено;
УчетнаяЗапись = Неопределено;
ТипАвторизации = Перечисления.пбп_ТипыАвторизации.ПустаяСсылка();
ИмяОбъекта = "";
ИмяФайлаВнешнейКомпоненты = "";
ИначеЕсли ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.FTPРесурсы Тогда
ВнешняяКомпонента = Неопределено;
УчетнаяЗапись = Неопределено;
ТипАвторизации = Перечисления.пбп_ТипыАвторизации.ПустаяСсылка();
ИмяОбъекта = "";
ИмяФайлаВнешнейКомпоненты = "";
ИначеЕсли ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.ПочтовыйКлиент Тогда
СтрокаПодключения = "";
Порт = "";
ВнешняяКомпонента = Неопределено;
ТипАвторизации = Перечисления.пбп_ТипыАвторизации.ПустаяСсылка();
ИмяОбъекта = "";
ИмяФайлаВнешнейКомпоненты = "";
ИначеЕсли ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.COM
Или ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.ПрямоеПодключениеКБД Тогда
Порт = "";
ВнешняяКомпонента = Неопределено;
УчетнаяЗапись = Неопределено;
ТипАвторизации = Перечисления.пбп_ТипыАвторизации.ПустаяСсылка();
ИспользоватьПользовательскиеФункции = Ложь;
ИмяФайлаВнешнейКомпоненты = "";
ИначеЕсли ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.КоманднаяСтрока Тогда
Порт = "";
ВнешняяКомпонента = Неопределено;
УчетнаяЗапись = Неопределено;
ИмяОбъекта = "";
ТипАвторизации = Перечисления.пбп_ТипыАвторизации.ПустаяСсылка();
ИспользоватьПользовательскиеФункции = Ложь;
ИмяФайлаВнешнейКомпоненты = "";
ИначеЕсли ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.RESTAPI
Или ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.SOAP Тогда
ВнешняяКомпонента = Неопределено;
УчетнаяЗапись = Неопределено;
ИмяОбъекта = Неопределено;
ИспользоватьПользовательскиеФункции = Ложь;
ИмяФайлаВнешнейКомпоненты = "";
ИначеЕсли ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.ВнешняяКомпонента Тогда
УчетнаяЗапись = Неопределено;
ИмяОбъекта = Неопределено;
ТипАвторизации = Перечисления.пбп_ТипыАвторизации.ПустаяСсылка();
ИспользоватьПользовательскиеФункции = Ложь;
ИначеЕсли ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.БрокерыСообщений Тогда
УчетнаяЗапись = Неопределено;
ИмяОбъекта = Неопределено;
ИспользоватьПользовательскиеФункции = Ложь;
Иначе
УчетнаяЗапись = Неопределено;
ИмяОбъекта = Неопределено;
КонецЕсли;
КонецПроцедуры
#КонецОбласти // ОбработчикиСобытий
#Иначе
ВызватьИсключение НСтр("ru = 'Недопустимый вызов объекта на клиенте.'");
#КонецЕсли

View File

@ -0,0 +1,21 @@
<?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.16">
<Form uuid="62086561-999f-45c4-9d94-3b91a0d20694">
<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>
</Properties>
</Form>
</MetaDataObject>

View File

@ -0,0 +1,317 @@
<?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.16">
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
<ChildItems>
<Button name="ФормаОК" id="35">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.ОК</CommandName>
<BackColor>style:ImportantColor</BackColor>
<Font ref="style:NormalTextFont" bold="true" italic="false" underline="false" strikeout="false" kind="StyleItem" scale="100"/>
<ExtendedTooltip name="ФормаОКРасширеннаяПодсказка" id="36"/>
</Button>
<Button name="ФормаЗакрытьБезИзменений" id="37">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.ЗакрытьБезИзменений</CommandName>
<ExtendedTooltip name="ФормаЗакрытьБезИзмененийРасширеннаяПодсказка" id="38"/>
</Button>
</ChildItems>
</AutoCommandBar>
<Events>
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
</Events>
<ChildItems>
<UsualGroup name="ГруппаОсновная" id="4">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Внешняя компонента для настройки интеграции "%1":</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Conversion rules for %1 application:</v8:content>
</v8:item>
</Title>
<Group>Vertical</Group>
<Behavior>Usual</Behavior>
<Representation>None</Representation>
<ExtendedTooltip name="ГруппаОсновнаяExtendedTooltip" id="5"/>
<ChildItems>
<UsualGroup name="ГруппаКомпонентаТиповая" id="6">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Компонента типовая</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Standard rules</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа компонента типовая</v8:content>
</v8:item>
</ToolTip>
<Behavior>Usual</Behavior>
<Representation>None</Representation>
<United>false</United>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаКомпонентаТиповаяРасширеннаяПодсказка" id="7"/>
<ChildItems>
<RadioButtonField name="ИсточникКомпонентыТиповая" id="8">
<DataPath>ИсточникПравил</DataPath>
<TitleLocation>None</TitleLocation>
<RadioButtonType>Auto</RadioButtonType>
<ColumnsCount>1</ColumnsCount>
<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>Использовать типовую компоненту</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Use standard rules</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xs:string">ТиповаяИзКонфигурации</Value>
</xr:Value>
</xr:Item>
</ChoiceList>
<ContextMenu name="ИсточникКомпонентыТиповаяКонтекстноеМеню" id="9"/>
<ExtendedTooltip name="ИсточникКомпонентыТиповаяРасширеннаяПодсказка" id="10"/>
<Events>
<Event name="OnChange">ИсточникКомпонентыПриИзменении</Event>
</Events>
</RadioButtonField>
</ChildItems>
</UsualGroup>
<UsualGroup name="ГруппаКомпонентаИзФайла" id="23">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Компонента из файла</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Rules from file</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа компонента из файла</v8:content>
</v8:item>
</ToolTip>
<Behavior>Usual</Behavior>
<Representation>None</Representation>
<United>false</United>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаКомпонентаИзФайлаРасширеннаяПодсказка" id="24"/>
<ChildItems>
<RadioButtonField name="ИсточникКомпонентыИзФайла" id="25">
<DataPath>ИсточникПравил</DataPath>
<TitleLocation>None</TitleLocation>
<RadioButtonType>Auto</RadioButtonType>
<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>Загрузить из файла на компьютере:</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Load from local file:</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xs:string">ЗагруженныеИзФайла</Value>
</xr:Value>
</xr:Item>
</ChoiceList>
<ContextMenu name="ИсточникКомпонентыИзФайлаКонтекстноеМеню" id="26"/>
<ExtendedTooltip name="ИсточникКомпонентыИзФайлаРасширеннаяПодсказка" id="27"/>
<Events>
<Event name="OnChange">ИсточникКомпонентыПриИзменении</Event>
</Events>
</RadioButtonField>
<UsualGroup name="ИсточникФайл" id="28">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Источник файл</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Source file</v8:content>
</v8:item>
</Title>
<Behavior>Usual</Behavior>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ИсточникФайлExtendedTooltip" id="29"/>
<ChildItems>
<InputField name="ИмяФайлаПравил" id="30">
<DataPath>ИмяФайлаКомпоненты</DataPath>
<ReadOnly>true</ReadOnly>
<TitleLocation>None</TitleLocation>
<ContextMenu name="ИмяФайлаПравилКонтекстноеМеню" id="31"/>
<ExtendedTooltip name="ИмяФайлаПравилExtendedTooltip" id="32"/>
</InputField>
<Button name="ЗагрузитьВнешнююКомпоненту" id="33">
<Type>UsualButton</Type>
<SkipOnInput>true</SkipOnInput>
<Height>1</Height>
<CommandName>Form.Command.ЗагрузитьВнешнююКомпонентуИзФайла</CommandName>
<ExtendedTooltip name="ЗагрузитьВнешнююКомпонентуРасширеннаяПодсказка" id="34"/>
</Button>
<Button name="СохранитьВнешнююКомпонентуВФайл" id="39">
<Type>UsualButton</Type>
<CommandName>Form.Command.СохранитьВнешнююКомпонентуВФайл</CommandName>
<ExtendedTooltip name="СохранитьВнешнююКомпонентуВФайлРасширеннаяПодсказка" id="40"/>
</Button>
</ChildItems>
</UsualGroup>
</ChildItems>
</UsualGroup>
</ChildItems>
</UsualGroup>
</ChildItems>
<Attributes>
<Attribute name="НастройкаИнтеграции" id="1">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Настройка интеграции</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>cfg:CatalogRef.пбп_НастройкиИнтеграции</v8:Type>
</Type>
</Attribute>
<Attribute name="ИсточникПравил" id="2">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Источник правил</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Rules source</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>
<SavedData>true</SavedData>
</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>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Attribute>
<Attribute name="ДвоичныеДанныеФайла" id="4">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Двоичные данные файла</v8:content>
</v8:item>
</Title>
<Type/>
</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>
<Picture>
<xr:Ref>StdPicture.OpenFile</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</Picture>
<Action>ЗагрузитьВнешнююКомпонентуИзФайла</Action>
<Representation>TextPicture</Representation>
</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>
<Picture>
<xr:Ref>StdPicture.Write</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</Picture>
<Action>СохранитьВнешнююКомпонентуВФайл</Action>
<Representation>TextPicture</Representation>
</Command>
</Commands>
</Form>

View File

@ -0,0 +1,170 @@
// Библиотека проектных подсистем для упрощения разработки архитектуры на 1С: Предприятие 8,
// включая доработку типовых конфигураций.
//
// Copyright First BIT company
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// URL: https://github.com/firstBitSportivnaya/PSSL/
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("НастройкаИнтеграции") Тогда
НастройкаИнтеграции = Параметры.НастройкаИнтеграции;
Элементы.ГруппаОсновная.Заголовок = СтрШаблон(Элементы.ГруппаОсновная.Заголовок, НастройкаИнтеграции.Наименование);
Если Параметры.АдресВнешнейКомпоненты = "" Тогда
ИсточникПравил = "ТиповаяИзКонфигурации";
Иначе
ИсточникПравил = "ЗагруженныеИзФайла";
ИмяФайлаКомпоненты = Параметры.ИмяФайла;
ДвоичныеДанныеФайла = ПолучитьИзВременногоХранилища(Параметры.АдресВнешнейКомпоненты);
КонецЕсли;
КонецЕсли;
Элементы.ИсточникФайл.Доступность = (ИсточникПравил = "ЗагруженныеИзФайла");
КонецПроцедуры
&НаКлиенте
Процедура ИсточникКомпонентыПриИзменении(Элемент)
Элементы.ИсточникФайл.Доступность = (ИсточникПравил = "ЗагруженныеИзФайла");
КонецПроцедуры
#КонецОбласти // ОбработчикиСобытийФормы
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура ЗагрузитьВнешнююКомпонентуИзФайла(Команда)
ЗаголовокДиалога = НСтр("ru = 'Укажите файл внешней компоненты'");
РежимОткрытияДиалога = РежимДиалогаВыбораФайла.Открытие;
ДиалогОткрытия = Новый ДиалогВыбораФайла(РежимОткрытияДиалога);
ДиалогОткрытия.Каталог = "";
ДиалогОткрытия.Фильтр = "Динамически подключаемая библиотека (*.dll)|*.dll| ZIP-архив (*.zip)|*.zip";
ДиалогОткрытия.Расширение = "dll, zip";
ДиалогОткрытия.Заголовок = ЗаголовокДиалога;
ДиалогОткрытия.ПредварительныйПросмотр = Ложь;
Оповещение = Новый ОписаниеОповещения("ОбработчикВыбораФайлаЗавершениеПослеВыбораВДиалоге", ЭтотОбъект);
ДиалогОткрытия.Показать(Оповещение);
КонецПроцедуры
&НаКлиенте
Процедура СохранитьВнешнююКомпонентуВФайл(Команда)
Если ПустаяСтрока(ИмяФайлаКомпоненты) Тогда
Возврат;
КонецЕсли;
ЗаголовокДиалога = НСтр("ru = 'Укажите файл внешней компоненты'");
МассивРазделителей = пбп_СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(
ИмяФайлаКомпоненты, ".", Истина, Истина);
ИмяКомпоненты = МассивРазделителей[0];
КоличествоРазделимых = 2;
Если МассивРазделителей.Количество() = КоличествоРазделимых Тогда
Расширение = МассивРазделителей[1];
КонецЕсли;
РежимОткрытияДиалога = РежимДиалогаВыбораФайла.Сохранение;
ДиалогСохранения = Новый ДиалогВыбораФайла(РежимОткрытияДиалога);
ДиалогСохранения.ПолноеИмяФайла = ИмяКомпоненты;
ДиалогСохранения.Расширение = Расширение;
ДиалогСохранения.Заголовок = ЗаголовокДиалога;
ДиалогСохранения.ПредварительныйПросмотр = Ложь;
ДиалогСохранения.Каталог = "";
Оповещение = Новый ОписаниеОповещения("ОбработчикВыбораКаталогаСохранениеЗавершениеПослеВыбораВДиалоге", ЭтотОбъект);
ДиалогСохранения.Показать(Оповещение);
КонецПроцедуры
&НаКлиенте
Процедура ОК(Команда)
ИзмененВручную = ИсточникПравил = "ЗагруженныеИзФайла"
И ЗначениеЗаполнено(ИмяФайлаКомпоненты);
ПараметрыЗакрытия = Новый Структура;
ПараметрыЗакрытия.Вставить("ИзмененВручную", ИзмененВручную);
ПараметрыЗакрытия.Вставить("ДвоичныеДанные", ДвоичныеДанныеФайла);
ИмяФайла = "";
Если Не ПустаяСтрока(ИмяФайлаКомпоненты) Тогда
Если пбп_ОбщегоНазначенияКлиент.ЭтоWindowsКлиент() Тогда
МассивРазделителей = пбп_СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(
ИмяФайлаКомпоненты, "\", Истина, Истина);
Иначе
МассивРазделителей = пбп_СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(
ИмяФайлаКомпоненты, "/", Истина, Истина);
КонецЕсли;
Если МассивРазделителей.Количество() Тогда
ИмяФайла = МассивРазделителей[МассивРазделителей.Количество() - 1];
КонецЕсли;
КонецЕсли;
ПараметрыЗакрытия.Вставить("ИмяФайла", ИмяФайла);
Закрыть(ПараметрыЗакрытия);
КонецПроцедуры
&НаКлиенте
Процедура ЗакрытьБезИзменений(Команда)
Закрыть();
КонецПроцедуры
#КонецОбласти // ОбработчикиКомандФормы
#Область СлужебныеПроцедурыИФункции
&НаКлиенте
Процедура ОбработчикВыбораФайлаЗавершениеПослеВыбораВДиалоге(Результат, Знач ДополнительныеПараметры) Экспорт
Если Результат = Неопределено Тогда
Возврат;
КонецЕсли;
ИмяФайлаКомпоненты = Результат[0];
ДвоичныеДанныеФайла = Новый ДвоичныеДанные(ИмяФайлаКомпоненты);
КонецПроцедуры
&НаКлиенте
Процедура ОбработчикВыбораКаталогаСохранениеЗавершениеПослеВыбораВДиалоге(
Результат, Знач ДополнительныеПараметры) Экспорт
Если Результат = Неопределено Тогда
Возврат;
КонецЕсли;
ПутьКФайлу = Результат[0];
ДвоичныеДанныеФайла.Записать(ПутьКФайлу);
КонецПроцедуры
#КонецОбласти // СлужебныеПроцедурыИФункции

View File

@ -94,6 +94,11 @@
<ContextMenu name="НаименованиеКонтекстноеМеню" id="17"/>
<ExtendedTooltip name="НаименованиеРасширеннаяПодсказка" id="18"/>
</LabelField>
<LabelField name="ТипИнтеграции" id="24">
<DataPath>Список.ТипИнтеграции</DataPath>
<ContextMenu name="ТипИнтеграцииКонтекстноеМеню" id="25"/>
<ExtendedTooltip name="ТипИнтеграцииРасширеннаяПодсказка" id="26"/>
</LabelField>
</ChildItems>
</Table>
</ChildItems>

View File

@ -7,7 +7,9 @@
<UseForFoldersAndItems>Items</UseForFoldersAndItems>
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
<Events>
<Event name="OnReadAtServer">ПриЧтенииНаСервере</Event>
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
<Event name="BeforeWriteAtServer">ПередЗаписьюНаСервере</Event>
<Event name="OnWriteAtServer">ПриЗаписиНаСервере</Event>
</Events>
<ChildItems>
@ -44,6 +46,26 @@
</InputField>
</ChildItems>
</UsualGroup>
<InputField name="ТипИнтеграции" id="52">
<DataPath>Объект.ТипИнтеграции</DataPath>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ТипИнтеграцииКонтекстноеМеню" id="53"/>
<ExtendedTooltip name="ТипИнтеграцииРасширеннаяПодсказка" id="54"/>
<Events>
<Event name="OnChange">ТипИнтеграцииПриИзменении</Event>
</Events>
</InputField>
<InputField name="ИнтегрируемаяСистема" id="49">
<DataPath>Объект.ИнтегрируемаяСистема</DataPath>
<ContextMenu name="ИнтегрируемаяСистемаКонтекстноеМеню" id="50"/>
<ExtendedTooltip name="ИнтегрируемаяСистемаРасширеннаяПодсказка" id="51"/>
</InputField>
<InputField name="ИмяОбъекта" id="64">
<DataPath>Объект.ИмяОбъекта</DataPath>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ИмяОбъектаКонтекстноеМеню" id="65"/>
<ExtendedTooltip name="ИмяОбъектаРасширеннаяПодсказка" id="66"/>
</InputField>
<UsualGroup name="ГруппаОсновныеНастройки" id="32">
<Title>
<v8:item>
@ -57,32 +79,95 @@
<v8:content>Группа основные настройки</v8:content>
</v8:item>
</ToolTip>
<Group>AlwaysHorizontal</Group>
<HorizontalStretch>true</HorizontalStretch>
<Group>Vertical</Group>
<Behavior>Usual</Behavior>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаОсновныеНастройкиРасширеннаяПодсказка" id="33"/>
<ChildItems>
<InputField name="Сервер" id="43">
<DataPath>Объект.Сервер</DataPath>
<HorizontalStretch>true</HorizontalStretch>
<ContextMenu name="СерверКонтекстноеМеню" id="44"/>
<ExtendedTooltip name="СерверРасширеннаяПодсказка" id="45"/>
</InputField>
<InputField name="Порт" id="37">
<DataPath>Объект.Порт</DataPath>
<UsualGroup name="ГруппаСтрокаПорт" id="72">
<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>
<Behavior>Usual</Behavior>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаСтрокаПортРасширеннаяПодсказка" id="73"/>
<ChildItems>
<InputField name="СтрокаПодключения" id="43">
<DataPath>Объект.СтрокаПодключения</DataPath>
<HorizontalStretch>true</HorizontalStretch>
<ContextMenu name="СтрокаПодключенияКонтекстноеМеню" id="44"/>
<ExtendedTooltip name="СтрокаПодключенияРасширеннаяПодсказка" id="45"/>
<Events>
<Event name="StartChoice">СтрокаПодключенияНачалоВыбора</Event>
</Events>
</InputField>
<InputField name="Порт" id="37">
<DataPath>Объект.Порт</DataPath>
<AutoMaxWidth>false</AutoMaxWidth>
<HorizontalStretch>false</HorizontalStretch>
<ContextMenu name="ПортКонтекстноеМеню" id="38"/>
<ExtendedTooltip name="ПортРасширеннаяПодсказка" id="39"/>
</InputField>
</ChildItems>
</UsualGroup>
<InputField name="СтрокаПодключенияМногострочная" id="69">
<DataPath>Объект.СтрокаПодключения</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Строка соединения (без данных аутентификации)</v8:content>
</v8:item>
</Title>
<AutoMaxWidth>false</AutoMaxWidth>
<HorizontalStretch>false</HorizontalStretch>
<ContextMenu name="ПортКонтекстноеМеню" id="38"/>
<ExtendedTooltip name="ПортРасширеннаяПодсказка" id="39"/>
<HorizontalStretch>true</HorizontalStretch>
<MultiLine>true</MultiLine>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="СтрокаПодключенияМногострочнаяКонтекстноеМеню" id="70"/>
<ExtendedTooltip name="СтрокаПодключенияМногострочнаяРасширеннаяПодсказка" id="71"/>
</InputField>
</ChildItems>
</UsualGroup>
<InputField name="ИнтегрируемаяСистема" id="49">
<DataPath>Объект.ИнтегрируемаяСистема</DataPath>
<ContextMenu name="ИнтегрируемаяСистемаКонтекстноеМеню" id="50"/>
<ExtendedTooltip name="ИнтегрируемаяСистемаРасширеннаяПодсказка" id="51"/>
<InputField name="УчетнаяЗапись" id="58">
<DataPath>Объект.УчетнаяЗапись</DataPath>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="УчетнаяЗаписьКонтекстноеМеню" id="59"/>
<ExtendedTooltip name="УчетнаяЗаписьРасширеннаяПодсказка" id="60"/>
</InputField>
<InputField name="ТипАвторизации" id="61">
<DataPath>Объект.ТипАвторизации</DataPath>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ТипАвторизацииКонтекстноеМеню" id="62"/>
<ExtendedTooltip name="ТипАвторизацииРасширеннаяПодсказка" id="63"/>
</InputField>
<CheckBoxField name="ИспользоватьПользовательскиеФункции" id="55">
<DataPath>Объект.ИспользоватьПользовательскиеФункции</DataPath>
<TitleLocation>Right</TitleLocation>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="ИспользоватьПользовательскиеФункцииКонтекстноеМеню" id="56"/>
<ExtendedTooltip name="ИспользоватьПользовательскиеФункцииРасширеннаяПодсказка" id="57"/>
</CheckBoxField>
<Button name="ПодключитьВнешнююКомпоненту" id="67">
<Type>Hyperlink</Type>
<CommandName>Form.Command.ПодключитьВнешнююКомпонентуИзФайла</CommandName>
<ExtendedTooltip name="ПодключитьВнешнююКомпонентуРасширеннаяПодсказка" id="68"/>
</Button>
<Button name="УстановитьСоединениеСБазойДанных" id="74">
<Type>UsualButton</Type>
<CommandName>Form.Command.УстановитьСоединениеСБазойДанных</CommandName>
<ExtendedTooltip name="УстановитьСоединениеСБазойДанныхРасширеннаяПодсказка" id="75"/>
</Button>
<Table name="СписокНастроек" id="9">
<Representation>List</Representation>
<AutoInsertNewRow>true</AutoInsertNewRow>
@ -136,6 +221,9 @@
<ContextMenu name="СписокНастроекУправлениеПоискомКонтекстноеМеню" id="20"/>
<ExtendedTooltip name="СписокНастроекУправлениеПоискомРасширеннаяПодсказка" id="21"/>
</SearchControlAddition>
<Events>
<Event name="OnChange">СписокНастроекПриИзменении</Event>
</Events>
<ChildItems>
<InputField name="СписокНастроекИмяНастройки" id="22">
<DataPath>СписокНастроек.ИмяНастройки</DataPath>
@ -222,13 +310,39 @@
</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>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Attribute>
<Attribute name="ВнешняяКомпонентаЗагруженаИзФайла" id="4">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Внешняя компонента загружена из файла</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
</Attributes>
<Commands>
<Command name="ДобавитьОбщиеНастройки" id="1">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Общие настройки</v8:content>
<v8:content>Параметры аутентификации</v8:content>
</v8:item>
</Title>
<ToolTip>
@ -254,5 +368,35 @@
</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>
</Commands>
</Form>

View File

@ -23,7 +23,9 @@
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда
УстановитьСвойстваЭлементов();
Если Не ЗначениеЗаполнено(Объект.Ссылка) Тогда
Возврат;
КонецЕсли;
@ -43,6 +45,30 @@
КонецПроцедуры
&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
ДанныеКомпоненты = ТекущийОбъект.ВнешняяКомпонента.Получить();
Если Не ДанныеКомпоненты = Неопределено Тогда
АдресВнешнейКомпоненты = ПоместитьВоВременноеХранилище(ДанныеКомпоненты, Новый УникальныйИдентификатор);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
Если ВнешняяКомпонентаЗагруженаИзФайла Тогда
ДвоичныеДанныеКомпоненты = ПолучитьИзВременногоХранилища(АдресВнешнейКомпоненты);
ТекущийОбъект.ВнешняяКомпонента = Новый ХранилищеЗначения(ДвоичныеДанныеКомпоненты, Новый СжатиеДанных());
КонецЕсли;
Если Модифицированность И Не ПустаяСтрока(Объект.ИдентификаторНастройки) Тогда
ТекущийОбъект.ИзмененВручную = Истина;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
@ -65,6 +91,46 @@
КонецПроцедуры
&НаКлиенте
Процедура ТипИнтеграцииПриИзменении(Элемент)
УстановитьСвойстваЭлементов();
Объект.СтрокаПодключения = "";
Объект.Порт = "";
Объект.УчетнаяЗапись = Неопределено;
Объект.ТипАвторизации = пбп_ОбщегоНазначенияКлиент.ПредопределенныйЭлемент(
"Перечисление.пбп_ТипыАвторизации.ПустаяСсылка");
Объект.ИмяОбъекта = "";
Объект.ИспользоватьПользовательскиеФункции = Ложь;
КонецПроцедуры
&НаКлиенте
Процедура СтрокаПодключенияНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ЗаголовокДиалога = НСтр("ru = 'Укажите каталог'");
РежимОткрытияДиалога = РежимДиалогаВыбораФайла.ВыборКаталога;
ДиалогОткрытия = Новый ДиалогВыбораФайла(РежимОткрытияДиалога);
ДиалогОткрытия.Каталог = Объект.СтрокаПодключения;
ДиалогОткрытия.Заголовок = ЗаголовокДиалога;
Оповещение = Новый ОписаниеОповещения("ОбработчикВыбораФайловогоКаталогаЗавершениеПослеВыбораВДиалоге", ЭтотОбъект);
ДиалогОткрытия.Показать(Оповещение);
КонецПроцедуры
&НаКлиенте
Процедура СписокНастроекПриИзменении(Элемент)
Модифицированность = Истина;
КонецПроцедуры
#КонецОбласти // ОбработчикиСобытийФормы
#Область ОбработчикиКомандФормы
@ -97,16 +163,410 @@
КонецПроцедуры
&НаКлиенте
Процедура ПодключитьВнешнююКомпонентуИзФайла(Команда)
Если Не ЗначениеЗаполнено(Объект.Ссылка) Или Модифицированность Тогда
ТекстСообщения = НСтр("ru = 'Для изменения файла внешней компоненты необходимо записать справочник. Записать?'");
ОписаниеОповещения = Новый ОписаниеОповещения("ПодключитьВнешнююКомпонентуИзФайлаЗавершение", ЭтотОбъект);
ПоказатьВопрос(ОписаниеОповещения, ТекстСообщения, РежимДиалогаВопрос.ОКОтмена);
Иначе
ОткрытьФормуЗагрузкиВнешнейКомпоненты();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура УстановитьСоединениеСБазойДанных(Команда)
Если Не ЗначениеЗаполнено(Объект.Ссылка) Или Модифицированность Тогда
ТекстСообщения = НСтр(
"ru = 'Для изменения параметров соединения с базой данных необходимо записать справочник. Записать?'");
ОписаниеОповещения = Новый ОписаниеОповещения("УстановитьСоединениеСБазойДанныхЗавершение", ЭтотОбъект);
ПоказатьВопрос(ОписаниеОповещения, ТекстСообщения, РежимДиалогаВопрос.ОКОтмена);
Иначе
ЗаписатьПараметрыСоединенияСБазойДанныхИУстановитьСоединение();
КонецЕсли;
КонецПроцедуры
#КонецОбласти // ОбработчикиКомандФормы
#Область СлужебныеПроцедурыИФункции
&НаКлиентеНаСервереБезКонтекста
&НаСервере
Процедура УстановитьСвойстваЭлементов()
Элементы.СтрокаПодключения.КнопкаВыбора = Ложь;
ГруппаСтрокаПорт = "ГруппаСтрокаПорт";
СтрокаПодключенияМногострочная = "СтрокаПодключенияМногострочная";
УстановитьСоединениеСБазойДанных = "УстановитьСоединениеСБазойДанных";
УстанавливаемоеСвойство = "Видимость";
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, СтрокаПодключенияМногострочная, УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ГруппаСтрокаПорт, УстанавливаемоеСвойство, Истина);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, УстановитьСоединениеСБазойДанных, УстанавливаемоеСвойство, Ложь);
Если Не ЗначениеЗаполнено(Объект.ТипИнтеграции) Тогда
Элементы.СтрокаПодключения.Заголовок = НСтр("ru = 'Каталог'");
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, "ГруппаОсновныеНастройки", УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, "УчетнаяЗапись", УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, "ТипАвторизации", УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, "ИмяОбъекта", УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, "ИспользоватьПользовательскиеФункции", УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, "СписокНастроек", УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, "ПодключитьВнешнююКомпоненту", УстанавливаемоеСвойство, Ложь);
Иначе
УстановитьСвойстваЭлементовВЗависимостиОтТипаИнтеграции();
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура УстановитьСвойстваЭлементовВЗависимостиОтТипаИнтеграции()
ГруппаОсновныеНастройки = "ГруппаОсновныеНастройки";
ГруппаСтрокаПорт = "ГруппаСтрокаПорт";
СтрокаПодключения = "СтрокаПодключения";
Порт = "Порт";
УчетнаяЗапись = "УчетнаяЗапись";
ТипАвторизации = "ТипАвторизации";
ИмяОбъекта = "ИмяОбъекта";
ИспользоватьПользовательскиеФункции = "ИспользоватьПользовательскиеФункции";
СписокНастроекСтрока = "СписокНастроек";
ПодключитьВнешнююКомпоненту = "ПодключитьВнешнююКомпоненту";
СтрокаПодключенияМногострочная = "СтрокаПодключенияМногострочная";
УстановитьСоединениеСБазойДанных = "УстановитьСоединениеСБазойДанных";
СерверСтрока = НСтр("ru = 'Сервер'");
УстанавливаемоеСвойство = "Видимость";
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ГруппаОсновныеНастройки, УстанавливаемоеСвойство, Истина);
ЭлементНаследования = Справочники.пбп_ТипыИнтеграций
.ПолучитьПредопределенныйЭлементНаследованияНастроекТипаИнтеграции(Объект.ТипИнтеграции);
Если ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.Каталог Тогда
Элементы.СтрокаПодключения.Заголовок = НСтр("ru = 'Каталог'");
Элементы.СтрокаПодключения.КнопкаВыбора = Истина;
УстановитьВидимостьЭлементовДляТипаФайловыеОбмены();
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, СтрокаПодключения, УстанавливаемоеСвойство, Истина);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, Порт, УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, УчетнаяЗапись, УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, СписокНастроекСтрока, УстанавливаемоеСвойство, Ложь);
ИначеЕсли ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.FTPРесурсы Тогда
Элементы.СтрокаПодключения.Заголовок = НСтр("ru = 'Путь к каталогу'");
УстановитьВидимостьЭлементовДляТипаФайловыеОбмены();
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, СтрокаПодключения, УстанавливаемоеСвойство, Истина);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, Порт, УстанавливаемоеСвойство, Истина);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, УчетнаяЗапись, УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, СписокНастроекСтрока, УстанавливаемоеСвойство, Истина);
ИначеЕсли ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.ПочтовыйКлиент Тогда
УстановитьВидимостьЭлементовДляТипаФайловыеОбмены();
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, СтрокаПодключения, УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, Порт, УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, УчетнаяЗапись, УстанавливаемоеСвойство, Истина);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, СписокНастроекСтрока, УстанавливаемоеСвойство, Ложь);
ИначеЕсли ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.ПрямоеПодключениеКБД Тогда
Элементы.СтрокаПодключенияМногострочная.Заголовок = НСтр("ru = 'Строка соединения (без данных аутентификации)'");
Элементы.ИмяОбъекта.Заголовок = НСтр("ru = 'Имя внешнего источника данных'");
Элементы.ИмяОбъекта.РежимВыбораИзСписка = Истина;
ЗаполнитьСписокВыбораВнешнихИсточниковДанных();
УстановитьВидимостьЭлементовДляComИПрямогоПодключенияКБД();
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, УстановитьСоединениеСБазойДанных, УстанавливаемоеСвойство, Истина);
ИначеЕсли ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.COM Тогда
Элементы.СтрокаПодключенияМногострочная.Заголовок = НСтр("ru = 'Строка подключения'");
Элементы.ИмяОбъекта.Заголовок = НСтр("ru = 'Имя COM-объекта'");
Элементы.ИмяОбъекта.РежимВыбораИзСписка = Ложь;
Элементы.ИмяОбъекта.СписокВыбора.Очистить();
УстановитьВидимостьЭлементовДляComИПрямогоПодключенияКБД();
ИначеЕсли ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.RESTAPI
Или ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.SOAP Тогда
Элементы.СтрокаПодключения.Заголовок = СерверСтрока;
УстановитьВидимостьЭлементовДляОстальныхТипов();
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, Порт, УстанавливаемоеСвойство, Истина);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ТипАвторизации, УстанавливаемоеСвойство, Истина);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ИмяОбъекта, УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, СписокНастроекСтрока, УстанавливаемоеСвойство, Истина);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ПодключитьВнешнююКомпоненту, УстанавливаемоеСвойство, Ложь);
ИначеЕсли ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.ВнешняяКомпонента Тогда
Элементы.СтрокаПодключения.Заголовок = НСтр("ru = 'Имя компоненты'");
УстановитьВидимостьЭлементовДляОстальныхТипов();
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, Порт, УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ТипАвторизации, УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ИмяОбъекта, УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, СписокНастроекСтрока, УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ПодключитьВнешнююКомпоненту, УстанавливаемоеСвойство, Истина);
ИначеЕсли ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.КоманднаяСтрока Тогда
Элементы.СтрокаПодключения.Заголовок = НСтр("ru = 'Исполняемый файл'");
УстановитьВидимостьЭлементовДляОстальныхТипов();
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, Порт, УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ТипАвторизации, УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ИмяОбъекта, УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, СписокНастроекСтрока, УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ПодключитьВнешнююКомпоненту, УстанавливаемоеСвойство, Ложь);
ИначеЕсли ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.БрокерыСообщений Тогда
Элементы.СтрокаПодключения.Заголовок = СерверСтрока;
УстановитьВидимостьЭлементовДляОстальныхТипов();
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, Порт, УстанавливаемоеСвойство, Истина);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ТипАвторизации, УстанавливаемоеСвойство, Истина);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ИмяОбъекта, УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, СписокНастроекСтрока, УстанавливаемоеСвойство, Истина);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ПодключитьВнешнююКомпоненту, УстанавливаемоеСвойство, Истина);
Иначе
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, СтрокаПодключения, УстанавливаемоеСвойство, Истина);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ИспользоватьПользовательскиеФункции, УстанавливаемоеСвойство, Истина);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, УчетнаяЗапись, УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, Порт, УстанавливаемоеСвойство, Истина);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ТипАвторизации, УстанавливаемоеСвойство, Истина);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ИмяОбъекта, УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, СписокНастроекСтрока, УстанавливаемоеСвойство, Истина);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, ПодключитьВнешнююКомпоненту, УстанавливаемоеСвойство, Истина);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура УстановитьВидимостьЭлементовДляТипаФайловыеОбмены()
УстанавливаемоеСвойство = "Видимость";
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, "ТипАвторизации", УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, "ИмяОбъекта", УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, "ИспользоватьПользовательскиеФункции", УстанавливаемоеСвойство, Истина);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, "СписокНастроек", УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, "ПодключитьВнешнююКомпоненту", УстанавливаемоеСвойство, Ложь);
КонецПроцедуры
&НаСервере
Процедура УстановитьВидимостьЭлементовДляОстальныхТипов()
УстанавливаемоеСвойство = "Видимость";
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, "СтрокаПодключения", УстанавливаемоеСвойство, Истина);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, "ИспользоватьПользовательскиеФункции", УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, "УчетнаяЗапись", УстанавливаемоеСвойство, Ложь);
КонецПроцедуры
&НаСервере
Процедура УстановитьВидимостьЭлементовДляComИПрямогоПодключенияКБД()
УстанавливаемоеСвойство = "Видимость";
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, "ИмяОбъекта", УстанавливаемоеСвойство, Истина);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, "СтрокаПодключенияМногострочная", УстанавливаемоеСвойство, Истина);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, "ГруппаСтрокаПорт", УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, "ИспользоватьПользовательскиеФункции", УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, "УчетнаяЗапись", УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, "ТипАвторизации", УстанавливаемоеСвойство, Ложь);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, "СписокНастроек", УстанавливаемоеСвойство, Истина);
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, "ПодключитьВнешнююКомпоненту", УстанавливаемоеСвойство, Ложь);
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьСписокВыбораВнешнихИсточниковДанных()
Для Каждого ИсточникДанныхЭлемент Из Метаданные.ВнешниеИсточникиДанных Цикл
Представление = ?(ПустаяСтрока(ИсточникДанныхЭлемент.Синоним),
ИсточникДанныхЭлемент.Имя, ИсточникДанныхЭлемент.Синоним);
Элементы.ИмяОбъекта.СписокВыбора.Добавить(ИсточникДанныхЭлемент.Имя, Представление);
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура ПодключитьВнешнююКомпонентуИзФайлаЗавершение(Результат, Знач ДополнительныеПараметры) Экспорт
Если Результат = КодВозвратаДиалога.ОК Тогда
Если ПроверитьЗаполнение() Тогда
Записать();
ОткрытьФормуЗагрузкиВнешнейКомпоненты();
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура УстановитьСоединениеСБазойДанныхЗавершение(Результат, Знач ДополнительныеПараметры) Экспорт
Если Результат = КодВозвратаДиалога.ОК Тогда
Если ПроверитьЗаполнение() Тогда
Записать();
ЗаписатьПараметрыСоединенияСБазойДанныхИУстановитьСоединение();
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьФормуЗагрузкиВнешнейКомпоненты()
ПараметрыОткрытия = Новый Структура;
ПараметрыОткрытия.Вставить("НастройкаИнтеграции", Объект.Ссылка);
ПараметрыОткрытия.Вставить("АдресВнешнейКомпоненты", АдресВнешнейКомпоненты);
ПараметрыОткрытия.Вставить("ИмяФайла", Объект.ИмяФайлаВнешнейКомпоненты);
Оповещение = Новый ОписаниеОповещения(
"ОбработчикПодключенияВнешнейКомпонентыЗавершениеПослеВыбораКомпоненты", ЭтотОбъект);
ОткрытьФорму("Справочник.пбп_НастройкиИнтеграции.Форма.ФормаЗагрузкиВнешнейКомпоненты",
ПараметрыОткрытия, ЭтотОбъект, Новый УникальныйИдентификатор, , , Оповещение);
КонецПроцедуры
&НаСервере
Процедура ЗаписатьПараметрыСоединенияСБазойДанныхИУстановитьСоединение()
пбп_ИнтеграцииСервер.УстановитьСоединениеСВнешнимИсточникомДанныхПоНастройкеИнтеграции(Объект.Ссылка);
пбп_ОбщегоНазначенияСервер.СообщитьПользователю(НСтр("ru = 'Подключение к базе данных успешно установлено'"));
КонецПроцедуры
&НаКлиенте
Процедура ОбработчикВыбораФайловогоКаталогаЗавершениеПослеВыбораВДиалоге(
Результат, ДополнительныеПараметры = Неопределено) Экспорт
Если Результат = Неопределено Тогда
Возврат;
КонецЕсли;
Объект.СтрокаПодключения = Результат[0];
КонецПроцедуры
&НаКлиенте
Процедура ОбработчикПодключенияВнешнейКомпонентыЗавершениеПослеВыбораКомпоненты(
Результат, Знач ДополнительныеПараметры) Экспорт
Если Результат = Неопределено Тогда
Возврат;
КонецЕсли;
Если Результат.ИзмененВручную Тогда
Объект.ИмяФайлаВнешнейКомпоненты = Результат.ИмяФайла;
ВнешняяКомпонентаЗагруженаИзФайла = Истина;
ОбработчикПодключенияВнешнейКомпонентыЗавершениеПослеВыбораКомпонентыНаСервере(Результат, ДополнительныеПараметры);
Модифицированность = Истина;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ОбработчикПодключенияВнешнейКомпонентыЗавершениеПослеВыбораКомпонентыНаСервере(
Знач Результат, Знач ДополнительныеПараметры)
АдресВнешнейКомпоненты = ПоместитьВоВременноеХранилище(Результат.ДвоичныеДанные, Новый УникальныйИдентификатор);
КонецПроцедуры
&НаСервере
Функция ПолучитьОбщиеЗначения()
Массив = Новый Массив;
Массив.Добавить("Логин");
Массив.Добавить("Пароль");
Если Не ЗначениеЗаполнено(Объект.ТипАвторизации)
Или Объект.ТипАвторизации = Перечисления.пбп_ТипыАвторизации.Базовая Тогда
Массив.Добавить("Логин");
Массив.Добавить("Пароль");
Иначе
Массив.Добавить("Токен");
КонецЕсли;
Возврат Массив;

View File

@ -97,5 +97,5 @@
#КонецОбласти
#Иначе
ВызватьИсключение НСтр("ru='Недопустимый вызов объекта на клиенте.';en='Invalid object call on client'");
ВызватьИсключение НСтр("ru='Недопустимый вызов объекта на клиенте.';en='Invalid object call on client'");
#КонецЕсли

View File

@ -0,0 +1,96 @@
<?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.16">
<Catalog uuid="5f4d21a5-0eed-4fc3-acb2-d8df89b3c04e">
<InternalInfo>
<xr:GeneratedType name="CatalogObject.пбп_ТипыИнтеграций" category="Object">
<xr:TypeId>c56c39c3-b43a-424d-9230-6e3524801415</xr:TypeId>
<xr:ValueId>cfc7b305-4b8a-4da1-8eba-297bd4a8aece</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogRef.пбп_ТипыИнтеграций" category="Ref">
<xr:TypeId>48feb50e-0310-4e53-bc1d-709d759b13e9</xr:TypeId>
<xr:ValueId>06bc06d0-b57d-4469-ae2c-7c0b8584afee</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogSelection.пбп_ТипыИнтеграций" category="Selection">
<xr:TypeId>3e84edcb-dc1d-44e0-bc7a-a72627e7709b</xr:TypeId>
<xr:ValueId>7ed20e93-ecfe-4953-a011-6721ccafa06a</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogList.пбп_ТипыИнтеграций" category="List">
<xr:TypeId>73d1bc87-e626-4b17-b653-903e26efdc9f</xr:TypeId>
<xr:ValueId>bea53cf2-02c5-4005-990e-07ddb2ee1495</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogManager.пбп_ТипыИнтеграций" category="Manager">
<xr:TypeId>230505ce-28cc-4d11-9775-1b6c4e1d8ad1</xr:TypeId>
<xr:ValueId>bbfd9a86-d10c-4298-bbaf-141da1cb07f3</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>пбп_ТипыИнтеграций</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Типы интеграций</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Hierarchical>true</Hierarchical>
<HierarchyType>HierarchyOfItems</HierarchyType>
<LimitLevelCount>false</LimitLevelCount>
<LevelCount>2</LevelCount>
<FoldersOnTop>true</FoldersOnTop>
<UseStandardCommands>true</UseStandardCommands>
<Owners/>
<SubordinationUse>ToItems</SubordinationUse>
<CodeLength>9</CodeLength>
<DescriptionLength>100</DescriptionLength>
<CodeType>String</CodeType>
<CodeAllowedLength>Variable</CodeAllowedLength>
<CodeSeries>WholeCatalog</CodeSeries>
<CheckUnique>true</CheckUnique>
<Autonumbering>true</Autonumbering>
<DefaultPresentation>AsDescription</DefaultPresentation>
<Characteristics/>
<PredefinedDataUpdate>Auto</PredefinedDataUpdate>
<EditType>InDialog</EditType>
<QuickChoice>false</QuickChoice>
<ChoiceMode>BothWays</ChoiceMode>
<InputByString>
<xr:Field>Catalog.пбп_ТипыИнтеграций.StandardAttribute.Description</xr:Field>
<xr:Field>Catalog.пбп_ТипыИнтеграций.StandardAttribute.Code</xr:Field>
</InputByString>
<SearchStringModeOnInputByString>Begin</SearchStringModeOnInputByString>
<FullTextSearchOnInputByString>DontUse</FullTextSearchOnInputByString>
<ChoiceDataGetModeOnInputByString>Directly</ChoiceDataGetModeOnInputByString>
<DefaultObjectForm/>
<DefaultFolderForm/>
<DefaultListForm/>
<DefaultChoiceForm/>
<DefaultFolderChoiceForm/>
<AuxiliaryObjectForm/>
<AuxiliaryFolderForm/>
<AuxiliaryListForm/>
<AuxiliaryChoiceForm/>
<AuxiliaryFolderChoiceForm/>
<IncludeHelpInContents>false</IncludeHelpInContents>
<BasedOn/>
<DataLockFields/>
<DataLockControlMode>Managed</DataLockControlMode>
<FullTextSearch>Use</FullTextSearch>
<ObjectPresentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Тип интеграции</v8:content>
</v8:item>
</ObjectPresentation>
<ExtendedObjectPresentation/>
<ListPresentation/>
<ExtendedListPresentation/>
<Explanation/>
<CreateOnInput>Use</CreateOnInput>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<DataHistory>DontUse</DataHistory>
<UpdateDataHistoryImmediatelyAfterWrite>false</UpdateDataHistoryImmediatelyAfterWrite>
<ExecuteAfterWriteDataHistoryVersionProcessing>false</ExecuteAfterWriteDataHistoryVersionProcessing>
</Properties>
<ChildObjects/>
</Catalog>
</MetaDataObject>

View File

@ -0,0 +1,79 @@
// Библиотека проектных подсистем для упрощения разработки архитектуры на 1С: Предприятие 8,
// включая доработку типовых конфигураций.
//
// Copyright First BIT company
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// URL: https://github.com/firstBitSportivnaya/PSSL/
//
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
// Получить предопределенный элемент наследования настроек типа интеграции
// Определяет родителя (предопределенный элемент второго уровня) типа интеграции, для определения настроек
//
// Параметры:
// ТипИнтеграции - СправочникСсылка.пбп_ТипыИнтеграций - элемент, для которого нужно узнать родителя
//
// Возвращаемое значение:
// - СправочникСсылка.пбп_ТипыИнтеграций - предопределенный элемент второго уровня иерархии
//
Функция ПолучитьПредопределенныйЭлементНаследованияНастроекТипаИнтеграции(ТипИнтеграции) Экспорт
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Ссылка", ТипИнтеграции);
Запрос.Текст = "ВЫБРАТЬ
| ВЫБОР
| КОГДА &Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(Справочник.пбп_ТипыИнтеграций.Каталог))
| ТОГДА ЗНАЧЕНИЕ(Справочник.пбп_ТипыИнтеграций.Каталог)
| КОГДА &Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(Справочник.пбп_ТипыИнтеграций.FTPРесурсы))
| ТОГДА ЗНАЧЕНИЕ(Справочник.пбп_ТипыИнтеграций.FTPРесурсы)
| КОГДА &Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(Справочник.пбп_ТипыИнтеграций.ПочтовыйКлиент))
| ТОГДА ЗНАЧЕНИЕ(Справочник.пбп_ТипыИнтеграций.ПочтовыйКлиент)
| КОГДА &Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(Справочник.пбп_ТипыИнтеграций.COM))
| ТОГДА ЗНАЧЕНИЕ(Справочник.пбп_ТипыИнтеграций.COM)
| КОГДА &Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(Справочник.пбп_ТипыИнтеграций.RESTAPI))
| ТОГДА ЗНАЧЕНИЕ(Справочник.пбп_ТипыИнтеграций.RESTAPI)
| КОГДА &Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(Справочник.пбп_ТипыИнтеграций.SOAP))
| ТОГДА ЗНАЧЕНИЕ(Справочник.пбп_ТипыИнтеграций.SOAP)
| КОГДА &Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(Справочник.пбп_ТипыИнтеграций.ВнешняяКомпонента))
| ТОГДА ЗНАЧЕНИЕ(Справочник.пбп_ТипыИнтеграций.ВнешняяКомпонента)
| КОГДА &Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(Справочник.пбп_ТипыИнтеграций.КоманднаяСтрока))
| ТОГДА ЗНАЧЕНИЕ(Справочник.пбп_ТипыИнтеграций.КоманднаяСтрока)
| КОГДА &Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(Справочник.пбп_ТипыИнтеграций.БрокерыСообщений))
| ТОГДА ЗНАЧЕНИЕ(Справочник.пбп_ТипыИнтеграций.БрокерыСообщений)
| КОГДА &Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(Справочник.пбп_ТипыИнтеграций.ПрямоеПодключениеКБД))
| ТОГДА ЗНАЧЕНИЕ(Справочник.пбп_ТипыИнтеграций.ПрямоеПодключениеКБД)
| КОНЕЦ КАК ПараметрыОт
|ИЗ
| Справочник.пбп_ТипыИнтеграций КАК пбп_ТипыИнтеграций";
ВыборкаРезультатаЗапроса = Запрос.Выполнить().Выбрать();
ПараметрыОт = Справочники.пбп_ТипыИнтеграций.ПустаяСсылка();
Если ВыборкаРезультатаЗапроса.Следующий() Тогда
ПараметрыОт = ВыборкаРезультатаЗапроса.ПараметрыОт;
КонецЕсли;
Возврат ПараметрыОт;
КонецФункции
#КонецОбласти // ПрограммныйИнтерфейс
#Иначе
ВызватьИсключение НСтр("ru = 'Недопустимый вызов объекта на клиенте.'");
#КонецЕсли

View File

@ -0,0 +1,121 @@
<?xml version="1.0" encoding="UTF-8"?>
<PredefinedData xmlns="http://v8.1c.ru/8.3/xcf/predef" xmlns:v8="http://v8.1c.ru/8.1/data/core" 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" xsi:type="CatalogPredefinedItems" version="2.16">
<Item id="6929062d-fb13-495b-9b83-9eb93bc15ec5">
<Name>БрокерыСообщений</Name>
<Code>000000004</Code>
<Description>Брокеры сообщений</Description>
<IsFolder>false</IsFolder>
<ChildItems>
<Item id="b358f7e6-ef0b-4643-8afd-c2b6cf5943f0">
<Name>Kafka</Name>
<Code>000000014</Code>
<Description>Kafka</Description>
<IsFolder>false</IsFolder>
</Item>
<Item id="27e368ff-532e-493c-bcdf-59ee408c604b">
<Name>RabbitMq</Name>
<Code>000000013</Code>
<Description>Rabbit MQ</Description>
<IsFolder>false</IsFolder>
</Item>
</ChildItems>
</Item>
<Item id="2ce81f0d-7064-4696-ae29-73af01df3517">
<Name>ВызовВнешнейПроцедуры</Name>
<Code>000000003</Code>
<Description>Вызов внешней процедуры</Description>
<IsFolder>false</IsFolder>
<ChildItems>
<Item id="852857d7-c72a-4acc-87df-e1be7ba372df">
<Name>COM</Name>
<Code>000000010</Code>
<Description>COM-объект</Description>
<IsFolder>false</IsFolder>
</Item>
<Item id="d53a59ab-c076-4d46-92cc-3940b142088e">
<Name>RESTAPI</Name>
<Code>000000009</Code>
<Description>REST API</Description>
<IsFolder>false</IsFolder>
</Item>
<Item id="434face5-d225-43f0-9bbd-a2dd251ab2a0">
<Name>SOAP</Name>
<Code>000000008</Code>
<Description>SOAP</Description>
<IsFolder>false</IsFolder>
</Item>
<Item id="3129b458-9840-4653-a536-30c754b8749f">
<Name>ВнешняяКомпонента</Name>
<Code>000000011</Code>
<Description>Внешняя компонента</Description>
<IsFolder>false</IsFolder>
</Item>
<Item id="a0d0cce0-5c10-40c0-99ee-c1b40b6e5bf5">
<Name>КоманднаяСтрока</Name>
<Code>000000012</Code>
<Description>Командная строка</Description>
<IsFolder>false</IsFolder>
</Item>
</ChildItems>
</Item>
<Item id="9aa22d6f-f875-4cc6-99c8-876f6eed7506">
<Name>ПрямоеПодключениеКБД</Name>
<Code>000000002</Code>
<Description>Прямое подключение к БД</Description>
<IsFolder>false</IsFolder>
</Item>
<Item id="e0d0f8e8-e6d9-41a1-bfec-222edc017766">
<Name>ФайловыеОбмены</Name>
<Code>000000001</Code>
<Description>Файловые обмены</Description>
<IsFolder>false</IsFolder>
<ChildItems>
<Item id="ff85c31d-5e60-438c-b85f-4547dc2f11fe">
<Name>FTPРесурсы</Name>
<Code>000000006</Code>
<Description>FTP-ресурсы</Description>
<IsFolder>false</IsFolder>
<ChildItems>
<Item id="756deb1e-b368-4180-83b5-756aaf94e9a1">
<Name>FTPS</Name>
<Code>000000018</Code>
<Description>FTPS</Description>
<IsFolder>false</IsFolder>
</Item>
<Item id="a615b6b3-5ae9-40e3-a385-cec4f52bac08">
<Name>SFTP</Name>
<Code>000000017</Code>
<Description>SFTP</Description>
<IsFolder>false</IsFolder>
</Item>
</ChildItems>
</Item>
<Item id="c9c2a246-0d72-4fe9-b706-b79bbc712e7c">
<Name>Каталог</Name>
<Code>000000005</Code>
<Description>Каталог</Description>
<IsFolder>false</IsFolder>
<ChildItems>
<Item id="873d7d5e-fb18-4848-a071-25e7006c60a4">
<Name>Сетевой</Name>
<Code>000000016</Code>
<Description>Сетевой</Description>
<IsFolder>false</IsFolder>
</Item>
<Item id="7323ac1c-1b05-4a56-a6a3-73c64c1d3282">
<Name>Локальный</Name>
<Code>000000015</Code>
<Description>Файловый</Description>
<IsFolder>false</IsFolder>
</Item>
</ChildItems>
</Item>
<Item id="90341f9e-c437-461e-8a44-978bf2e108d3">
<Name>ПочтовыйКлиент</Name>
<Code>000000007</Code>
<Description>Почтовый клиент</Description>
<IsFolder>false</IsFolder>
</Item>
</ChildItems>
</Item>
</PredefinedData>

View File

@ -70,15 +70,15 @@
Функция ПолучитьСтруктуруЗаписиИстории() Экспорт
СтруктураЗаписиИстории = Новый Структура;
СтруктураЗаписиИстории.Вставить("МетодИнтеграции", "");
СтруктураЗаписиИстории.Вставить("ЗапросВходящий", "");
СтруктураЗаписиИстории.Вставить("ЗапросИсходящий", "");
СтруктураЗаписиИстории.Вставить("ИнтеграционныйПоток", "");
СтруктураЗаписиИстории.Вставить("ВходящееСообщение", "");
СтруктураЗаписиИстории.Вставить("ИсходящееСообщение", "");
СтруктураЗаписиИстории.Вставить("ИнтегрируемаяСистема", Неопределено);
СтруктураЗаписиИстории.Вставить("ОписаниеОшибки", "");
СтруктураЗаписиИстории.Вставить("ПротоколОбмена", "");
СтруктураЗаписиИстории.Вставить("ДатаНачалаИнтеграции", ТекущаяДатаСеанса());
СтруктураЗаписиИстории.Вставить("ДлительностьВызова", 0);
СтруктураЗаписиИстории.Вставить("ФорматЗапросаИнтеграции", Перечисления.пбп_ФорматыЗапросовИнтеграции.XML);
СтруктураЗаписиИстории.Вставить("ФорматИнтеграции", Перечисления.пбп_ФорматыИнтеграций.XML);
ОбъектыИнтеграции = Новый ТаблицаЗначений;
ОбъектыИнтеграции.Колонки.Добавить("ОбъектИнтеграции");
ОбъектыИнтеграции.Колонки.Добавить("СозданОбновлен");
@ -141,7 +141,8 @@
УстановитьПривилегированныйРежим(Истина);
СтруктураНастроек = пбп_ОбщегоНазначенияСлужебный.ЗначенияРеквизитовОбъекта(НастройкаИнтеграции, "Сервер, Порт");
СтруктураНастроек = пбп_ОбщегоНазначенияСлужебный.ЗначенияРеквизитовОбъекта(
НастройкаИнтеграции, "СтрокаПодключения, Порт, ИмяОбъекта");
ДанныеБезопасногоХранилища = пбп_ОбщегоНазначенияСлужебный.ПрочитатьДанныеИзБезопасногоХранилища(НастройкаИнтеграции);
Для Каждого КлючИЗначение Из ДанныеБезопасногоХранилища Цикл
@ -162,7 +163,8 @@
// Структура
Функция ПолучитьСтруктуруМетодаИНастроекИнтеграции(МетодИнтеграции) Экспорт
СтруктураМетодаИНастроек = пбп_ОбщегоНазначенияСлужебный.ЗначенияРеквизитовОбъекта(МетодИнтеграции, "НастройкаИнтеграции, Метод");
СтруктураМетодаИНастроек = пбп_ОбщегоНазначенияСлужебный.ЗначенияРеквизитовОбъекта(
МетодИнтеграции, "НастройкаИнтеграции, ТочкаВхода");
СтруктураНастроек = ПолучитьСтруктуруНастроекИнтеграции(СтруктураМетодаИНастроек.НастройкаИнтеграции);
пбп_ОбщегоНазначенияСлужебныйКлиентСервер.ДополнитьСтруктуру(СтруктураМетодаИНастроек, СтруктураНастроек);
@ -202,19 +204,21 @@
КонецФункции
// Получает структуру параметров метода интеграции со значениями по умолчанию
// Получает структуру параметров интеграционного потока со значениями по умолчанию
//
// Параметры:
// *МетодИнтеграции - СправочникСсылка.пбп_МетодыИнтеграции - ссылка на метод, параметры которого получаем.
// *ЗаполнятьПоУмолчанию - Булево - добавлять ли в возвращаемую структуру значения по умолчанию
// **Ложь - возвращает структуру вида ИмяПараметра<Строка>:ТипЗначения<ПеречислениеСсылка.пбп_ТипыJSON>
// **Истина - возвращает структуру вида ИмяПараметра<Строка>:ЗначениеПоУмолчанию<Строка>
// ИнтеграционныйПоток - СправочникСсылка.пбп_ИнтеграционныеПотоки - ссылка на метод, параметры которого получаем.
// ЗаполнятьПоУмолчанию - Булево - добавлять ли в возвращаемую структуру значения по умолчанию
// - Ложь - возвращает структуру вида ИмяПараметра<Строка>:ТипЗначения<ПеречислениеСсылка.пбп_ТипыJSON>
// - Истина - возвращает структуру вида ИмяПараметра<Строка>:ЗначениеПоУмолчанию<Строка>
//
// Возвращаемое значение:
// Структура
//
Функция ПолучитьСтруктуруПараметровREST(МетодИнтеграции, ЗаполнятьПоУмолчанию = Ложь) Экспорт
Функция ПолучитьСтруктуруПараметровВхода(ИнтеграционныйПоток, ЗаполнятьПоУмолчанию = Ложь) Экспорт
Возврат Справочники.пбп_МетодыИнтеграции.ПолучитьСтруктуруПараметровREST(МетодИнтеграции, ЗаполнятьПоУмолчанию);
Возврат Справочники.пбп_ИнтеграционныеПотоки.ПолучитьСтруктуруПараметровВхода(
ИнтеграционныйПоток, ЗаполнятьПоУмолчанию);
КонецФункции
@ -226,7 +230,7 @@
// СправочникСсылка.пбп_МетодыИнтеграции - искомый метод интеграции
//
Функция МетодИнтеграции(ИдентификаторНастройки) Экспорт
Возврат Справочники.пбп_МетодыИнтеграции.НайтиПоРеквизиту("ИдентификаторНастройки", ИдентификаторНастройки);
Возврат Справочники.пбп_ИнтеграционныеПотоки.НайтиПоРеквизиту("ИдентификаторНастройки", ИдентификаторНастройки);
КонецФункции
// Получает предопределенную интегрируемую систему по идентификатору настройки
@ -251,6 +255,45 @@
Возврат Справочники.пбп_НастройкиИнтеграции.НайтиПоРеквизиту("ИдентификаторНастройки", ИдентификаторНастройки);
КонецФункции
// Установить соединение с внешнем источником данных по настройке интеграции
//
// Параметры:
// НастройкаИнтеграции - СправочникСсылка.пбп_НастройкиИнтеграции - настройки подключения к базе данных
//
Процедура УстановитьСоединениеСВнешнимИсточникомДанныхПоНастройкеИнтеграции(НастройкаИнтеграции) Экспорт
СтруктураНастроек = ПолучитьСтруктуруНастроекИнтеграции(НастройкаИнтеграции);
ИмяВнешнегоИсточникаДанных = СтруктураНастроек.ИмяОбъекта;
ПараметрыСоединения = ВнешниеИсточникиДанных[ИмяВнешнегоИсточникаДанных].ПолучитьОбщиеПараметрыСоединения();
ПараметрыСоединения.АутентификацияОС = Ложь;
ПараметрыСоединения.АутентификацияСтандартная = Истина;
ПараметрыСоединения.СтрокаСоединения = СтруктураНастроек.СтрокаПодключения;
ПараметрыСоединения.СУБД = ПолучитьИмяСУБДВнешнегоИсточникаДанныхПоСтрокеСоединения(
СтруктураНастроек.СтрокаПодключения);
Если СтруктураНастроек.Свойство("Логин") Тогда
ПараметрыСоединения.ИмяПользователя = СтруктураНастроек.Логин.Значение;
Иначе
ПараметрыСоединения.ИмяПользователя = "";
КонецЕсли;
Если СтруктураНастроек.Свойство("Пароль") Тогда
ПараметрыСоединения.Пароль = СтруктураНастроек.Пароль.Значение;
Иначе
ПараметрыСоединения.Пароль = "";
КонецЕсли;
ВнешниеИсточникиДанных[ИмяВнешнегоИсточникаДанных].УстановитьОбщиеПараметрыСоединения(ПараметрыСоединения);
ВнешниеИсточникиДанных[ИмяВнешнегоИсточникаДанных].УстановитьПараметрыСоединенияПользователя(
пбп_Пользователи.ТекущийПользователь(), ПараметрыСоединения);
ВнешниеИсточникиДанных[ИмяВнешнегоИсточникаДанных].УстановитьПараметрыСоединенияСеанса(ПараметрыСоединения);
ВнешниеИсточникиДанных[ИмяВнешнегоИсточникаДанных].УстановитьСоединение();
КонецПроцедуры
#Область REST
Функция ПолучитьЗапросТекстомИзСоответствияJSON(ТелоЗапросаJSON) Экспорт
@ -437,15 +480,17 @@
// Процедура обрабатывает запросы в структуре записи истории
Процедура ДополнительноОбработатьЗапросыИнтеграцииПередЗаписьюВИсторию(СтруктураЗаписиИстории)
Если НЕ ПустаяСтрока(СтруктураЗаписиИстории.ЗапросИсходящий) И СтрНайти(СтруктураЗаписиИстории.ЗапросИсходящий, "xml") <> 0 Тогда
Если НЕ ПустаяСтрока(СтруктураЗаписиИстории.ИсходящееСообщение)
И СтрНайти(СтруктураЗаписиИстории.ИсходящееСообщение, "xml") <> 0 Тогда
ОчиститьДлинныеАтрибутыСообщенияXML(СтруктураЗаписиИстории.ЗапросИсходящий);
ОчиститьДлинныеАтрибутыСообщенияXML(СтруктураЗаписиИстории.ИсходящееСообщение);
КонецЕсли;
Если НЕ ПустаяСтрока(СтруктураЗаписиИстории.ЗапросВходящий) И СтрНайти(СтруктураЗаписиИстории.ЗапросВходящий, "xml") <> 0 Тогда
Если НЕ ПустаяСтрока(СтруктураЗаписиИстории.ВходящееСообщение)
И СтрНайти(СтруктураЗаписиИстории.ВходящееСообщение, "xml") <> 0 Тогда
ОчиститьДлинныеАтрибутыСообщенияXML(СтруктураЗаписиИстории.ЗапросВходящий);
ОчиститьДлинныеАтрибутыСообщенияXML(СтруктураЗаписиИстории.ВходящееСообщение);
КонецЕсли;
@ -487,4 +532,32 @@
КонецПроцедуры
// Получить имя СУБД внешнего источника данных по строке соединения
//
// Параметры:
// СтрокаСоединения - Строка - строка соединения с базой данных
//
// Возвращаемое значение:
// Строка - тип СУБД (см. ПараметрыСоединенияВнешнегоИсточникаДанных)
//
Функция ПолучитьИмяСУБДВнешнегоИсточникаДанныхПоСтрокеСоединения(СтрокаСоединения)
Если СтрНайти(СтрокаСоединения, "SQL Server") > 0 Тогда
ИмяСУБД = "MSSQLServer";
ИначеЕсли СтрНайти(СтрокаСоединения, "PostgreSQL") > 0 Тогда
ИмяСУБД = "PostgreSQL";
ИначеЕсли СтрНайти(СтрокаСоединения, "IBM DB2") > 0 Тогда
ИмяСУБД = "IBMDB2";
ИначеЕсли СтрНайти(СтрокаСоединения, "Oracle") > 0 Тогда
ИмяСУБД = "OracleDatabase";
ИначеЕсли СтрНайти(СтрокаСоединения, "MySQL") > 0 Тогда
ИмяСУБД = "MySQL";
Иначе
ИмяСУБД = Неопределено;
КонецЕсли;
Возврат ИмяСУБД;
КонецФункции
#КонецОбласти // СлужебныеПроцедурыИФункции

View File

@ -28,4 +28,24 @@
КонецПроцедуры
// Выполнение пользовательских функций файловых обменов
//
// Параметры:
// НастройкаИнтеграции - СправочникСсылка.пбп_НастройкиИнтеграции - настройка интеграции интеграционного
// потока, для которого выполняется регламентное задание
// ПользовательскаяФункция - СправочникСсылка.пбп_ПользовательскиеФункции - выполняемая пользовательская функция
//
Процедура ВыполнениеПользовательскихФункцийФайловыхОбменов(НастройкаИнтеграции, ПользовательскаяФункция) Экспорт
пбп_ОбщегоНазначенияСлужебный.ПриНачалеВыполненияРегламентногоЗадания(
Метаданные.РегламентныеЗадания.пбп_ВыполнениеПользовательскихФункцийФайловыхОбменов);
ПараметрыФункции = Новый Структура;
ПараметрыФункции.Вставить("НастройкаИнтеграции", НастройкаИнтеграции);
РезультатОбработки = пбп_ОбщегоНазначенияСервер.ВыполнитьПользовательскуюФункциюСПараметрами(
ПользовательскаяФункция, ПараметрыФункции);
КонецПроцедуры
#КонецОбласти

View File

@ -74,7 +74,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "ПроектнаяБиблиотекаПодсистем";
Описание.Версия = "1.0.1.3";
Описание.Версия = "1.0.2.4";
// Требуется библиотека стандартных подсистем.
Описание.ТребуемыеПодсистемы.Добавить("СтандартныеПодсистемы");

View File

@ -157,6 +157,34 @@
КонецФункции
// Аналог метода БСП. Возвращает Истина, если клиентское приложение запущено под управлением ОС Windows.
//
// См. ОбщегоНазначения.ЭтоWindowsКлиент
//
// Возвращаемое значение:
// Булево - если нет клиентского приложения, возвращается Ложь.
//
Функция ЭтоWindowsКлиент() Экспорт
ТипПлатформыКлиента = ТипПлатформыКлиента();
Возврат ТипПлатформыКлиента = ТипПлатформы.Windows_x86
Или ТипПлатформыКлиента = ТипПлатформы.Windows_x86_64;
КонецФункции
// Аналог метода БСП. Возвращает тип платформы клиента.
//
// Возвращаемое значение:
// ТипПлатформы, Неопределено - тип платформы на которой запущен клиент. В режиме веб-клиента, если тип
// платформы иной, чем описан в типе ТипПлатформы, то возвращается Неопределено.
//
Функция ТипПлатформыКлиента() Экспорт
СистемнаяИнфо = Новый СистемнаяИнформация;
Возврат СистемнаяИнфо.ТипПлатформы;
КонецФункции
#КонецОбласти
#КонецОбласти

View File

@ -113,6 +113,14 @@
КонецФункции
// См. пбп_ОбщегоНазначенияСервер.ПолучитьЗначениеКонстанты.
//
Функция ПолучитьЗначениеКонстанты(ИмяКонстанты) Экспорт
Возврат пбп_ОбщегоНазначенияСервер.ПолучитьЗначениеКонстанты(ИмяКонстанты);
КонецФункции
#Область ПодпискиНаСобытияДокументов
// Определяет соответствие типа источника подписки и имени метода.

View File

@ -502,6 +502,20 @@
КонецФункции // ПолучитьИмяОбъектаПоИмениФормы()
// Функция получает значение константы по ее имени.
//
// Параметры:
// ИмяКонстанты - Строка - Имя константы в метаданных.
//
// Возвращаемое значение:
// Строка - Значение константы.
//
Функция ПолучитьЗначениеКонстанты(ИмяКонстанты) Экспорт
Возврат Константы[ИмяКонстанты].Получить();
КонецФункции
#Область ОтладкаВременныхТаблиц
// Функция возвращает все поля указанной временной таблицы из менеджера временных таблиц.

View File

@ -33,8 +33,9 @@
ИначеЕсли ТипЗначения = Тип("СправочникМенеджер.пбп_ИнтегрируемыеСистемы") Тогда
ТЗПредопределенныхЗначений =
пбп_ПредопределенныеЗначенияПереопределяемый.ПредопределенныеЗначенияИнтегрируемыеСистемы();
ИначеЕсли ТипЗначения = Тип("СправочникМенеджер.пбп_МетодыИнтеграции") Тогда
ТЗПредопределенныхЗначений = пбп_ПредопределенныеЗначенияПереопределяемый.ПредопределенныеЗначенияМетодыИнтеграции();
ИначеЕсли ТипЗначения = Тип("СправочникМенеджер.пбп_ИнтеграционныеПотоки") Тогда
ТЗПредопределенныхЗначений = пбп_ПредопределенныеЗначенияПереопределяемый
.ПредопределенныеЗначенияИнтеграционныеПотоки();
ИначеЕсли ТипЗначения = Тип("СправочникМенеджер.пбп_НастройкиИнтеграции") Тогда
ТЗПредопределенныхЗначений =
пбп_ПредопределенныеЗначенияПереопределяемый.ПредопределенныеЗначенияНастройкиИнтеграции();
@ -139,6 +140,14 @@
|ИТОГИ ПО
| Ссылка ИЕРАРХИЯ";
Если пбп_ОбщегоНазначенияПовтИсп.ПолучитьЗначениеКонстанты("пбп_ИспользоватьПользовательскиеФункции") Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ГДЕ
| НЕ пбп_ПредопределенныеЗначения.ПометкаУдаления",
"ГДЕ
| НЕ пбп_ПредопределенныеЗначения.ПометкаУдаления
| И пбп_ПредопределенныеЗначения.ИдентификаторНастройки <> """"");
КонецЕсли;
Запрос.Текст = СтрШаблон(ТекстЗапроса, ПолноеИмяОбъекта);
Выборка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);

View File

@ -81,6 +81,18 @@
НоваяСистема = Результат.Добавить();
НоваяСистема.Наименование = "Система N";
НоваяСистема.ИдентификаторНастройки = "СистемаN";
НоваяСистема = Результат.Добавить();
НоваяСистема.Наименование = "Rabbit Mq";
НоваяСистема.ИдентификаторНастройки = "RabbitMq";
НоваяСистема = Результат.Добавить();
НоваяСистема.Наименование = "Kafka";
НоваяСистема.ИдентификаторНастройки = "Kafka";
НоваяСистема = Результат.Добавить();
НоваяСистема.Наименование = "Active directory";
НоваяСистема.ИдентификаторНастройки = "ActiveDirectory";
// КонецДобавления
Возврат Результат;
@ -92,14 +104,14 @@
// Возвращаемое значение:
// ТаблицаЗначений - Таблица заполненная предопределенными элементами.
//
Функция ПредопределенныеЗначенияМетодыИнтеграции() Экспорт
Функция ПредопределенныеЗначенияИнтеграционныеПотоки() Экспорт
Результат = ТаблицаПредопределенныхМетодыИнтеграции();
Результат = ТаблицаПредопределенныхИнтеграционныеПотоки();
// Добавление
НовыйМетод = Результат.Добавить();
НовыйМетод.Наименование = "Метод интеграции системы N";
НовыйМетод.ИдентификаторНастройки = "МетодИнтеграцииСистемыN";
НовыйМетод.Наименование = "Интеграционный поток системы N";
НовыйМетод.ИдентификаторНастройки = "ИнтеграционныйПотокСистемыN";
// КонецДобавления
Возврат Результат;
@ -119,6 +131,34 @@
НоваяНастройка = Результат.Добавить();
НоваяНастройка.Наименование = "Интеграция с системой N";
НоваяНастройка.ИдентификаторНастройки = "ИнтеграцияССистемойN";
НаименованиеРеквизита = "ИдентификаторНастройки";
НоваяНастройка = Результат.Добавить();
НоваяНастройка.Наименование = "Rabbit Mq";
НоваяНастройка.ИдентификаторНастройки = "RabbitMq";
НоваяНастройка.ИнтегрируемаяСистема = Справочники.пбп_ИнтегрируемыеСистемы.НайтиПоРеквизиту(
НаименованиеРеквизита, "RabbitMq");
НоваяНастройка.ТипИнтеграции = Справочники.пбп_ТипыИнтеграций.RabbitMq;
НоваяНастройка.ТипАвторизации = Перечисления.пбп_ТипыАвторизации.Базовая;
НоваяНастройка = Результат.Добавить();
НоваяНастройка.Наименование = "Simple Kafka";
НоваяНастройка.ИдентификаторНастройки = "SimpleKafka";
НоваяНастройка.ИнтегрируемаяСистема = Справочники.пбп_ИнтегрируемыеСистемы.НайтиПоРеквизиту(
НаименованиеРеквизита, "Kafka");
НоваяНастройка.ТипИнтеграции = Справочники.пбп_ТипыИнтеграций.Kafka;
НоваяНастройка.ТипАвторизации = Перечисления.пбп_ТипыАвторизации.Базовая;
НоваяНастройка = Результат.Добавить();
НоваяНастройка.Наименование = "Active directory";
НоваяНастройка.ИдентификаторНастройки = "ActiveDirectory";
НоваяНастройка.СтрокаПодключения = "Provider=""ADsDSOObject""";
НоваяНастройка.ИнтегрируемаяСистема = Справочники.пбп_ИнтегрируемыеСистемы.НайтиПоРеквизиту(
НаименованиеРеквизита, "ActiveDirectory");
НоваяНастройка.ТипИнтеграции = Справочники.пбп_ТипыИнтеграций.COM;
НоваяНастройка.ТипАвторизации = Перечисления.пбп_ТипыАвторизации.Базовая;
НоваяНастройка.ИмяОбъекта = "ADODB.Connection";
// КонецДобавления
Возврат Результат;
@ -195,7 +235,7 @@
КонецФункции
Функция ТаблицаПредопределенныхМетодыИнтеграции()
Функция ТаблицаПредопределенныхИнтеграционныеПотоки()
Результат = Новый ТаблицаЗначений;
@ -211,6 +251,12 @@
ОбщиеКолонкиТаблицыПредопределенныхЗначений(Результат);
Результат.Колонки.Добавить("ИнтегрируемаяСистема" , Новый ОписаниеТипов("СправочникСсылка.пбп_ИнтегрируемыеСистемы"));
Результат.Колонки.Добавить("ТипИнтеграции" , Новый ОписаниеТипов("СправочникСсылка.пбп_ТипыИнтеграций"));
Результат.Колонки.Добавить("СтрокаПодключения" , пбп_ОбщегоНазначенияСервер.ОписаниеТипаСтрока(200));
Результат.Колонки.Добавить("ТипАвторизации" , Новый ОписаниеТипов("ПеречислениеСсылка.пбп_ТипыАвторизации"));
Результат.Колонки.Добавить("ИмяОбъекта" , пбп_ОбщегоНазначенияСервер.ОписаниеТипаСтрока(100));
Возврат Результат;
КонецФункции

View File

@ -262,22 +262,11 @@
Для Каждого РегламентноеЗадание Из СписокЗаданий Цикл
ИдентификаторЗадания = УникальныйИдентификаторЗадания(РегламентноеЗадание);
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.КэшПрограммныхИнтерфейсов");
ЭлементБлокировки.УстановитьЗначение("Идентификатор", Строка(ИдентификаторЗадания));
НачатьТранзакцию();
Попытка
Блокировка.Заблокировать();
Задание = РегламентныеЗадания.НайтиПоУникальномуИдентификатору(ИдентификаторЗадания);
Если Задание <> Неопределено Тогда
Задание.Удалить();
КонецЕсли;
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
Если пбп_ОбщегоНазначенияВызовСервера.СуществуетБиблиотекаСтандартныхПодсистем() Тогда
УдалитьРегламентноеЗаданиеСИспользованиемКэша(ИдентификаторЗадания);
Иначе
УдалитьРегламентноеЗаданиеБезКэша(ИдентификаторЗадания);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
@ -313,4 +302,38 @@
#КонецОбласти
Процедура УдалитьРегламентноеЗаданиеСИспользованиемКэша(ИдентификаторЗадания)
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.КэшПрограммныхИнтерфейсов");
ЭлементБлокировки.УстановитьЗначение("Идентификатор", Строка(ИдентификаторЗадания));
НачатьТранзакцию();
Попытка
Блокировка.Заблокировать();
Задание = РегламентныеЗадания.НайтиПоУникальномуИдентификатору(ИдентификаторЗадания);
Если Задание <> Неопределено Тогда
Задание.Удалить();
КонецЕсли;
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
КонецПроцедуры
Процедура УдалитьРегламентноеЗаданиеБезКэша(ИдентификаторЗадания)
Попытка
Задание = РегламентныеЗадания.НайтиПоУникальномуИдентификатору(ИдентификаторЗадания);
Если Задание <> Неопределено Тогда
Задание.Удалить();
КонецЕсли;
Исключение
ВызватьИсключение;
КонецПопытки;
КонецПроцедуры
#КонецОбласти

View File

@ -0,0 +1,16 @@
<?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.16">
<CommonTemplate uuid="e8723b43-fa29-4389-9bc5-2e82ea208c11">
<Properties>
<Name>пбп_PinkRabbitMQ</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Компонента Pink Rabbit MQ</v8:content>
</v8:item>
</Synonym>
<Comment/>
<TemplateType>AddIn</TemplateType>
</Properties>
</CommonTemplate>
</MetaDataObject>

View File

@ -0,0 +1,16 @@
<?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.16">
<CommonTemplate uuid="4bbebc50-9bfe-457c-8800-08add70bbc1d">
<Properties>
<Name>пбп_SimpleKafkaAdapter</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Компонента Simple Kafka Adapter</v8:content>
</v8:item>
</Synonym>
<Comment/>
<TemplateType>AddIn</TemplateType>
</Properties>
</CommonTemplate>
</MetaDataObject>

View File

@ -57,7 +57,7 @@
<xr:Item xsi:type="xr:MDObjectRef">Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</xr:Item>
</DefaultRoles>
<Vendor>Первый БИТ</Vendor>
<Version>1.0.1.3</Version>
<Version>1.0.2.4</Version>
<UpdateCatalogAddress/>
<IncludeHelpInContents>false</IncludeHelpInContents>
<UseManagedFormInOrdinaryApplication>false</UseManagedFormInOrdinaryApplication>
@ -261,6 +261,7 @@
<Role>пбп_РедактированиеПользовательскихФункций</Role>
<Role>пбп_РедактированиеРегистраСведенийСоответствияОбъектовИБ</Role>
<Role>пбп_РедактированиеТиповСоответствияОбъектовИБ</Role>
<Role>пбп_ЧтениеКонстантыИспользоватьПользовательскиеФункции</Role>
<Role>пбп_ЧтениеНастроекОтборовОбъектов</Role>
<Role>пбп_ЧтениеПланаВидовХарактеристикПредопределенныеЗначения</Role>
<Role>пбп_ЧтениеРегистраСведенийСоответствияОбъектовИБ</Role>
@ -268,6 +269,8 @@
<Role>ПолныеПрава</Role>
<CommonTemplate>пбп_BSLEditor</CommonTemplate>
<CommonTemplate>пбп_JSONEditor</CommonTemplate>
<CommonTemplate>пбп_PinkRabbitMQ</CommonTemplate>
<CommonTemplate>пбп_SimpleKafkaAdapter</CommonTemplate>
<CommonTemplate>пбп_XMLEditor</CommonTemplate>
<CommonModule>пбп_ДокументыОбработкаСобытий</CommonModule>
<CommonModule>пбп_ЖурналРегистрации</CommonModule>
@ -326,22 +329,30 @@
<EventSubscription>пбп_СправочникиПередЗаписью</EventSubscription>
<EventSubscription>пбп_СправочникиПриЗаписи</EventSubscription>
<EventSubscription>пбп_СправочникиПриКопировании</EventSubscription>
<ScheduledJob>пбп_ВыполнениеПользовательскихФункцийФайловыхОбменов</ScheduledJob>
<ScheduledJob>пбп_ОчисткаИсторииИнтеграции</ScheduledJob>
<FunctionalOption>пбп_ИспользоватьПользовательскиеФункции</FunctionalOption>
<DefinedType>пбп_Пользователи</DefinedType>
<DefinedType>пбп_ТипыОбъектовСоответствийИБ</DefinedType>
<DefinedType>пбп_УчетныеЗаписиЭлектроннойПочты</DefinedType>
<Constant>пбп_ИспользоватьПользовательскиеФункции</Constant>
<CommonForm>пбп_ФормаВыбораПоля</CommonForm>
<Catalog>пбп_ИнтеграционныеПотоки</Catalog>
<Catalog>пбп_ИнтегрируемыеСистемы</Catalog>
<Catalog>пбп_ИсторияИнтеграции</Catalog>
<Catalog>пбп_МетодыИнтеграции</Catalog>
<Catalog>пбп_НастройкиИнтеграции</Catalog>
<Catalog>пбп_НастройкиОтбораОбъектов</Catalog>
<Catalog>пбп_ПользовательскиеФункции</Catalog>
<Catalog>пбп_ТипСоответствияОбъектовИБ</Catalog>
<Catalog>пбп_ТипыИнтеграций</Catalog>
<Document>ДемоРаботаСФормами</Document>
<Enum>пбп_КонтекстыВыполненияПользовательскихФункций</Enum>
<Enum>пбп_МетодыЗапросаREST</Enum>
<Enum>пбп_СозданОбновлен</Enum>
<Enum>пбп_СтатусыИнтеграции</Enum>
<Enum>пбп_ТипыJSON</Enum>
<Enum>пбп_ФорматыЗапросовИнтеграции</Enum>
<Enum>пбп_ТипыАвторизации</Enum>
<Enum>пбп_ФорматыИнтеграций</Enum>
<InformationRegister>пбп_СоответствияОбъектовИБ</InformationRegister>
<ChartOfCharacteristicTypes>пбп_ПредопределенныеЗначения</ChartOfCharacteristicTypes>
</ChildObjects>

View File

@ -0,0 +1,58 @@
<?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.16">
<Constant uuid="cd31a849-41d4-435b-b781-c2022fdd943b">
<InternalInfo>
<xr:GeneratedType name="ConstantManager.пбп_ИспользоватьПользовательскиеФункции" category="Manager">
<xr:TypeId>e8f9ed17-750a-4390-9beb-333cd4073dcc</xr:TypeId>
<xr:ValueId>b4e28d3a-3e20-4e88-937c-5c4a7f14d083</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="ConstantValueManager.пбп_ИспользоватьПользовательскиеФункции" category="ValueManager">
<xr:TypeId>57fa6209-2a9f-475b-b364-309c9a104294</xr:TypeId>
<xr:ValueId>b389961f-b6ef-4338-8cea-a33c1c213432</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="ConstantValueKey.пбп_ИспользоватьПользовательскиеФункции" category="ValueKey">
<xr:TypeId>527bade8-6c8d-42cb-9561-ef2d44a5c192</xr:TypeId>
<xr:ValueId>0ce74c90-9cb1-459b-8de3-7cf35d594e5b</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>пбп_ИспользоватьПользовательскиеФункции</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Использовать пользовательские функции</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
<UseStandardCommands>true</UseStandardCommands>
<DefaultForm/>
<ExtendedPresentation/>
<Explanation/>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip/>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<DataLockControlMode>Managed</DataLockControlMode>
<DataHistory>DontUse</DataHistory>
<UpdateDataHistoryImmediatelyAfterWrite>false</UpdateDataHistoryImmediatelyAfterWrite>
<ExecuteAfterWriteDataHistoryVersionProcessing>false</ExecuteAfterWriteDataHistoryVersionProcessing>
</Properties>
</Constant>
</MetaDataObject>

View File

@ -0,0 +1,28 @@
<?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.16">
<DefinedType uuid="4a1f5402-b961-45a2-890a-a6545e526891">
<InternalInfo>
<xr:GeneratedType name="DefinedType.пбп_Пользователи" category="DefinedType">
<xr:TypeId>35d24ad3-e3f5-4392-b9e0-9171a9fc93ac</xr:TypeId>
<xr:ValueId>f7e811df-3cfe-4c77-958d-6c33a44cb4fb</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>пбп_Пользователи</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Пользователи</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>10</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Properties>
</DefinedType>
</MetaDataObject>

View File

@ -0,0 +1,28 @@
<?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.16">
<DefinedType uuid="6d51b60d-7ea9-4b77-ad5f-f2e8a8b405e2">
<InternalInfo>
<xr:GeneratedType name="DefinedType.пбп_УчетныеЗаписиЭлектроннойПочты" category="DefinedType">
<xr:TypeId>3d426773-6e7c-4970-b3e2-c09ed3081ffb</xr:TypeId>
<xr:ValueId>7c72c5f2-7ff6-42ab-8119-f6ff40edd5be</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>пбп_УчетныеЗаписиЭлектроннойПочты</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Учетные записи электронной почты</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>10</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Properties>
</DefinedType>
</MetaDataObject>

View File

@ -0,0 +1,162 @@
<?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.16">
<Enum uuid="1f2e40ab-fe9d-4e67-a09b-5b2ebf9d8874">
<InternalInfo>
<xr:GeneratedType name="EnumRef.пбп_МетодыЗапросаREST" category="Ref">
<xr:TypeId>eefcdadc-0645-4fa3-9402-53e5397f7552</xr:TypeId>
<xr:ValueId>455213b6-652a-4277-9879-084e51fb8b9e</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="EnumManager.пбп_МетодыЗапросаREST" category="Manager">
<xr:TypeId>bfaffb65-1aa5-470d-97cd-49ac3a81a92e</xr:TypeId>
<xr:ValueId>9acc32de-51fc-4d7a-9b4b-d1345d4df2e2</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="EnumList.пбп_МетодыЗапросаREST" category="List">
<xr:TypeId>905a2141-4770-497c-b685-6ea93b952179</xr:TypeId>
<xr:ValueId>d7aac409-ed99-4dd8-a877-f98ee578c35d</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>пбп_МетодыЗапросаREST</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Методы запроса</v8:content>
</v8:item>
</Synonym>
<Comment/>
<UseStandardCommands>false</UseStandardCommands>
<StandardAttributes>
<xr:StandardAttribute name="Order">
<xr:LinkByType/>
<xr:FillChecking>DontCheck</xr:FillChecking>
<xr:MultiLine>false</xr:MultiLine>
<xr:FillFromFillingValue>false</xr:FillFromFillingValue>
<xr:CreateOnInput>Auto</xr:CreateOnInput>
<xr:MaxValue xsi:nil="true"/>
<xr:ToolTip/>
<xr:ExtendedEdit>false</xr:ExtendedEdit>
<xr:Format/>
<xr:ChoiceForm/>
<xr:QuickChoice>Auto</xr:QuickChoice>
<xr:ChoiceHistoryOnInput>Auto</xr:ChoiceHistoryOnInput>
<xr:EditFormat/>
<xr:PasswordMode>false</xr:PasswordMode>
<xr:DataHistory>Use</xr:DataHistory>
<xr:MarkNegatives>false</xr:MarkNegatives>
<xr:MinValue xsi:nil="true"/>
<xr:Synonym/>
<xr:Comment/>
<xr:FullTextSearch>Use</xr:FullTextSearch>
<xr:ChoiceParameterLinks/>
<xr:FillValue xsi:nil="true"/>
<xr:Mask/>
<xr:ChoiceParameters/>
</xr:StandardAttribute>
<xr:StandardAttribute name="Ref">
<xr:LinkByType/>
<xr:FillChecking>DontCheck</xr:FillChecking>
<xr:MultiLine>false</xr:MultiLine>
<xr:FillFromFillingValue>false</xr:FillFromFillingValue>
<xr:CreateOnInput>Auto</xr:CreateOnInput>
<xr:MaxValue xsi:nil="true"/>
<xr:ToolTip/>
<xr:ExtendedEdit>false</xr:ExtendedEdit>
<xr:Format/>
<xr:ChoiceForm/>
<xr:QuickChoice>Auto</xr:QuickChoice>
<xr:ChoiceHistoryOnInput>Auto</xr:ChoiceHistoryOnInput>
<xr:EditFormat/>
<xr:PasswordMode>false</xr:PasswordMode>
<xr:DataHistory>Use</xr:DataHistory>
<xr:MarkNegatives>false</xr:MarkNegatives>
<xr:MinValue xsi:nil="true"/>
<xr:Synonym/>
<xr:Comment/>
<xr:FullTextSearch>Use</xr:FullTextSearch>
<xr:ChoiceParameterLinks/>
<xr:FillValue xsi:nil="true"/>
<xr:Mask/>
<xr:ChoiceParameters/>
</xr:StandardAttribute>
</StandardAttributes>
<Characteristics/>
<QuickChoice>true</QuickChoice>
<ChoiceMode>BothWays</ChoiceMode>
<DefaultListForm/>
<DefaultChoiceForm/>
<AuxiliaryListForm/>
<AuxiliaryChoiceForm/>
<ListPresentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>REST: Методы запроса</v8:content>
</v8:item>
</ListPresentation>
<ExtendedListPresentation/>
<Explanation/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
</Properties>
<ChildObjects>
<EnumValue uuid="a613f741-c70f-44b1-9918-978f196c8c44">
<Properties>
<Name>GET</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>GET</v8:content>
</v8:item>
</Synonym>
<Comment/>
</Properties>
</EnumValue>
<EnumValue uuid="0b5992a3-4dfc-40a6-97dd-9b4ef395ccd1">
<Properties>
<Name>POST</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>POST</v8:content>
</v8:item>
</Synonym>
<Comment/>
</Properties>
</EnumValue>
<EnumValue uuid="815419b2-d7c4-4e6b-83b3-ea8b2adcb6f3">
<Properties>
<Name>PATCH</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>PATCH</v8:content>
</v8:item>
</Synonym>
<Comment/>
</Properties>
</EnumValue>
<EnumValue uuid="e0166a0f-ce9c-462f-ac24-b31f9c710ed4">
<Properties>
<Name>DELETE</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>DELETE</v8:content>
</v8:item>
</Synonym>
<Comment/>
</Properties>
</EnumValue>
<EnumValue uuid="0761d949-b252-494f-8a65-d139240d6164">
<Properties>
<Name>PUT</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>PUT</v8:content>
</v8:item>
</Synonym>
<Comment/>
</Properties>
</EnumValue>
</ChildObjects>
</Enum>
</MetaDataObject>

View File

@ -0,0 +1,67 @@
<?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.16">
<Enum uuid="b167dcf2-e7c1-4973-a00b-7f3244a4b938">
<InternalInfo>
<xr:GeneratedType name="EnumRef.пбп_ТипыАвторизации" category="Ref">
<xr:TypeId>7f30a393-c0ec-43ea-b572-9eb7c1c3828b</xr:TypeId>
<xr:ValueId>6edf8bc5-957a-4cf9-bd59-e82c04afd657</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="EnumManager.пбп_ТипыАвторизации" category="Manager">
<xr:TypeId>33a2ab9e-d2cd-405d-9b0e-e1041af2230b</xr:TypeId>
<xr:ValueId>c33ba8bd-0bf1-4080-abd5-5435fe70dea9</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="EnumList.пбп_ТипыАвторизации" category="List">
<xr:TypeId>7dea9f6a-0def-497d-8ff3-f78c6d25c03a</xr:TypeId>
<xr:ValueId>77dee112-86d0-470a-8153-3298e618af6b</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>пбп_ТипыАвторизации</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Типы авторизации</v8:content>
</v8:item>
</Synonym>
<Comment/>
<UseStandardCommands>false</UseStandardCommands>
<Characteristics/>
<QuickChoice>true</QuickChoice>
<ChoiceMode>BothWays</ChoiceMode>
<DefaultListForm/>
<DefaultChoiceForm/>
<AuxiliaryListForm/>
<AuxiliaryChoiceForm/>
<ListPresentation/>
<ExtendedListPresentation/>
<Explanation/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
</Properties>
<ChildObjects>
<EnumValue uuid="0faa501b-858d-4598-a764-30f3f29d78c6">
<Properties>
<Name>Базовая</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Базовая</v8:content>
</v8:item>
</Synonym>
<Comment/>
</Properties>
</EnumValue>
<EnumValue uuid="cdc9a536-5442-479f-9c69-d714e583cf3b">
<Properties>
<Name>Токен</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Токен</v8:content>
</v8:item>
</Synonym>
<Comment/>
</Properties>
</EnumValue>
</ChildObjects>
</Enum>
</MetaDataObject>

View File

@ -2,25 +2,25 @@
<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.16">
<Enum uuid="121694f9-730b-41e3-96f3-660fbbe29749">
<InternalInfo>
<xr:GeneratedType name="EnumRef.пбп_ФорматыЗапросовИнтеграции" category="Ref">
<xr:GeneratedType name="EnumRef.пбп_ФорматыИнтеграций" category="Ref">
<xr:TypeId>50167e12-e724-4db6-8b4b-6b0c17cf0100</xr:TypeId>
<xr:ValueId>ea8ae490-9148-45bd-a492-a3acee5df3c3</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="EnumManager.пбп_ФорматыЗапросовИнтеграции" category="Manager">
<xr:GeneratedType name="EnumManager.пбп_ФорматыИнтеграций" category="Manager">
<xr:TypeId>2696bde5-01ad-45c6-9494-d8d4208cb7ef</xr:TypeId>
<xr:ValueId>d3e749b5-3ff3-47e1-aea9-c8b8dbb3f05e</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="EnumList.пбп_ФорматыЗапросовИнтеграции" category="List">
<xr:GeneratedType name="EnumList.пбп_ФорматыИнтеграций" category="List">
<xr:TypeId>d5954795-c133-4bee-ad32-09fefb55219b</xr:TypeId>
<xr:ValueId>fd2de7e3-c4a5-49b7-941d-bdd63cc5509d</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>пбп_ФорматыЗапросовИнтеграции</Name>
<Name>пбп_ФорматыИнтеграций</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Форматы запросов интеграции</v8:content>
<v8:content>Форматы интеграций</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
@ -90,6 +90,90 @@
<Comment/>
</Properties>
</EnumValue>
<EnumValue uuid="62d49be9-5d66-439e-bb3f-b3a4f77921f2">
<Properties>
<Name>DBF</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>DBF</v8:content>
</v8:item>
</Synonym>
<Comment/>
</Properties>
</EnumValue>
<EnumValue uuid="48bd0bf8-d9bc-42fc-b55a-975b988cb8cf">
<Properties>
<Name>CSV</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>CSV</v8:content>
</v8:item>
</Synonym>
<Comment/>
</Properties>
</EnumValue>
<EnumValue uuid="6ac2fd9d-79a3-4136-84d8-be76fd1e0828">
<Properties>
<Name>TXT</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>TXT</v8:content>
</v8:item>
</Synonym>
<Comment/>
</Properties>
</EnumValue>
<EnumValue uuid="fd342bd9-b2e2-4b98-aad9-71d215bd2fe7">
<Properties>
<Name>XLS</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>XLS / XLSX</v8:content>
</v8:item>
</Synonym>
<Comment/>
</Properties>
</EnumValue>
<EnumValue uuid="cb215be7-b57f-47a7-bce3-7a74630a1ee6">
<Properties>
<Name>BATSH</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>BAT / SH</v8:content>
</v8:item>
</Synonym>
<Comment/>
</Properties>
</EnumValue>
<EnumValue uuid="43278c28-6592-4475-9832-d554364e6e89">
<Properties>
<Name>DLL</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>DLL</v8:content>
</v8:item>
</Synonym>
<Comment/>
</Properties>
</EnumValue>
<EnumValue uuid="de9bf10e-959f-4e3d-9c79-eaa96ab54089">
<Properties>
<Name>HTML</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>HTML</v8:content>
</v8:item>
</Synonym>
<Comment/>
</Properties>
</EnumValue>
</ChildObjects>
</Enum>
</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.16">
<FunctionalOption uuid="bc37b734-3ea7-4791-839a-2c7def9b1691">
<Properties>
<Name>пбп_ИспользоватьПользовательскиеФункции</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Использовать пользовательские функции</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Location>Constant.пбп_ИспользоватьПользовательскиеФункции</Location>
<PrivilegedGetMode>true</PrivilegedGetMode>
<Content>
<xr:Object>Catalog.пбп_ПользовательскиеФункции</xr:Object>
<xr:Object>Catalog.пбп_НастройкиИнтеграции.Attribute.ИспользоватьПользовательскиеФункции</xr:Object>
<xr:Object>Catalog.пбп_ИнтеграционныеПотоки.Attribute.ПользовательскаяФункция</xr:Object>
</Content>
</Properties>
</FunctionalOption>
</MetaDataObject>

View File

@ -43,7 +43,7 @@
</right>
</object>
<object>
<name>Catalog.пбп_МетодыИнтеграции</name>
<name>Catalog.пбп_ТипыИнтеграций</name>
<right>
<name>Read</name>
<value>true</value>
@ -81,6 +81,72 @@
<value>true</value>
</right>
</object>
<object>
<name>Catalog.пбп_ИнтеграционныеПотоки</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Insert</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>InteractiveInsert</name>
<value>true</value>
</right>
<right>
<name>Edit</name>
<value>true</value>
</right>
<right>
<name>InteractiveSetDeletionMark</name>
<value>true</value>
</right>
<right>
<name>InteractiveClearDeletionMark</name>
<value>true</value>
</right>
<right>
<name>InputByString</name>
<value>true</value>
</right>
</object>
<object>
<name>Configuration.ПроектнаяБиблиотекаПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.пбп_ИсторияИнтеграции</name>
<right>
@ -120,6 +186,25 @@
<value>true</value>
</right>
</object>
<object>
<name>Constant.пбп_ИспользоватьПользовательскиеФункции</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>Edit</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.пбп_НастройкиИнтеграции</name>
<right>

View File

@ -43,7 +43,7 @@
</right>
</object>
<object>
<name>Catalog.пбп_МетодыИнтеграции</name>
<name>Catalog.пбп_ИнтеграционныеПотоки</name>
<right>
<name>Read</name>
<value>true</value>
@ -81,6 +81,33 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.ПроектнаяБиблиотекаПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.пбп_ИсторияИнтеграции</name>
<right>
@ -159,4 +186,23 @@
<value>true</value>
</right>
</object>
<object>
<name>Constant.пбп_ИспользоватьПользовательскиеФункции</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>Edit</name>
<value>true</value>
</right>
</object>
</Rights>

View File

@ -0,0 +1,15 @@
<?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.16">
<Role uuid="a0fd8287-31b3-4649-95c6-9f353dc99a06">
<Properties>
<Name>пбп_ЧтениеКонстантыИспользоватьПользовательскиеФункции</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Чтение константы использовать пользовательские функции</v8:content>
</v8:item>
</Synonym>
<Comment/>
</Properties>
</Role>
</MetaDataObject>

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<Rights xmlns="http://v8.1c.ru/8.2/roles" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Rights" version="2.16">
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>Constant.пбп_ИспользоватьПользовательскиеФункции</name>
<right>
<name>Read</name>
<value>true</value>
</right>
</object>
</Rights>

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.16">
<ScheduledJob uuid="3a9a771c-1244-480f-b8f5-8bd323c1280b">
<Properties>
<Name>пбп_ВыполнениеПользовательскихФункцийФайловыхОбменов</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Выполнение пользовательских функций файловых обменов</v8:content>
</v8:item>
</Synonym>
<Comment/>
<MethodName>CommonModule.пбп_МетодыРегламентныхЗаданийСервер.ВыполнениеПользовательскихФункцийФайловыхОбменов</MethodName>
<Description>Выполнение пользовательских функций файловых обменов</Description>
<Key>пбп_ВыполнениеПользовательскихФункцийФайловыхОбменов</Key>
<Use>true</Use>
<Predefined>false</Predefined>
<RestartCountOnFailure>3</RestartCountOnFailure>
<RestartIntervalOnFailure>10</RestartIntervalOnFailure>
</Properties>
</ScheduledJob>
</MetaDataObject>

View File

@ -20,6 +20,7 @@
</Picture>
<Content>
<xr:Item xsi:type="xr:MDObjectRef">Document.ДемоРаботаСФормами</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonPicture.пбп_ПодсистемаУправлениеНастройками</xr:Item>
</Content>
</Properties>
<ChildObjects>

View File

@ -27,6 +27,8 @@
<xr:Item xsi:type="xr:MDObjectRef">Document.ДемоРаботаСФормами</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_МодификацияКонфигурацииПереопределяемыйДокумент</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">Role.пбп_РедактированиеДокументаДемоКаркас</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_МодификацияКонфигурацииКлиентПовтИсп</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_МодификацияКонфигурацииПовтИсп</xr:Item>
</Content>
</Properties>
<ChildObjects/>

View File

@ -17,6 +17,8 @@
<Picture/>
<Content>
<xr:Item xsi:type="xr:MDObjectRef">Catalog.пбп_НастройкиОтбораОбъектов</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">Role.пбп_РедактированиеНастроекОтбораОбъектов</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">Role.пбп_ЧтениеНастроекОтборовОбъектов</xr:Item>
</Content>
</Properties>
<ChildObjects/>

View File

@ -33,6 +33,29 @@
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_РаботаСДиалогамиСервер</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_РаботаСКоллекциямиКлиентСервер</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_СтроковыеФункцииКлиентСервер</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_ЖурналРегистрации</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_ЖурналРегистрацииСлужебный</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_МодификацияКонфигурацииКлиентПовтИсп</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_ОбновлениеИнформационнойБазыПБП</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_ОбщегоНазначенияВызовСервера</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_ОбщегоНазначенияСлужебный</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_ОбщегоНазначенияСлужебныйКлиент</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_ОбщегоНазначенияСлужебныйКлиентСервер</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_ПолучениеФайловИзИнтернета</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_ПолучениеФайловИзИнтернетаСлужебный</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_Пользователи</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_ПользователиКлиентСервер</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_ПользователиСлужебный</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_РегламентныеЗаданияСервер</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_РегламентныеЗаданияСлужебныйСервер</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_СтандартныеПодсистемыКлиент</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_СтандартныеПодсистемыПовтИсп</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_СтандартныеПодсистемыСлужебныйКлиент</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_СтандартныеПодсистемыСлужебныйПовтИсп</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_СтроковыеФункцииСлужебныйКлиентСервер</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_СхемыЗапросов</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">DefinedType.пбп_Пользователи</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">DefinedType.пбп_УчетныеЗаписиЭлектроннойПочты</xr:Item>
</Content>
</Properties>
<ChildObjects/>

View File

@ -30,8 +30,12 @@
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_РаботаСДиалогамиСервер</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_РаботаСКоллекциямиКлиентСервер</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_СтроковыеФункцииКлиентСервер</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_ОбщегоНазначенияКлиентСервер</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonForm.пбп_ФормаВыбораПоля</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">Constant.пбп_ИспользоватьПользовательскиеФункции</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">Role.пбп_ЧтениеКонстантыИспользоватьПользовательскиеФункции</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_ОбщегоНазначенияКлиентСервер</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_СхемыЗапросов</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">FunctionalOption.пбп_ИспользоватьПользовательскиеФункции</xr:Item>
</Content>
</Properties>
<ChildObjects/>

View File

@ -30,6 +30,7 @@
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_ПредопределенныеЗначения</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">Role.пбп_ЧтениеТиповСоответствияОбъектовИБ</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">Role.пбп_РедактированиеТиповСоответствияОбъектовИБ</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_СхемыЗапросов</xr:Item>
</Content>
</Properties>
<ChildObjects/>

View File

@ -26,10 +26,10 @@
<xr:Item xsi:type="xr:MDObjectRef">Catalog.пбп_ИнтегрируемыеСистемы</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">Enum.пбп_СтатусыИнтеграции</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">Enum.пбп_СозданОбновлен</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">Enum.пбп_ФорматыЗапросовИнтеграции</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">Enum.пбп_ФорматыИнтеграций</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">Catalog.пбп_НастройкиИнтеграции</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">Catalog.пбп_ИсторияИнтеграции</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">Catalog.пбп_МетодыИнтеграции</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">Catalog.пбп_ИнтеграционныеПотоки</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_ИнтеграцииСервер</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">Role.пбп_РедактированиеНастроекИнтеграции</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">ScheduledJob.пбп_ОчисткаИсторииИнтеграции</xr:Item>
@ -38,6 +38,14 @@
<xr:Item xsi:type="xr:MDObjectRef">CommonTemplate.пбп_XMLEditor</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_КоннекторHTTP</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">Enum.пбп_ТипыJSON</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">Catalog.пбп_ТипыИнтеграций</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">Enum.пбп_МетодыЗапросаREST</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonTemplate.пбп_SimpleKafkaAdapter</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonTemplate.пбп_PinkRabbitMQ</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">ScheduledJob.пбп_ВыполнениеПользовательскихФункцийФайловыхОбменов</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">DefinedType.пбп_Пользователи</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">DefinedType.пбп_УчетныеЗаписиЭлектроннойПочты</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">Enum.пбп_ТипыАвторизации</xr:Item>
</Content>
</Properties>
<ChildObjects/>