mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-03-29 21:57:16 +02:00
Реструктуризация CLI
This commit is contained in:
parent
45d08a1dca
commit
d8957b8b01
23
ci/os/internal/Modules/МетодыCLI.os
vendored
23
ci/os/internal/Modules/МетодыCLI.os
vendored
@ -24,8 +24,9 @@
|
||||
КаталогДополненийОпций = КаталогДополнений;
|
||||
|
||||
ЗаписатьНачалоФайла();
|
||||
ЗаписатьПроцедуруСозданияОбъекта(Язык);
|
||||
ЗаписатьФункциюОпределенияВерсии();
|
||||
ЗаписатьФункциюОпределенияКоманд(Язык);
|
||||
ЗаписатьФункциюОпределенияКоманд();
|
||||
ЗаписатьВспомогательныеФункции();
|
||||
МодульСоставаОПИ.Записать(ФайлСоставаОПИ);
|
||||
|
||||
@ -55,6 +56,8 @@
|
||||
|
||||
МодульСоставаОПИ.ДобавитьСтроку("#Использовать ""./internal""");
|
||||
МодульСоставаОПИ.ДобавитьСтроку("");
|
||||
МодульСоставаОПИ.ДобавитьСтроку("Перем СоответствиеКоманд;");
|
||||
МодульСоставаОПИ.ДобавитьСтроку("");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@ -68,22 +71,30 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ЗаписатьФункциюОпределенияКоманд(ТекущийЯзык)
|
||||
Процедура ЗаписатьПроцедуруСозданияОбъекта(ТекущийЯзык)
|
||||
|
||||
МодульСоставаОПИ.ДобавитьСтроку("Функция ПолучитьСоответствиеКомандМодулей() Экспорт");
|
||||
МодульСоставаОПИ.ДобавитьСтроку("СоответствиеКомандМодулей = Новый Соответствие();");
|
||||
МодульСоставаОПИ.ДобавитьСтроку("Процедура ПриСозданииОбъекта()");
|
||||
МодульСоставаОПИ.ДобавитьСтроку("СоответствиеКоманд = Новый Соответствие();");
|
||||
|
||||
ОпределитьСоответствиеМодулейКоманд(ТекущийЯзык);
|
||||
|
||||
Для Каждого КомандаМодуля Из СоответствиеМодулейКоманд Цикл
|
||||
МодульСоставаОПИ.ДобавитьСтроку("СоответствиеКомандМодулей.Вставить("""
|
||||
МодульСоставаОПИ.ДобавитьСтроку("СоответствиеКоманд.Вставить("""
|
||||
+ КомандаМодуля.Значение
|
||||
+ """, """
|
||||
+ КомандаМодуля.Ключ
|
||||
+ """);");
|
||||
КонецЦикла;
|
||||
|
||||
МодульСоставаОПИ.ДобавитьСтроку("Возврат СоответствиеКомандМодулей;");
|
||||
МодульСоставаОПИ.ДобавитьСтроку("КонецПроцедуры");
|
||||
МодульСоставаОПИ.ДобавитьСтроку("");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ЗаписатьФункциюОпределенияКоманд()
|
||||
|
||||
МодульСоставаОПИ.ДобавитьСтроку("Функция ПолучитьСоответствиеКомандМодулей() Экспорт");
|
||||
МодульСоставаОПИ.ДобавитьСтроку("Возврат СоответствиеКоманд;");
|
||||
МодульСоставаОПИ.ДобавитьСтроку("КонецФункции");
|
||||
МодульСоставаОПИ.ДобавитьСтроку("");
|
||||
|
||||
|
@ -110,6 +110,9 @@
|
||||
|
||||
Процедура ВыполнитьОбработкуGet(Контекст, Обработчик)
|
||||
|
||||
Запрос = Контекст.Запрос;
|
||||
Параметры = Запрос.Параметры;
|
||||
|
||||
Контекст.Ответ.ЗаписатьКакJson(Обработчик);
|
||||
|
||||
КонецПроцедуры
|
||||
|
@ -4,7 +4,6 @@
|
||||
#Использовать "../../tools"
|
||||
#Использовать "../../help"
|
||||
#Использовать "../../data"
|
||||
#Использовать "internal"
|
||||
|
||||
Перем Версия; // Версия программы
|
||||
Перем Отладка; // Флаг вывода отладочной информации
|
||||
@ -127,7 +126,7 @@
|
||||
Справка.ВывестиСправкуПоПараметрам(ПараметрыМетода);
|
||||
КонецЕсли;
|
||||
|
||||
ТекстВыполнения = ОбработкаКоманд.СформироватьСтрокуВызоваМетода(Параметры, ПараметрыМетода, Модуль, Метод);
|
||||
ТекстВыполнения = ОбъектОПИ.СформироватьСтрокуВызоваМетода(Параметры, ПараметрыМетода, Модуль, Метод);
|
||||
|
||||
Если Отладка Или Тестирование Тогда
|
||||
Сообщить(ТекстВыполнения, СтатусСообщения.Внимание);
|
||||
|
@ -1,60 +0,0 @@
|
||||
Функция СформироватьСтрокуВызоваМетода(Знач ПереданныеПараметры, Знач ПараметрыМетода, Знач Модуль, Знач Метод) Экспорт
|
||||
|
||||
ТекстВыполнения = "";
|
||||
СтрокаВызова = Модуль + "." + Метод + "(";
|
||||
Счетчик = 0;
|
||||
|
||||
Для Каждого НеобходимыйПараметр Из ПараметрыМетода Цикл
|
||||
|
||||
ИмяПараметра = НеобходимыйПараметр.Параметр;
|
||||
ЗначениеПараметра = ПереданныеПараметры.Получить(ИмяПараметра);
|
||||
|
||||
Если ЗначениеЗаполнено(ЗначениеПараметра) Тогда
|
||||
|
||||
ИмяПараметра = "Параметр" + СтрЗаменить(ИмяПараметра, "--", "_");
|
||||
|
||||
ТекстВыполнения = ТекстВыполнения
|
||||
+ Символы.ПС
|
||||
+ ИмяПараметра
|
||||
+ " = """
|
||||
+ СтрЗаменить(ЗначениеПараметра, """", """""")
|
||||
+ """;";
|
||||
|
||||
Если ТребуетсяОбработкаУправляющихПоследовательностей(ИмяПараметра, ЗначениеПараметра) Тогда
|
||||
|
||||
ТекстВыполнения = ТекстВыполнения + "
|
||||
|OPI_Инструменты.ЗаменитьУправляющиеПоследовательности(" + ИмяПараметра + ");
|
||||
|";
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
СтрокаВызова = СтрокаВызова + ИмяПараметра + ", ";
|
||||
Счетчик = Счетчик + 1;
|
||||
|
||||
Иначе
|
||||
СтрокаВызова = СтрокаВызова + " , ";
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ЛишниеСимволы = 2;
|
||||
СтрокаВызова = Лев(СтрокаВызова, СтрДлина(СтрокаВызова) - ЛишниеСимволы);
|
||||
СтрокаВызова = СтрокаВызова + ");";
|
||||
СтрокаВызова = "Ответ = " + СтрокаВызова;
|
||||
ТекстВыполнения = ТекстВыполнения + Символы.ПС + СтрокаВызова;
|
||||
|
||||
Возврат ТекстВыполнения;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ТребуетсяОбработкаУправляющихПоследовательностей(Знач ИмяПараметра, Знач ЗначениеПараметра)
|
||||
|
||||
ЗначениеПараметраСокр = СокрЛП(ЗначениеПараметра);
|
||||
ФайлПараметра = Новый Файл(ЗначениеПараметраСокр);
|
||||
|
||||
Возврат Не СтрНачинаетсяС(ЗначениеПараметраСокр, "{")
|
||||
И Не СтрНачинаетсяС(ЗначениеПараметраСокр, "[")
|
||||
И Не ФайлПараметра.Существует()
|
||||
И Не ИмяПараметра = "Параметр_out";
|
||||
|
||||
КонецФункции
|
@ -36,8 +36,6 @@
|
||||
Возврат СоответствиеКомандМодулей;
|
||||
КонецФункции
|
||||
|
||||
|
||||
|
||||
Функция ПолучитьСостав(Знач Команда) Экспорт
|
||||
ТекущийСостав = Новый(Команда);
|
||||
Возврат ТекущийСостав.ПолучитьСостав();
|
||||
@ -64,3 +62,64 @@
|
||||
Возврат ОбщаяТаблица;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СформироватьСтрокуВызоваМетода(Знач ПереданныеПараметры, Знач ПараметрыМетода, Знач Модуль, Знач Метод) Экспорт
|
||||
|
||||
ТекстВыполнения = "";
|
||||
СтрокаВызова = Модуль + "." + Метод + "(";
|
||||
Счетчик = 0;
|
||||
|
||||
Для Каждого НеобходимыйПараметр Из ПараметрыМетода Цикл
|
||||
|
||||
ИмяПараметра = НеобходимыйПараметр.Параметр;
|
||||
ЗначениеПараметра = ПереданныеПараметры.Получить(ИмяПараметра);
|
||||
|
||||
Если ЗначениеЗаполнено(ЗначениеПараметра) Тогда
|
||||
|
||||
ИмяПараметра = "Параметр" + СтрЗаменить(ИмяПараметра, "--", "_");
|
||||
|
||||
ТекстВыполнения = ТекстВыполнения
|
||||
+ Символы.ПС
|
||||
+ ИмяПараметра
|
||||
+ " = """
|
||||
+ СтрЗаменить(ЗначениеПараметра, """", """""")
|
||||
+ """;";
|
||||
|
||||
Если ТребуетсяОбработкаУправляющихПоследовательностей(ИмяПараметра, ЗначениеПараметра) Тогда
|
||||
|
||||
ТекстВыполнения = ТекстВыполнения + "
|
||||
|OPI_Инструменты.ЗаменитьУправляющиеПоследовательности(" + ИмяПараметра + ");
|
||||
|";
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
СтрокаВызова = СтрокаВызова + ИмяПараметра + ", ";
|
||||
Счетчик = Счетчик + 1;
|
||||
|
||||
Иначе
|
||||
СтрокаВызова = СтрокаВызова + " , ";
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ЛишниеСимволы = 2;
|
||||
СтрокаВызова = Лев(СтрокаВызова, СтрДлина(СтрокаВызова) - ЛишниеСимволы);
|
||||
СтрокаВызова = СтрокаВызова + ");";
|
||||
СтрокаВызова = "Ответ = " + СтрокаВызова;
|
||||
ТекстВыполнения = ТекстВыполнения + Символы.ПС + СтрокаВызова;
|
||||
|
||||
Возврат ТекстВыполнения;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ТребуетсяОбработкаУправляющихПоследовательностей(Знач ИмяПараметра, Знач ЗначениеПараметра)
|
||||
|
||||
ЗначениеПараметраСокр = СокрЛП(ЗначениеПараметра);
|
||||
ФайлПараметра = Новый Файл(ЗначениеПараметраСокр);
|
||||
|
||||
Возврат Не СтрНачинаетсяС(ЗначениеПараметраСокр, "{")
|
||||
И Не СтрНачинаетсяС(ЗначениеПараметраСокр, "[")
|
||||
И Не ФайлПараметра.Существует()
|
||||
И Не ИмяПараметра = "Параметр_out";
|
||||
|
||||
КонецФункции
|
Loading…
x
Reference in New Issue
Block a user