diff --git a/ci/os/internal/Modules/МетодыCLI.os b/ci/os/internal/Modules/МетодыCLI.os index 848a258ede..7ee1690fbe 100644 --- a/ci/os/internal/Modules/МетодыCLI.os +++ b/ci/os/internal/Modules/МетодыCLI.os @@ -401,6 +401,7 @@ | ТаблицаСостава.Колонки.Добавить(""Метод""); | ТаблицаСостава.Колонки.Добавить(""МетодПоиска""); | ТаблицаСостава.Колонки.Добавить(""Параметр""); + | ТаблицаСостава.Колонки.Добавить(""ПараметрСокр""); | ТаблицаСостава.Колонки.Добавить(""Описание""); | ТаблицаСостава.Колонки.Добавить(""ОписаниеМетода""); | ТаблицаСостава.Колонки.Добавить(""Область""); @@ -408,6 +409,7 @@ ТаблицаОписанийПараметров = Новый ТаблицаЗначений; ТаблицаОписанийПараметров.Колонки.Добавить("Имя"); + ТаблицаОписанийПараметров.Колонки.Добавить("ИмяСокр"); ТаблицаОписанийПараметров.Колонки.Добавить("Типы"); ТаблицаОписанийПараметров.Колонки.Добавить("Описание"); ТаблицаОписанийПараметров.Колонки.Добавить("ЗначениеПоУмолчанию"); @@ -571,6 +573,8 @@ Процедура СформироватьТаблицуОписанийПараметров(Знач МассивПараметров, Знач Метод, Знач Модуль = "") + СписокСокращенийИмен = Новый СписокЗначений(); + Разделитель = "-"; Для Каждого ПараметрМетода Из МассивПараметров Цикл @@ -590,6 +594,7 @@ Имя1С = МассивЭлементовПараметра[0]; Имя = "--" + МассивЭлементовПараметра[3]; + ИмяСокр = "-" + Лев(МассивЭлементовПараметра[3], 1); Типы = МассивЭлементовПараметра[1]; Описание = ?(КоличествоЭлементов >= 5, МассивЭлементовПараметра[4], МассивЭлементовПараметра[2]); @@ -601,8 +606,16 @@ НоваяСтрокаТаблицы.Имя = Имя; НоваяСтрокаТаблицы.Типы = Типы; НоваяСтрокаТаблицы.Описание = Описание; + + Если СписокСокращенийИмен.НайтиПоЗначению(ИмяСокр) = Неопределено Тогда + + СписокСокращенийИмен.Добавить(ИмяСокр); + НоваяСтрокаТаблицы.ИмяСокр = ИмяСокр; + + КонецЕсли; НоваяСтрокаТаблицы.ЗначениеПоУмолчанию = ПолучитьЗначениеПараметраПоУмолчанию(Имя1С, Метод); + КонецЦикла; КонецПроцедуры @@ -737,6 +750,7 @@ Процедура ЗаписатьСозданиеПараметраСостава(СтрокаПараметра, ИмяМетода, Область, ОписаниеМетода = "") Имя = СтрокаПараметра["Имя"]; + ИмяСокр = СтрокаПараметра["ИмяСокр"]; Описание = СтрокаПараметра["Описание"]; Значение = СтрокаПараметра["ЗначениеПоУмолчанию"]; Библиотека = СоответствиеМодулейКоманд.Получить(ТекущийМодуль); @@ -748,13 +762,14 @@ ТекущийФайлСостава.ДобавитьСтроку(Символы.ПС); ТекущийФайлСостава.ДобавитьСтроку(" НоваяСтрока = ТаблицаСостава.Добавить();"); - ТекущийФайлСостава.ДобавитьСтроку(" НоваяСтрока.Библиотека = """ + Библиотека + """;"); - ТекущийФайлСостава.ДобавитьСтроку(" НоваяСтрока.Модуль = """ + ТекущийМодуль + """;"); - ТекущийФайлСостава.ДобавитьСтроку(" НоваяСтрока.Метод = """ + ИмяМетода + """;"); - ТекущийФайлСостава.ДобавитьСтроку(" НоваяСтрока.МетодПоиска = """ + вРег(ИмяМетода) + """;"); - ТекущийФайлСостава.ДобавитьСтроку(" НоваяСтрока.Параметр = """ + Имя + """;"); - ТекущийФайлСостава.ДобавитьСтроку(" НоваяСтрока.Описание = """ + Описание + """;"); - ТекущийФайлСостава.ДобавитьСтроку(" НоваяСтрока.Область = """ + Область + """;"); + ТекущийФайлСостава.ДобавитьСтроку(" НоваяСтрока.Библиотека = """ + Библиотека + """;"); + ТекущийФайлСостава.ДобавитьСтроку(" НоваяСтрока.Модуль = """ + ТекущийМодуль + """;"); + ТекущийФайлСостава.ДобавитьСтроку(" НоваяСтрока.Метод = """ + ИмяМетода + """;"); + ТекущийФайлСостава.ДобавитьСтроку(" НоваяСтрока.МетодПоиска = """ + вРег(ИмяМетода) + """;"); + ТекущийФайлСостава.ДобавитьСтроку(" НоваяСтрока.Параметр = """ + Имя + """;"); + ТекущийФайлСостава.ДобавитьСтроку(" НоваяСтрока.ПараметрСокр = """ + ИмяСокр + """;"); + ТекущийФайлСостава.ДобавитьСтроку(" НоваяСтрока.Описание = """ + Описание + """;"); + ТекущийФайлСостава.ДобавитьСтроку(" НоваяСтрока.Область = """ + Область + """;"); Если ЗначениеЗаполнено(ОписаниеМетода) Тогда ТекущийФайлСостава.ДобавитьСтроку(" НоваяСтрока.ОписаниеМетода = """ + ОписаниеМетода + """;"); diff --git a/src/ru/cli/core/Classes/app.os b/src/ru/cli/core/Classes/app.os index 0076a0c4ed..cbeefef470 100644 --- a/src/ru/cli/core/Classes/app.os +++ b/src/ru/cli/core/Classes/app.os @@ -167,16 +167,21 @@ Процедура ДобавитьПараметрыКоманды(Парсер, Команда); - Параметр_ = "Параметр"; + Поля = "Параметр,ПараметрСокр"; - ТаблицаДляИспользования = ТаблицаПараметров.Скопировать(, Параметр_); - ТаблицаДляИспользования.Свернуть(Параметр_); + ТаблицаДляИспользования = ТаблицаПараметров.Скопировать(, Поля); + ТаблицаДляИспользования.Свернуть(Поля); - МассивПараметров = ТаблицаДляИспользования.ВыгрузитьКолонку(Параметр_); + МассивПараметров = ТаблицаДляИспользования.ВыгрузитьКолонку("Параметр"); + МассивПараметровСокр = ТаблицаДляИспользования.ВыгрузитьКолонку("ПараметрСокр"); Для Каждого Параметр Из МассивПараметров Цикл Парсер.ДобавитьИменованныйПараметрКоманды(Команда, Параметр); КонецЦикла; + + Для Каждого Параметр Из МассивПараметровСокр Цикл + Парсер.ДобавитьИменованныйПараметрКоманды(Команда, Параметр); + КонецЦикла; КонецПроцедуры diff --git a/src/ru/cli/data/Classes/LibraryComposition.os b/src/ru/cli/data/Classes/LibraryComposition.os index cb79ce869e..e550eb80a7 100644 --- a/src/ru/cli/data/Classes/LibraryComposition.os +++ b/src/ru/cli/data/Classes/LibraryComposition.os @@ -152,7 +152,12 @@ Для Каждого НеобходимыйПараметр Из ПараметрыМетода Цикл ИмяПараметра = НеобходимыйПараметр.Параметр; + ИмяПараметраСокр = НеобходимыйПараметр.ПараметрСокр; + ЗначениеПараметра = ПереданныеПараметры.Получить(ИмяПараметра); + ЗначениеПараметра = ?(ЗначениеПараметра = Неопределено + , ПереданныеПараметры.Получить(ИмяПараметраСокр) + , ЗначениеПараметра); Если ЗначениеЗаполнено(ЗначениеПараметра) Тогда diff --git a/src/ru/cli/help/Classes/Help.os b/src/ru/cli/help/Classes/Help.os index 8d06f63cbc..c0b2b17fe8 100644 --- a/src/ru/cli/help/Classes/Help.os +++ b/src/ru/cli/help/Classes/Help.os @@ -209,6 +209,10 @@ МаксимальнаяДлина = 15; Для Каждого ПараметрМетода Из ТаблицаПараметров Цикл + + Если ЗначениеЗаполнено(ПараметрМетода["ПараметрСокр"]) Тогда + ПараметрМетода[Параметр_] = ПараметрМетода[Параметр_] + ", " + ПараметрМетода["ПараметрСокр"]; + КонецЕсли; Пока Не СтрДлина(ПараметрМетода[Параметр_]) = МаксимальнаяДлина Цикл ПараметрМетода[Параметр_] = ПараметрМетода[Параметр_] + " ";