1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2024-12-16 11:38:11 +02:00
OpenIntegrations/cli/help/Modules/Справка.os
2024-04-10 14:42:14 +03:00

164 lines
7.0 KiB
Plaintext

#Использовать "../../tools"
#Область СлужебныйПрограммныйИнтерфейс
Процедура ВывестиНачальнуюСтраницу(Знач СоответствиеКомандМодулей) Экспорт
СписокКоманд = "";
Для Каждого Команда Из СоответствиеКомандМодулей Цикл
СписокКоманд = СписокКоманд + Команда.Ключ + ", ";
КонецЦикла;
СписокКоманд = Лев(СписокКоманд, СтрДлина(СписокКоманд) - 2);
Сообщить("-----------------------------------------------------", СтатусСообщения.Информация);
Сообщить("
|
| _______ _____________ ___ _______
| __ __ ___/__ _/_ / | / /___ __/
| _ / / / __ / __ / __ /
| / /_/ / __/ / _ /| / _ /
| \____/ /___/ /_/ |_/ /_/
|
|
| Добро пожаловать в OInt v 1.6.0!
|
| Структура команд:
| OInt БИБЛИОТЕКА МЕТОД [Параметры]
|
| Вызов библиотеки без метода или метода без параметров возвращает справку
| Список доступных библиотек: "
+ СписокКоманд, СтатусСообщения.Внимание);
Сообщить("
| Стандартные опции:
| --help - выводит справку по текущей команде или методу. Аналогично вызову команды без опций
| --debug - флаг, отвечающий за предоставление более подробной информации при работе программы
| --out - путь к файлу сохранения результата (двоичных данных в частности)
|", СтатусСообщения.Информация);
Сообщить("Полную документацию можно найти по адресу: https://opi.neocities.org" + Символы.ПС
, СтатусСообщения.Внимание);
ЗавершитьРаботу(0);
КонецПроцедуры
Процедура ВывестиСправкуПоМетодам(Знач Команда, Знач ТаблицаПараметров) Экспорт
Сообщить(Символы.ПС + " ## Команда - " + Команда, СтатусСообщения.Информация);
ТаблицаПараметров.Свернуть("Метод");
МассивМетодов = ТаблицаПараметров.ВыгрузитьКолонку("Метод");
Сообщить(" ## Доступные методы: " + Символы.ПС, СтатусСообщения.Информация);
Для каждого Метод Из МассивМетодов Цикл
Сообщить(" - " + Метод, СтатусСообщения.Внимание);
КонецЦикла;
Сообщить(Символы.ПС);
ЗавершитьРаботу(0);
КонецПроцедуры
Процедура ВывестиСправкуПоПараметрам(Знач ТаблицаПараметров, Знач Команда) Экспорт
Если ТаблицаПараметров.Количество() = 0 Тогда
ВывестиСообщениеИсключения("Метод");
КонецЕсли;
ИмяМетода = ТаблицаПараметров[0].Метод;
ТекстСправки = "
| ## Метод " + ИмяМетода + "
| ## " + ТаблицаПараметров[0].ОписаниеМетода;
Сообщить(ТекстСправки, СтатусСообщения.Информация);
ТекстСправки = "";
ОбработатьТабуляциюСправки(ТаблицаПараметров);
Для Каждого ПараметрМетода Из ТаблицаПараметров Цикл
ТекстСправки = ТекстСправки
+ Символы.ПС
+ " "
+ ПараметрМетода["Параметр"]
+ " - "
+ ПараметрМетода["Описание"];
КонецЦикла;
Сообщить(ТекстСправки + Символы.ПС, СтатусСообщения.Внимание);
ЗавершитьРаботу(0);
КонецПроцедуры
Процедура ВывестиСообщениеИсключения(Знач Причина) Экспорт
Если Причина = "Команда" Тогда
Текст = "Некорректная команда! Проверьте правильность ввода";
Код = 1;
ИначеЕсли Причина = "Метод" Тогда
Текст = "Некорректный метод! Проверьте правильность ввода";
Код = 2;
Иначе
Текст = "Непредвиденная ошибка!: " + Причина;
Код = 99
КонецЕсли;
Текст = Символы.ПС + Текст + Символы.ПС;
Сообщить(Текст, СтатусСообщения.ОченьВажное);
ЗавершитьРаботу(Код);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
Процедура ОбработатьТабуляциюСправки(ТаблицаПараметров)
МаксимальнаяДлина = 15;
Для Каждого ПараметрМетода Из ТаблицаПараметров Цикл
Пока Не СтрДлина(ПараметрМетода["Параметр"]) = МаксимальнаяДлина Цикл
ПараметрМетода["Параметр"] = ПараметрМетода["Параметр"] + " ";
КонецЦикла;
ТекущееОписание = ПараметрМетода["Описание"];
МассивОписания = СтрРазделить(ТекущееОписание, Символы.ПС);
НачальнаяТабуляция = 4;
Если МассивОписания.Количество() = 1 Тогда
Продолжить;
Иначе
Для Н = 1 По МассивОписания.ВГраница() Цикл
ТекущийЭлемент = МассивОписания[Н];
НеобходимаяДлина = СтрДлина(ТекущийЭлемент) + СтрДлина(ПараметрМетода["Параметр"] + " - ") + НачальнаяТабуляция;
Пока СтрДлина(МассивОписания[Н]) < НеобходимаяДлина Цикл
МассивОписания[Н] = " " + МассивОписания[Н];
КонецЦикла;
КонецЦикла;
ПараметрМетода["Описание"] = СтрСоединить(МассивОписания, Символы.ПС);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
#КонецОбласти