From 34f4a16521f5664d59b42ec7c50b4dd1a111f0b5 Mon Sep 17 00:00:00 2001 From: AKuznetsov Date: Thu, 17 Oct 2019 13:25:39 +0300 Subject: [PATCH 01/12] =?UTF-8?q?Revert=20"fix:=20=D0=92=D0=BE=D0=B7=D0=B2?= =?UTF-8?q?=D1=80=D0=B0=D1=89=D0=B5=D0=BD=20=D0=B2=D0=B0=D1=80=D0=B8=D0=B0?= =?UTF-8?q?=D0=BD=D1=82=20=D1=87=D1=82=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BC?= =?UTF-8?q?=D0=B0=D0=BA=D0=B5=D1=82=D0=BE=D0=B2=20=D0=B8=D0=B7=20=D1=84?= =?UTF-8?q?=D0=B0=D0=B9=D0=BB=D0=BE=D0=B2,=20=D0=B1=D0=B5=D0=B7=20=D0=B8?= =?UTF-8?q?=D1=81=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=BC=D0=B5=D1=85=D0=B0=D0=BD=D0=B8=D0=B7=D0=BC?= =?UTF-8?q?=D0=B0=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F/=D0=BF=D0=BE=D0=BB=D1=83=D1=87=D0=B5=D0=BD=D0=B8=D1=8F?= =?UTF-8?q?=20=D0=BC=D0=B0=D0=BA=D0=B5=D1=82=D0=BE=D0=B2,=20=D1=82.=D0=BA.?= =?UTF-8?q?=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=20=D1=81=20=D0=BC=D0=B0?= =?UTF-8?q?=D0=BA=D0=B5=D1=82=D0=B0=D0=BC=D0=B8=20=D0=BD=D0=B5=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=B4=D0=B4=D0=B5=D1=80=D0=B6=D0=B8=D0=B2=D0=B0=D0=B5?= =?UTF-8?q?=D1=82=D1=81=D1=8F=20=D0=B2=20oscript.web."?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 6fc146c5791eb114b600342bb76d2a2246e217b1. --- .../package-loader.os" | 7 +++++ ...20\265\320\261\320\275\321\213\320\271.os" | 30 ++++--------------- 2 files changed, 12 insertions(+), 25 deletions(-) create mode 100644 "src/\320\234\320\260\320\272\320\265\321\202\321\213/package-loader.os" diff --git "a/src/\320\234\320\260\320\272\320\265\321\202\321\213/package-loader.os" "b/src/\320\234\320\260\320\272\320\265\321\202\321\213/package-loader.os" new file mode 100644 index 0000000..0624ddf --- /dev/null +++ "b/src/\320\234\320\260\320\272\320\265\321\202\321\213/package-loader.os" @@ -0,0 +1,7 @@ +Процедура ПриЗагрузкеБиблиотеки(Знач Путь, СтандартнаяОбработка, Отказ) + + СтандартнаяОбработка = Ложь; + ДобавитьМакет(ОбъединитьПути(Путь,"Перечисления.json"),"/Макеты/Перечисления"); + ДобавитьМакет(ОбъединитьПути(Путь,"ТипыОбъектовКластера.json"),"/Макеты/ТипыОбъектовКластера"); + +КонецПроцедуры \ No newline at end of file diff --git "a/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.os" "b/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.os" index 4c94dc3..79c0d27 100644 --- "a/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.os" +++ "b/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.os" @@ -14,8 +14,8 @@ #Использовать 1commands #Использовать v8runner #Использовать 1connector +#Использовать "../Макеты" -Перем ЭтоПриложениеEXE; Перем Лог; // Функция - читает указанный макет JSON и возвращает содержимое в виде структуры/массива @@ -28,17 +28,12 @@ // Функция ПрочитатьДанныеИзМакетаJSON(ИмяМакета) Экспорт - Если ЭтоСборкаEXE() Тогда - КаталогЗапуска = КаталогПрограммы(); - Иначе - КаталогЗапуска = ТекущийСценарий().Каталог; - КонецЕсли; - Чтение = Новый ЧтениеJSON(); - - Чтение.ОткрытьФайл(СтрШаблон("%1/../Макеты/%2.json", КаталогЗапуска, ИмяМакета), - КодировкаТекста.UTF8); + ПутьКМакету = ПолучитьМакет(СтрШаблон("/Макеты/%1", ИмяМакета)); + + Чтение.ОткрытьФайл(ПутьКМакету, КодировкаТекста.UTF8); + Возврат ПрочитатьJSON(Чтение, Ложь); КонецФункции // ПрочитатьДанныеИзМакетаJSON() @@ -345,21 +340,6 @@ КонецПроцедуры // ВывестиПоляОбъекта() -// Функция признак того, что выполняется скрипт, собранный в приложение -// -// Возвращаемое значение: -// Булево - Истина - выполняется скрипт, собранный в приложение -// -Функция ЭтоСборкаEXE() Экспорт - - Если ЭтоПриложениеEXE = Неопределено Тогда - ЭтоПриложениеEXE = ВРег(Прав(ТекущийСценарий().Источник, 3)) = "EXE"; - КонецЕсли; - - Возврат ЭтоПриложениеEXE; - -КонецФункции // ЭтоСборкаEXE() - // Функция возвращает лог библиотеки // // Возвращаемое значение: From 07fae4d3add2fe316df3766c663614cdfb03deff Mon Sep 17 00:00:00 2001 From: AKuznetsov Date: Thu, 17 Oct 2019 15:14:51 +0300 Subject: [PATCH 02/12] =?UTF-8?q?feat:=20=D0=94=D0=BB=D1=8F=20=D0=BC=D0=B5?= =?UTF-8?q?=D1=82=D0=BE=D0=B4=D0=BE=D0=B2=20=D0=BF=D0=BE=D0=BB=D1=83=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F=20=D1=81=D0=BF=D0=B8=D1=81=D0=BA=D0=BE?= =?UTF-8?q?=D0=B2=20=D0=BE=D0=B1=D1=8A=D0=B5=D0=BA=D1=82=D0=BE=D0=B2=20?= =?UTF-8?q?=D1=80=D0=B5=D0=B0=D0=BB=D0=B8=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD?= =?UTF-8?q?=D0=B0=20=D0=B2=D0=BE=D0=B7=D0=BC=D0=BE=D0=B6=D0=BD=D0=BE=D1=81?= =?UTF-8?q?=D1=82=D1=8C=20=D1=83=D0=BA=D0=B0=D0=B7=D0=B0=D0=BD=D0=B8=D1=8F?= =?UTF-8?q?=20=D0=B8=D0=BC=D0=B5=D0=BD=D0=B8=20=D0=BF=D0=BE=D0=BB=D1=8F,?= =?UTF-8?q?=20=D0=B7=D0=BD=D0=B0=D1=87=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BA?= =?UTF-8?q?=D0=BE=D1=82=D0=BE=D1=80=D0=BE=D0=B3=D0=BE=20=D0=B1=D1=83=D0=B4?= =?UTF-8?q?=D0=B5=D1=82=20=D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=BE=20=D0=B2=20=D0=BA=D0=B0=D1=87=D0=B5?= =?UTF-8?q?=D1=81=D1=82=D0=B2=D0=B5=20=D0=BA=D0=BB=D1=8E=D1=87=D0=B0,=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B8=20=D0=BF=D1=80=D0=B5=D0=BE=D0=B1=D1=80=D0=B0?= =?UTF-8?q?=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B8=20=D1=8D=D0=BB=D0=B5?= =?UTF-8?q?=D0=BC=D0=B5=D0=BD=D1=82=D0=B0=20=D1=81=D0=BF=D0=B8=D1=81=D0=BA?= =?UTF-8?q?=D0=B0=20=D0=B2=20=D1=81=D0=BE=D0=BE=D1=82=D0=B2=D0=B5=D1=82?= =?UTF-8?q?=D1=81=D1=82=D0=B2=D0=B8=D0=B5=20("=D0=98=D0=BC=D1=8F"=20=D0=B8?= =?UTF-8?q?=D0=BB=D0=B8=20"=D0=98=D0=BC=D1=8F=D0=A0=D0=90=D0=9A").?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\263\320\265\320\275\321\202\320\260.os" | 16 +++-- ...21\201\321\202\320\265\321\200\320\260.os" | 16 +++-- ...21\200\320\276\320\262\320\272\320\270.os" | 20 ++++-- ...20\265\320\221\320\260\320\267\321\213.os" | 20 ++++-- ...21\201\321\202\320\265\321\200\321\213.os" | 20 ++++-- ...21\201\321\202\320\265\321\200\320\260.os" | 12 +++- ...20\275\320\276\321\201\321\202\320\270.os" | 12 +++- ...21\201\321\202\320\265\321\200\320\260.os" | 66 +++++++++++++++---- ...20\276\321\204\320\270\320\273\321\217.os" | 12 +++- ...21\203\321\200\321\201\320\276\320\262.os" | 18 +++-- ...20\275\320\276\321\201\321\202\320\270.os" | 12 +++- ...21\206\320\265\321\201\321\201\321\213.os" | 12 +++- ...20\265\320\260\320\275\321\201\321\213.os" | 16 +++-- ...21\201\321\202\320\265\321\200\320\260.os" | 12 +++- ...21\200\320\262\320\270\321\201\321\213.os" | 12 +++- ...20\275\320\265\320\275\320\270\321\217.os" | 12 +++- ...21\203\321\200\321\201\320\276\320\262.os" | 12 +++- ...20\265\320\261\320\275\321\213\320\271.os" | 13 ++-- tests/irac-test.os | 2 +- 19 files changed, 246 insertions(+), 69 deletions(-) diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\321\213\320\220\320\263\320\265\320\275\321\202\320\260.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\321\213\320\220\320\263\320\265\320\275\321\202\320\260.os" index e70996e..1622cd4 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\321\213\320\220\320\263\320\265\320\275\321\202\320\260.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\321\213\320\220\320\263\320\265\320\275\321\202\320\260.os" @@ -95,7 +95,11 @@ // Параметры: // Отбор - Структура - Структура отбора администраторов (<поле>:<значение>) // ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) -// ЭлементыКакСоответствия - Булево - Истина - элементы результата будут преобразованы в соответствия +// ЭлементыКакСоответствия - Булево, - Истина - элементы результата будут преобразованы в соответствия +// Строка с именами свойств в качестве ключей +// <Имя поля> - элементы результата будут преобразованы в соответствия +// со значением указанного поля в качестве ключей ("Имя"|"ИмяРАК") +// Ложь - (по умолчанию) элементы будут возвращены как есть // // Возвращаемое значение: // Массив - список администраторов агента кластера 1С @@ -111,9 +115,13 @@ // Функция возвращает список администраторов агента кластеров 1С // // Параметры: -// ПоляИерархии - Строка - Поля для построения иерархии списка администраторов, разделенные "," -// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) -// ЭлементыКакСоответствия - Булево - Истина - элементы результата будут преобразованы в соответствия +// ПоляИерархии - Строка - Поля для построения иерархии списка администраторов, разделенные "," +// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) +// ЭлементыКакСоответствия - Булево, - Истина - элементы результата будут преобразованы в соответствия +// Строка с именами свойств в качестве ключей +// <Имя поля> - элементы результата будут преобразованы в соответствия +// со значением указанного поля в качестве ключей ("Имя"|"ИмяРАК") +// Ложь - (по умолчанию) элементы будут возвращены как есть // // Возвращаемое значение: // Соответствие - список администраторов агента кластеров 1С diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\321\213\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\321\213\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os" index 234b326..470de58 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\321\213\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\321\213\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os" @@ -97,9 +97,13 @@ // Функция возвращает список администраторов кластера // // Параметры: -// Отбор - Структура - Структура отбора администраторов (<поле>:<значение>) -// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) -// ЭлементыКакСоответствия - Булево - Истина - элементы результата будут преобразованы в соответствия +// Отбор - Структура - Структура отбора администраторов (<поле>:<значение>) +// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) +// ЭлементыКакСоответствия - Булево, - Истина - элементы результата будут преобразованы в соответствия +// Строка с именами свойств в качестве ключей +// <Имя поля> - элементы результата будут преобразованы в соответствия +// со значением указанного поля в качестве ключей ("Имя"|"ИмяРАК") +// Ложь - (по умолчанию) элементы будут возвращены как есть // // Возвращаемое значение: // Массив - список администраторов кластера 1С @@ -117,7 +121,11 @@ // Параметры: // ПоляИерархии - Строка - Поля для построения иерархии списка администраторов, разделенные "," // ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) -// ЭлементыКакСоответствия - Булево - Истина - элементы результата будут преобразованы в соответствия +// ЭлементыКакСоответствия - Булево, - Истина - элементы результата будут преобразованы в соответствия +// Строка с именами свойств в качестве ключей +// <Имя поля> - элементы результата будут преобразованы в соответствия +// со значением указанного поля в качестве ключей ("Имя"|"ИмяРАК") +// Ложь - (по умолчанию) элементы будут возвращены как есть // // Возвращаемое значение: // Соответствие - список администраторов кластеров 1С diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\273\320\276\320\272\320\270\321\200\320\276\320\262\320\272\320\270.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\273\320\276\320\272\320\270\321\200\320\276\320\262\320\272\320\270.os" index 4c3666c..b209672 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\273\320\276\320\272\320\270\321\200\320\276\320\262\320\272\320\270.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\273\320\276\320\272\320\270\321\200\320\276\320\262\320\272\320\270.os" @@ -119,9 +119,13 @@ // Функция возвращает список блокировок // // Параметры: -// Отбор - Структура - Структура отбора блокировок (<поле>:<значение>) -// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) -// ЭлементыКакСоответствия - Булево - Истина - элементы результата будут преобразованы в соответствия +// Отбор - Структура - Структура отбора блокировок (<поле>:<значение>) +// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) +// ЭлементыКакСоответствия - Булево, - Истина - элементы результата будут преобразованы в соответствия +// Строка с именами свойств в качестве ключей +// <Имя поля> - элементы результата будут преобразованы в соответствия +// со значением указанного поля в качестве ключей ("Имя"|"ИмяРАК") +// Ложь - (по умолчанию) элементы будут возвращены как есть // // Возвращаемое значение: // Массив - список блокировок @@ -137,9 +141,13 @@ // Функция возвращает список блокировок // // Параметры: -// ПоляИерархии - Строка - Поля для построения иерархии списка блокировок, разделенные "," -// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) -// ЭлементыКакСоответствия - Булево - Истина - элементы результата будут преобразованы в соответствия +// ПоляИерархии - Строка - Поля для построения иерархии списка блокировок, разделенные "," +// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) +// ЭлементыКакСоответствия - Булево, - Истина - элементы результата будут преобразованы в соответствия +// Строка с именами свойств в качестве ключей +// <Имя поля> - элементы результата будут преобразованы в соответствия +// со значением указанного поля в качестве ключей ("Имя"|"ИмяРАК") +// Ложь - (по умолчанию) элементы будут возвращены как есть // // Возвращаемое значение: // Соответствие - список блокировок diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\221\320\260\320\267\321\213.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\221\320\260\320\267\321\213.os" index 5cfcaaf..fdfb1f5 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\221\320\260\320\267\321\213.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\221\320\260\320\267\321\213.os" @@ -93,9 +93,13 @@ // Функция возвращает список информационных баз // // Параметры: -// Отбор - Структура - Структура отбора информационных баз (<поле>:<значение>) -// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) -// ЭлементыКакСоответствия - Булево - Истина - элементы результата будут преобразованы в соответствия +// Отбор - Структура - Структура отбора информационных баз (<поле>:<значение>) +// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) +// ЭлементыКакСоответствия - Булево, - Истина - элементы результата будут преобразованы в соответствия +// Строка с именами свойств в качестве ключей +// <Имя поля> - элементы результата будут преобразованы в соответствия +// со значением указанного поля в качестве ключей ("Имя"|"ИмяРАК") +// Ложь - (по умолчанию) элементы будут возвращены как есть // // Возвращаемое значение: // Массив - список информационных баз @@ -111,9 +115,13 @@ // Функция возвращает список информационных баз // // Параметры: -// ПоляИерархии - Строка - Поля для построения иерархии списка информационных баз, разделенные "," -// ОбновитьПринудительно - Булево - Истина - обновить список (вызов RAC) -// ЭлементыКакСоответствия - Булево - Истина - элементы результата будут преобразованы в соответствия +// ПоляИерархии - Строка - Поля для построения иерархии списка информационных баз, разделенные "," +// ОбновитьПринудительно - Булево - Истина - обновить список (вызов RAC) +// ЭлементыКакСоответствия - Булево, - Истина - элементы результата будут преобразованы в соответствия +// Строка с именами свойств в качестве ключей +// <Имя поля> - элементы результата будут преобразованы в соответствия +// со значением указанного поля в качестве ключей ("Имя"|"ИмяРАК") +// Ложь - (по умолчанию) элементы будут возвращены как есть // // Возвращаемое значение: // Соответствие - список информационных баз diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\273\320\260\321\201\321\202\320\265\321\200\321\213.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\273\320\260\321\201\321\202\320\265\321\200\321\213.os" index 3fe97cf..52ccd9d 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\273\320\260\321\201\321\202\320\265\321\200\321\213.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\273\320\260\321\201\321\202\320\265\321\200\321\213.os" @@ -82,9 +82,13 @@ // Функция возвращает список кластеров 1С // // Параметры: -// Отбор - Структура - Структура отбора кластеров (<поле>:<значение>) -// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) -// ЭлементыКакСоответствия - Булево - Истина - элементы результата будут преобразованы в соответствия +// Отбор - Структура - Структура отбора кластеров (<поле>:<значение>) +// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) +// ЭлементыКакСоответствия - Булево, - Истина - элементы результата будут преобразованы в соответствия +// Строка с именами свойств в качестве ключей +// <Имя поля> - элементы результата будут преобразованы в соответствия +// со значением указанного поля в качестве ключей ("Имя"|"ИмяРАК") +// Ложь - (по умолчанию) элементы будут возвращены как есть // // Возвращаемое значение: // Массив - список кластеров 1С @@ -100,9 +104,13 @@ // Функция возвращает иерархический список кластеров 1С // // Параметры: -// ПоляИерархии - Строка - Поля для построения иерархии списка кластеров, разделенные "," -// ОбновитьПринудительно - Булево - Истина - обновить список (вызов RAC) -// ЭлементыКакСоответствия - Булево - Истина - элементы результата будут преобразованы в соответствия +// ПоляИерархии - Строка - Поля для построения иерархии списка кластеров, разделенные "," +// ОбновитьПринудительно - Булево - Истина - обновить список (вызов RAC) +// ЭлементыКакСоответствия - Булево, - Истина - элементы результата будут преобразованы в соответствия +// Строка с именами свойств в качестве ключей +// <Имя поля> - элементы результата будут преобразованы в соответствия +// со значением указанного поля в качестве ключей ("Имя"|"ИмяРАК") +// Ложь - (по умолчанию) элементы будут возвращены как есть // // Возвращаемое значение: // Соответствие - список кластеров 1С diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\321\213\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\321\213\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os" index 06ca991..3148987 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\321\213\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\321\213\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os" @@ -95,7 +95,11 @@ // Параметры: // Отбор - Структура - Структура отбора менеджеров (<поле>:<значение>) // ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) -// ЭлементыКакСоответствия - Булево - Истина - элементы результата будут преобразованы в соответствия +// ЭлементыКакСоответствия - Булево, - Истина - элементы результата будут преобразованы в соответствия +// Строка с именами свойств в качестве ключей +// <Имя поля> - элементы результата будут преобразованы в соответствия +// со значением указанного поля в качестве ключей ("Имя"|"ИмяРАК") +// Ложь - (по умолчанию) элементы будут возвращены как есть // // Возвращаемое значение: // Массив - список менеджеров кластера 1С @@ -113,7 +117,11 @@ // Параметры: // ПоляИерархии - Строка - Поля для построения иерархии списка менеджеров, разделенные "," // ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) -// ЭлементыКакСоответствия - Булево - Истина - элементы результата будут преобразованы в соответствия +// ЭлементыКакСоответствия - Булево, - Истина - элементы результата будут преобразованы в соответствия +// Строка с именами свойств в качестве ключей +// <Имя поля> - элементы результата будут преобразованы в соответствия +// со значением указанного поля в качестве ключей ("Имя"|"ИмяРАК") +// Ложь - (по умолчанию) элементы будут возвращены как есть // // Возвращаемое значение: // Соответствие - список менеджеров кластера 1С diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\276\321\201\321\202\320\270.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\276\321\201\321\202\320\270.os" index 7df66f1..e56d3c6 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\276\321\201\321\202\320\270.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\276\321\201\321\202\320\270.os" @@ -104,7 +104,11 @@ // Отбор - Структура - Структура отбора требований // назначения функциональности (<поле>:<значение>) // ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) -// ЭлементыКакСоответствия - Булево - Истина - элементы результата будут преобразованы в соответствия +// ЭлементыКакСоответствия - Булево, - Истина - элементы результата будут преобразованы в соответствия +// Строка с именами свойств в качестве ключей +// <Имя поля> - элементы результата будут преобразованы в соответствия +// со значением указанного поля в качестве ключей ("Имя"|"ИмяРАК") +// Ложь - (по умолчанию) элементы будут возвращены как есть // // Возвращаемое значение: // Массив - список требований назначения функциональности сервера 1С @@ -123,7 +127,11 @@ // ПоляИерархии - Строка - Поля для построения иерархии списка требований // назначения функциональности, разделенные "," // ОбновитьПринудительно - Булево - Истина - обновить список (вызов RAC) -// ЭлементыКакСоответствия - Булево - Истина - элементы результата будут преобразованы в соответствия +// ЭлементыКакСоответствия - Булево, - Истина - элементы результата будут преобразованы в соответствия +// Строка с именами свойств в качестве ключей +// <Имя поля> - элементы результата будут преобразованы в соответствия +// со значением указанного поля в качестве ключей ("Имя"|"ИмяРАК") +// Ложь - (по умолчанию) элементы будут возвращены как есть // // Возвращаемое значение: // Соответствие - список требований назначения функциональности сервера 1С diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\261\321\212\320\265\320\272\321\202\321\213\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\261\321\212\320\265\320\272\321\202\321\213\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os" index dd0ece8..5083b71 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\261\321\212\320\265\320\272\321\202\321\213\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\261\321\212\320\265\320\272\321\202\321\213\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os" @@ -84,21 +84,31 @@ // Функция возвращает список объектов кластера // // Параметры: -// Отбор - Структура - Структура отбора объектов (<поле>:<значение>) -// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) -// ЭлементыКакСоответствия - Булево - Истина - элементы результата будут преобразованы в соответствия +// Отбор - Структура - Структура отбора объектов (<поле>:<значение>) +// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) +// ЭлементыКакСоответствия - Булево, - Истина - элементы результата будут преобразованы в соответствия +// Строка с именами свойств в качестве ключей +// <Имя поля> - элементы результата будут преобразованы в соответствия +// со значением указанного поля в качестве ключей ("Имя"|"ИмяРАК") +// Ложь - (по умолчанию) элементы будут возвращены как есть // // Возвращаемое значение: // Массив - список объектов кластера 1С // -Функция Список(Отбор = Неопределено, ОбновитьПринудительно = Ложь, ЭлементыКакСоответствия = Ложь) Экспорт +Функция Список(Знач Отбор = Неопределено + , Знач ОбновитьПринудительно = Ложь + , Знач ЭлементыКакСоответствия = Ложь) Экспорт Владелец.ОбновитьДанные(ОбновитьПринудительно); Результат = Служебный.ПолучитьЭлементыИзМассиваСоответствий(Элементы, Отбор); Если ЭлементыКакСоответствия Тогда - ПоляЭлемента = Владелец.ПараметрыОбъекта(); + ЭлементыКакСоответствия = "Имя"; + КонецЕсли; + + Если ТипЗнч(ЭлементыКакСоответствия) = Тип("Строка") Тогда + ПоляЭлемента = Владелец.ПараметрыОбъекта(ЭлементыКакСоответствия); Результат = Служебный.МассивОбъектовВМассивСоответствий(Результат, ПоляЭлемента); КонецЕсли; @@ -109,22 +119,56 @@ // Функция возвращает список объектов кластера // // Параметры: -// ПоляИерархии - Строка - Поля для построения иерархии списка объектов, разделенные "," -// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) -// ЭлементыКакСоответствия - Булево - Истина - элементы результата будут преобразованы в соответствия +// ПоляИерархии - Строка, - имена полей для построения иерархии списка объектов, +// Массив разделенные "," или массив имен полей +// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) +// ЭлементыКакСоответствия - Булево, - Истина - элементы результата будут преобразованы в соответствия +// Строка с именами свойств в качестве ключей +// <Имя поля> - элементы результата будут преобразованы в соответствия +// со значением указанного поля в качестве ключей ("Имя"|"ИмяРАК") +// Ложь - (по умолчанию) элементы будут возвращены как есть // // Возвращаемое значение: // Соответствие - список объектов кластера 1С // <имя поля объекта> - Массив(Соответствие), Соответствие - список объектов кластера или следующий уровень // -Функция ИерархическийСписок(Знач ПоляИерархии, ОбновитьПринудительно = Ложь, ЭлементыКакСоответствия = Ложь) Экспорт +Функция ИерархическийСписок(Знач ПоляИерархии + , Знач ОбновитьПринудительно = Ложь + , Знач ЭлементыКакСоответствия = Ложь) Экспорт Владелец.ОбновитьДанные(ОбновитьПринудительно); ЭлементыДляОбработки = Элементы; + + ИменаПолейКлюча = Новый Массив(); + ИменаПолейКлюча.Добавить("Имя"); + ИменаПолейКлюча.Добавить("ИмяРАК"); + + Если ТипЗнч(ЭлементыКакСоответствия) = Тип("Строка") Тогда + Если ИменаПолейКлюча[1] = ЭлементыКакСоответствия Тогда + ИменаПолейКлюча[1] = ИменаПолейКлюча[0]; + ИменаПолейКлюча[0] = ЭлементыКакСоответствия; + КонецЕсли; + ЭлементыКакСоответствия = Истина; + КонецЕсли; + + ПоляЭлемента0 = Владелец.ПараметрыОбъекта(ИменаПолейКлюча[0]); + ПоляЭлемента1 = Владелец.ПараметрыОбъекта(ИменаПолейКлюча[1]); + + Если ТипЗнч(ПоляИерархии) = Тип("Строка") Тогда + ПоляИерархии = СтрРазделить(ПоляИерархии, ",", Ложь); + КонецЕсли; + + Для й = 0 По ПоляИерархии.ВГраница() Цикл + ОписаниеПоля = ПоляЭлемента0.Получить(ПоляИерархии[й]); + Если ОписаниеПоля = Неопределено Тогда + ОписаниеПоля = ПоляЭлемента1.Получить(ПоляИерархии[й]); + КонецЕсли; + ПоляИерархии[й] = ОписаниеПоля[ИменаПолейКлюча[0]]; + КонецЦикла; + Если ЭлементыКакСоответствия Тогда - ПоляЭлемента = Владелец.ПараметрыОбъекта(); - ЭлементыДляОбработки = Служебный.МассивОбъектовВМассивСоответствий(Элементы, ПоляЭлемента); + ЭлементыДляОбработки = Служебный.МассивОбъектовВМассивСоответствий(Элементы, ПоляЭлемента0); КонецЕсли; Результат = Служебный.ИерархическоеПредставлениеМассиваСоответствий(ЭлементыДляОбработки, ПоляИерархии); diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\261\321\212\320\265\320\272\321\202\321\213\320\237\321\200\320\276\321\204\320\270\320\273\321\217.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\261\321\212\320\265\320\272\321\202\321\213\320\237\321\200\320\276\321\204\320\270\320\273\321\217.os" index f047808..c9cd736 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\261\321\212\320\265\320\272\321\202\321\213\320\237\321\200\320\276\321\204\320\270\320\273\321\217.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\261\321\212\320\265\320\272\321\202\321\213\320\237\321\200\320\276\321\204\320\270\320\273\321\217.os" @@ -117,7 +117,11 @@ // Параметры: // Отбор - Структура - Структура отбора объектов (<поле>:<значение>) // ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) -// ЭлементыКакСоответствия - Булево - Истина - элементы результата будут преобразованы в соответствия +// ЭлементыКакСоответствия - Булево, - Истина - элементы результата будут преобразованы в соответствия +// Строка с именами свойств в качестве ключей +// <Имя поля> - элементы результата будут преобразованы в соответствия +// со значением указанного поля в качестве ключей ("Имя"|"ИмяРАК") +// Ложь - (по умолчанию) элементы будут возвращены как есть // // Возвращаемое значение: // Массив - список объектов кластера 1С @@ -135,7 +139,11 @@ // Параметры: // ПоляИерархии - Строка - Поля для построения иерархии списка объектов, разделенные "," // ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) -// ЭлементыКакСоответствия - Булево - Истина - элементы результата будут преобразованы в соответствия +// ЭлементыКакСоответствия - Булево, - Истина - элементы результата будут преобразованы в соответствия +// Строка с именами свойств в качестве ключей +// <Имя поля> - элементы результата будут преобразованы в соответствия +// со значением указанного поля в качестве ключей ("Имя"|"ИмяРАК") +// Ложь - (по умолчанию) элементы будут возвращены как есть // // Возвращаемое значение: // Соответствие - список объектов кластера 1С diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\263\321\200\320\260\320\275\320\270\321\207\320\265\320\275\320\270\321\217\320\240\320\265\321\201\321\203\321\200\321\201\320\276\320\262.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\263\321\200\320\260\320\275\320\270\321\207\320\265\320\275\320\270\321\217\320\240\320\265\321\201\321\203\321\200\321\201\320\276\320\262.os" index 835df10..585a621 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\263\321\200\320\260\320\275\320\270\321\207\320\265\320\275\320\270\321\217\320\240\320\265\321\201\321\203\321\200\321\201\320\276\320\262.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\263\321\200\320\260\320\275\320\270\321\207\320\265\320\275\320\270\321\217\320\240\320\265\321\201\321\203\321\200\321\201\320\276\320\262.os" @@ -95,7 +95,11 @@ // Параметры: // Отбор - Структура - Структура отбора ограничений потребления ресурсов (<поле>:<значение>) // ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) -// ЭлементыКакСоответствия - Булево - Истина - элементы результата будут преобразованы в соответствия +// ЭлементыКакСоответствия - Булево, - Истина - элементы результата будут преобразованы в соответствия +// Строка с именами свойств в качестве ключей +// <Имя поля> - элементы результата будут преобразованы в соответствия +// со значением указанного поля в качестве ключей ("Имя"|"ИмяРАК") +// Ложь - (по умолчанию) элементы будут возвращены как есть // // Возвращаемое значение: // Массив - список ограничений потребления ресурсов кластера 1С @@ -111,10 +115,14 @@ // Функция возвращает ограничений потребления ресурсов кластера 1С // // Параметры: -// ПоляИерархии - Строка - Поля для построения иерархии списка ограничений потребления ресурсов, -// разделенные "," -// ОбновитьПринудительно - Булево - Истина - обновить список (вызов RAC) -// ЭлементыКакСоответствия - Булево - Истина - элементы результата будут преобразованы в соответствия +// ПоляИерархии - Строка - Поля для построения иерархии списка ограничений потребления ресурсов, +// разделенные "," +// ОбновитьПринудительно - Булево - Истина - обновить список (вызов RAC) +// ЭлементыКакСоответствия - Булево, - Истина - элементы результата будут преобразованы в соответствия +// Строка с именами свойств в качестве ключей +// <Имя поля> - элементы результата будут преобразованы в соответствия +// со значением указанного поля в качестве ключей ("Имя"|"ИмяРАК") +// Ложь - (по умолчанию) элементы будут возвращены как есть // // Возвращаемое значение: // Соответствие - список ограничений потребления ресурсов кластера 1С diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\321\200\320\276\321\204\320\270\320\273\320\270\320\221\320\265\320\267\320\276\320\277\320\260\321\201\320\275\320\276\321\201\321\202\320\270.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\321\200\320\276\321\204\320\270\320\273\320\270\320\221\320\265\320\267\320\276\320\277\320\260\321\201\320\275\320\276\321\201\321\202\320\270.os" index d7d66a7..cd5495e 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\321\200\320\276\321\204\320\270\320\273\320\270\320\221\320\265\320\267\320\276\320\277\320\260\321\201\320\275\320\276\321\201\321\202\320\270.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\321\200\320\276\321\204\320\270\320\273\320\270\320\221\320\265\320\267\320\276\320\277\320\260\321\201\320\275\320\276\321\201\321\202\320\270.os" @@ -95,7 +95,11 @@ // Параметры: // Отбор - Структура - Структура отбора профилей безопасности (<поле>:<значение>) // ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) -// ЭлементыКакСоответствия - Булево - Истина - элементы результата будут преобразованы в соответствия +// ЭлементыКакСоответствия - Булево, - Истина - элементы результата будут преобразованы в соответствия +// Строка с именами свойств в качестве ключей +// <Имя поля> - элементы результата будут преобразованы в соответствия +// со значением указанного поля в качестве ключей ("Имя"|"ИмяРАК") +// Ложь - (по умолчанию) элементы будут возвращены как есть // // Возвращаемое значение: // Массив - список профилей безопасности кластера 1С @@ -114,7 +118,11 @@ // ПоляИерархии - Строка - Поля для построения иерархии списка профилей безопасности, // разделенные "," // ОбновитьПринудительно - Булево - Истина - обновить список (вызов RAC) -// ЭлементыКакСоответствия - Булево - Истина - элементы результата будут преобразованы в соответствия +// ЭлементыКакСоответствия - Булево, - Истина - элементы результата будут преобразованы в соответствия +// Строка с именами свойств в качестве ключей +// <Имя поля> - элементы результата будут преобразованы в соответствия +// со значением указанного поля в качестве ключей ("Имя"|"ИмяРАК") +// Ложь - (по умолчанию) элементы будут возвращены как есть // // Возвращаемое значение: // Соответствие - список профилей безопасности кластера 1С diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\240\320\260\320\261\320\276\321\207\320\270\320\265\320\237\321\200\320\276\321\206\320\265\321\201\321\201\321\213.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\240\320\260\320\261\320\276\321\207\320\270\320\265\320\237\321\200\320\276\321\206\320\265\321\201\321\201\321\213.os" index bf0ea4d..349bed6 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\240\320\260\320\261\320\276\321\207\320\270\320\265\320\237\321\200\320\276\321\206\320\265\321\201\321\201\321\213.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\240\320\260\320\261\320\276\321\207\320\270\320\265\320\237\321\200\320\276\321\206\320\265\321\201\321\201\321\213.os" @@ -139,7 +139,11 @@ // Параметры: // Отбор - Структура - Структура отбора процессов (<поле>:<значение>) // ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) -// ЭлементыКакСоответствия - Булево - Истина - элементы результата будут преобразованы в соответствия +// ЭлементыКакСоответствия - Булево, - Истина - элементы результата будут преобразованы в соответствия +// Строка с именами свойств в качестве ключей +// <Имя поля> - элементы результата будут преобразованы в соответствия +// со значением указанного поля в качестве ключей ("Имя"|"ИмяРАК") +// Ложь - (по умолчанию) элементы будут возвращены как есть // // Возвращаемое значение: // Массив - список рабочих процессов 1С @@ -157,7 +161,11 @@ // Параметры: // ПоляИерархии - Строка - Поля для построения иерархии списка процессов, разделенные "," // ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) -// ЭлементыКакСоответствия - Булево - Истина - элементы результата будут преобразованы в соответствия +// ЭлементыКакСоответствия - Булево, - Истина - элементы результата будут преобразованы в соответствия +// Строка с именами свойств в качестве ключей +// <Имя поля> - элементы результата будут преобразованы в соответствия +// со значением указанного поля в качестве ключей ("Имя"|"ИмяРАК") +// Ложь - (по умолчанию) элементы будут возвращены как есть // // Возвращаемое значение: // Соответствие - список рабочих процессов кластера 1С diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\265\320\260\320\275\321\201\321\213.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\265\320\260\320\275\321\201\321\213.os" index ec46adc..5eef76e 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\265\320\260\320\275\321\201\321\213.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\265\320\260\320\275\321\201\321\213.os" @@ -150,7 +150,11 @@ // Параметры: // Отбор - Структура - Структура отбора сеансов (<поле>:<значение>) // ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) -// ЭлементыКакСоответствия - Булево - Истина - элементы результата будут преобразованы в соответствия +// ЭлементыКакСоответствия - Булево, - Истина - элементы результата будут преобразованы в соответствия +// Строка с именами свойств в качестве ключей +// <Имя поля> - элементы результата будут преобразованы в соответствия +// со значением указанного поля в качестве ключей ("Имя"|"ИмяРАК") +// Ложь - (по умолчанию) элементы будут возвращены как есть // // Возвращаемое значение: // Массив - список сеансов @@ -166,9 +170,13 @@ // Функция возвращает список сеансов // // Параметры: -// ПоляИерархии - Строка - Поля для построения иерархии списка сеансов, разделенные "," -// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) -// ЭлементыКакСоответствия - Булево - Истина - элементы результата будут преобразованы в соответствия +// ПоляИерархии - Строка - Поля для построения иерархии списка сеансов, разделенные "," +// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) +// ЭлементыКакСоответствия - Булево, - Истина - элементы результата будут преобразованы в соответствия +// Строка с именами свойств в качестве ключей +// <Имя поля> - элементы результата будут преобразованы в соответствия +// со значением указанного поля в качестве ключей ("Имя"|"ИмяРАК") +// Ложь - (по умолчанию) элементы будут возвращены как есть // // Возвращаемое значение: // Соответствие - список сеансов diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\265\321\200\320\262\320\265\321\200\321\213\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\265\321\200\320\262\320\265\321\200\321\213\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os" index 2887af8..2aa588d 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\265\321\200\320\262\320\265\321\200\321\213\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\265\321\200\320\262\320\265\321\200\321\213\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os" @@ -95,7 +95,11 @@ // Параметры: // Отбор - Структура - Структура отбора серверов (<поле>:<значение>) // ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) -// ЭлементыКакСоответствия - Булево - Истина - элементы результата будут преобразованы в соответствия +// ЭлементыКакСоответствия - Булево, - Истина - элементы результата будут преобразованы в соответствия +// Строка с именами свойств в качестве ключей +// <Имя поля> - элементы результата будут преобразованы в соответствия +// со значением указанного поля в качестве ключей ("Имя"|"ИмяРАК") +// Ложь - (по умолчанию) элементы будут возвращены как есть // // Возвращаемое значение: // Массив - список серверов кластера 1С @@ -113,7 +117,11 @@ // Параметры: // ПоляИерархии - Строка - Поля для построения иерархии списка серверов, разделенные "," // ОбновитьПринудительно - Булево - Истина - обновить список (вызов RAC) -// ЭлементыКакСоответствия - Булево - Истина - элементы результата будут преобразованы в соответствия +// ЭлементыКакСоответствия - Булево, - Истина - элементы результата будут преобразованы в соответствия +// Строка с именами свойств в качестве ключей +// <Имя поля> - элементы результата будут преобразованы в соответствия +// со значением указанного поля в качестве ключей ("Имя"|"ИмяРАК") +// Ложь - (по умолчанию) элементы будут возвращены как есть // // Возвращаемое значение: // Соответствие - список серверов кластера 1С diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\265\321\200\320\262\320\270\321\201\321\213.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\265\321\200\320\262\320\270\321\201\321\213.os" index 31a4fbd..ddd3012 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\265\321\200\320\262\320\270\321\201\321\213.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\265\321\200\320\262\320\270\321\201\321\213.os" @@ -98,7 +98,11 @@ // Параметры: // Отбор - Структура - Структура отбора сервисов (<поле>:<значение>) // ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) -// ЭлементыКакСоответствия - Булево - Истина - элементы результата будут преобразованы в соответствия +// ЭлементыКакСоответствия - Булево, - Истина - элементы результата будут преобразованы в соответствия +// Строка с именами свойств в качестве ключей +// <Имя поля> - элементы результата будут преобразованы в соответствия +// со значением указанного поля в качестве ключей ("Имя"|"ИмяРАК") +// Ложь - (по умолчанию) элементы будут возвращены как есть // // Возвращаемое значение: // Массив - список сервисов 1С @@ -116,7 +120,11 @@ // Параметры: // ПоляИерархии - Строка - Поля для построения иерархии списка сервисов, разделенные "," // ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) -// ЭлементыКакСоответствия - Булево - Истина - элементы результата будут преобразованы в соответствия +// ЭлементыКакСоответствия - Булево, - Истина - элементы результата будут преобразованы в соответствия +// Строка с именами свойств в качестве ключей +// <Имя поля> - элементы результата будут преобразованы в соответствия +// со значением указанного поля в качестве ключей ("Имя"|"ИмяРАК") +// Ложь - (по умолчанию) элементы будут возвращены как есть // // Возвращаемое значение: // Соответствие - список сервисов кластера 1С diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\276\320\265\320\264\320\270\320\275\320\265\320\275\320\270\321\217.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\276\320\265\320\264\320\270\320\275\320\265\320\275\320\270\321\217.os" index c6e2d0a..96146f3 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\276\320\265\320\264\320\270\320\275\320\265\320\275\320\270\321\217.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\276\320\265\320\264\320\270\320\275\320\265\320\275\320\270\321\217.os" @@ -114,7 +114,11 @@ // Параметры: // Отбор - Структура - Структура отбора соединений (<поле>:<значение>) // ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) -// ЭлементыКакСоответствия - Булево - Истина - элементы результата будут преобразованы в соответствия +// ЭлементыКакСоответствия - Булево, - Истина - элементы результата будут преобразованы в соответствия +// Строка с именами свойств в качестве ключей +// <Имя поля> - элементы результата будут преобразованы в соответствия +// со значением указанного поля в качестве ключей ("Имя"|"ИмяРАК") +// Ложь - (по умолчанию) элементы будут возвращены как есть // // Возвращаемое значение: // Массив - список соединений @@ -132,7 +136,11 @@ // Параметры: // ПоляИерархии - Строка - Поля для построения иерархии списка соединений, разделенные "," // ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) -// ЭлементыКакСоответствия - Булево - Истина - элементы результата будут преобразованы в соответствия +// ЭлементыКакСоответствия - Булево, - Истина - элементы результата будут преобразованы в соответствия +// Строка с именами свойств в качестве ключей +// <Имя поля> - элементы результата будут преобразованы в соответствия +// со значением указанного поля в качестве ключей ("Имя"|"ИмяРАК") +// Ложь - (по умолчанию) элементы будут возвращены как есть // // Возвращаемое значение: // Соответствие - список соединений diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\321\207\320\265\321\202\321\207\320\270\320\272\320\270\320\240\320\265\321\201\321\203\321\200\321\201\320\276\320\262.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\321\207\320\265\321\202\321\207\320\270\320\272\320\270\320\240\320\265\321\201\321\203\321\200\321\201\320\276\320\262.os" index 54c48e2..5503c46 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\321\207\320\265\321\202\321\207\320\270\320\272\320\270\320\240\320\265\321\201\321\203\321\200\321\201\320\276\320\262.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\321\207\320\265\321\202\321\207\320\270\320\272\320\270\320\240\320\265\321\201\321\203\321\200\321\201\320\276\320\262.os" @@ -95,7 +95,11 @@ // Параметры: // Отбор - Структура - Структура отбора счетчиков потребления ресурсов (<поле>:<значение>) // ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) -// ЭлементыКакСоответствия - Булево - Истина - элементы результата будут преобразованы в соответствия +// ЭлементыКакСоответствия - Булево, - Истина - элементы результата будут преобразованы в соответствия +// Строка с именами свойств в качестве ключей +// <Имя поля> - элементы результата будут преобразованы в соответствия +// со значением указанного поля в качестве ключей ("Имя"|"ИмяРАК") +// Ложь - (по умолчанию) элементы будут возвращены как есть // // Возвращаемое значение: // Массив - список счетчиков потребления ресурсов кластера 1С @@ -114,7 +118,11 @@ // ПоляИерархии - Строка - Поля для построения иерархии списка счетчиков потребления ресурсов, // разделенные "," // ОбновитьПринудительно - Булево - Истина - обновить список (вызов RAC) -// ЭлементыКакСоответствия - Булево - Истина - элементы результата будут преобразованы в соответствия +// ЭлементыКакСоответствия - Булево, - Истина - элементы результата будут преобразованы в соответствия +// Строка с именами свойств в качестве ключей +// <Имя поля> - элементы результата будут преобразованы в соответствия +// со значением указанного поля в качестве ключей ("Имя"|"ИмяРАК") +// Ложь - (по умолчанию) элементы будут возвращены как есть // // Возвращаемое значение: // Соответствие - список счетчиков потребления ресурсов кластера 1С diff --git "a/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.os" "b/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.os" index 79c0d27..0824a05 100644 --- "a/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.os" +++ "b/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.os" @@ -107,9 +107,10 @@ // копирования данных не происходят, в результирующее соответствие помещаются исходные элементы массива // // Параметры: -// МассивСоответствий - Массив(Соответствие) - Данные для преобразования -// <имя поля> - Произвольный - Значение элемента соответствия -// ПоляИерархии - Строка - Поля для построения иерархии списка объектов, разделенные "," +// МассивСоответствий - Массив(Соответствие) - Данные для преобразования +// <имя поля> - Произвольный - Значение элемента соответствия +// ПоляИерархии - Строка, Массив - имена полей для построения иерархии списка объектов, +// разделенные "," или массив имен полей // // Возвращаемое значение: // Соответствие - иерархия соответствий по значениям полей упорядочивания @@ -120,7 +121,11 @@ // Функция ИерархическоеПредставлениеМассиваСоответствий(МассивСоответствий, ПоляИерархии) Экспорт - МассивУпорядочивания = СтрРазделить(ПоляИерархии, ",", Ложь); + МассивУпорядочивания = ПоляИерархии; + + Если ТипЗнч(ПоляИерархии) = Тип("Строка") Тогда + МассивУпорядочивания = СтрРазделить(ПоляИерархии, ",", Ложь); + КонецЕсли; Если МассивУпорядочивания.Количество() = 0 Тогда Возврат МассивСоответствий; diff --git a/tests/irac-test.os b/tests/irac-test.os index f91a340..d1458bc 100644 --- a/tests/irac-test.os +++ b/tests/irac-test.os @@ -775,7 +775,7 @@ ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(), "Сеансы.Список"); - Сеансы = Кластер.Сеансы().ИерархическийСписок("host,user-name"); + Сеансы = Кластер.Сеансы().ИерархическийСписок("host,Пользователь"); СеансыКомпьютера = Сеансы["Sport1"]; From bfa8e049520bdcf7affc9211fc702052fd784aac Mon Sep 17 00:00:00 2001 From: AKuznetsov Date: Thu, 17 Oct 2019 15:33:08 +0300 Subject: [PATCH 03/12] =?UTF-8?q?style:=20=D0=9C=D0=B5=D0=BB=D0=BA=D0=B8?= =?UTF-8?q?=D0=B5=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=BE=D1=84=D0=BE=D1=80=D0=BC=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../package-loader.os" | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git "a/src/\320\234\320\260\320\272\320\265\321\202\321\213/package-loader.os" "b/src/\320\234\320\260\320\272\320\265\321\202\321\213/package-loader.os" index 0624ddf..18a5cd4 100644 --- "a/src/\320\234\320\260\320\272\320\265\321\202\321\213/package-loader.os" +++ "b/src/\320\234\320\260\320\272\320\265\321\202\321\213/package-loader.os" @@ -1,7 +1,7 @@ Процедура ПриЗагрузкеБиблиотеки(Знач Путь, СтандартнаяОбработка, Отказ) СтандартнаяОбработка = Ложь; - ДобавитьМакет(ОбъединитьПути(Путь,"Перечисления.json"),"/Макеты/Перечисления"); - ДобавитьМакет(ОбъединитьПути(Путь,"ТипыОбъектовКластера.json"),"/Макеты/ТипыОбъектовКластера"); + ДобавитьМакет(ОбъединитьПути(Путь, "Перечисления.json"), "/Макеты/Перечисления"); + ДобавитьМакет(ОбъединитьПути(Путь, "ТипыОбъектовКластера.json"), "/Макеты/ТипыОбъектовКластера"); КонецПроцедуры \ No newline at end of file From 27009b947f1efa9e33e05098348bb825f325c696 Mon Sep 17 00:00:00 2001 From: AKuznetsov Date: Fri, 18 Oct 2019 09:58:27 +0300 Subject: [PATCH 04/12] =?UTF-8?q?feat:=20=D0=94=D0=BB=D1=8F=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=BB=D1=83=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B8=D0=BD=D1=84?= =?UTF-8?q?=D0=BE=D1=80=D0=BC=D0=B0=D1=86=D0=B8=D0=B8=20=D0=BE=20=D0=BB?= =?UTF-8?q?=D0=B8=D1=86=D0=B5=D0=BD=D0=B7=D0=B8=D1=8F=D1=85=20=D1=80=D0=B0?= =?UTF-8?q?=D0=B1=D0=BE=D1=87=D0=B8=D1=85=20=D0=BF=D1=80=D0=BE=D1=86=D0=B5?= =?UTF-8?q?=D1=81=D1=81=D0=BE=D0=B2=20=20=D0=B8=20=D1=81=D0=B5=D0=B0=D0=BD?= =?UTF-8?q?=D1=81=D0=BE=D0=B2=20=D1=80=D0=B5=D0=B0=D0=BB=D0=B8=D0=B7=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=20=D0=BE=D1=82=D0=B4=D0=B5=D0=BB=D1=8C=D0=BD?= =?UTF-8?q?=D1=8B=D0=B9=20=D0=BA=D0=BB=D0=B0=D1=81=D1=81=20"=D0=9B=D0=B8?= =?UTF-8?q?=D1=86=D0=B5=D0=BD=D0=B7=D0=B8=D0=B8".?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib.config | 1 + src/lib.config | 1 + ...20\265\320\275\320\267\320\270\320\270.os" | 230 ++++++++++++++++++ ...21\206\320\265\321\201\321\201\321\213.os" | 57 +---- ...20\276\321\206\320\265\321\201\321\201.os" | 58 +---- ...20\241\320\265\320\260\320\275\321\201.os" | 58 +---- ...20\265\320\260\320\275\321\201\321\213.os" | 61 +---- 7 files changed, 236 insertions(+), 230 deletions(-) create mode 100644 "src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\233\320\270\321\206\320\265\320\275\320\267\320\270\320\270.os" diff --git a/lib.config b/lib.config index 16d7bc0..d1bbcbb 100644 --- a/lib.config +++ b/lib.config @@ -31,6 +31,7 @@ + diff --git a/src/lib.config b/src/lib.config index c24edcb..93277e6 100644 --- a/src/lib.config +++ b/src/lib.config @@ -31,6 +31,7 @@ + diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\233\320\270\321\206\320\265\320\275\320\267\320\270\320\270.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\233\320\270\321\206\320\265\320\275\320\267\320\270\320\270.os" new file mode 100644 index 0000000..7926dda --- /dev/null +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\233\320\270\321\206\320\265\320\275\320\267\320\270\320\270.os" @@ -0,0 +1,230 @@ +// ---------------------------------------------------------- +// This Source Code Form is subject to the terms of the +// Mozilla Public License, v.2.0. If a copy of the MPL +// was not distributed with this file, You can obtain one +// at http://mozilla.org/MPL/2.0/. +// ---------------------------------------------------------- +// Codebase: https://github.com/ArKuznetsov/irac/ +// ---------------------------------------------------------- + +Перем Кластер_Агент; +Перем Кластер_Владелец; +Перем Владелец; +Перем ИБ_Владелец; + +Перем ПараметрыОбъекта; + +Перем Элементы; + +Перем Лог; + +// Конструктор +// +// Параметры: +// АгентКластера - АгентКластера - ссылка на родительский объект агента кластера +// Кластер - Кластер - ссылка на родительский объект кластера +// ВладелецЛицензий - РабочиеПроцессы, - ссылка на родительский объект рабочих процессов +// Сеансы или сеансов +// ИБ - ИнформационнаяБаза - ссылка на родительский объект информационной базы +// используется если владелец "Сеансы" +// +Процедура ПриСозданииОбъекта(АгентКластера, Кластер, ВладелецЛицензий = Неопределено, ИБ = Неопределено) + + Лог = Служебный.Лог(); + + Кластер_Агент = АгентКластера; + Кластер_Владелец = Кластер; + Владелец = ВладелецЛицензий; + ИБ_Владелец = ИБ; + + ПараметрыОбъекта = Новый КомандыОбъекта(ТипЛицензий()); + + Элементы = Новый ОбъектыКластера(ЭтотОбъект); + +КонецПроцедуры // ПриСозданииОбъекта() + +// Процедура получает данные по лицензиям от сервиса администрирования кластера 1С +// и сохраняет в локальных переменных +// +// Параметры: +// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) +// - Ложь - данные будут получены если истекло время актуальности +// или данные не были получены ранее +// +Процедура ОбновитьДанные(ОбновитьПринудительно = Ложь) Экспорт + + Если НЕ Элементы.ТребуетсяОбновление(ОбновитьПринудительно) Тогда + Возврат; + КонецЕсли; + + ПараметрыКоманды = Новый Соответствие(); + ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения()); + ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид()); + ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_Владелец.СтрокаАвторизации()); + + Если ТипЗнч(Владелец) = Тип("РабочийПроцесс") Тогда + ПараметрыКоманды.Вставить("ИдентификаторПроцесса" , Владелец.Ид()); + ИмяКоманды = "Описание"; + ИначеЕсли ТипЗнч(Владелец) = Тип("Сеанс") Тогда + ПараметрыКоманды.Вставить("ИдентификаторСеанса" , Владелец.Ид()); + ИмяКоманды = "Описание"; + Иначе + ИмяКоманды = "Список"; + КонецЕсли; + + Если ТипЛицензий() = Перечисления.РежимыАдминистрирования.ЛицензииСеансов + И НЕ ИБ_Владелец = Неопределено Тогда + ПараметрыКоманды.Вставить("ИдентификаторИБ", ИБ_Владелец.Ид()); + КонецЕсли; + + ПараметрыОбъекта.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды); + + КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды(ИмяКоманды)); + + Если НЕ КодВозврата = 0 Тогда + ВызватьИсключение СтрШаблон("Ошибка получения списка лицензий, КодВозврата = %1: %2", + КодВозврата, + Кластер_Агент.ВыводКоманды(Ложь)); + КонецЕсли; + + МассивРезультатов = Кластер_Агент.ВыводКоманды(); + + МассивЛицензий = Новый Массив(); + Для Каждого ТекОписание Из МассивРезультатов Цикл + МассивЛицензий.Добавить(Новый ОбъектКластера(Кластер_Агент, Кластер_Владелец, ТипЛицензий(), ТекОписание)); + КонецЦикла; + + Элементы.Заполнить(МассивЛицензий); + + Элементы.УстановитьАктуальность(); + +КонецПроцедуры // ОбновитьДанныеЛицензий() + +// Функция возвращает коллекцию параметров объекта +// +// Параметры: +// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано +// в качестве ключа возвращаемого соответствия +// +// Возвращаемое значение: +// Соответствие - коллекция параметров объекта, для получения/изменения значений +// +Функция ПараметрыОбъекта(ИмяПоляКлюча = "Имя") Экспорт + + Возврат ПараметрыОбъекта.ОписаниеСвойств(ИмяПоляКлюча); + +КонецФункции // ПараметрыОбъекта() + +// Функция возвращает тип лицензии по типу владельца +// +// Возвращаемое значение: +// Перечисление.РежимыАдминистрирования - тип лицензии +// +Функция ТипЛицензий() Экспорт + + Если ТипЗнч(Владелец) = Тип("РабочиеПроцессы") + ИЛИ ТипЗнч(Владелец) = Тип("РабочийПроцесс") Тогда + Возврат Перечисления.РежимыАдминистрирования.ЛицензииПроцессов; + ИначеЕсли ТипЗнч(Владелец) = Тип("Сеансы") + ИЛИ ТипЗнч(Владелец) = Тип("Сеанс") Тогда + Возврат Перечисления.РежимыАдминистрирования.ЛицензииСеансов; + Иначе + ВызватьИсключение СтрШаблон("Некорректный тип ""%1"" владельца лицензий, + |ожидались ""РабочиеПроцессы"" или ""Сеансы""!"); + КонецЕсли; + +КонецФункции // ТипЛицензий() + +// Функция возвращает список сеансов +// +// Параметры: +// Отбор - Структура - Структура отбора сеансов (<поле>:<значение>) +// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) +// ЭлементыКакСоответствия - Булево, - Истина - элементы результата будут преобразованы в соответствия +// Строка с именами свойств в качестве ключей +// <Имя поля> - элементы результата будут преобразованы в соответствия +// со значением указанного поля в качестве ключей ("Имя"|"ИмяРАК") +// Ложь - (по умолчанию) элементы будут возвращены как есть +// +// Возвращаемое значение: +// Массив - список сеансов +// +Функция Список(Отбор = Неопределено, ОбновитьПринудительно = Ложь, ЭлементыКакСоответствия = Ложь) Экспорт + + Лицензии = Элементы.Список(Отбор, ОбновитьПринудительно, ЭлементыКакСоответствия); + + Возврат Лицензии; + +КонецФункции // Список() + +// Функция возвращает список сеансов +// +// Параметры: +// ПоляИерархии - Строка - Поля для построения иерархии списка сеансов, разделенные "," +// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) +// ЭлементыКакСоответствия - Булево, - Истина - элементы результата будут преобразованы в соответствия +// Строка с именами свойств в качестве ключей +// <Имя поля> - элементы результата будут преобразованы в соответствия +// со значением указанного поля в качестве ключей ("Имя"|"ИмяРАК") +// Ложь - (по умолчанию) элементы будут возвращены как есть +// +// Возвращаемое значение: +// Соответствие - список сеансов +// +Функция ИерархическийСписок(Знач ПоляИерархии, ОбновитьПринудительно = Ложь, ЭлементыКакСоответствия = Ложь) Экспорт + + Лицензии = Элементы.ИерархическийСписок(ПоляИерархии, ОбновитьПринудительно, ЭлементыКакСоответствия); + + Возврат Лицензии; + +КонецФункции // ИерархическийСписок() + +// Функция возвращает количество сеансов в списке +// +// Возвращаемое значение: +// Число - количество сеансов +// +Функция Количество() Экспорт + + Если Элементы = Неопределено Тогда + Возврат 0; + КонецЕсли; + + Возврат Элементы.Количество(); + +КонецФункции // Количество() + +// Функция возвращает описание сеанса кластера 1С +// +// Параметры: +// ИдВладельца - Строка - номер сеанса в виде <имя информационной базы>:<номер сеанса> +// или номер процесса в виде <адрес сервера>:<номер процесса ОС (pid))> +// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) +// КакСоответствие - Булево - Истина - результат будет преобразован в соответствие +// +// Возвращаемое значение: +// Соответствие - описание сеанса 1С +// +Функция Получить(Знач ИдВладельца, Знач ОбновитьПринудительно = Ложь, КакСоответствие = Ложь) Экспорт + + СеансИлиПроцесс = Владелец.Получить(ИдВладельца); + + Отбор = Новый Соответствие(); + + Если ТипЗнч(Владелец) = Тип("РабочиеПроцессы") Тогда + Отбор.Вставить("process", СеансИлиПроцесс.Ид()); + ИначеЕсли ТипЗнч(Владелец) = Тип("Сеансы") Тогда + Отбор.Вставить("session", СеансИлиПроцесс.Ид()); + Иначе + Возврат Неопределено; + КонецЕсли; + + Лицензии = Элементы.Список(Отбор, ОбновитьПринудительно, КакСоответствие); + + Если Лицензии.Количество() = 0 Тогда + Возврат Неопределено; + КонецЕсли; + + Возврат Лицензии[0]; + +КонецФункции // Получить() diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\240\320\260\320\261\320\276\321\207\320\270\320\265\320\237\321\200\320\276\321\206\320\265\321\201\321\201\321\213.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\240\320\260\320\261\320\276\321\207\320\270\320\265\320\237\321\200\320\276\321\206\320\265\321\201\321\201\321\213.os" index 349bed6..49b0902 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\240\320\260\320\261\320\276\321\207\320\270\320\265\320\237\321\200\320\276\321\206\320\265\321\201\321\201\321\213.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\240\320\260\320\261\320\276\321\207\320\270\320\265\320\237\321\200\320\276\321\206\320\265\321\201\321\201\321\213.os" @@ -11,7 +11,6 @@ Перем Кластер_Владелец; Перем ПараметрыОбъекта; -Перем ПараметрыЛицензий; Перем Элементы; Перем Лицензии; @@ -36,7 +35,7 @@ ПараметрыЛицензий = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.ЛицензииПроцессов); Элементы = Новый ОбъектыКластера(ЭтотОбъект); - Лицензии = Новый ОбъектыКластера(ЭтотОбъект); + Лицензии = Новый Лицензии(Кластер_Агент, Кластер_Владелец, ЭтотОбъект); КонецПроцедуры @@ -82,43 +81,6 @@ КонецПроцедуры // ОбновитьДанные() -// Процедура получает данные по лицензиям рабочих процессов от сервиса администрирования кластера 1С -// и сохраняет в локальных переменных -// -// Параметры: -// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) -// - Ложь - данные будут получены если истекло время актуальности -// или данные не были получены ранее -// -Процедура ОбновитьДанныеЛицензий(ОбновитьПринудительно = Ложь) Экспорт - - Если НЕ Лицензии.ТребуетсяОбновление(ОбновитьПринудительно) Тогда - Возврат; - КонецЕсли; - - ПараметрыКоманды = Новый Соответствие(); - ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения()); - ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_Владелец.СтрокаАвторизации()); - ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид()); - - ПараметрыЛицензий.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды); - - КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыЛицензий.ПараметрыКоманды("Список")); - - Если НЕ КодВозврата = 0 Тогда - ВызватьИсключение СтрШаблон("Ошибка получения лицензий рабочих процессов, КодВозврата = %1: %2", - КодВозврата, - Кластер_Агент.ВыводКоманды(Ложь)); - КонецЕсли; - - МассивРезультатов = Кластер_Агент.ВыводКоманды(); - - Лицензии.Заполнить(МассивРезультатов); - - Лицензии.УстановитьАктуальность(); - -КонецПроцедуры // ОбновитьДанныеЛицензий() - // Функция возвращает коллекцию параметров объекта // // Параметры: @@ -225,21 +187,6 @@ КонецФункции // Получить() -// Функция возвращает коллекцию параметров лицензий -// -// Параметры: -// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано -// в качестве ключа возвращаемого соответствия -// -// Возвращаемое значение: -// Соответствие - коллекция параметров лицензий, для получения/изменения значений -// -Функция ПараметрыЛицензий(ИмяПоляКлюча = "Имя") Экспорт - - Возврат ПараметрыЛицензий.ОписаниеСвойств(ИмяПоляКлюча); - -КонецФункции // ПараметрыОбъекта() - // Функция возвращает список лицензий рабочих процессов 1С // // Параметры: @@ -250,8 +197,6 @@ // Функция Лицензии(ОбновитьПринудительно = Ложь) Экспорт - ОбновитьДанныеЛицензий(ОбновитьПринудительно); - Возврат Лицензии; КонецФункции // Лицензии() diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\240\320\260\320\261\320\276\321\207\320\270\320\271\320\237\321\200\320\276\321\206\320\265\321\201\321\201.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\240\320\260\320\261\320\276\321\207\320\270\320\271\320\237\321\200\320\276\321\206\320\265\321\201\321\201.os" index 5f4e637..db6bccf 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\240\320\260\320\261\320\276\321\207\320\270\320\271\320\237\321\200\320\276\321\206\320\265\321\201\321\201.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\240\320\260\320\261\320\276\321\207\320\270\320\271\320\237\321\200\320\276\321\206\320\265\321\201\321\201.os" @@ -18,7 +18,6 @@ Перем Процесс_Соединения; Перем ПараметрыОбъекта; -Перем ПараметрыЛицензий; Перем ПериодОбновления; Перем МоментАктуальности; @@ -59,7 +58,7 @@ ПериодОбновления = 60000; Процесс_Соединения = Новый Соединения(Кластер_Агент, Кластер_Владелец, ЭтотОбъект); - Процесс_Лицензии = Новый ОбъектыКластера(ЭтотОбъект); + Процесс_Лицензии = Новый Лицензии(Кластер_Агент, Кластер_Владелец, ЭтотОбъект); КонецПроцедуры // ПриСозданииОбъекта() @@ -120,44 +119,6 @@ КонецПроцедуры // ЗаполнитьПараметрыПроцесса() -// Процедура получает данные лицензий, выданных рабочим процессом -// и сохраняет в локальных переменных -// -// Параметры: -// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) -// - Ложь - данные будут получены если истекло время актуальности -// или данные не были получены ранее -// -Процедура ОбновитьДанныеЛицензий(ОбновитьПринудительно = Ложь) - - Если НЕ Процесс_Лицензии.ТребуетсяОбновление(ОбновитьПринудительно) Тогда - Возврат; - КонецЕсли; - - ПараметрыКоманды = Новый Соответствие(); - ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения()); - ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_Владелец.СтрокаАвторизации()); - ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид()); - ПараметрыКоманды.Вставить("ИдентификаторПроцесса" , Ид()); - - ПараметрыЛицензий.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды); - - КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыЛицензий.ПараметрыКоманды("Описание")); - - Если НЕ КодВозврата = 0 Тогда - ВызватьИсключение СтрШаблон("Ошибка получения описания лицензий рабочего процесса, КодВозврата = %1: %2", - КодВозврата, - Кластер_Агент.ВыводКоманды(Ложь)); - КонецЕсли; - - МассивРезультатов = Кластер_Агент.ВыводКоманды(); - - Процесс_Лицензии.Заполнить(МассивРезультатов); - - Процесс_Лицензии.УстановитьАктуальность(); - -КонецПроцедуры // ОбновитьДанныеЛицензий() - // Функция возвращает коллекцию параметров объекта // // Параметры: @@ -265,21 +226,6 @@ КонецФункции // Соединения() -// Функция возвращает коллекцию параметров лицензий -// -// Параметры: -// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано -// в качестве ключа возвращаемого соответствия -// -// Возвращаемое значение: -// Соответствие - коллекция параметров лицензий, для получения/изменения значений -// -Функция ПараметрыЛицензий(ИмяПоляКлюча = "Имя") Экспорт - - Возврат ПараметрыЛицензий.ОписаниеСвойств(ИмяПоляКлюча); - -КонецФункции // ПараметрыОбъекта() - // Функция возвращает список лицензий, выданных рабочим процессом 1С // // Параметры: @@ -290,8 +236,6 @@ // Функция Лицензии(ОбновитьПринудительно = Ложь) Экспорт - ОбновитьДанныеЛицензий(ОбновитьПринудительно); - Возврат Процесс_Лицензии; КонецФункции // Лицензии() diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\265\320\260\320\275\321\201.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\265\320\260\320\275\321\201.os" index 97a2c22..ad3e2cc 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\265\320\260\320\275\321\201.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\265\320\260\320\275\321\201.os" @@ -16,7 +16,6 @@ Перем ИБ_Владелец; Перем ПараметрыОбъекта; -Перем ПараметрыЛицензий; Перем ПериодОбновления; Перем МоментАктуальности; @@ -58,7 +57,7 @@ ПериодОбновления = 60000; - Сеанс_Лицензии = Новый ОбъектыКластера(ЭтотОбъект); + Сеанс_Лицензии = Новый Лицензии(Кластер_Агент, Кластер_Владелец, ЭтотОбъект, ИБ_Владелец); КонецПроцедуры // ПриСозданииОбъекта() @@ -105,44 +104,6 @@ КонецПроцедуры // ОбновитьДанные() -// Процедура получает данные лицензии, выданной сеансу -// и сохраняет в локальных переменных -// -// Параметры: -// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) -// - Ложь - данные будут получены если истекло время актуальности -// или данные не были получены ранее -// -Процедура ОбновитьДанныеЛицензий(ОбновитьПринудительно = Ложь) - - Если НЕ Сеанс_Лицензии.ТребуетсяОбновление(ОбновитьПринудительно) Тогда - Возврат; - КонецЕсли; - - ПараметрыКоманды = Новый Соответствие(); - ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения()); - ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_Владелец.СтрокаАвторизации()); - ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид()); - ПараметрыКоманды.Вставить("ИдентификаторСеанса" , Ид()); - - ПараметрыЛицензий.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды); - - КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыЛицензий.ПараметрыКоманды("Описание")); - - Если НЕ КодВозврата = 0 Тогда - ВызватьИсключение СтрШаблон("Ошибка получения описания лицензий сеанса, КодВозврата = %1: %2", - КодВозврата, - Кластер_Агент.ВыводКоманды(Ложь)); - КонецЕсли; - - МассивРезультатов = Кластер_Агент.ВыводКоманды(); - - Сеанс_Лицензии.Заполнить(МассивРезультатов); - - Сеанс_Лицензии.УстановитьАктуальность(); - -КонецПроцедуры // ОбновитьДанныеЛицензий() - // Функция возвращает коллекцию параметров объекта // // Параметры: @@ -201,21 +162,6 @@ КонецФункции // Получить() -// Функция возвращает коллекцию параметров лицензий -// -// Параметры: -// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано -// в качестве ключа возвращаемого соответствия -// -// Возвращаемое значение: -// Соответствие - коллекция параметров лицензий, для получения/изменения значений -// -Функция ПараметрыЛицензий(ИмяПоляКлюча = "Имя") Экспорт - - Возврат ПараметрыЛицензий.ОписаниеСвойств(ИмяПоляКлюча); - -КонецФункции // ПараметрыОбъекта() - // Функция возвращает список лицензий, выданных сеансу 1С // // Параметры: @@ -226,8 +172,6 @@ // Функция Лицензии(ОбновитьПринудительно = Ложь) Экспорт - ОбновитьДанныеЛицензий(ОбновитьПринудительно); - Возврат Сеанс_Лицензии; КонецФункции // Лицензии() diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\265\320\260\320\275\321\201\321\213.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\265\320\260\320\275\321\201\321\213.os" index 5eef76e..7de5fa9 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\265\320\260\320\275\321\201\321\213.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\265\320\260\320\275\321\201\321\213.os" @@ -12,7 +12,6 @@ Перем ИБ_Владелец; Перем ПараметрыОбъекта; -Перем ПараметрыЛицензий; Перем Элементы; Перем Лицензии; @@ -39,7 +38,7 @@ ПараметрыЛицензий = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.ЛицензииСеансов); Элементы = Новый ОбъектыКластера(ЭтотОбъект); - Лицензии = Новый ОбъектыКластера(ЭтотОбъект); + Лицензии = Новый Лицензии(Кластер_Агент, Кластер_Владелец, ЭтотОбъект, ИБ_Владелец); КонецПроцедуры // ПриСозданииОбъекта() @@ -89,47 +88,6 @@ КонецПроцедуры // ОбновитьДанные() -// Процедура получает данные по лицензиям сеансов от сервиса администрирования кластера 1С -// и сохраняет в локальных переменных -// -// Параметры: -// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC) -// - Ложь - данные будут получены если истекло время актуальности -// или данные не были получены ранее -// -Процедура ОбновитьДанныеЛицензий(ОбновитьПринудительно = Ложь) Экспорт - - Если НЕ Лицензии.ТребуетсяОбновление(ОбновитьПринудительно) Тогда - Возврат; - КонецЕсли; - - ПараметрыКоманды = Новый Соответствие(); - ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения()); - ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид()); - ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_Владелец.СтрокаАвторизации()); - - Если НЕ ИБ_Владелец = Неопределено Тогда - ПараметрыКоманды.Вставить("ИдентификаторИБ", ИБ_Владелец.Ид()); - КонецЕсли; - - ПараметрыЛицензий.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды); - - КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыЛицензий.ПараметрыКоманды("Список")); - - Если НЕ КодВозврата = 0 Тогда - ВызватьИсключение СтрШаблон("Ошибка получения списка сеансов, КодВозврата = %1: %2", - КодВозврата, - Кластер_Агент.ВыводКоманды(Ложь)); - КонецЕсли; - - МассивРезультатов = Кластер_Агент.ВыводКоманды(); - - Лицензии.Заполнить(МассивРезультатов); - - Лицензии.УстановитьАктуальность(); - -КонецПроцедуры // ОбновитьДанныеЛицензий() - // Функция возвращает коллекцию параметров объекта // // Параметры: @@ -264,21 +222,6 @@ КонецПроцедуры // Удалить() -// Функция возвращает коллекцию параметров лицензий -// -// Параметры: -// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано -// в качестве ключа возвращаемого соответствия -// -// Возвращаемое значение: -// Соответствие - коллекция параметров лицензий, для получения/изменения значений -// -Функция ПараметрыЛицензий(ИмяПоляКлюча = "Имя") Экспорт - - Возврат ПараметрыЛицензий.ОписаниеСвойств(ИмяПоляКлюча); - -КонецФункции // ПараметрыОбъекта() - // Функция возвращает список лицензий сеансов 1С // // Параметры: @@ -289,8 +232,6 @@ // Функция Лицензии(ОбновитьПринудительно = Ложь) Экспорт - ОбновитьДанныеЛицензий(ОбновитьПринудительно); - Возврат Лицензии; КонецФункции // Лицензии() From 23339dd8bd8146a5769c39e0d9db272c3d8bd41c Mon Sep 17 00:00:00 2001 From: AKuznetsov Date: Fri, 18 Oct 2019 10:00:37 +0300 Subject: [PATCH 05/12] =?UTF-8?q?style:=20=D0=98=D0=B7=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D0=B5=D0=BD=D1=8B=20=D0=B8=D0=BC=D0=B5=D0=BD=D0=B0=20=D1=82?= =?UTF-8?q?=D0=B8=D0=BF=D0=BE=D0=B2=20=D0=BE=D0=B1=D1=8A=D0=B5=D0=BA=D1=82?= =?UTF-8?q?=D0=BE=D0=B2:=20"=D0=90=D0=B3=D0=B5=D0=BD=D1=82"=20->=20"=D0=90?= =?UTF-8?q?=D0=B3=D0=B5=D0=BD=D1=82=D1=8B",=20"=D0=98=D0=91"=20->=20"?= =?UTF-8?q?=D0=98=D0=BD=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=86=D0=B8=D0=BE?= =?UTF-8?q?=D0=BD=D0=BD=D1=8B=D0=B5=D0=91=D0=B0=D0=B7=D1=8B".?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...75\320\260\321\217\320\221\320\260\320\267\320\260.os" | 2 +- ...75\321\213\320\265\320\221\320\260\320\267\321\213.os" | 2 +- ...\320\260\321\201\321\202\320\265\321\200\320\260.json" | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\260\321\217\320\221\320\260\320\267\320\260.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\260\321\217\320\221\320\260\320\267\320\260.os" index 3258982..6c8d832 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\260\321\217\320\221\320\260\320\267\320\260.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\260\321\217\320\221\320\260\320\267\320\260.os" @@ -43,7 +43,7 @@ Возврат; КонецЕсли; - ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.ИБ); + ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.ИнформационныеБазы); Кластер_Агент = АгентКластера; Кластер_Владелец = Кластер; diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\221\320\260\320\267\321\213.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\221\320\260\320\267\321\213.os" index fdfb1f5..b4d232a 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\221\320\260\320\267\321\213.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\221\320\260\320\267\321\213.os" @@ -27,7 +27,7 @@ Кластер_Агент = АгентКластера; Кластер_Владелец = Кластер; - ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.ИБ); + ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.ИнформационныеБазы); Элементы = Новый ОбъектыКластера(ЭтотОбъект); diff --git "a/src/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\270\320\277\321\213\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.json" "b/src/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\270\320\277\321\213\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.json" index 7200ece..856cf0d 100644 --- "a/src/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\270\320\277\321\213\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.json" +++ "b/src/\320\234\320\260\320\272\320\265\321\202\321\213/\320\242\320\270\320\277\321\213\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.json" @@ -1,5 +1,5 @@ { - "Агент":{ + "Агенты":{ "Имя" : "Агент", "РежимАдминистрирования" : "agent", "Свойства":{ @@ -637,8 +637,8 @@ } } }, - "ИБ":{ - "Имя" : "ИБ", + "ИнформационныеБазы":{ + "Имя" : "ИнформационнаяБаза", "РежимАдминистрирования" : "infobase", "Свойства":{ "Ид":{ @@ -1607,7 +1607,7 @@ } }, "МодулиПрофиля":{ - "Имя" : "Модуль", + "Имя" : "ВнешнийМодуль", "РежимАдминистрирования" : "module", "Свойства":{ "Имя":{ From 47030684da9caa15725ca344c2c7580ee13b4c72 Mon Sep 17 00:00:00 2001 From: AKuznetsov Date: Fri, 18 Oct 2019 10:01:01 +0300 Subject: [PATCH 06/12] =?UTF-8?q?style:=20=D0=9F=D0=BE=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=20=D0=BA=D0=BE=D0=BC=D0=B5=D0=BD=D1=82?= =?UTF-8?q?=D0=B0=D1=80=D0=B8=D0=B9=20=D0=BA=20=D0=BF=D1=80=D0=BE=D1=86?= =?UTF-8?q?=D0=B5=D0=B4=D1=83=D1=80=D0=B5.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\261\321\212\320\265\320\272\321\202\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\261\321\212\320\265\320\272\321\202\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os" index 3e2b651..151f618 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\261\321\212\320\265\320\272\321\202\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\261\321\212\320\265\320\272\321\202\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os" @@ -25,9 +25,9 @@ // Параметры: // АгентКластера - АгентКластера - ссылка на родительский объект агента кластера // Кластер - Кластер - ссылка на родительский объект кластера -// ОбъектКластера - Строка, Соответствие - идентификатор объекта в кластере 1С или параметры объекта // ТипОбъекта - Перечисления. - имя типа объекта кластера // РежимыАдминистрирования +// ОбъектКластера - Строка, Соответствие - идентификатор объекта в кластере 1С или параметры объекта // Процедура ПриСозданииОбъекта(АгентКластера, Кластер, ТипОбъекта, ОбъектКластера) From 4d01a12727d7b92e9a3bd1be5f0bf415f68c3c0b Mon Sep 17 00:00:00 2001 From: AKuznetsov Date: Fri, 18 Oct 2019 10:01:55 +0300 Subject: [PATCH 07/12] =?UTF-8?q?fix:=20=D0=98=D1=81=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA?= =?UTF-8?q?=D0=B0=20=D0=BF=D0=BE=D0=BB=D1=83=D1=87=D0=B5=D0=BD=D0=B8=D1=8F?= =?UTF-8?q?=20=D1=81=D0=BF=D0=B8=D1=81=D0=BA=D0=B0=20=D0=BE=D0=B1=D1=8A?= =?UTF-8?q?=D0=B5=D0=BA=D1=82=D0=BE=D0=B2=20=D0=BA=D0=BB=D0=B0=D1=81=D1=82?= =?UTF-8?q?=D0=B5=D1=80=D0=B0=20=D0=B2=20=D0=B2=D0=B8=D0=B4=D0=B5=20=D0=BC?= =?UTF-8?q?=D0=B0=D1=81=D1=81=D0=B8=D0=B2=D0=B0=20=D1=81=D0=BE=D0=BE=D1=82?= =?UTF-8?q?=D0=B2=D0=B5=D1=82=D1=81=D1=82=D0=B2=D0=B8=D0=B9.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\260\321\201\321\202\320\265\321\200\320\260.os" | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\261\321\212\320\265\320\272\321\202\321\213\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\261\321\212\320\265\320\272\321\202\321\213\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os" index 5083b71..4349cea 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\261\321\212\320\265\320\272\321\202\321\213\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\261\321\212\320\265\320\272\321\202\321\213\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os" @@ -103,12 +103,15 @@ Результат = Служебный.ПолучитьЭлементыИзМассиваСоответствий(Элементы, Отбор); - Если ЭлементыКакСоответствия Тогда - ЭлементыКакСоответствия = "Имя"; - КонецЕсли; + ИмяПоляКлюча = "Имя"; Если ТипЗнч(ЭлементыКакСоответствия) = Тип("Строка") Тогда - ПоляЭлемента = Владелец.ПараметрыОбъекта(ЭлементыКакСоответствия); + ИмяПоляКлюча = ЭлементыКакСоответствия; + ЭлементыКакСоответствия = Истина; + КонецЕсли; + + Если ЭлементыКакСоответствия Тогда + ПоляЭлемента = Владелец.ПараметрыОбъекта(ИмяПоляКлюча); Результат = Служебный.МассивОбъектовВМассивСоответствий(Результат, ПоляЭлемента); КонецЕсли; From a83933416a04bb42eb3144d0a6aa904b38541658 Mon Sep 17 00:00:00 2001 From: AKuznetsov Date: Fri, 18 Oct 2019 10:02:53 +0300 Subject: [PATCH 08/12] =?UTF-8?q?fix:=20=D0=92=20=D0=BF=D1=80=D0=BE=D1=86?= =?UTF-8?q?=D0=B5=D0=B4=D1=83=D1=80=D0=B5=20=D0=BF=D1=80=D0=B5=D0=BE=D0=B1?= =?UTF-8?q?=D1=80=D0=B0=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F=20=D0=BC?= =?UTF-8?q?=D0=B0=D1=81=D1=81=D0=B8=D0=B2=D0=B0=20=D0=BE=D0=B1=D1=8A=D0=B5?= =?UTF-8?q?=D0=BA=D1=82=D0=BE=D0=B2=20=D0=B2=20=D0=BC=D0=B0=D1=81=D1=81?= =?UTF-8?q?=D0=B8=D0=B2=20=D1=81=D0=BE=D0=BE=D1=82=D0=B2=D0=B5=D1=82=D1=81?= =?UTF-8?q?=D1=82=D0=B2=D0=B8=D0=B9=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D1=8B=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA?= =?UTF-8?q?=D0=B8=20=D0=BD=D0=B0=20=D0=B2=D1=85=D0=BE=D0=B4=D1=8F=D1=89?= =?UTF-8?q?=D0=B8=D0=B9=20=D1=82=D0=B8=D0=BF=20=D0=B8=20=D0=BF=D1=83=D1=81?= =?UTF-8?q?=D1=82=D0=BE=D0=B9=20=D0=BC=D0=B0=D1=81=D1=81=D0=B8=D0=B2.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...03\320\266\320\265\320\261\320\275\321\213\320\271.os" | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git "a/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.os" "b/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.os" index 0824a05..cb8ffa7 100644 --- "a/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.os" +++ "b/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.os" @@ -208,6 +208,14 @@ // Функция МассивОбъектовВМассивСоответствий(МассивЭлементов, ПоляЭлемента) Экспорт + Если НЕ ТипЗнч(МассивЭлементов) = Тип("Массив") Тогда + Возврат МассивЭлементов; + КонецЕсли; + + Если МассивЭлементов.Количество() = 0 Тогда + Возврат МассивЭлементов; + КонецЕсли; + Если ТипЗнч(МассивЭлементов[0]) = Тип("Соответствие") Тогда Возврат МассивЭлементов; КонецЕсли; From 6eb62cffc0f4e406bc2320590438d719880221db Mon Sep 17 00:00:00 2001 From: AKuznetsov Date: Fri, 18 Oct 2019 10:05:06 +0300 Subject: [PATCH 09/12] =?UTF-8?q?feat:=20=D0=92=20=D0=BE=D0=BF=D0=B8=D1=81?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D1=8F=20=D1=82=D0=B8=D0=BF=D0=BE=D0=B2=20?= =?UTF-8?q?=D0=BE=D0=B1=D1=8A=D0=B5=D0=BA=D1=82=D0=BE=D0=B2=20=D0=BA=D0=BB?= =?UTF-8?q?=D0=B0=D1=81=D1=82=D0=B5=D1=80=D0=B0,=20=D0=B4=D0=BE=D0=B1?= =?UTF-8?q?=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=B8=D0=BD=D1=84=D0=BE?= =?UTF-8?q?=D1=80=D0=BC=D0=B0=D1=86=D0=B8=D1=8F=20=D0=BE=D0=B1=20=D0=B8?= =?UTF-8?q?=D0=BC=D0=B5=D0=BD=D0=B8=20=D0=BA=D0=BE=D0=BB=D0=BB=D0=B5=D0=BA?= =?UTF-8?q?=D1=86=D0=B8=D0=B8=20=D0=BE=D0=B1=D1=8A=D0=B5=D0=BA=D1=82=D0=BE?= =?UTF-8?q?=D0=B2=20=D0=B8=20=D0=B8=D0=BC=D0=B5=D0=BD=D0=B8=20=D0=BE=D0=B1?= =?UTF-8?q?=D1=8A=D0=B5=D0=BA=D1=82=D0=B0=20=D0=B2=20=D1=83=D1=82=D0=B8?= =?UTF-8?q?=D0=BB=D0=B8=D1=82=D0=B5=20RAC,=20=D0=B4=D0=BB=D1=8F=20=D1=83?= =?UTF-8?q?=D0=BD=D0=B8=D1=84=D0=B8=D0=BA=D0=B0=D1=86=D0=B8=D0=B8=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=BB=D1=83=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BF=D1=80?= =?UTF-8?q?=D0=B5=D0=B4=D1=81=D1=82=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=20=D0=BE=D0=B1=D1=8A=D0=B5=D0=BA=D1=82=D0=BE=D0=B2.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...73\320\260\321\201\321\202\320\265\321\200\320\260.os" | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git "a/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\242\320\270\320\277\321\213\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os" "b/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\242\320\270\320\277\321\213\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os" index 4629928..925a4e6 100644 --- "a/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\242\320\270\320\277\321\213\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os" +++ "b/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\242\320\270\320\277\321\213\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os" @@ -79,13 +79,13 @@ // Функция ТипОбъекта(Знач ТипОбъектов) Экспорт - ИмяТипа = ТипыОбъектов.Получить(ВРег(ТипОбъектов)); + ОписаниеТипа = ТипыОбъектов.Получить(ВРег(ТипОбъектов)); - Если ИмяТипа = Неопределено Тогда + Если ОписаниеТипа = Неопределено Тогда ВызватьИсключение СтрШаблон("Не найден тип объектов ""%1""", ТипОбъектов); КонецЕсли; - Возврат ИмяТипа; + Возврат ОписаниеТипа; КонецФункции // ТипОбъекта() @@ -404,6 +404,8 @@ ОписаниеТипа = Новый Структура(); ОписаниеТипа.Вставить("Имя" , ИменаТипа[0]); + ОписаниеТипа.Вставить("ИмяКоллекции" , ИмяТипа); + ОписаниеТипа.Вставить("ИмяРАК" , ОписаниеТипаОбъектов.РежимАдминистрирования); ОписаниеТипа.Вставить("РежимАдминистрирования", ОписаниеТипаОбъектов.РежимАдминистрирования); Если ТипЗнч(ИменаРодителя) = Тип("Массив") И ИменаРодителя.Количество() > 0 Тогда ОписаниеТипа.Вставить("Владелец" , ТипОбъекта(ИменаРодителя[0])); From f685c5e6b4a8f7297e073af43115b20eadb613b0 Mon Sep 17 00:00:00 2001 From: AKuznetsov Date: Fri, 18 Oct 2019 10:06:37 +0300 Subject: [PATCH 10/12] =?UTF-8?q?fix:=20=D0=98=D1=81=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B7=D0=B0=D0=BF=D0=BE?= =?UTF-8?q?=D0=BB=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BF=D0=B0=D1=80=D0=B0?= =?UTF-8?q?=D0=BC=D0=B5=D1=82=D1=80=D0=BE=D0=B2=20=D1=82=D0=B5=D1=81=D1=82?= =?UTF-8?q?=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F=20=D0=B2=20?= =?UTF-8?q?=D1=81=D0=B2=D1=8F=D0=B7=D0=B8=20=D1=81=20=D0=BF=D0=B5=D1=80?= =?UTF-8?q?=D0=B5=D0=B8=D0=BC=D0=B5=D0=BD=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=D0=BC=20=D1=82=D0=B8=D0=BF=D0=B0=20=D0=BE=D0=B1=D1=8A?= =?UTF-8?q?=D0=B5=D0=BA=D1=82=D0=B0=20"=D0=98=D0=91"=20->=20"=D0=98=D0=BD?= =?UTF-8?q?=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=86=D0=B8=D0=BE=D0=BD=D0=BD?= =?UTF-8?q?=D1=8B=D0=B5=D0=91=D0=B0=D0=B7=D1=8B".?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...6\320\262\320\260\320\275\320\270\321\217.os" | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git "a/tests/fixtures/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217.os" "b/tests/fixtures/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217.os" index 979adc2..4e75cec 100644 --- "a/tests/fixtures/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217.os" +++ "b/tests/fixtures/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217.os" @@ -503,7 +503,7 @@ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Ид()); ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_СтрокаАвторизации()); - ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.ИБ, ПараметрыКоманды); + ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.ИнформационныеБазы, ПараметрыКоманды); ВыводКоманды = ""; @@ -533,7 +533,8 @@ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_СтрокаАвторизации()); ПараметрыКоманды.Вставить("ИдентификаторИБ" , ТекИБ["infobase"]); - ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.ИБ, ПараметрыКоманды); + ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.ИнформационныеБазы, + ПараметрыКоманды); ВыводКоманды = СокращенныйТекстОписанияИБ(ТекИБ["ТекстОбъекта"]); @@ -562,7 +563,8 @@ ПараметрыКоманды.Вставить("ИдентификаторИБ" , ТекИБ["infobase"]); ПараметрыКоманды.Вставить("СтрокаАвторизацииИБ" , ИБ_СтрокаАвторизации()); - ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.ИБ, ПараметрыКоманды); + ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.ИнформационныеБазы, + ПараметрыКоманды); ВыводКоманды = ТекИБ["ТекстОбъекта"]; @@ -591,7 +593,8 @@ ПараметрыКоманды.Вставить("ИдентификаторИБ" , ТекИБ["infobase"]); ПараметрыКоманды.Вставить("СтрокаАвторизацииИБ" , ""); - ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.ИБ, ПараметрыКоманды); + ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.ИнформационныеБазы, + ПараметрыКоманды); ВыводКоманды = СтрШаблон("Недостаточно прав пользователя для доступа к базе %1", ТекИБ["name"]); @@ -612,7 +615,8 @@ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Ид()); ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_СтрокаАвторизации()); - ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.ИБ, ПараметрыКоманды); + ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.ИнформационныеБазы, + ПараметрыКоманды); ВыводКоманды = ""; @@ -652,7 +656,7 @@ ПараметрыКоманды.Вставить("БлокировкаРегламентныхЗаданийВключена", Перечисления.СостоянияВыключателя.Выключено); ПараметрыКоманды.Вставить("ВыдачаЛицензийСервером" , Перечисления.ПраваДоступа.Разрешено); - ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.ИБ, ПараметрыКоманды); + ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.ИнформационныеБазы, ПараметрыКоманды); ВремТекст = Новый ТекстовыйДокумент(); ВремТекст.УстановитьТекст(ВозвращаемыеЗначения["ИнформационныеБазы.Добавление"]); From 2a4144a07fa075df77d6d54c2e20dbddd8462af3 Mon Sep 17 00:00:00 2001 From: AKuznetsov Date: Fri, 18 Oct 2019 10:14:21 +0300 Subject: [PATCH 11/12] =?UTF-8?q?refactor:=20=D0=A0=D0=B5=D1=84=D0=B0?= =?UTF-8?q?=D0=BA=D1=82=D0=BE=D1=80=D0=B8=D0=BD=D0=B3=20=D0=BC=D0=B5=D1=82?= =?UTF-8?q?=D0=BE=D0=B4=D0=BE=D0=B2=20=D0=BF=D0=BE=D0=BB=D1=83=D1=87=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D0=BE=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=20=D0=BA=D0=BB=D0=B0=D1=81=D1=82=D0=B5=D1=80=D0=B0,=20?= =?UTF-8?q?=D1=81=D0=B5=D0=B0=D0=BD=D1=81=D0=BE=D0=B2=20=D0=B8=20=D1=81?= =?UTF-8?q?=D0=BE=D0=B5=D0=B4=D0=B8=D0=BD=D0=B5=D0=BD=D0=B8=D0=B9;=20feat:?= =?UTF-8?q?=20=D0=A0=D0=B5=D0=B0=D0=BB=D0=B8=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD?= =?UTF-8?q?=D0=B0=20=D0=B2=D0=BE=D0=B7=D0=BC=D0=BE=D0=B6=D0=BD=D0=BE=D1=81?= =?UTF-8?q?=D1=82=D1=8C=20=D0=BF=D0=BE=D0=BB=D1=83=D1=87=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=20=D0=BE=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=BA=D0=BB=D0=B0=D1=81=D1=82=D0=B5=D1=80=D0=B0,=20=D1=81?= =?UTF-8?q?=D0=B5=D0=B0=D0=BD=D1=81=D0=BE=D0=B2=20=D0=B8=20=D1=81=D0=BE?= =?UTF-8?q?=D0=B5=D0=B4=D0=B8=D0=BD=D0=B5=D0=BD=D0=B8=D0=B9=20=D0=BA=D0=B0?= =?UTF-8?q?=D0=BA=20=D1=81=20=D1=80=D1=83=D1=81=D1=81=D0=BA=D0=B8=D0=BC?= =?UTF-8?q?=D0=B8=20=D0=B8=D0=BC=D0=B5=D0=BD=D0=B0=D0=BC=D0=B8=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=BB=D0=B5=D0=B9,=20=D1=82=D0=B0=D0=BA=20=D0=B8=20?= =?UTF-8?q?=D1=81=20=D0=B8=D0=BC=D0=B5=D0=BD=D0=B0=D0=BC=D0=B8=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=BB=D0=B5=D0=B9,=20=D0=BF=D0=BE=D0=BB=D1=83=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=BD=D1=8B=D0=BC=D0=B8=20=D0=BE=D1=82=20=D1=83?= =?UTF-8?q?=D1=82=D0=B8=D0=BB=D0=B8=D1=82=D1=8B=20RAC.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0\265\321\200\320\276\320\2741\320\241.os" | 220 ++++++++++-------- 1 file changed, 128 insertions(+), 92 deletions(-) diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\276\320\2741\320\241.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\276\320\2741\320\241.os" index 46b3a81..3fa3951 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\276\320\2741\320\241.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\276\320\2741\320\241.os" @@ -55,7 +55,7 @@ Агент_ИсполнительКоманд = Новый ИсполнительКоманд(ВерсияИлиПутьКУтилитеАдминистрирования); - ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.Агент); + ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.Агенты); Если ТипЗнч(Администратор) = Тип("Структура") Тогда Агент_Администратор = Новый Структура("Администратор, Пароль"); @@ -407,21 +407,35 @@ // Функция возвращает описание центрального сервера 1С в виде соответствия, // с вложенными описаниями кластеров и всех дочерних объектов // +// Параметры: +// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано +// в качестве ключа возвращаемого соответствия +// // Возвращаемое значение: // Соответствие - описание центрального сервера 1С, // включая описания кластеров и всех дочерних объектов // -Функция ОписаниеЦентральногоСервера() Экспорт +Функция ОписаниеЦентральногоСервера(Знач ИмяПоляКлюча = "Имя") Экспорт Описание = Новый Соответствие(); - Описание.Вставить("СервисАдминистрирования", - ПолучитьПоляОбъекта(ЭтотОбъект)); + ПоляОбъекта = Новый Соответствие(); + + Параметры = ПараметрыОбъекта(ИмяПоляКлюча); + + Для Каждого ТекПараметр Из Параметры Цикл + ПоляОбъекта.Вставить(ТекПараметр.Значение[ИмяПоляКлюча], ЭтотОбъект.Получить(ТекПараметр.Ключ)); + КонецЦикла; + + Если ИмяПоляКлюча = "Имя" Тогда + Описание.Вставить("СервисАдминистрирования", ПоляОбъекта); + Иначе + Описание.Вставить("ras", ПоляОбъекта); + КонецЕсли; СписокАдминистраторов = Новый Массив(); Попытка - СписокАдминистраторов = ПолучитьСписокОбъектов(ЭтотОбъект.Администраторы().Список(), - ЭтотОбъект.Администраторы().ПараметрыОбъекта()); + СписокАдминистраторов = ЭтотОбъект.Администраторы().Список(, , ИмяПоляКлюча); Исключение ТекстОшибки = СтрШаблон("Ошибка получения списка администраторов агента: %1", ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); @@ -429,15 +443,15 @@ СписокАдминистраторов.Добавить(СтрШаблон("<%1>", ТекстОшибки)); КонецПопытки; - Описание.Вставить("Администраторы", СписокАдминистраторов); + Описание.Вставить(ПолучитьИмяКоллекцииОбъектов("Агент.Администратор", ИмяПоляКлюча), СписокАдминистраторов); - Описание.Вставить("Кластеры", Новый Массив()); + Описание.Вставить(ПолучитьИмяКоллекцииОбъектов("Кластер", ИмяПоляКлюча), Новый Массив()); Кластеры = Кластеры().Список(); Для Каждого ТекКластер Из Кластеры Цикл - Описание["Кластеры"].Добавить(ОписаниеКластера(ТекКластер)); + Описание[ПолучитьИмяКоллекцииОбъектов("Кластер", ИмяПоляКлюча)].Добавить(ОписаниеКластера(ТекКластер, ИмяПоляКлюча)); КонецЦикла; @@ -449,13 +463,15 @@ // с вложенными описаниями всех дочерних объектов // // Параметры: -// КластерИлиАдрес - Кластер, Строка - объект или адрес кластера 1С +// КластерИлиАдрес - Кластер, Строка - объект или адрес кластера 1С +// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано +// в качестве ключа возвращаемого соответствия // // Возвращаемое значение: // Соответствие - описание кластера 1С, // включая описания всех дочерних объектов // -Функция ОписаниеКластера(Знач КластерИлиАдрес) Экспорт +Функция ОписаниеКластера(Знач КластерИлиАдрес, Знач ИмяПоляКлюча = "Имя") Экспорт Если ТипЗнч(КластерИлиАдрес) = Тип("Строка") Тогда Кластер = ЭтотОбъект.Кластеры.Получить(КластерИлиАдрес); @@ -463,80 +479,102 @@ Кластер = КластерИлиАдрес; КонецЕсли; - Описание = ПолучитьПоляОбъекта(Кластер); + Описание = Новый Соответствие(); + + Параметры = Кластер.ПараметрыОбъекта(ИмяПоляКлюча); - Описание.Вставить("Администраторы", - ПолучитьСписокОбъектов(Кластер.Администраторы().Список(), - Кластер.Администраторы().ПараметрыОбъекта())); + Для Каждого ТекПараметр Из Параметры Цикл + Описание.Вставить(ТекПараметр.Значение[ИмяПоляКлюча], Кластер.Получить(ТекПараметр.Ключ)); + КонецЦикла; - Описание.Вставить("Серверы", Новый Массив()); + Описание.Вставить(ПолучитьИмяКоллекцииОбъектов("Кластер.Администратор", ИмяПоляКлюча), + Кластер.Администраторы().Список(, , ИмяПоляКлюча)); + + Описание.Вставить(ПолучитьИмяКоллекцииОбъектов("Сервер", ИмяПоляКлюча), Новый Массив()); Серверы = Кластер.Серверы().Список(); Для Каждого ТекСервер Из Серверы Цикл - ПоляОбъекта = ПолучитьПоляОбъекта(ТекСервер); + ПоляОбъекта = Новый Соответствие(); + + Параметры = ТекСервер.ПараметрыОбъекта(ИмяПоляКлюча); + + Для Каждого ТекПараметр Из Параметры Цикл + ПоляОбъекта.Вставить(ТекПараметр.Значение[ИмяПоляКлюча], ТекСервер.Получить(ТекПараметр.Ключ)); + КонецЦикла; + ПоляОбъекта.Вставить("НазначенияФункциональности", - ПолучитьСписокОбъектов(ТекСервер.НазначенияФункциональности().Список())); - Описание["Серверы"].Добавить(ПоляОбъекта); + ТекСервер.НазначенияФункциональности().Список(, , ИмяПоляКлюча)); + Описание[ПолучитьИмяКоллекцииОбъектов("Сервер", ИмяПоляКлюча)].Добавить(ПоляОбъекта); КонецЦикла; - Описание.Вставить("Менеджеры", - ПолучитьСписокОбъектов(Кластер.Менеджеры().Список())); + Описание.Вставить(ПолучитьИмяКоллекцииОбъектов("МенеджерКластера", ИмяПоляКлюча), + Кластер.Менеджеры().Список(, , ИмяПоляКлюча)); + + Описание.Вставить(ПолучитьИмяКоллекцииОбъектов("Сервис", ИмяПоляКлюча), + Кластер.Сервисы().Список(, , ИмяПоляКлюча)); - Описание.Вставить("Сервисы", - ПолучитьСписокОбъектов(Кластер.Сервисы().Список())); + Описание.Вставить(ПолучитьИмяКоллекцииОбъектов("РабочийПроцесс", ИмяПоляКлюча), + Кластер.РабочиеПроцессы().Список(, , ИмяПоляКлюча)); + ИмяСвойства = СтрШаблон("%1.%2", + ПолучитьИмяКоллекцииОбъектов("РабочийПроцесс", ИмяПоляКлюча), + ПолучитьИмяКоллекцииОбъектов("РабочийПроцесс.Лицензия", ИмяПоляКлюча)); + Описание.Вставить(ИмяСвойства, Кластер.РабочиеПроцессы().Лицензии().Список(, , ИмяПоляКлюча)); - Описание.Вставить("РабочиеПроцессы", - ПолучитьСписокОбъектов(Кластер.РабочиеПроцессы().Список())); - Описание.Вставить("РабочиеПроцессы.Лицензии", - ПолучитьСписокОбъектов(Кластер.РабочиеПроцессы().Лицензии().Список(), - Кластер.РабочиеПроцессы().ПараметрыЛицензий())); + Описание.Вставить(ПолучитьИмяКоллекцииОбъектов("ИнформационнаяБаза", ИмяПоляКлюча), + Кластер.ИнформационныеБазы().Список(, , ИмяПоляКлюча)); - Описание.Вставить("ИнформационныеБазы", - ПолучитьСписокОбъектов(Кластер.ИнформационныеБазы().Список())); - Описание.Вставить("Соединения", СоединенияКластера(Кластер)); + Описание.Вставить(ПолучитьИмяКоллекцииОбъектов("Соединение", ИмяПоляКлюча), + СоединенияКластера(Кластер, ИмяПоляКлюча)); - Описание.Вставить("Сеансы", СеансыКластера(Кластер)); - Описание.Вставить("Сеансы.Лицензии", - ПолучитьСписокОбъектов(Кластер.Сеансы().Лицензии().Список(), - Кластер.Сеансы().ПараметрыЛицензий())); + Описание.Вставить(ПолучитьИмяКоллекцииОбъектов("Сеанс", ИмяПоляКлюча), СеансыКластера(Кластер, ИмяПоляКлюча)); + ИмяСвойства = СтрШаблон("%1.%2", + ПолучитьИмяКоллекцииОбъектов("Сеанс", ИмяПоляКлюча), + ПолучитьИмяКоллекцииОбъектов("Сеанс.Лицензия", ИмяПоляКлюча)); + Описание.Вставить(ИмяСвойства, Кластер.Сеансы().Лицензии().Список(, , ИмяПоляКлюча)); - Описание.Вставить("Блокировки", - ПолучитьСписокОбъектов(Кластер.Блокировки().Список())); + Описание.Вставить(ПолучитьИмяКоллекцииОбъектов("Блокировка", ИмяПоляКлюча), + Кластер.Блокировки().Список(, , ИмяПоляКлюча)); - Описание.Вставить("ПрофилиБезопасности", Новый Массив()); + Описание.Вставить(ПолучитьИмяКоллекцииОбъектов("ПрофильБезопасности", ИмяПоляКлюча), Новый Массив()); ПрофилиБезопасности = Кластер.ПрофилиБезопасности().Список(); Для Каждого ТекПрофиль Из ПрофилиБезопасности Цикл - ПоляОбъекта = ПолучитьПоляОбъекта(ТекПрофиль); + ПоляОбъекта = Новый Соответствие(); + + Параметры = ТекПрофиль.ПараметрыОбъекта(ИмяПоляКлюча); + + Для Каждого ТекПараметр Из Параметры Цикл + ПоляОбъекта.Вставить(ТекПараметр.Значение[ИмяПоляКлюча], ТекПрофиль.Получить(ТекПараметр.Ключ)); + КонецЦикла; - ПоляОбъекта.Вставить("Каталоги", - ПолучитьСписокОбъектов(ТекПрофиль.Каталоги().Список())); - ПоляОбъекта.Вставить("COMКлассы", - ПолучитьСписокОбъектов(ТекПрофиль.COMКлассы().Список())); + ПоляОбъекта.Вставить(ПолучитьИмяКоллекцииОбъектов("ПрофильБезопасности.Каталог", ИмяПоляКлюча), + ТекПрофиль.Каталоги().Список(, , ИмяПоляКлюча)); + ПоляОбъекта.Вставить(ПолучитьИмяКоллекцииОбъектов("ПрофильБезопасности.COMКласс", ИмяПоляКлюча), + ТекПрофиль.COMКлассы().Список(, , ИмяПоляКлюча)); - ПоляОбъекта.Вставить("ВнешниеКомпоненты", - ПолучитьСписокОбъектов(ТекПрофиль.ВнешниеКомпоненты().Список())); + ПоляОбъекта.Вставить(ПолучитьИмяКоллекцииОбъектов("ПрофильБезопасности.ВнешняяКомпонента", ИмяПоляКлюча), + ТекПрофиль.ВнешниеКомпоненты().Список(, , ИмяПоляКлюча)); - ПоляОбъекта.Вставить("ВнешниеМодули", - ПолучитьСписокОбъектов(ТекПрофиль.ВнешниеМодули().Список())); + ПоляОбъекта.Вставить(ПолучитьИмяКоллекцииОбъектов("ПрофильБезопасности.ВнешнийМодуль", ИмяПоляКлюча), + ТекПрофиль.ВнешниеМодули().Список(, , ИмяПоляКлюча)); - ПоляОбъекта.Вставить("Приложения", - ПолучитьСписокОбъектов(ТекПрофиль.Приложения().Список())); + ПоляОбъекта.Вставить(ПолучитьИмяКоллекцииОбъектов("ПрофильБезопасности.Приложение", ИмяПоляКлюча), + ТекПрофиль.Приложения().Список(, , ИмяПоляКлюча)); - ПоляОбъекта.Вставить("ИнтернетРесурсы", - ПолучитьСписокОбъектов(ТекПрофиль.ИнтернетРесурсы().Список())); + ПоляОбъекта.Вставить(ПолучитьИмяКоллекцииОбъектов("ПрофильБезопасности.ИнтернетРесурс", ИмяПоляКлюча), + ТекПрофиль.ИнтернетРесурсы().Список(, , ИмяПоляКлюча)); - Описание["ПрофилиБезопасности"].Добавить(ПоляОбъекта); + Описание[ПолучитьИмяКоллекцииОбъектов("ПрофильБезопасности", ИмяПоляКлюча)].Добавить(ПоляОбъекта); КонецЦикла; - Описание.Вставить("СчетчикиРесурсов", - ПолучитьСписокОбъектов(Кластер.СчетчикиРесурсов().Список())); + Описание.Вставить(ПолучитьИмяКоллекцииОбъектов("СчетчикРесурсов", ИмяПоляКлюча), + Кластер.СчетчикиРесурсов().Список(, , ИмяПоляКлюча)); - Описание.Вставить("ОграниченияРесурсов", - ПолучитьСписокОбъектов(Кластер.ОграниченияРесурсов().Список())); + Описание.Вставить(ПолучитьИмяКоллекцииОбъектов("ОграничениеРесурсов", ИмяПоляКлюча), + Кластер.ОграниченияРесурсов().Список(, , ИмяПоляКлюча)); Возврат Описание; @@ -544,10 +582,14 @@ // Функция возвращает список сеансов всех кластеров центрального сервера 1С в виде массива // +// Параметры: +// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано +// в качестве ключа возвращаемого соответствия +// // Возвращаемое значение: // Массив (Соответствие) - список сеансов // -Функция ВсеСеансы() Экспорт +Функция ВсеСеансы(Знач ИмяПоляКлюча = "Имя") Экспорт ВсеКластеры = Кластеры.Список(); @@ -569,11 +611,13 @@ // // Параметры: // КластерИлиАдрес - Кластер, Строка - объект или адрес кластера 1С +// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано +// в качестве ключа возвращаемого соответствия // // Возвращаемое значение: // Массив (Соответствие) - список сеансов кластера 1С // -Функция СеансыКластера(Знач КластерИлиАдрес = Неопределено) Экспорт +Функция СеансыКластера(Знач КластерИлиАдрес = Неопределено, Знач ИмяПоляКлюча = "Имя") Экспорт Если НЕ ЗначениеЗаполнено(КластерИлиАдрес) Тогда Возврат ВсеСеансы(); @@ -585,16 +629,20 @@ Кластер = КластерИлиАдрес; КонецЕсли; - Возврат ПолучитьСписокОбъектов(Кластер.Сеансы().Список()); + Возврат Кластер.Сеансы().Список(, , ИмяПоляКлюча); КонецФункции // СеансыКластера() // Функция возвращает список соединений всех кластеров центрального сервера 1С в виде массива // +// Параметры: +// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано +// в качестве ключа возвращаемого соответствия +// // Возвращаемое значение: // Массив (Соответствие) - список соединений // -Функция ВсеСоединения() Экспорт +Функция ВсеСоединения(Знач ИмяПоляКлюча = "Имя") Экспорт ВсеКластеры = Кластеры.Список(); @@ -615,12 +663,14 @@ // Функция возвращает список соединений кластера 1С в виде массива // // Параметры: -// КластерИлиАдрес - Кластер, Строка - объект или адрес кластера 1С +// КластерИлиАдрес - Кластер, Строка - объект или адрес кластера 1С +// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано +// в качестве ключа возвращаемого соответствия // // Возвращаемое значение: // Массив (Соответствие) - список соединений кластера 1С // -Функция СоединенияКластера(Знач КластерИлиАдрес = Неопределено) Экспорт +Функция СоединенияКластера(Знач КластерИлиАдрес = Неопределено, Знач ИмяПоляКлюча = "Имя") Экспорт Если НЕ ЗначениеЗаполнено(КластерИлиАдрес) Тогда Возврат ВсеСоединения(); @@ -632,7 +682,7 @@ Кластер = КластерИлиАдрес; КонецЕсли; - Возврат ПолучитьСписокОбъектов(Кластер.Соединения().Список()); + Возврат Кластер.Соединения().Список(, , ИмяПоляКлюча); КонецФункции // СоединенияКластера() @@ -640,38 +690,24 @@ #Область СлужебныеМетоды -Функция ПолучитьСписокОбъектов(Знач Список, Знач Параметры = Неопределено) - - СписокОбъектов = Новый Массив(); - - Для Каждого ТекОбъект Из Список Цикл - СписокОбъектов.Добавить(ПолучитьПоляОбъекта(ТекОбъект, Параметры)); - КонецЦикла; - - Возврат СписокОбъектов; - -КонецФункции // ПолучитьСписокОбъектов() - -Функция ПолучитьПоляОбъекта(Знач ОбъектКластера, Знач Параметры = Неопределено) - - ПоляОбъекта = Новый Соответствие(); +// Функция возвращает имя коллекции объектов по имени типа, из указанного поля ключа +// +// Параметры: +// ИмяТипа - Строка - имя типа объектов кластера +// ИмяПоляКлюча - Строка - имя поля, значение которого будет возвращено +// в качестве имени коллекции +// +// Возвращаемое значение: +// Строка - имя коллекции объектов +// +Функция ПолучитьИмяКоллекцииОбъектов(Знач ИмяТипа, Знач ИмяПоляКлюча = "Имя") - ИспользоватьПараметрыОбъекта = (Параметры = Неопределено); - Если ИспользоватьПараметрыОбъекта Тогда - Параметры = ОбъектКластера.ПараметрыОбъекта(); + Если ИмяПоляКлюча = "Имя" Тогда + ИмяПоляКлюча = "ИмяКоллекции"; КонецЕсли; - Для Каждого ТекПараметр Из Параметры Цикл - Если ИспользоватьПараметрыОбъекта Тогда - Ключ = ТекПараметр.Ключ; - Иначе - Ключ = ТекПараметр.Значение.ИмяРАК; - КонецЕсли; - ПоляОбъекта.Вставить(ТекПараметр.Значение.ИмяРАК, ОбъектКластера.Получить(Ключ)); - КонецЦикла; - - Возврат ПоляОбъекта; + Возврат ТипыОбъектовКластера.ТипОбъекта(ИмяТипа)[ИмяПоляКлюча]; -КонецФункции // ПолучитьПоляОбъекта() +КонецФункции // ПолучитьИмяКоллекцииОбъектов() #КонецОбласти // СлужебныеМетоды \ No newline at end of file From da9999d34b7e610057615332f8c5d4f048cea4b8 Mon Sep 17 00:00:00 2001 From: AKuznetsov Date: Fri, 18 Oct 2019 10:58:10 +0300 Subject: [PATCH 12/12] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=20=D0=BD=D0=BE=D0=BC=D0=B5=D1=80=20=D0=B2=D0=B5=D1=80?= =?UTF-8?q?=D1=81=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packagedef | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packagedef b/packagedef index e899202..6d59d4b 100644 --- a/packagedef +++ b/packagedef @@ -1,6 +1,6 @@  Описание.Имя("irac") - .Версия("0.11.1") + .Версия("0.12.0") .Автор("Artem Kuznetsov") .АдресАвтора("ArKuznetsov@gmail.com") .Описание("Библиотека администрирования кластера серверов 1С")