diff --git a/.bsl-language-server.json b/.bsl-language-server.json index 29807935..ec9744e0 100644 --- a/.bsl-language-server.json +++ b/.bsl-language-server.json @@ -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 +} } } } diff --git "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\234\320\265\321\202\320\276\320\264\321\213\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270.xml" "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270.xml" similarity index 66% rename from "src/cf/Catalogs/\320\277\320\261\320\277_\320\234\320\265\321\202\320\276\320\264\321\213\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270.xml" rename to "src/cf/Catalogs/\320\277\320\261\320\277_\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270.xml" index 5250a95e..8d76dc08 100644 --- "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\234\320\265\321\202\320\276\320\264\321\213\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270.xml" +++ "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270.xml" @@ -2,33 +2,33 @@ - + 27e4477a-30c0-46c0-99d5-1662d5278fbf 950612ee-2c6e-4a4a-a7ae-02716a74d3fa - + a43f4bad-6139-42b3-9f28-c55d60b71fb8 59d0a00d-ee1c-48e5-8e2b-3949a70cc3c1 - + a19a8ac0-76a9-4657-981e-7e53c430f242 fd8a81a3-26c0-4982-96f9-ab40d9fad50b - + 30e79f29-fec1-4060-af9d-0bde4238e4c9 5e4ead15-4199-4d03-8ec9-e6d666e1cfde - + f9fd23df-8010-4128-8546-9a3c88ce3dcd 9a054a13-ab52-4669-9039-fb486e762445 - пбп_МетодыИнтеграции + пбп_ИнтеграционныеПотоки ru - Методы интеграции + Интеграционные потоки en @@ -58,15 +58,15 @@ false BothWays - Catalog.пбп_МетодыИнтеграции.StandardAttribute.Description - Catalog.пбп_МетодыИнтеграции.StandardAttribute.Code + Catalog.пбп_ИнтеграционныеПотоки.StandardAttribute.Description + Catalog.пбп_ИнтеграционныеПотоки.StandardAttribute.Code Begin DontUse Directly - Catalog.пбп_МетодыИнтеграции.Form.ФормаЭлемента + Catalog.пбп_ИнтеграционныеПотоки.Form.ФормаЭлемента - Catalog.пбп_МетодыИнтеграции.Form.ФормаСписка + Catalog.пбп_ИнтеграционныеПотоки.Form.ФормаСписка @@ -82,14 +82,14 @@ ru - Метод интеграции + Интеграционный поток ru - Методы интеграции + Интеграционные потоки @@ -103,11 +103,11 @@ - Метод + ТочкаВхода ru - Метод + Точка входа en @@ -241,23 +241,103 @@ Use + + + ПользовательскаяФункция + + + ru + Пользовательская функция + + + + + cfg:CatalogRef.пбп_ПользовательскиеФункции + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + ForItem + DontIndex + Use + Use + + + + + ИзмененВручную + + + ru + Изменен вручную + + + + + xs:boolean + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + ForItem + DontIndex + Use + Use + + - + 6a32aa61-64ff-42c6-b4e1-58ae1428c549 45199e31-ad67-4e15-84fc-a1ae2066e542 - + 02a0b998-bcb9-461a-aa4d-c3d67079a49b a1db27da-6351-42bc-ab03-d4e10c8e7ebf - ПараметрыREST + ПараметрыВхода ru - Параметры REST + Параметры входа @@ -344,6 +424,43 @@ Use + + + ПараметрURL + + + ru + Параметр URL + + + + + xs:boolean + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + Use + Use + + ЗначениеПоУмолчанию @@ -396,6 +513,47 @@ Use + + + ПолеОбъекта + + + ru + Поле объекта + + + + + xs:string + + 100 + Variable + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + Use + Use + +
ФормаЭлемента
diff --git "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\234\320\265\321\202\320\276\320\264\321\213\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Ext/ManagerModule.bsl" "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Ext/ManagerModule.bsl" similarity index 51% rename from "src/cf/Catalogs/\320\277\320\261\320\277_\320\234\320\265\321\202\320\276\320\264\321\213\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Ext/ManagerModule.bsl" rename to "src/cf/Catalogs/\320\277\320\261\320\277_\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Ext/ManagerModule.bsl" index 0e8c10a9..3b326a9c 100644 --- "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\234\320\265\321\202\320\276\320\264\321\213\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Ext/ManagerModule.bsl" +++ "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Ext/ManagerModule.bsl" @@ -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"); + ПреобразованноеЗначение = ?(Значение, "true", "false"); ИначеЕсли ТипJSON = Перечисления.пбп_ТипыJSON.Дата Тогда - Возврат Формат(Значение, "ДФ=yyyy-MM-dd"); + ПреобразованноеЗначение = Формат(Значение, "ДФ=yyyy-MM-dd"); ИначеЕсли ТипJSON = Перечисления.пбп_ТипыJSON.Число Тогда - Возврат Формат(Значение, "ЧГ=0"); + ПреобразованноеЗначение = Формат(Значение, "ЧГ=0"); + Иначе + ПреобразованноеЗначение = ""; КонецЕсли; - Возврат ""; + Возврат ПреобразованноеЗначение; КонецФункции diff --git "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Ext/ObjectModule.bsl" "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Ext/ObjectModule.bsl" new file mode 100644 index 00000000..ab1160a7 --- /dev/null +++ "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Ext/ObjectModule.bsl" @@ -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 = 'Недопустимый вызов объекта на клиенте.'"); +#КонецЕсли \ No newline at end of file diff --git "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\234\320\265\321\202\320\276\320\264\321\213\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260.xml" "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260.xml" similarity index 100% rename from "src/cf/Catalogs/\320\277\320\261\320\277_\320\234\320\265\321\202\320\276\320\264\321\213\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260.xml" rename to "src/cf/Catalogs/\320\277\320\261\320\277_\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260.xml" diff --git "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\234\320\265\321\202\320\276\320\264\321\213\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml" "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml" similarity index 98% rename from "src/cf/Catalogs/\320\277\320\261\320\277_\320\234\320\265\321\202\320\276\320\264\321\213\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml" rename to "src/cf/Catalogs/\320\277\320\261\320\277_\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml" index 8646776d..0964308d 100644 --- "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\234\320\265\321\202\320\276\320\264\321\213\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml" +++ "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml" @@ -95,7 +95,7 @@ - Список.Метод + ~Список.Метод @@ -111,7 +111,7 @@ false true - Catalog.пбп_МетодыИнтеграции + Catalog.пбп_ИнтеграционныеПотоки Normal diff --git "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\234\320\265\321\202\320\276\320\264\321\213\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form/Module.bsl" "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form/Module.bsl" similarity index 95% rename from "src/cf/Catalogs/\320\277\320\261\320\277_\320\234\320\265\321\202\320\276\320\264\321\213\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form/Module.bsl" rename to "src/cf/Catalogs/\320\277\320\261\320\277_\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form/Module.bsl" index 89cf39c4..635a0021 100644 --- "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\234\320\265\321\202\320\276\320\264\321\213\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form/Module.bsl" +++ "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form/Module.bsl" @@ -26,7 +26,7 @@ &НаСервереБезКонтекста Процедура ЗаполнитьПредопределенныеНаСервере() - пбп_ПредопределенныеЗначения.ИнициализироватьПредопределенныеЗначения(Справочники.пбп_МетодыИнтеграции); + пбп_ПредопределенныеЗначения.ИнициализироватьПредопределенныеЗначения(Справочники.пбп_ИнтеграционныеПотоки); КонецПроцедуры &НаКлиенте diff --git "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\234\320\265\321\202\320\276\320\264\321\213\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.xml" "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.xml" similarity index 100% rename from "src/cf/Catalogs/\320\277\320\261\320\277_\320\234\320\265\321\202\320\276\320\264\321\213\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.xml" rename to "src/cf/Catalogs/\320\277\320\261\320\277_\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.xml" diff --git "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form.xml" "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form.xml" new file mode 100644 index 00000000..af60ba40 --- /dev/null +++ "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form.xml" @@ -0,0 +1,234 @@ + +
+ LockOwnerWindow + + Delete + + Items + + + ПриСозданииНаСервере + ПередЗаписьюНаСервере + + + + + <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> + + Usual + None + false + + + + ИспользоватьРегламентноеЗадание + Right + Auto + + + + ИспользоватьРегламентноеЗаданиеПриИзменении + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Наименование код</v8:content> + </v8:item> + + + + ru + Наименование и код + + + AlwaysHorizontal + Usual + None + false + + + + Объект.Description + EnterOnInput + + + + + Объект.Code + EnterOnInput + + + + + + + Объект.НастройкаИнтеграции + OnValueChange + + + + НастройкаИнтеграцииПриИзменении + НастройкаИнтеграцииАвтоПодбор + НастройкаИнтеграцииНачалоВыбора + + + + Объект.ПользовательскаяФункция + true + + + + ПользовательскаяФункцияПриИзменении + + + + Top + true + true + true + Объект.ПараметрыВхода + + + + + + + ПараметрыВхода + SearchStringRepresentation + + + + + + + ПараметрыВхода + ViewStatusRepresentation + + + + + + + ПараметрыВхода + SearchControl + + + + + + + Объект.ПараметрыВхода.LineNumber + EnterOnInput + + + + + Объект.ПараметрыВхода.Имя + EnterOnInput + true + + + + + Объект.ПараметрыВхода.Тип + EnterOnInput + true + + + + + Объект.ПараметрыВхода.ПараметрURL + EnterOnInput + Auto + + + + + Объект.ПараметрыВхода.ЗначениеПоУмолчанию + EnterOnInput + true + + + + + Объект.ПараметрыВхода.ПолеОбъекта + EnterOnInput + true + + + + +
+ + Объект.ТочкаВхода + EnterOnInput + 5 + + + +
+ + + + cfg:CatalogObject.пбп_ИнтеграционныеПотоки + + true + true + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Автоматически по расписанию:</v8:content> + </v8:item> + + + xs:boolean + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Расписание регламентного задания</v8:content> + </v8:item> + + + + + + + + <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> + + + StdPicture.ScheduledJob + true + + НастроитьРасписаниеРегламентногоЗадания + + + \ No newline at end of file diff --git "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form/Module.bsl" "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form/Module.bsl" new file mode 100644 index 00000000..35faa43e --- /dev/null +++ "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form/Module.bsl" @@ -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""'", + Объект.НастройкаИнтеграции.Наименование); + ПараметрыЗадания.Вставить("Наименование" , НСтр(НаименованиеРеглЗадания)); + ПараметрыЗадания.Вставить("Использование" , Истина); + ПараметрыЗадания.Вставить("Метаданные" , Метаданные.РегламентныеЗадания + .пбп_ВыполнениеПользовательскихФункцийФайловыхОбменов); + + ПараметрыРегламентногоЗадания = Новый Массив; + ПараметрыРегламентногоЗадания.Добавить(Объект.НастройкаИнтеграции); + ПараметрыРегламентногоЗадания.Добавить(Объект.ПользовательскаяФункция); + ПараметрыЗадания.Вставить("Параметры", ПараметрыРегламентногоЗадания); + + КлючЗадания = ПолучитьУникальныйИдентификаторТекущейНастройки(); + ПараметрыЗадания.Вставить("Ключ", КлючЗадания); + ПараметрыЗадания.Вставить("Расписание", Новый РасписаниеРегламентногоЗадания); + + РегламентноеЗадание = пбп_РегламентныеЗаданияСервер.ДобавитьЗадание(ПараметрыЗадания); + + РасписаниеРегламентногоЗадания = РегламентноеЗадание.Расписание; + ИспользоватьРегламентноеЗадание = РегламентноеЗадание.Использование; + +КонецПроцедуры + +&НаСервере +Функция ПолучитьУникальныйИдентификаторТекущейНастройки() + + Возврат Строка(Объект.Ссылка.УникальныйИдентификатор()); + +КонецФункции + +&НаСервере +Функция СписокФайловыхНастроекИнтеграции(Знач Текст) + + Запрос = Новый Запрос; + Запрос.Текст = "ВЫБРАТЬ + | пбп_НастройкиИнтеграции.Ссылка КАК Ссылка + |ИЗ + | Справочник.пбп_НастройкиИнтеграции КАК пбп_НастройкиИнтеграции + |ГДЕ + | пбп_НастройкиИнтеграции.ТипИнтеграции В ИЕРАРХИИ (&Ссылка)"; + + Если Не ПустаяСтрока(Текст) Тогда + Запрос.Текст = Запрос.Текст + " + | И пбп_НастройкиИнтеграции.Наименование ПОДОБНО &Текст"; + + Запрос.УстановитьПараметр("Текст", Текст + "%"); + КонецЕсли; + + Запрос.УстановитьПараметр("Ссылка", Справочники.пбп_ТипыИнтеграций.ФайловыеОбмены); + + Возврат Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка"); + +КонецФункции + +#КонецОбласти // СлужебныеПроцедурыИФункции diff --git "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\321\201\321\202\320\276\321\200\320\270\321\217\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270.xml" "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\321\201\321\202\320\276\321\200\320\270\321\217\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270.xml" index 24ede156..346971cf 100644 --- "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\321\201\321\202\320\276\321\200\320\270\321\217\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270.xml" +++ "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\321\201\321\202\320\276\321\200\320\270\321\217\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270.xml" @@ -537,11 +537,11 @@ - ФорматЗапросаИнтеграции + ФорматИнтеграции ru - Формат запроса интеграции + Формат интеграции en @@ -550,7 +550,7 @@ - cfg:EnumRef.пбп_ФорматыЗапросовИнтеграции + cfg:EnumRef.пбп_ФорматыИнтеграций false @@ -581,11 +581,11 @@ - ЗапросИсходящий + ИсходящееСообщение ru - Запрос исходящий + Исходящее сообщение en @@ -629,11 +629,11 @@ - ЗапросВходящий + ВходящееСообщение ru - Запрос входящий + Входящее сообщение en @@ -773,11 +773,11 @@ - МетодИнтеграции + ИнтеграционныйПоток ru - Метод интеграции + Интеграционный поток en @@ -786,7 +786,7 @@ - cfg:CatalogRef.пбп_МетодыИнтеграции + cfg:CatalogRef.пбп_ИнтеграционныеПотоки false @@ -874,7 +874,7 @@
- cfg:CatalogRef + cfg:DefinedType.пбп_Пользователи false diff --git "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\321\201\321\202\320\276\321\200\320\270\321\217\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml" "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\321\201\321\202\320\276\321\200\320\270\321\217\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml" index 6d5df6af..4d573bff 100644 --- "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\321\201\321\202\320\276\321\200\320\270\321\217\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml" +++ "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\321\201\321\202\320\276\321\200\320\270\321\217\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml" @@ -80,6 +80,14 @@ + + Список.Ref + + false + + + + Список.Code @@ -106,7 +114,7 @@ - Список.МетодИнтеграции + ~Список.МетодИнтеграции diff --git "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\321\201\321\202\320\276\321\200\320\270\321\217\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form.xml" "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\321\201\321\202\320\276\321\200\320\270\321\217\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form.xml" index 5b2f033c..a3658f28 100644 --- "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\321\201\321\202\320\276\321\200\320\270\321\217\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form.xml" +++ "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\321\201\321\202\320\276\321\200\320\270\321\217\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form.xml" @@ -93,13 +93,13 @@ - Объект.МетодИнтеграции + Объект.ИнтеграционныйПоток true - Объект.ФорматЗапросаИнтеграции + Объект.ФорматИнтеграции true diff --git "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\321\201\321\202\320\276\321\200\320\270\321\217\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form/Module.bsl" "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\321\201\321\202\320\276\321\200\320\270\321\217\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form/Module.bsl" index 71e4feb9..529171f8 100644 --- "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\321\201\321\202\320\276\321\200\320\270\321\217\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form/Module.bsl" +++ "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\321\201\321\202\320\276\321\200\320\270\321\217\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form/Module.bsl" @@ -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 @@ #Область СлужебныеПроцедурыИФункции &НаСервере -Функция ОтформатироватьСообщениеИнтеграции(ТекстСообщенияИнтеграции) +Процедура УстановитьСвойстваЭлементов() + + Если ЗначениеЗаполнено(Объект.ИнтеграционныйПоток) Тогда + ТипИнтеграции = пбп_ОбщегоНазначенияСервер.ЗначениеРеквизитаОбъекта( + Объект.ИнтеграционныйПоток, "НастройкаИнтеграции.ТипИнтеграции"); + ЭлементНаследования = Справочники.пбп_ТипыИнтеграций + .ПолучитьПредопределенныйЭлементНаследованияНастроекТипаИнтеграции(ТипИнтеграции); + Если ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.Каталог + Или ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.FTPРесурсы Тогда + Элементы.ИсходящееСообщение.Заголовок = НСтр("ru = 'Содержимое записываемого файла'"); + Элементы.ВходящееСообщение.Заголовок = НСтр("ru = 'Содержимое читаемого файла'"); + + ЭтоВыгрузка = НаправлениеИнтеграцииВыгружено(Объект.Статус); + Элементы.ИсходящееСообщение.Видимость = ЭтоВыгрузка; + Элементы.ВходящееСообщение.Видимость = Не ЭтоВыгрузка; + ИначеЕсли ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.ПочтовыйКлиент Тогда + Элементы.ИсходящееСообщение.Заголовок = НСтр("ru = 'Содержимое тела письма'"); + Элементы.ИсходящееСообщение.Видимость = Истина; + Элементы.ВходящееСообщение.Видимость = Ложь; + ИначеЕсли ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.COM + Или ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.ВнешняяКомпонента Тогда + Элементы.ИсходящееСообщение.Видимость = Ложь; + Элементы.ВходящееСообщение.Видимость = Ложь; + ИначеЕсли ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.КоманднаяСтрока Тогда + Элементы.ИсходящееСообщение.Заголовок = НСтр("ru = 'Выполняемая команда'"); + Элементы.ВходящееСообщение.Заголовок = НСтр("ru = 'Результат выполнения команды'"); + Элементы.ИсходящееСообщение.Видимость = Истина; + Элементы.ВходящееСообщение.Видимость = Истина; + Иначе + Элементы.ИсходящееСообщение.Заголовок = НСтр("ru = 'Запрос исходящий'"); + Элементы.ВходящееСообщение.Заголовок = НСтр("ru = 'Запрос входящий'"); + Элементы.ИсходящееСообщение.Видимость = Истина; + Элементы.ВходящееСообщение.Видимость = Истина; + КонецЕсли; + КонецЕсли; + +КонецПроцедуры + +&НаСервереБезКонтекста +Функция НаправлениеИнтеграцииВыгружено(СтатусОбмена) + + Возврат СтатусОбмена = Перечисления.пбп_СтатусыИнтеграции.Выгружено + Или СтатусОбмена = Перечисления.пбп_СтатусыИнтеграции.ОшибкаВыгрузки; + +КонецФункции + +&НаСервере +Функция ОтформатироватьСообщениеИнтеграции(Знач ТекстСообщенияИнтеграции) - Если Объект.ФорматЗапросаИнтеграции = Перечисления.пбп_ФорматыЗапросовИнтеграции.XML И СтрНайти(ТекстСообщенияИнтеграции, "xml") <> 0 Тогда + Если Объект.ФорматИнтеграции = Перечисления.пбп_ФорматыИнтеграций.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 @@ КонецФункции &НаСервереБезКонтекста -Функция ПолучитьФорматИнтеграции(ФорматЗапросаИнтеграции) +Функция ПолучитьФорматИнтеграции(ФорматИнтеграции) - ИндексЗначенияПеречисления = Перечисления.пбп_ФорматыЗапросовИнтеграции.Индекс(ФорматЗапросаИнтеграции); - ФорматИнтеграции = Метаданные.Перечисления.пбп_ФорматыЗапросовИнтеграции.ЗначенияПеречисления[ИндексЗначенияПеречисления].Имя; + ИндексЗначенияПеречисления = Перечисления.пбп_ФорматыИнтеграций.Индекс(ФорматИнтеграции); + ФорматИнтеграции = Метаданные.Перечисления.пбп_ФорматыИнтеграций.ЗначенияПеречисления[ИндексЗначенияПеречисления].Имя; Возврат ФорматИнтеграции; diff --git "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\234\320\265\321\202\320\276\320\264\321\213\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form.xml" "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\234\320\265\321\202\320\276\320\264\321\213\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form.xml" deleted file mode 100644 index 4ba3daf8..00000000 --- "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\234\320\265\321\202\320\276\320\264\321\213\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form.xml" +++ /dev/null @@ -1,128 +0,0 @@ - -
- LockOwnerWindow - - Delete - - Items - - - - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Наименование код</v8:content> - </v8:item> - - - - ru - Наименование и код - - - AlwaysHorizontal - Usual - None - false - - - - Объект.Description - EnterOnInput - - - - - Объект.Code - EnterOnInput - - - - - - - Объект.НастройкаИнтеграции - - - - - true - true - true - Объект.ПараметрыREST - - - - - - - ПараметрыREST - SearchStringRepresentation - - - - - - - ПараметрыREST - ViewStatusRepresentation - - - - - - - ПараметрыREST - SearchControl - - - - - - - Объект.ПараметрыREST.LineNumber - EnterOnInput - - - - - Объект.ПараметрыREST.Имя - EnterOnInput - true - - - - - Объект.ПараметрыREST.Тип - EnterOnInput - true - - - - - Объект.ПараметрыREST.ЗначениеПоУмолчанию - EnterOnInput - true - - - - -
- - Объект.Метод - EnterOnInput - 5 - - - -
- - - - cfg:CatalogObject.пбп_МетодыИнтеграции - - true - true - - - \ No newline at end of file diff --git "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270.xml" "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270.xml" index e3f07726..b04aa8fd 100644 --- "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270.xml" +++ "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270.xml" @@ -387,11 +387,11 @@ - Сервер + СтрокаПодключения ru - Сервер + Строка подключения en @@ -402,7 +402,7 @@ xs:string - 100 + 200 Variable @@ -525,8 +525,337 @@ Use + + + ТипИнтеграции + + + ru + Тип интеграции + + + + + cfg:CatalogRef.пбп_ТипыИнтеграций + + false + + + + false + + false + false + + + false + + ShowError + Items + + + Auto + Auto + + + Auto + ForItem + DontIndex + Use + Use + + + + + УчетнаяЗапись + + + ru + Учетная запись + + + + + cfg:DefinedType.пбп_УчетныеЗаписиЭлектроннойПочты + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + ForItem + DontIndex + Use + Use + + + + + ТипАвторизации + + + ru + Тип авторизации + + + + + cfg:EnumRef.пбп_ТипыАвторизации + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + ForItem + DontIndex + Use + Use + + + + + ИспользоватьПользовательскиеФункции + + + ru + Использовать пользовательские функции + + + + + xs:boolean + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + ForItem + DontIndex + Use + Use + + + + + ИмяОбъекта + + + ru + Имя объекта + + + + + xs:string + + 100 + Variable + + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + ForItem + DontIndex + Use + Use + + + + + ИзмененВручную + + + ru + Изменен вручную + + + + + xs:boolean + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + ForItem + DontIndex + Use + Use + + + + + ИмяФайлаВнешнейКомпоненты + + + ru + Имя файла внешней компоненты + + + + + xs:string + + 100 + Variable + + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + ForItem + DontIndex + Use + Use + + + + + ВнешняяКомпонента + + + ru + Внешняя компонента + + + + + v8:ValueStorage + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + ForItem + DontIndex + Use + Use + +
ФормаЭлемента
ФормаСписка
+
ФормаЗагрузкиВнешнейКомпоненты
\ No newline at end of file diff --git "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" new file mode 100644 index 00000000..552e4645 --- /dev/null +++ "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" @@ -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 = 'Недопустимый вызов объекта на клиенте.'"); +#КонецЕсли \ No newline at end of file diff --git "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270\320\222\320\275\320\265\321\210\320\275\320\265\320\271\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\321\213.xml" "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270\320\222\320\275\320\265\321\210\320\275\320\265\320\271\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\321\213.xml" new file mode 100644 index 00000000..9b24c5aa --- /dev/null +++ "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270\320\222\320\275\320\265\321\210\320\275\320\265\320\271\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\321\213.xml" @@ -0,0 +1,21 @@ + + +
+ + ФормаЗагрузкиВнешнейКомпоненты + + + ru + Загрузка внешней компоненты + + + + Managed + false + + PlatformApplication + MobilePlatformApplication + + +
+
\ No newline at end of file diff --git "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270\320\222\320\275\320\265\321\210\320\275\320\265\320\271\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\321\213/Ext/Form.xml" "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270\320\222\320\275\320\265\321\210\320\275\320\265\320\271\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\321\213/Ext/Form.xml" new file mode 100644 index 00000000..86b99a37 --- /dev/null +++ "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270\320\222\320\275\320\265\321\210\320\275\320\265\320\271\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\321\213/Ext/Form.xml" @@ -0,0 +1,317 @@ + +
+ + + + + + + + ПриСозданииНаСервере + + + + + <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> + + Vertical + Usual + None + + + + + <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> + + + + ru + Группа компонента типовая + + + Usual + None + false + false + + + + ИсточникПравил + None + Auto + 1 + + + + 0 + + + + ru + Использовать типовую компоненту + + + en + Use standard rules + + + ТиповаяИзКонфигурации + + + + + + + ИсточникКомпонентыПриИзменении + + + + + + + <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> + + + + ru + Группа компонента из файла + + + Usual + None + false + false + + + + ИсточникПравил + None + Auto + + + + 0 + + + + ru + Загрузить из файла на компьютере: + + + en + Load from local file: + + + ЗагруженныеИзФайла + + + + + + + ИсточникКомпонентыПриИзменении + + + + + <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> + + Usual + None + false + + + + ИмяФайлаКомпоненты + true + None + + + + + + + + + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Настройка интеграции</v8:content> + </v8:item> + + + cfg:CatalogRef.пбп_НастройкиИнтеграции + + + + + <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> + + + xs:string + + 0 + Variable + + + true + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Имя файла компоненты</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Двоичные данные файла</v8:content> + </v8:item> + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Загрузить</v8:content> + </v8:item> + + + + ru + Загрузить внешнюю компоненту из файла + + + + StdPicture.OpenFile + true + + ЗагрузитьВнешнююКомпонентуИзФайла + TextPicture + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>ОК</v8:content> + </v8:item> + + + + ru + ОК + + + ОК + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Закрыть без изменений</v8:content> + </v8:item> + + + + ru + Закрыть без изменений + + + ЗакрытьБезИзменений + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Сохранить</v8:content> + </v8:item> + + + + ru + Сохранить внешнюю компоненту в файл + + + + StdPicture.Write + true + + СохранитьВнешнююКомпонентуВФайл + TextPicture + + + \ No newline at end of file diff --git "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270\320\222\320\275\320\265\321\210\320\275\320\265\320\271\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\321\213/Ext/Form/Module.bsl" "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270\320\222\320\275\320\265\321\210\320\275\320\265\320\271\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\321\213/Ext/Form/Module.bsl" new file mode 100644 index 00000000..2f5f2332 --- /dev/null +++ "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270\320\222\320\275\320\265\321\210\320\275\320\265\320\271\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\321\213/Ext/Form/Module.bsl" @@ -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]; + + ДвоичныеДанныеФайла.Записать(ПутьКФайлу); + +КонецПроцедуры + +#КонецОбласти // СлужебныеПроцедурыИФункции \ No newline at end of file diff --git "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml" "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml" index 72b4440d..286a0c75 100644 --- "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml" +++ "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml" @@ -94,6 +94,11 @@ + + Список.ТипИнтеграции + + + diff --git "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form.xml" "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form.xml" index 3ab62ac2..76b95cdf 100644 --- "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form.xml" +++ "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form.xml" @@ -7,7 +7,9 @@ Items + ПриЧтенииНаСервере ПриСозданииНаСервере + ПередЗаписьюНаСервере ПриЗаписиНаСервере @@ -44,6 +46,26 @@ + + Объект.ТипИнтеграции + true + + + + ТипИнтеграцииПриИзменении + + + + Объект.ИнтегрируемаяСистема + + + + + Объект.ИмяОбъекта + true + + + <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> + + + + ru + Группа строка порт + + + Usual + None + false + + + + Объект.СтрокаПодключения + true + + + + СтрокаПодключенияНачалоВыбора + + + + Объект.Порт + false + false + + + + + + + Объект.СтрокаПодключения + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Строка соединения (без данных аутентификации)</v8:content> + </v8:item> + false - false - - + true + true + true + + - - Объект.ИнтегрируемаяСистема - - + + Объект.УчетнаяЗапись + true + + + + Объект.ТипАвторизации + true + + + + + Объект.ИспользоватьПользовательскиеФункции + Right + Auto + + + + + Listtrue @@ -136,6 +221,9 @@ + + СписокНастроекПриИзменении + СписокНастроек.ИмяНастройки @@ -222,13 +310,39 @@ + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Адрес внешней компоненты</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Внешняя компонента загружена из файла</v8:content> + </v8:item> + + + xs:boolean + + <v8:item> <v8:lang>ru</v8:lang> - <v8:content>Общие настройки</v8:content> + <v8:content>Параметры аутентификации</v8:content> </v8:item> @@ -254,5 +368,35 @@ ПоказатьЗначения + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Подключить внешнюю компоненту из файла ...</v8:content> + </v8:item> + + + + ru + Подключить внешнюю компоненту из файла + + + ПодключитьВнешнююКомпонентуИзФайла + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Установить соединение с базой данных</v8:content> + </v8:item> + + + + ru + Установить соединение с базой данных + + + УстановитьСоединениеСБазойДанных + \ No newline at end of file diff --git "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form/Module.bsl" "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form/Module.bsl" index 5669bc42..d55c1b0d 100644 --- "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form/Module.bsl" +++ "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form/Module.bsl" @@ -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]; + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработчикПодключенияВнешнейКомпонентыЗавершениеПослеВыбораКомпоненты( + Результат, Знач ДополнительныеПараметры) Экспорт + + Если Результат = Неопределено Тогда + Возврат; + КонецЕсли; + + Если Результат.ИзмененВручную Тогда + Объект.ИмяФайлаВнешнейКомпоненты = Результат.ИмяФайла; + ВнешняяКомпонентаЗагруженаИзФайла = Истина; + + ОбработчикПодключенияВнешнейКомпонентыЗавершениеПослеВыбораКомпонентыНаСервере(Результат, ДополнительныеПараметры); + + Модифицированность = Истина; + КонецЕсли; + +КонецПроцедуры + +&НаСервере +Процедура ОбработчикПодключенияВнешнейКомпонентыЗавершениеПослеВыбораКомпонентыНаСервере( + Знач Результат, Знач ДополнительныеПараметры) + + АдресВнешнейКомпоненты = ПоместитьВоВременноеХранилище(Результат.ДвоичныеДанные, Новый УникальныйИдентификатор); + +КонецПроцедуры + +&НаСервере Функция ПолучитьОбщиеЗначения() Массив = Новый Массив; - Массив.Добавить("Логин"); - Массив.Добавить("Пароль"); + Если Не ЗначениеЗаполнено(Объект.ТипАвторизации) + Или Объект.ТипАвторизации = Перечисления.пбп_ТипыАвторизации.Базовая Тогда + Массив.Добавить("Логин"); + Массив.Добавить("Пароль"); + Иначе + Массив.Добавить("Токен"); + КонецЕсли; Возврат Массив; diff --git "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\320\265\320\244\321\203\320\275\320\272\321\206\320\270\320\270/Ext/ObjectModule.bsl" "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\320\265\320\244\321\203\320\275\320\272\321\206\320\270\320\270/Ext/ObjectModule.bsl" index c97e66bc..1be42020 100644 --- "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\320\265\320\244\321\203\320\275\320\272\321\206\320\270\320\270/Ext/ObjectModule.bsl" +++ "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\320\265\320\244\321\203\320\275\320\272\321\206\320\270\320\270/Ext/ObjectModule.bsl" @@ -97,5 +97,5 @@ #КонецОбласти #Иначе - ВызватьИсключение НСтр("ru='Недопустимый вызов объекта на клиенте.';en='Invalid object call on client'"); +ВызватьИсключение НСтр("ru='Недопустимый вызов объекта на клиенте.';en='Invalid object call on client'"); #КонецЕсли \ No newline at end of file diff --git "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\242\320\270\320\277\321\213\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\271.xml" "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\242\320\270\320\277\321\213\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\271.xml" new file mode 100644 index 00000000..48592715 --- /dev/null +++ "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\242\320\270\320\277\321\213\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\271.xml" @@ -0,0 +1,96 @@ + + + + + + c56c39c3-b43a-424d-9230-6e3524801415 + cfc7b305-4b8a-4da1-8eba-297bd4a8aece + + + 48feb50e-0310-4e53-bc1d-709d759b13e9 + 06bc06d0-b57d-4469-ae2c-7c0b8584afee + + + 3e84edcb-dc1d-44e0-bc7a-a72627e7709b + 7ed20e93-ecfe-4953-a011-6721ccafa06a + + + 73d1bc87-e626-4b17-b653-903e26efdc9f + bea53cf2-02c5-4005-990e-07ddb2ee1495 + + + 230505ce-28cc-4d11-9775-1b6c4e1d8ad1 + bbfd9a86-d10c-4298-bbaf-141da1cb07f3 + + + + пбп_ТипыИнтеграций + + + ru + Типы интеграций + + + + true + HierarchyOfItems + false + 2 + true + true + + ToItems + 9 + 100 + String + Variable + WholeCatalog + true + true + AsDescription + + Auto + InDialog + false + BothWays + + Catalog.пбп_ТипыИнтеграций.StandardAttribute.Description + Catalog.пбп_ТипыИнтеграций.StandardAttribute.Code + + Begin + DontUse + Directly + + + + + + + + + + + false + + + Managed + Use + + + ru + Тип интеграции + + + + + + + Use + Auto + DontUse + false + false + + + + \ No newline at end of file diff --git "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\242\320\270\320\277\321\213\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\271/Ext/ManagerModule.bsl" "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\242\320\270\320\277\321\213\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\271/Ext/ManagerModule.bsl" new file mode 100644 index 00000000..6bb7f934 --- /dev/null +++ "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\242\320\270\320\277\321\213\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\271/Ext/ManagerModule.bsl" @@ -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 = 'Недопустимый вызов объекта на клиенте.'"); +#КонецЕсли \ No newline at end of file diff --git "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\242\320\270\320\277\321\213\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\271/Ext/Predefined.xml" "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\242\320\270\320\277\321\213\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\271/Ext/Predefined.xml" new file mode 100644 index 00000000..f88513a1 --- /dev/null +++ "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\242\320\270\320\277\321\213\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\271/Ext/Predefined.xml" @@ -0,0 +1,121 @@ + + + + БрокерыСообщений + 000000004 + Брокеры сообщений + false + + + Kafka + 000000014 + Kafka + false + + + RabbitMq + 000000013 + Rabbit MQ + false + + + + + ВызовВнешнейПроцедуры + 000000003 + Вызов внешней процедуры + false + + + COM + 000000010 + COM-объект + false + + + RESTAPI + 000000009 + REST API + false + + + SOAP + 000000008 + SOAP + false + + + ВнешняяКомпонента + 000000011 + Внешняя компонента + false + + + КоманднаяСтрока + 000000012 + Командная строка + false + + + + + ПрямоеПодключениеКБД + 000000002 + Прямое подключение к БД + false + + + ФайловыеОбмены + 000000001 + Файловые обмены + false + + + FTPРесурсы + 000000006 + FTP-ресурсы + false + + + FTPS + 000000018 + FTPS + false + + + SFTP + 000000017 + SFTP + false + + + + + Каталог + 000000005 + Каталог + false + + + Сетевой + 000000016 + Сетевой + false + + + Локальный + 000000015 + Файловый + false + + + + + ПочтовыйКлиент + 000000007 + Почтовый клиент + false + + + + \ No newline at end of file diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" index 41ed3def..d1f92241 100644 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" +++ "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" @@ -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"; + Иначе + ИмяСУБД = Неопределено; + КонецЕсли; + + Возврат ИмяСУБД; + +КонецФункции + #КонецОбласти // СлужебныеПроцедурыИФункции \ No newline at end of file diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\234\320\265\321\202\320\276\320\264\321\213\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\234\320\265\321\202\320\276\320\264\321\213\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" index 5af63525..254cc3db 100644 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\234\320\265\321\202\320\276\320\264\321\213\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" +++ "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\234\320\265\321\202\320\276\320\264\321\213\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" @@ -28,4 +28,24 @@ КонецПроцедуры +// Выполнение пользовательских функций файловых обменов +// +// Параметры: +// НастройкаИнтеграции - СправочникСсылка.пбп_НастройкиИнтеграции - настройка интеграции интеграционного +// потока, для которого выполняется регламентное задание +// ПользовательскаяФункция - СправочникСсылка.пбп_ПользовательскиеФункции - выполняемая пользовательская функция +// +Процедура ВыполнениеПользовательскихФункцийФайловыхОбменов(НастройкаИнтеграции, ПользовательскаяФункция) Экспорт + + пбп_ОбщегоНазначенияСлужебный.ПриНачалеВыполненияРегламентногоЗадания( + Метаданные.РегламентныеЗадания.пбп_ВыполнениеПользовательскихФункцийФайловыхОбменов); + + ПараметрыФункции = Новый Структура; + ПараметрыФункции.Вставить("НастройкаИнтеграции", НастройкаИнтеграции); + + РезультатОбработки = пбп_ОбщегоНазначенияСервер.ВыполнитьПользовательскуюФункциюСПараметрами( + ПользовательскаяФункция, ПараметрыФункции); + +КонецПроцедуры + #КонецОбласти diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\221\320\260\320\267\321\213\320\237\320\221\320\237/Ext/Module.bsl" "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\221\320\260\320\267\321\213\320\237\320\221\320\237/Ext/Module.bsl" index 28cad647..3f061235 100644 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\221\320\260\320\267\321\213\320\237\320\221\320\237/Ext/Module.bsl" +++ "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\221\320\260\320\267\321\213\320\237\320\221\320\237/Ext/Module.bsl" @@ -74,7 +74,7 @@ Процедура ПриДобавленииПодсистемы(Описание) Экспорт Описание.Имя = "ПроектнаяБиблиотекаПодсистем"; - Описание.Версия = "1.0.1.3"; + Описание.Версия = "1.0.2.4"; // Требуется библиотека стандартных подсистем. Описание.ТребуемыеПодсистемы.Добавить("СтандартныеПодсистемы"); diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl" "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl" index 5ecdbdfe..02ba9e54 100644 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl" +++ "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl" @@ -157,6 +157,34 @@ КонецФункции +// Аналог метода БСП. Возвращает Истина, если клиентское приложение запущено под управлением ОС Windows. +// +// См. ОбщегоНазначения.ЭтоWindowsКлиент +// +// Возвращаемое значение: +// Булево - если нет клиентского приложения, возвращается Ложь. +// +Функция ЭтоWindowsКлиент() Экспорт + + ТипПлатформыКлиента = ТипПлатформыКлиента(); + Возврат ТипПлатформыКлиента = ТипПлатформы.Windows_x86 + Или ТипПлатформыКлиента = ТипПлатформы.Windows_x86_64; + +КонецФункции + +// Аналог метода БСП. Возвращает тип платформы клиента. +// +// Возвращаемое значение: +// ТипПлатформы, Неопределено - тип платформы на которой запущен клиент. В режиме веб-клиента, если тип +// платформы иной, чем описан в типе ТипПлатформы, то возвращается Неопределено. +// +Функция ТипПлатформыКлиента() Экспорт + + СистемнаяИнфо = Новый СистемнаяИнформация; + Возврат СистемнаяИнфо.ТипПлатформы; + +КонецФункции + #КонецОбласти #КонецОбласти diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Ext/Module.bsl" "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Ext/Module.bsl" index 1a525d75..4f3ecc6a 100644 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Ext/Module.bsl" +++ "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Ext/Module.bsl" @@ -113,6 +113,14 @@ КонецФункции +// См. пбп_ОбщегоНазначенияСервер.ПолучитьЗначениеКонстанты. +// +Функция ПолучитьЗначениеКонстанты(ИмяКонстанты) Экспорт + + Возврат пбп_ОбщегоНазначенияСервер.ПолучитьЗначениеКонстанты(ИмяКонстанты); + +КонецФункции + #Область ПодпискиНаСобытияДокументов // Определяет соответствие типа источника подписки и имени метода. diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" index 2a9e4f18..41c2e0d1 100644 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" +++ "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" @@ -502,6 +502,20 @@ КонецФункции // ПолучитьИмяОбъектаПоИмениФормы() +// Функция получает значение константы по ее имени. +// +// Параметры: +// ИмяКонстанты - Строка - Имя константы в метаданных. +// +// Возвращаемое значение: +// Строка - Значение константы. +// +Функция ПолучитьЗначениеКонстанты(ИмяКонстанты) Экспорт + + Возврат Константы[ИмяКонстанты].Получить(); + +КонецФункции + #Область ОтладкаВременныхТаблиц // Функция возвращает все поля указанной временной таблицы из менеджера временных таблиц. diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\227\320\275\320\260\321\207\320\265\320\275\320\270\321\217/Ext/Module.bsl" "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\227\320\275\320\260\321\207\320\265\320\275\320\270\321\217/Ext/Module.bsl" index 8d618810..5bbeec84 100644 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\227\320\275\320\260\321\207\320\265\320\275\320\270\321\217/Ext/Module.bsl" +++ "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\227\320\275\320\260\321\207\320\265\320\275\320\270\321\217/Ext/Module.bsl" @@ -33,8 +33,9 @@ ИначеЕсли ТипЗначения = Тип("СправочникМенеджер.пбп_ИнтегрируемыеСистемы") Тогда ТЗПредопределенныхЗначений = пбп_ПредопределенныеЗначенияПереопределяемый.ПредопределенныеЗначенияИнтегрируемыеСистемы(); - ИначеЕсли ТипЗначения = Тип("СправочникМенеджер.пбп_МетодыИнтеграции") Тогда - ТЗПредопределенныхЗначений = пбп_ПредопределенныеЗначенияПереопределяемый.ПредопределенныеЗначенияМетодыИнтеграции(); + ИначеЕсли ТипЗначения = Тип("СправочникМенеджер.пбп_ИнтеграционныеПотоки") Тогда + ТЗПредопределенныхЗначений = пбп_ПредопределенныеЗначенияПереопределяемый + .ПредопределенныеЗначенияИнтеграционныеПотоки(); ИначеЕсли ТипЗначения = Тип("СправочникМенеджер.пбп_НастройкиИнтеграции") Тогда ТЗПредопределенныхЗначений = пбп_ПредопределенныеЗначенияПереопределяемый.ПредопределенныеЗначенияНастройкиИнтеграции(); @@ -139,6 +140,14 @@ |ИТОГИ ПО | Ссылка ИЕРАРХИЯ"; + Если пбп_ОбщегоНазначенияПовтИсп.ПолучитьЗначениеКонстанты("пбп_ИспользоватьПользовательскиеФункции") Тогда + ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ГДЕ + | НЕ пбп_ПредопределенныеЗначения.ПометкаУдаления", + "ГДЕ + | НЕ пбп_ПредопределенныеЗначения.ПометкаУдаления + | И пбп_ПредопределенныеЗначения.ИдентификаторНастройки <> """""); + КонецЕсли; + Запрос.Текст = СтрШаблон(ТекстЗапроса, ПолноеИмяОбъекта); Выборка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией); diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\227\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271/Ext/Module.bsl" "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\227\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271/Ext/Module.bsl" index 6428222e..da64f2b2 100644 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\227\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271/Ext/Module.bsl" +++ "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\227\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271/Ext/Module.bsl" @@ -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)); + Возврат Результат; КонецФункции diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\320\265\320\227\320\260\320\264\320\260\320\275\320\270\321\217\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\320\265\320\227\320\260\320\264\320\260\320\275\320\270\321\217\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" index e6081bfc..371698e5 100644 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\320\265\320\227\320\260\320\264\320\260\320\275\320\270\321\217\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" +++ "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\320\265\320\227\320\260\320\264\320\260\320\275\320\270\321\217\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" @@ -262,22 +262,11 @@ Для Каждого РегламентноеЗадание Из СписокЗаданий Цикл ИдентификаторЗадания = УникальныйИдентификаторЗадания(РегламентноеЗадание); - Блокировка = Новый БлокировкаДанных; - ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.КэшПрограммныхИнтерфейсов"); - ЭлементБлокировки.УстановитьЗначение("Идентификатор", Строка(ИдентификаторЗадания)); - - НачатьТранзакцию(); - Попытка - Блокировка.Заблокировать(); - Задание = РегламентныеЗадания.НайтиПоУникальномуИдентификатору(ИдентификаторЗадания); - Если Задание <> Неопределено Тогда - Задание.Удалить(); - КонецЕсли; - ЗафиксироватьТранзакцию(); - Исключение - ОтменитьТранзакцию(); - ВызватьИсключение; - КонецПопытки; + Если пбп_ОбщегоНазначенияВызовСервера.СуществуетБиблиотекаСтандартныхПодсистем() Тогда + УдалитьРегламентноеЗаданиеСИспользованиемКэша(ИдентификаторЗадания); + Иначе + УдалитьРегламентноеЗаданиеБезКэша(ИдентификаторЗадания); + КонецЕсли; КонецЦикла; КонецПроцедуры @@ -313,4 +302,38 @@ #КонецОбласти +Процедура УдалитьРегламентноеЗаданиеСИспользованиемКэша(ИдентификаторЗадания) + + Блокировка = Новый БлокировкаДанных; + ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.КэшПрограммныхИнтерфейсов"); + ЭлементБлокировки.УстановитьЗначение("Идентификатор", Строка(ИдентификаторЗадания)); + + НачатьТранзакцию(); + Попытка + Блокировка.Заблокировать(); + Задание = РегламентныеЗадания.НайтиПоУникальномуИдентификатору(ИдентификаторЗадания); + Если Задание <> Неопределено Тогда + Задание.Удалить(); + КонецЕсли; + ЗафиксироватьТранзакцию(); + Исключение + ОтменитьТранзакцию(); + ВызватьИсключение; + КонецПопытки; + +КонецПроцедуры + +Процедура УдалитьРегламентноеЗаданиеБезКэша(ИдентификаторЗадания) + + Попытка + Задание = РегламентныеЗадания.НайтиПоУникальномуИдентификатору(ИдентификаторЗадания); + Если Задание <> Неопределено Тогда + Задание.Удалить(); + КонецЕсли; + Исключение + ВызватьИсключение; + КонецПопытки; + +КонецПроцедуры + #КонецОбласти \ No newline at end of file diff --git "a/src/cf/CommonTemplates/\320\277\320\261\320\277_PinkRabbitMQ.xml" "b/src/cf/CommonTemplates/\320\277\320\261\320\277_PinkRabbitMQ.xml" new file mode 100644 index 00000000..203bacff --- /dev/null +++ "b/src/cf/CommonTemplates/\320\277\320\261\320\277_PinkRabbitMQ.xml" @@ -0,0 +1,16 @@ + + + + + пбп_PinkRabbitMQ + + + ru + Компонента Pink Rabbit MQ + + + + AddIn + + + \ No newline at end of file diff --git "a/src/cf/CommonTemplates/\320\277\320\261\320\277_PinkRabbitMQ/Ext/Template.bin" "b/src/cf/CommonTemplates/\320\277\320\261\320\277_PinkRabbitMQ/Ext/Template.bin" new file mode 100644 index 00000000..a324e591 Binary files /dev/null and "b/src/cf/CommonTemplates/\320\277\320\261\320\277_PinkRabbitMQ/Ext/Template.bin" differ diff --git "a/src/cf/CommonTemplates/\320\277\320\261\320\277_SimpleKafkaAdapter.xml" "b/src/cf/CommonTemplates/\320\277\320\261\320\277_SimpleKafkaAdapter.xml" new file mode 100644 index 00000000..9fe1db07 --- /dev/null +++ "b/src/cf/CommonTemplates/\320\277\320\261\320\277_SimpleKafkaAdapter.xml" @@ -0,0 +1,16 @@ + + + + + пбп_SimpleKafkaAdapter + + + ru + Компонента Simple Kafka Adapter + + + + AddIn + + + \ No newline at end of file diff --git a/src/cf/Configuration.xml b/src/cf/Configuration.xml index 884ee4a8..e59c4d74 100644 --- a/src/cf/Configuration.xml +++ b/src/cf/Configuration.xml @@ -57,7 +57,7 @@ Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок Первый БИТ - 1.0.1.3 + 1.0.2.4 false false @@ -261,6 +261,7 @@ пбп_РедактированиеПользовательскихФункций пбп_РедактированиеРегистраСведенийСоответствияОбъектовИБ пбп_РедактированиеТиповСоответствияОбъектовИБ + пбп_ЧтениеКонстантыИспользоватьПользовательскиеФункции пбп_ЧтениеНастроекОтборовОбъектов пбп_ЧтениеПланаВидовХарактеристикПредопределенныеЗначения пбп_ЧтениеРегистраСведенийСоответствияОбъектовИБ @@ -268,6 +269,8 @@ ПолныеПрава пбп_BSLEditor пбп_JSONEditor + пбп_PinkRabbitMQ + пбп_SimpleKafkaAdapter пбп_XMLEditor пбп_ДокументыОбработкаСобытий пбп_ЖурналРегистрации @@ -326,22 +329,30 @@ пбп_СправочникиПередЗаписью пбп_СправочникиПриЗаписи пбп_СправочникиПриКопировании + пбп_ВыполнениеПользовательскихФункцийФайловыхОбменов пбп_ОчисткаИсторииИнтеграции + пбп_ИспользоватьПользовательскиеФункции + пбп_Пользователи пбп_ТипыОбъектовСоответствийИБ + пбп_УчетныеЗаписиЭлектроннойПочты + пбп_ИспользоватьПользовательскиеФункции пбп_ФормаВыбораПоля + пбп_ИнтеграционныеПотоки пбп_ИнтегрируемыеСистемы пбп_ИсторияИнтеграции - пбп_МетодыИнтеграции пбп_НастройкиИнтеграции пбп_НастройкиОтбораОбъектов пбп_ПользовательскиеФункции пбп_ТипСоответствияОбъектовИБ + пбп_ТипыИнтеграций ДемоРаботаСФормами пбп_КонтекстыВыполненияПользовательскихФункций + пбп_МетодыЗапросаREST пбп_СозданОбновлен пбп_СтатусыИнтеграции пбп_ТипыJSON - пбп_ФорматыЗапросовИнтеграции + пбп_ТипыАвторизации + пбп_ФорматыИнтеграций пбп_СоответствияОбъектовИБ пбп_ПредопределенныеЗначения diff --git "a/src/cf/Constants/\320\277\320\261\320\277_\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\320\265\320\244\321\203\320\275\320\272\321\206\320\270\320\270.xml" "b/src/cf/Constants/\320\277\320\261\320\277_\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\320\265\320\244\321\203\320\275\320\272\321\206\320\270\320\270.xml" new file mode 100644 index 00000000..de5dc362 --- /dev/null +++ "b/src/cf/Constants/\320\277\320\261\320\277_\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\320\265\320\244\321\203\320\275\320\272\321\206\320\270\320\270.xml" @@ -0,0 +1,58 @@ + + + + + + e8f9ed17-750a-4390-9beb-333cd4073dcc + b4e28d3a-3e20-4e88-937c-5c4a7f14d083 + + + 57fa6209-2a9f-475b-b364-309c9a104294 + b389961f-b6ef-4338-8cea-a33c1c213432 + + + 527bade8-6c8d-42cb-9561-ef2d44a5c192 + 0ce74c90-9cb1-459b-8de3-7cf35d594e5b + + + + пбп_ИспользоватьПользовательскиеФункции + + + ru + Использовать пользовательские функции + + + + + xs:boolean + + true + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + false + false + + + \ No newline at end of file diff --git "a/src/cf/DefinedTypes/\320\277\320\261\320\277_\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270.xml" "b/src/cf/DefinedTypes/\320\277\320\261\320\277_\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270.xml" new file mode 100644 index 00000000..fd75c5e5 --- /dev/null +++ "b/src/cf/DefinedTypes/\320\277\320\261\320\277_\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270.xml" @@ -0,0 +1,28 @@ + + + + + + 35d24ad3-e3f5-4392-b9e0-9171a9fc93ac + f7e811df-3cfe-4c77-958d-6c33a44cb4fb + + + + пбп_Пользователи + + + ru + Пользователи + + + + + xs:string + + 10 + Variable + + + + + \ No newline at end of file diff --git "a/src/cf/DefinedTypes/\320\277\320\261\320\277_\320\243\321\207\320\265\321\202\320\275\321\213\320\265\320\227\320\260\320\277\320\270\321\201\320\270\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\276\320\271\320\237\320\276\321\207\321\202\321\213.xml" "b/src/cf/DefinedTypes/\320\277\320\261\320\277_\320\243\321\207\320\265\321\202\320\275\321\213\320\265\320\227\320\260\320\277\320\270\321\201\320\270\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\276\320\271\320\237\320\276\321\207\321\202\321\213.xml" new file mode 100644 index 00000000..ec82b742 --- /dev/null +++ "b/src/cf/DefinedTypes/\320\277\320\261\320\277_\320\243\321\207\320\265\321\202\320\275\321\213\320\265\320\227\320\260\320\277\320\270\321\201\320\270\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\276\320\271\320\237\320\276\321\207\321\202\321\213.xml" @@ -0,0 +1,28 @@ + + + + + + 3d426773-6e7c-4970-b3e2-c09ed3081ffb + 7c72c5f2-7ff6-42ab-8119-f6ff40edd5be + + + + пбп_УчетныеЗаписиЭлектроннойПочты + + + ru + Учетные записи электронной почты + + + + + xs:string + + 10 + Variable + + + + + \ No newline at end of file diff --git "a/src/cf/Enums/\320\277\320\261\320\277_\320\234\320\265\321\202\320\276\320\264\321\213\320\227\320\260\320\277\321\200\320\276\321\201\320\260REST.xml" "b/src/cf/Enums/\320\277\320\261\320\277_\320\234\320\265\321\202\320\276\320\264\321\213\320\227\320\260\320\277\321\200\320\276\321\201\320\260REST.xml" new file mode 100644 index 00000000..4b0a293a --- /dev/null +++ "b/src/cf/Enums/\320\277\320\261\320\277_\320\234\320\265\321\202\320\276\320\264\321\213\320\227\320\260\320\277\321\200\320\276\321\201\320\260REST.xml" @@ -0,0 +1,162 @@ + + + + + + eefcdadc-0645-4fa3-9402-53e5397f7552 + 455213b6-652a-4277-9879-084e51fb8b9e + + + bfaffb65-1aa5-470d-97cd-49ac3a81a92e + 9acc32de-51fc-4d7a-9b4b-d1345d4df2e2 + + + 905a2141-4770-497c-b685-6ea93b952179 + d7aac409-ed99-4dd8-a877-f98ee578c35d + + + + пбп_МетодыЗапросаREST + + + ru + Методы запроса + + + + false + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + true + BothWays + + + + + + + ru + REST: Методы запроса + + + + + Auto + + + + + GET + + + ru + GET + + + + + + + + POST + + + ru + POST + + + + + + + + PATCH + + + ru + PATCH + + + + + + + + DELETE + + + ru + DELETE + + + + + + + + PUT + + + ru + PUT + + + + + + + + \ No newline at end of file diff --git "a/src/cf/Enums/\320\277\320\261\320\277_\320\234\320\265\321\202\320\276\320\264\321\213\320\227\320\260\320\277\321\200\320\276\321\201\320\260REST/Ext/ManagerModule.bsl" "b/src/cf/Enums/\320\277\320\261\320\277_\320\234\320\265\321\202\320\276\320\264\321\213\320\227\320\260\320\277\321\200\320\276\321\201\320\260REST/Ext/ManagerModule.bsl" new file mode 100644 index 00000000..5f282702 --- /dev/null +++ "b/src/cf/Enums/\320\277\320\261\320\277_\320\234\320\265\321\202\320\276\320\264\321\213\320\227\320\260\320\277\321\200\320\276\321\201\320\260REST/Ext/ManagerModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/src/cf/Enums/\320\277\320\261\320\277_\320\242\320\270\320\277\321\213\320\220\320\262\321\202\320\276\321\200\320\270\320\267\320\260\321\206\320\270\320\270.xml" "b/src/cf/Enums/\320\277\320\261\320\277_\320\242\320\270\320\277\321\213\320\220\320\262\321\202\320\276\321\200\320\270\320\267\320\260\321\206\320\270\320\270.xml" new file mode 100644 index 00000000..13b84c7a --- /dev/null +++ "b/src/cf/Enums/\320\277\320\261\320\277_\320\242\320\270\320\277\321\213\320\220\320\262\321\202\320\276\321\200\320\270\320\267\320\260\321\206\320\270\320\270.xml" @@ -0,0 +1,67 @@ + + + + + + 7f30a393-c0ec-43ea-b572-9eb7c1c3828b + 6edf8bc5-957a-4cf9-bd59-e82c04afd657 + + + 33a2ab9e-d2cd-405d-9b0e-e1041af2230b + c33ba8bd-0bf1-4080-abd5-5435fe70dea9 + + + 7dea9f6a-0def-497d-8ff3-f78c6d25c03a + 77dee112-86d0-470a-8153-3298e618af6b + + + + пбп_ТипыАвторизации + + + ru + Типы авторизации + + + + false + + true + BothWays + + + + + + + + Auto + + + + + Базовая + + + ru + Базовая + + + + + + + + Токен + + + ru + Токен + + + + + + + + \ No newline at end of file diff --git "a/src/cf/Enums/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\321\202\321\213\320\227\320\260\320\277\321\200\320\276\321\201\320\276\320\262\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270.xml" "b/src/cf/Enums/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\321\202\321\213\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\271.xml" similarity index 58% rename from "src/cf/Enums/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\321\202\321\213\320\227\320\260\320\277\321\200\320\276\321\201\320\276\320\262\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270.xml" rename to "src/cf/Enums/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\321\202\321\213\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\271.xml" index 6b03720e..f5e94dc9 100644 --- "a/src/cf/Enums/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\321\202\321\213\320\227\320\260\320\277\321\200\320\276\321\201\320\276\320\262\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270.xml" +++ "b/src/cf/Enums/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\321\202\321\213\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\271.xml" @@ -2,25 +2,25 @@ - + 50167e12-e724-4db6-8b4b-6b0c17cf0100 ea8ae490-9148-45bd-a492-a3acee5df3c3 - + 2696bde5-01ad-45c6-9494-d8d4208cb7ef d3e749b5-3ff3-47e1-aea9-c8b8dbb3f05e - + d5954795-c133-4bee-ad32-09fefb55219b fd2de7e3-c4a5-49b7-941d-bdd63cc5509d - пбп_ФорматыЗапросовИнтеграции + пбп_ФорматыИнтеграций ru - Форматы запросов интеграции + Форматы интеграций en @@ -90,6 +90,90 @@ + + + DBF + + + ru + DBF + + + + + + + + CSV + + + ru + CSV + + + + + + + + TXT + + + ru + TXT + + + + + + + + XLS + + + ru + XLS / XLSX + + + + + + + + BATSH + + + ru + BAT / SH + + + + + + + + DLL + + + ru + DLL + + + + + + + + HTML + + + ru + HTML + + + + + \ No newline at end of file diff --git "a/src/cf/FunctionalOptions/\320\277\320\261\320\277_\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\320\265\320\244\321\203\320\275\320\272\321\206\320\270\320\270.xml" "b/src/cf/FunctionalOptions/\320\277\320\261\320\277_\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\320\265\320\244\321\203\320\275\320\272\321\206\320\270\320\270.xml" new file mode 100644 index 00000000..df6aeffe --- /dev/null +++ "b/src/cf/FunctionalOptions/\320\277\320\261\320\277_\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\320\265\320\244\321\203\320\275\320\272\321\206\320\270\320\270.xml" @@ -0,0 +1,22 @@ + + + + + пбп_ИспользоватьПользовательскиеФункции + + + ru + Использовать пользовательские функции + + + + Constant.пбп_ИспользоватьПользовательскиеФункции + true + + Catalog.пбп_ПользовательскиеФункции + Catalog.пбп_НастройкиИнтеграции.Attribute.ИспользоватьПользовательскиеФункции + Catalog.пбп_ИнтеграционныеПотоки.Attribute.ПользовательскаяФункция + + + + \ No newline at end of file diff --git "a/src/cf/Roles/\320\277\320\261\320\277_\320\240\320\265\320\264\320\260\320\272\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Ext/Rights.xml" "b/src/cf/Roles/\320\277\320\261\320\277_\320\240\320\265\320\264\320\260\320\272\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Ext/Rights.xml" index 52affe1f..421e5155 100644 --- "a/src/cf/Roles/\320\277\320\261\320\277_\320\240\320\265\320\264\320\260\320\272\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Ext/Rights.xml" +++ "b/src/cf/Roles/\320\277\320\261\320\277_\320\240\320\265\320\264\320\260\320\272\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Ext/Rights.xml" @@ -43,7 +43,7 @@ - Catalog.пбп_МетодыИнтеграции + Catalog.пбп_ТипыИнтеграций Read true @@ -81,6 +81,72 @@ true + + Catalog.пбп_ИнтеграционныеПотоки + + Read + true + + + Insert + true + + + Update + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InputByString + true + + + + Configuration.ПроектнаяБиблиотекаПодсистем + + MainWindowModeNormal + true + + + MainWindowModeWorkplace + true + + + MainWindowModeEmbeddedWorkplace + true + + + MainWindowModeFullscreenWorkplace + true + + + MainWindowModeKiosk + true + + + AnalyticsSystemClient + true + + Catalog.пбп_ИсторияИнтеграции @@ -120,6 +186,25 @@ true + + Constant.пбп_ИспользоватьПользовательскиеФункции + + Read + true + + + Update + true + + + View + true + + + Edit + true + + Catalog.пбп_НастройкиИнтеграции diff --git "a/src/cf/Roles/\320\277\320\261\320\277_\320\240\320\265\320\264\320\260\320\272\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\244\321\203\320\275\320\272\321\206\320\270\320\271/Ext/Rights.xml" "b/src/cf/Roles/\320\277\320\261\320\277_\320\240\320\265\320\264\320\260\320\272\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\244\321\203\320\275\320\272\321\206\320\270\320\271/Ext/Rights.xml" index 30027221..c9c4bd23 100644 --- "a/src/cf/Roles/\320\277\320\261\320\277_\320\240\320\265\320\264\320\260\320\272\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\244\321\203\320\275\320\272\321\206\320\270\320\271/Ext/Rights.xml" +++ "b/src/cf/Roles/\320\277\320\261\320\277_\320\240\320\265\320\264\320\260\320\272\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\244\321\203\320\275\320\272\321\206\320\270\320\271/Ext/Rights.xml" @@ -43,7 +43,7 @@ - Catalog.пбп_МетодыИнтеграции + Catalog.пбп_ИнтеграционныеПотоки Read true @@ -81,6 +81,33 @@ true + + Configuration.ПроектнаяБиблиотекаПодсистем + + MainWindowModeNormal + true + + + MainWindowModeWorkplace + true + + + MainWindowModeEmbeddedWorkplace + true + + + MainWindowModeFullscreenWorkplace + true + + + MainWindowModeKiosk + true + + + AnalyticsSystemClient + true + + Catalog.пбп_ИсторияИнтеграции @@ -159,4 +186,23 @@ true + + Constant.пбп_ИспользоватьПользовательскиеФункции + + Read + true + + + Update + true + + + View + true + + + Edit + true + + \ No newline at end of file diff --git "a/src/cf/Roles/\320\277\320\261\320\277_\320\247\321\202\320\265\320\275\320\270\320\265\320\232\320\276\320\275\321\201\321\202\320\260\320\275\321\202\321\213\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\320\265\320\244\321\203\320\275\320\272\321\206\320\270\320\270.xml" "b/src/cf/Roles/\320\277\320\261\320\277_\320\247\321\202\320\265\320\275\320\270\320\265\320\232\320\276\320\275\321\201\321\202\320\260\320\275\321\202\321\213\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\320\265\320\244\321\203\320\275\320\272\321\206\320\270\320\270.xml" new file mode 100644 index 00000000..1d75d143 --- /dev/null +++ "b/src/cf/Roles/\320\277\320\261\320\277_\320\247\321\202\320\265\320\275\320\270\320\265\320\232\320\276\320\275\321\201\321\202\320\260\320\275\321\202\321\213\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\320\265\320\244\321\203\320\275\320\272\321\206\320\270\320\270.xml" @@ -0,0 +1,15 @@ + + + + + пбп_ЧтениеКонстантыИспользоватьПользовательскиеФункции + + + ru + Чтение константы использовать пользовательские функции + + + + + + \ No newline at end of file diff --git "a/src/cf/Roles/\320\277\320\261\320\277_\320\247\321\202\320\265\320\275\320\270\320\265\320\232\320\276\320\275\321\201\321\202\320\260\320\275\321\202\321\213\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\320\265\320\244\321\203\320\275\320\272\321\206\320\270\320\270/Ext/Rights.xml" "b/src/cf/Roles/\320\277\320\261\320\277_\320\247\321\202\320\265\320\275\320\270\320\265\320\232\320\276\320\275\321\201\321\202\320\260\320\275\321\202\321\213\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\320\265\320\244\321\203\320\275\320\272\321\206\320\270\320\270/Ext/Rights.xml" new file mode 100644 index 00000000..3a3ad3b9 --- /dev/null +++ "b/src/cf/Roles/\320\277\320\261\320\277_\320\247\321\202\320\265\320\275\320\270\320\265\320\232\320\276\320\275\321\201\321\202\320\260\320\275\321\202\321\213\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\320\265\320\244\321\203\320\275\320\272\321\206\320\270\320\270/Ext/Rights.xml" @@ -0,0 +1,13 @@ + + + false + true + false + + Constant.пбп_ИспользоватьПользовательскиеФункции + + Read + true + + + \ No newline at end of file diff --git "a/src/cf/ScheduledJobs/\320\277\320\261\320\277_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\244\321\203\320\275\320\272\321\206\320\270\320\271\320\244\320\260\320\271\320\273\320\276\320\262\321\213\321\205\320\236\320\261\320\274\320\265\320\275\320\276\320\262.xml" "b/src/cf/ScheduledJobs/\320\277\320\261\320\277_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\244\321\203\320\275\320\272\321\206\320\270\320\271\320\244\320\260\320\271\320\273\320\276\320\262\321\213\321\205\320\236\320\261\320\274\320\265\320\275\320\276\320\262.xml" new file mode 100644 index 00000000..c687ac7b --- /dev/null +++ "b/src/cf/ScheduledJobs/\320\277\320\261\320\277_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\244\321\203\320\275\320\272\321\206\320\270\320\271\320\244\320\260\320\271\320\273\320\276\320\262\321\213\321\205\320\236\320\261\320\274\320\265\320\275\320\276\320\262.xml" @@ -0,0 +1,22 @@ + + + + + пбп_ВыполнениеПользовательскихФункцийФайловыхОбменов + + + ru + Выполнение пользовательских функций файловых обменов + + + + CommonModule.пбп_МетодыРегламентныхЗаданийСервер.ВыполнениеПользовательскихФункцийФайловыхОбменов + Выполнение пользовательских функций файловых обменов + пбп_ВыполнениеПользовательскихФункцийФайловыхОбменов + true + false + 3 + 10 + + + \ No newline at end of file diff --git "a/src/cf/Subsystems/\320\277\320\261\320\277_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\274\320\270.xml" "b/src/cf/Subsystems/\320\277\320\261\320\277_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\274\320\270.xml" index dbb3abd0..8182fcfb 100644 --- "a/src/cf/Subsystems/\320\277\320\261\320\277_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\274\320\270.xml" +++ "b/src/cf/Subsystems/\320\277\320\261\320\277_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\274\320\270.xml" @@ -20,6 +20,7 @@ Document.ДемоРаботаСФормами + CommonPicture.пбп_ПодсистемаУправлениеНастройками diff --git "a/src/cf/Subsystems/\320\277\320\261\320\277_\320\234\320\276\320\264\320\270\321\204\320\270\320\272\320\260\321\206\320\270\321\217\320\244\320\276\321\200\320\274.xml" "b/src/cf/Subsystems/\320\277\320\261\320\277_\320\234\320\276\320\264\320\270\321\204\320\270\320\272\320\260\321\206\320\270\321\217\320\244\320\276\321\200\320\274.xml" index d7694a8a..84795022 100644 --- "a/src/cf/Subsystems/\320\277\320\261\320\277_\320\234\320\276\320\264\320\270\321\204\320\270\320\272\320\260\321\206\320\270\321\217\320\244\320\276\321\200\320\274.xml" +++ "b/src/cf/Subsystems/\320\277\320\261\320\277_\320\234\320\276\320\264\320\270\321\204\320\270\320\272\320\260\321\206\320\270\321\217\320\244\320\276\321\200\320\274.xml" @@ -27,6 +27,8 @@ Document.ДемоРаботаСФормами CommonModule.пбп_МодификацияКонфигурацииПереопределяемыйДокумент Role.пбп_РедактированиеДокументаДемоКаркас + CommonModule.пбп_МодификацияКонфигурацииКлиентПовтИсп + CommonModule.пбп_МодификацияКонфигурацииПовтИсп diff --git "a/src/cf/Subsystems/\320\277\320\261\320\277_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\236\321\202\320\261\320\276\321\200\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" "b/src/cf/Subsystems/\320\277\320\261\320\277_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\236\321\202\320\261\320\276\321\200\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" index 4c2d0e17..5276b391 100644 --- "a/src/cf/Subsystems/\320\277\320\261\320\277_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\236\321\202\320\261\320\276\321\200\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" +++ "b/src/cf/Subsystems/\320\277\320\261\320\277_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\236\321\202\320\261\320\276\321\200\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" @@ -17,6 +17,8 @@ Catalog.пбп_НастройкиОтбораОбъектов + Role.пбп_РедактированиеНастроекОтбораОбъектов + Role.пбп_ЧтениеНастроекОтборовОбъектов diff --git "a/src/cf/Subsystems/\320\277\320\261\320\277_\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217.xml" "b/src/cf/Subsystems/\320\277\320\261\320\277_\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217.xml" index ad98cecc..ed17afc9 100644 --- "a/src/cf/Subsystems/\320\277\320\261\320\277_\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217.xml" +++ "b/src/cf/Subsystems/\320\277\320\261\320\277_\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217.xml" @@ -33,6 +33,29 @@ CommonModule.пбп_РаботаСДиалогамиСервер CommonModule.пбп_РаботаСКоллекциямиКлиентСервер CommonModule.пбп_СтроковыеФункцииКлиентСервер + CommonModule.пбп_ЖурналРегистрации + CommonModule.пбп_ЖурналРегистрацииСлужебный + CommonModule.пбп_МодификацияКонфигурацииКлиентПовтИсп + CommonModule.пбп_ОбновлениеИнформационнойБазыПБП + CommonModule.пбп_ОбщегоНазначенияВызовСервера + CommonModule.пбп_ОбщегоНазначенияСлужебный + CommonModule.пбп_ОбщегоНазначенияСлужебныйКлиент + CommonModule.пбп_ОбщегоНазначенияСлужебныйКлиентСервер + CommonModule.пбп_ПолучениеФайловИзИнтернета + CommonModule.пбп_ПолучениеФайловИзИнтернетаСлужебный + CommonModule.пбп_Пользователи + CommonModule.пбп_ПользователиКлиентСервер + CommonModule.пбп_ПользователиСлужебный + CommonModule.пбп_РегламентныеЗаданияСервер + CommonModule.пбп_РегламентныеЗаданияСлужебныйСервер + CommonModule.пбп_СтандартныеПодсистемыКлиент + CommonModule.пбп_СтандартныеПодсистемыПовтИсп + CommonModule.пбп_СтандартныеПодсистемыСлужебныйКлиент + CommonModule.пбп_СтандартныеПодсистемыСлужебныйПовтИсп + CommonModule.пбп_СтроковыеФункцииСлужебныйКлиентСервер + CommonModule.пбп_СхемыЗапросов + DefinedType.пбп_Пользователи + DefinedType.пбп_УчетныеЗаписиЭлектроннойПочты diff --git "a/src/cf/Subsystems/\320\277\320\261\320\277_\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\320\265\320\244\321\203\320\275\320\272\321\206\320\270\320\270.xml" "b/src/cf/Subsystems/\320\277\320\261\320\277_\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\320\265\320\244\321\203\320\275\320\272\321\206\320\270\320\270.xml" index ab83b5da..4f8014ef 100644 --- "a/src/cf/Subsystems/\320\277\320\261\320\277_\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\320\265\320\244\321\203\320\275\320\272\321\206\320\270\320\270.xml" +++ "b/src/cf/Subsystems/\320\277\320\261\320\277_\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\320\265\320\244\321\203\320\275\320\272\321\206\320\270\320\270.xml" @@ -30,8 +30,12 @@ CommonModule.пбп_РаботаСДиалогамиСервер CommonModule.пбп_РаботаСКоллекциямиКлиентСервер CommonModule.пбп_СтроковыеФункцииКлиентСервер - CommonModule.пбп_ОбщегоНазначенияКлиентСервер CommonForm.пбп_ФормаВыбораПоля + Constant.пбп_ИспользоватьПользовательскиеФункции + Role.пбп_ЧтениеКонстантыИспользоватьПользовательскиеФункции + CommonModule.пбп_ОбщегоНазначенияКлиентСервер + CommonModule.пбп_СхемыЗапросов + FunctionalOption.пбп_ИспользоватьПользовательскиеФункции diff --git "a/src/cf/Subsystems/\320\277\320\261\320\277_\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\221.xml" "b/src/cf/Subsystems/\320\277\320\261\320\277_\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\221.xml" index 65d28443..dd29efa3 100644 --- "a/src/cf/Subsystems/\320\277\320\261\320\277_\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\221.xml" +++ "b/src/cf/Subsystems/\320\277\320\261\320\277_\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\221.xml" @@ -30,6 +30,7 @@ CommonModule.пбп_ПредопределенныеЗначения Role.пбп_ЧтениеТиповСоответствияОбъектовИБ Role.пбп_РедактированиеТиповСоответствияОбъектовИБ + CommonModule.пбп_СхемыЗапросов diff --git "a/src/cf/Subsystems/\320\277\320\261\320\277_\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217\320\274\320\270.xml" "b/src/cf/Subsystems/\320\277\320\261\320\277_\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217\320\274\320\270.xml" index ba4e621c..1eeddb1c 100644 --- "a/src/cf/Subsystems/\320\277\320\261\320\277_\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217\320\274\320\270.xml" +++ "b/src/cf/Subsystems/\320\277\320\261\320\277_\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217\320\274\320\270.xml" @@ -26,10 +26,10 @@ Catalog.пбп_ИнтегрируемыеСистемы Enum.пбп_СтатусыИнтеграции Enum.пбп_СозданОбновлен - Enum.пбп_ФорматыЗапросовИнтеграции + Enum.пбп_ФорматыИнтеграций Catalog.пбп_НастройкиИнтеграции Catalog.пбп_ИсторияИнтеграции - Catalog.пбп_МетодыИнтеграции + Catalog.пбп_ИнтеграционныеПотоки CommonModule.пбп_ИнтеграцииСервер Role.пбп_РедактированиеНастроекИнтеграции ScheduledJob.пбп_ОчисткаИсторииИнтеграции @@ -38,6 +38,14 @@ CommonTemplate.пбп_XMLEditor CommonModule.пбп_КоннекторHTTP Enum.пбп_ТипыJSON + Catalog.пбп_ТипыИнтеграций + Enum.пбп_МетодыЗапросаREST + CommonTemplate.пбп_SimpleKafkaAdapter + CommonTemplate.пбп_PinkRabbitMQ + ScheduledJob.пбп_ВыполнениеПользовательскихФункцийФайловыхОбменов + DefinedType.пбп_Пользователи + DefinedType.пбп_УчетныеЗаписиЭлектроннойПочты + Enum.пбп_ТипыАвторизации