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-07-02 11:06:47 +03:00
parent b4763d6a1e
commit dc7679ee1b

View File

@@ -62,9 +62,9 @@
МодульСоставаОПИ.ДобавитьСтроку("");
МодульСоставаОПИ.ДобавитьСтроку("Перем СоответствиеКомандМодулей;");
МодульСоставаОПИ.ДобавитьСтроку("Перем Версия;");
МодульСоставаОПИ.ДобавитьСтроку("Перем КэшированиеСоставов;");
МодульСоставаОПИ.ДобавитьСтроку("Перем КэшированиеИндексов;");
МодульСоставаОПИ.ДобавитьСтроку("Перем ШаблонДоступа;");
МодульСоставаОПИ.ДобавитьСтроку("Перем НачальноеПодключениеСкриптов;");
МодульСоставаОПИ.ДобавитьСтроку("Перем КаталогПакетов;");
МодульСоставаОПИ.ДобавитьСтроку("");
МодульСоставаОПИ.ДобавитьСтроку("
@@ -77,15 +77,12 @@
| ШаблонДоступа = ОбъединитьПути(ТекущийКаталог, ""internal"", ""Classes"", ""%1.os"");
|
| КаталогПакетов = СтрЗаменить(ПолучитьЗначениеСистемнойНастройки(""lib.system""), ""\"", ""/"");
| КаталогМодулей = ОбъединитьПути(КаталогПакетов, ""oint/core/Modules/%1.os"");
|
| НачальноеПодключениеСкриптов = СтрШаблон(""%%1 = ЗагрузитьСценарий(""""%1"""");"" + Символы.ПС , КаталогМодулей);
|
|КонецПроцедуры
|
|Процедура ИнициализироватьОсновныеСписки() Экспорт
|
| КэшированиеСоставов = Новый Соответствие();
| КэшированиеИндексов = Новый Соответствие();
| СоответствиеКомандМодулей = Новый Соответствие();
|");
@@ -128,23 +125,22 @@
МодульСоставаОПИ.ДобавитьСтроку("
|
|Функция ПолучитьСостав(Знач Команда) Экспорт
|Функция ПолучитьОбъектИндекса(Знач Команда) Экспорт
|
| ТекущийСостав = КэшированиеСоставов.Получить(Команда);
| КлассИндекса = КэшированиеИндексов.Получить(Команда);
|
| Если ТекущийСостав = Неопределено Тогда
| Если КлассИндекса = Неопределено Тогда
|
| Попытка
| ОбъектСостава = ЗагрузитьСценарий(СтрШаблон(ШаблонДоступа, Команда));
| ТекущийСостав = ОбъектСостава.ПолучитьСостав();
| КэшированиеСоставов.Вставить(Команда, ТекущийСостав);
| КэшированиеИндексов.Вставить(Команда, ОбъектСостава);
| Исключение
| ВызватьИсключение СтрШаблон(""Некорректное имя команды: %1"", Команда)
| КонецПопытки;
|
| КонецЕсли;
|
| Возврат ТекущийСостав;
| Возврат ОбъектСостава;
|
|КонецФункции
|
@@ -154,7 +150,8 @@
|
| Для Каждого Команда Из СоответствиеКомандМодулей Цикл
|
| ТекущаяТаблица = ПолучитьСостав(Команда.Ключ);
| ОбъектИднекса = ПолучитьОбъектИндекса(Команда.Ключ)
| ТекущаяТаблица = ОбъектИднекса.ПолучитьСостав();
|
| Если ОбщаяТаблица = Неопределено Тогда
| ОбщаяТаблица = ТекущаяТаблица;
@@ -173,19 +170,21 @@
|Функция СформироватьСтрокуВызоваМетода(Знач ПереданныеПараметры, Знач Команда, Знач Метод) Экспорт
|
| Модуль = ПолучитьСоответствиеКомандМодулей().Получить(Команда);
| ОбъектИндекса = ПолучитьОбъектИндекса(Команда);
|
| Если Не ЗначениеЗаполнено(Модуль) Тогда
| Возврат Новый Структура(""Ошибка,Результат"", Истина, ""Команда"");
| КонецЕсли;
|
| ОтборКоманды = Новый Структура(""МетодПоиска"", вРег(Метод));
| ПараметрыМетода = ПолучитьСостав(Команда).НайтиСтроки(ОтборКоманды);
| ПараметрыМетода = ОбъектИндекса.ПолучитьСостав().НайтиСтроки(ОтборКоманды);
| НачальноеПодключение = ОбъектИндекса.ПолучитьСтрокуПодключения();
|
| Если Не ЗначениеЗаполнено(ПараметрыМетода) Тогда
| Возврат Новый Структура(""Ошибка,Результат"", Истина, ""Метод"");
| КонецЕсли;
|
| ТекстВыполнения = СтрШаблон(НачальноеПодключениеСкриптов, Модуль);
| ТекстВыполнения = СтрШаблон(НачальноеПодключение, КаталогПакетов);
| СтрокаВызова = Модуль + ""."" + Метод + ""("";
| Счетчик = 0;
|
@@ -345,7 +344,14 @@
ТекущийФайлСостава = Новый ТекстовыйДокумент();
ТекущийФайлСостава.ДобавитьСтроку("Функция ПолучитьСостав() Экспорт
ТекущийФайлСостава.ДобавитьСтроку("
|Перем ТаблицаСостава;
|
|Функция ПолучитьСостав() Экспорт
|
| Если ТаблицаСостава <> Неопределено Тогда
| Возврат ТаблицаСостава;
| КонецЕсли;
|
| ТаблицаСостава = Новый ТаблицаЗначений();
| ТаблицаСостава.Колонки.Добавить(""Библиотека"");
@@ -387,7 +393,7 @@
Если Не ЗначениеЗаполнено(СпсиокЗависимостей) Тогда
ТекстПодключения = СтрШаблон(ОсновнойТекстПодключения, ИмяМодуля);
ТекстФункции = СтрШаблон(" Возврат ""%1""", ТекстПодключения);
ТекстФункции = СтрШаблон(" Возврат ""%1"" + Символы.ПС;", ТекстПодключения);
ТекущийФайлСостава.ДобавитьСтроку(ТекстФункции);
Иначе
@@ -409,7 +415,7 @@
ТекущийФайлСостава.ДобавитьСтроку(" | ");
ТекстПодключения = СтрШаблон(РасширенныйТекстПодключения, ИмяМодуля);
ТекущийФайлСостава.ДобавитьСтроку(СтрШаблон(" | %1"";", ТекстПодключения));
ТекущийФайлСостава.ДобавитьСтроку(СтрШаблон(" | %1"" + Символы.ПС;", ТекстПодключения));
КонецЕсли;