1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-08-10 22:41:43 +02:00

Дополнение словарей

This commit is contained in:
Anton Titovets
2025-02-02 13:59:11 +03:00
parent 3dbbde7a3d
commit 66d3aa4351
4 changed files with 6612 additions and 6556 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -41,6 +41,7 @@
// Раскомментировать, если выполняется OneScript
#Использовать "../../tools"
#Использовать "../../../cli/data"
#Область ПрограммныйИнтерфейс
@@ -91,9 +92,11 @@
ВебСервер = Новый(ТипСервер, ПараметрыСервера);
Обработчик = Новый("OPI_ОбработчикЗапросовПрокси");
СоставОПИ = Новый("СоставБиблиотеки");
Обработчик.ПутьПроекта = Проект;
Обработчик.МодульПрокси = ЭтотОбъект;
Обработчик.ОбъектОПИ = СоставОПИ;
ВебСервер.ДобавитьОбработчикЗапросов(Обработчик, "ОсновнаяОбработка");
ВебСервер.Запустить();

View File

@@ -45,6 +45,7 @@
Перем ПутьПроекта Экспорт;
Перем МодульПрокси Экспорт;
Перем ОбъектОПИ Экспорт;
#КонецОбласти
@@ -112,9 +113,55 @@
Запрос = Контекст.Запрос;
Параметры = Запрос.Параметры;
Аргументы = Обработчик["args"];
АргументыСтрогие = Новый Соответствие;
АргументыНестрогие = Новый Соответствие;
Для Каждого Аргумент Из Аргументы Цикл
Если Аргумент["strict"] = 1 Тогда
АргументыСтрогие.Вставить(Аргумент["arg"], Аргумент["value"]);
Иначе
АргументыНестрогие.Вставить(Аргумент["arg"], Аргумент["value"]);
КонецЕсли;
КонецЦикла;
КотелПараметров = АргументыНестрогие;
Для Каждого Параметр Из Параметры Цикл
КотелПараметров.Вставить(Параметр.Ключ, Параметр.Значение);
КонецЦикла;
Для Каждого Аргумент Из АргументыСтрогие Цикл
КотелПараметров.Вставить(Аргумент.Ключ, Аргумент.Значение);
КонецЦикла;
ВыполнитьУниверсальнуюОбработку(Контекст
, Обработчик["library"]
, Обработчик["function"]
, КотелПараметров);
КонецПроцедуры
Контекст.Ответ.ЗаписатьКакJson(Обработчик);
Процедура ВыполнитьУниверсальнуюОбработку(Контекст, Команда, Метод, Параметры)
СтруктураВыполнения = ОбъектОПИ.СформироватьСтрокуВызоваМетода(Параметры, Команда, Метод);
Если СтруктураВыполнения["Ошибка"] Тогда
Ответ = Новый Структура("result,error", Ложь, "Error in a handler command or method");
Иначе
ТекстВыполнения = СтруктураВыполнения["Результат"];
Выполнить(ТекстВыполнения);
КонецЕсли;
Контекст.Ответ.ЗаписатьКакJson(Ответ);
КонецПроцедуры
Процедура ОшибкаОбработки(Контекст, Код, Текст)

View File

@@ -2169,9 +2169,9 @@
КонецФункции
Функция ПолучитьОбщийМодуль(Знач Имя)
Модуль = Вычислить(Имя);
Возврат Модуль;
КонецФункции