1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2024-12-12 11:15:07 +02:00
OpenIntegrations/cli/tools/Classes/СвязьОПИ.os

79 lines
3.7 KiB
Plaintext

#Использовать "../../data"
Перем СоответствиеТаблицПараметров;
Перем СоответствиеКомандМодулей;
Процедура ПриСозданииОбъекта()
СоответствиеТаблицПараметров = Новый Соответствие();
СоответствиеКомандМодулей = Новый Соответствие();
ТаблицаСостава = СоставБиблиотеки.ПолучитьСостав();
ТекущаяБиблиотека = "";
ТекущаяТаблица = "";
Для Каждого СтрокаСостава Из ТаблицаСостава Цикл
Если ТекущаяБиблиотека <> СтрокаСостава.Библиотека Тогда
Если ЗначениеЗаполнено(ТекущаяБиблиотека) Тогда
СоответствиеТаблицПараметров.Вставить(ТекущаяБиблиотека, ТекущаяТаблица);
КонецЕсли;
ТекущаяБиблиотека = СтрокаСостава.Библиотека;
ТекущаяТаблица = ПолучитьПустуюТаблицуПараметров();
СоответствиеКомандМодулей.Вставить(СтрокаСостава.Библиотека, СтрокаСостава.Модуль);
КонецЕсли;
ЗаполнитьЗначенияСвойств(ТекущаяТаблица.Добавить(), СтрокаСостава);
КонецЦикла;
Если ЗначениеЗаполнено(ТекущаяБиблиотека) Тогда
СоответствиеТаблицПараметров.Вставить(ТекущаяБиблиотека, ТекущаяТаблица);
КонецЕсли;
КонецПроцедуры
#Область СлужебныйПрограммныйИнтерфейс
Функция ПолучитьПустуюТаблицуПараметров() Экспорт
ТПМ = Новый ТаблицаЗначений();
ТПМ.Колонки.Добавить("Модуль");
ТПМ.Колонки.Добавить("Метод");
ТПМ.Колонки.Добавить("МетодПоиска");
ТПМ.Колонки.Добавить("Параметр");
ТПМ.Колонки.Добавить("Описание");
ТПМ.Колонки.Добавить("Обработка");
ТПМ.Колонки.Добавить("ОписаниеМетода");
Возврат ТПМ;
КонецФункции
Функция ПолучитьИмяМодуля(Знач Команда = "") Экспорт
Если ЗначениеЗаполнено(Команда) Тогда
Значение = СоответствиеКомандМодулей[Команда];
Иначе
Значение = СоответствиеКомандМодулей;
КонецЕсли;
Если Не ЗначениеЗаполнено(Значение) Тогда
ВызватьИсключение "Команда не найдена: " + Команда;
Иначе
Возврат Значение;
КонецЕсли;
КонецФункции
Функция ПолучитьТаблицуПараметров(Знач Команда) Экспорт
Возврат СоответствиеТаблицПараметров[Команда];
КонецФункции
#КонецОбласти
ПриСозданииОбъекта();