diff --git a/.travis.yml b/.travis.yml
index 9d9a82f..5ea1d98 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -15,11 +15,13 @@ before_install:
- oscript
- sudo git clone -b develop http://github.com/arkuznetsov/1testrunner ./testrunner
- sudo opm build ./testrunner -out ./testrunner
+ - sudo git clone -b develop http://github.com/arkuznetsov/moskito ./moskito
+ - sudo opm build ./moskito -out ./moskito
install:
- sudo opm install
- sudo opm install 1testrunner
- sudo opm install v8runner
- - sudo opm install moskito
+ - sudo opm install -f ./moskito/moskito-0.4.0.ospx
- sudo opm install -f ./testrunner/1testrunner-1.5.3.ospx
cache:
diff --git a/doc/rac.counter.txt b/doc/rac.counter.txt
new file mode 100644
index 0000000..c3cac2a
Binary files /dev/null and b/doc/rac.counter.txt differ
diff --git a/doc/rac.limit.txt b/doc/rac.limit.txt
new file mode 100644
index 0000000..5aecdf0
Binary files /dev/null and b/doc/rac.limit.txt differ
diff --git a/lib.config b/lib.config
index 2484864..8cbbad2 100644
--- a/lib.config
+++ b/lib.config
@@ -1,33 +1,33 @@
-
-
+
+
-
-
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/packagedef b/packagedef
index 7d94196..fdae126 100644
--- a/packagedef
+++ b/packagedef
@@ -1,6 +1,6 @@
Описание.Имя("irac")
- .Версия("0.8.1")
+ .Версия("0.9.0")
.Автор("Artem Kuznetsov")
.АдресАвтора("ArKuznetsov@gmail.com")
.Описание("Библиотека администрирования кластера серверов 1С")
diff --git a/readme.md b/readme.md
index f297127..fbb7fcf 100644
--- a/readme.md
+++ b/readme.md
@@ -34,7 +34,7 @@
Сообщить(Сервер.Имя() + " (" + Сервер.АдресСервера() + ":" + Сервер.ПортСервера() + ")");
Для Каждого ТекАтрибут Из Серверы.ПараметрыОбъекта() Цикл
- Сообщить(ТекАтрибут.Ключ + " : " + Сервер.Получить(ТекАтрибут.Значение.ИмяПараметра));
+ Сообщить(ТекАтрибут.Ключ + " : " + Сервер.Получить(ТекАтрибут.Значение.Имя));
КонецЦикла;
КонецЦикла;
@@ -49,7 +49,7 @@
Сообщить(ТекИБ.Имя() + " (" + ?(ТекИБ.ПолноеОписание(), "Полное", "Сокращенное") + " " + ТекИБ.Описание() + ")");
Для Каждого ТекАтрибут Из ИБ.ПараметрыОбъекта() Цикл
- Сообщить(ТекАтрибут.Ключ + " : " + ТекИБ.Получить(ТекАтрибут.Значение.ИмяПараметра));
+ Сообщить(ТекАтрибут.Ключ + " : " + ТекИБ.Получить(ТекАтрибут.Значение.Имя));
КонецЦикла;
КонецЦикла;
diff --git a/src/lib.config b/src/lib.config
index 88205b7..cc96211 100644
--- a/src/lib.config
+++ b/src/lib.config
@@ -1,33 +1,33 @@
-
-
+
+
-
-
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
+
\ No newline at end of file
diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\263\320\265\320\275\321\202\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.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"
similarity index 64%
rename from "src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\263\320\265\320\275\321\202\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.os"
rename to "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 7c20e31..9cd635f 100644
--- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\263\320\265\320\275\321\202\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.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"
@@ -1,3 +1,12 @@
+// ----------------------------------------------------------
+// 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/
+// ----------------------------------------------------------
+
Перем Кластер_Агент;
Перем ПараметрыОбъекта;
Перем Элементы;
@@ -7,7 +16,7 @@
// Конструктор
//
// Параметры:
-// АгентКластера - АгентКластера - ссылка на родительский объект агента кластера
+// АгентКластера - АгентКластера - ссылка на родительский объект агента кластера
//
Процедура ПриСозданииОбъекта(АгентКластера)
@@ -23,9 +32,9 @@
// и сохраняет в локальных переменных
//
// Параметры:
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
-// - Ложь - данные будут получены если истекло время актуальности
-// или данные не были получены ранее
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// - Ложь - данные будут получены если истекло время актуальности
+// или данные не были получены ранее
//
Процедура ОбновитьДанные(ОбновитьПринудительно = Ложь) Экспорт
@@ -43,8 +52,8 @@
Если НЕ КодВозврата = 0 Тогда
ВызватьИсключение СтрШаблон("Ошибка получения списка администраторов агента, КодВозврата = %1: %2",
- КодВозврата,
- Кластер_Агент.ВыводКоманды(Ложь));
+ КодВозврата,
+ Кластер_Агент.ВыводКоманды(Ложь));
КонецЕсли;
Элементы.Заполнить(Кластер_Агент.ВыводКоманды());
@@ -56,13 +65,13 @@
// Функция возвращает коллекцию параметров объекта
//
// Параметры:
-// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
-// в качестве ключа возвращаемого соответствия
+// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
+// в качестве ключа возвращаемого соответствия
//
// Возвращаемое значение:
-// Соответствие - коллекция параметров объекта, для получения/изменения значений
+// Соответствие - коллекция параметров объекта, для получения/изменения значений
//
-Функция ПараметрыОбъекта(ИмяПоляКлюча = "ИмяПараметра") Экспорт
+Функция ПараметрыОбъекта(ИмяПоляКлюча = "Имя") Экспорт
Возврат ПараметрыОбъекта.ОписаниеСвойств(ИмяПоляКлюча);
@@ -71,11 +80,11 @@
// Функция возвращает список администраторов агента кластера
//
// Параметры:
-// Отбор - Структура - Структура отбора администраторов (<поле>:<значение>)
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// Отбор - Структура - Структура отбора администраторов (<поле>:<значение>)
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
//
// Возвращаемое значение:
-// Массив - список администраторов агента кластера 1С
+// Массив - список администраторов агента кластера 1С
//
Функция Список(Отбор = Неопределено, ОбновитьПринудительно = Ложь) Экспорт
@@ -88,12 +97,12 @@
// Функция возвращает список администраторов агента кластеров 1С
//
// Параметры:
-// ПоляИерархии - Строка - Поля для построения иерархии списка администраторов, разделенные ","
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// ПоляИерархии - Строка - Поля для построения иерархии списка администраторов, разделенные ","
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
//
// Возвращаемое значение:
-// Соответствие - список администраторов агента кластеров 1С
-// <имя поля объекта> - Массив(Соответствие), Соответствие - список администраторов или следующий уровень
+// Соответствие - список администраторов агента кластеров 1С
+// <имя поля объекта> - Массив(Соответствие), Соответствие - список администраторов или следующий уровень
//
Функция ИерархическийСписок(Знач ПоляИерархии, ОбновитьПринудительно = Ложь) Экспорт
@@ -106,7 +115,7 @@
// Функция возвращает количество администраторов агента в списке
//
// Возвращаемое значение:
-// Число - количество администраторов агента
+// Число - количество администраторов агента
//
Функция Количество() Экспорт
@@ -121,11 +130,11 @@
// Функция возвращает описание администратора агента кластеров 1С
//
// Параметры:
-// Имя - Строка - Имя администраторов агента
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// Имя - Строка - Имя администраторов агента
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
//
// Возвращаемое значение:
-// Соответствие - описание администратора агента кластеров 1С
+// Соответствие - описание администратора агента кластеров 1С
//
Функция Получить(Знач Имя, Знач ОбновитьПринудительно = Ложь) Экспорт
@@ -145,14 +154,14 @@
// Процедура добавляет нового администратора агента кластеров
//
// Параметры:
-// Имя - Строка - имя администратора агента кластеров 1С
-// ПараметрыАдминАгента - Структура - параметры создаваемого администратора
-// - Пароль - Строка - пароль администратора агента кластеров 1С
-// - Описание - Строка - описание администратора агента кластеров 1С
-// - СпособАвторизации - Строка - Пароль / пользователь ОС
-// - ПользовательОС - Строка - пользователь ОС, соответствующий администратору
-// УстановитьТекущим - Булево - Истина - сделать добавленного администратора
-// текущим для агента кластеров
+// Имя - Строка - имя администратора агента кластеров 1С
+// ПараметрыАдминАгента - Структура - параметры создаваемого администратора
+// - Пароль - Строка - пароль администратора агента кластеров 1С
+// - Описание - Строка - описание администратора агента кластеров 1С
+// - СпособАвторизации - Строка - Пароль / пользователь ОС
+// - ПользовательОС - Строка - пользователь ОС, соответствующий администратору
+// УстановитьТекущим - Булево - Истина - сделать добавленного администратора
+// текущим для агента кластеров
//
Процедура Добавить(Знач Имя, Знач ПараметрыАдминАгента = Неопределено, УстановитьТекущим = Ложь) Экспорт
@@ -178,9 +187,9 @@
Если НЕ КодВозврата = 0 Тогда
ВызватьИсключение СтрШаблон("Ошибка добавления администратора агента ""%1"", КодВозврата = %2: %3",
- Имя,
- КодВозврата,
- Кластер_Агент.ВыводКоманды(Ложь));
+ Имя,
+ КодВозврата,
+ Кластер_Агент.ВыводКоманды(Ложь));
КонецЕсли;
Если НЕ ПараметрыАдминАгента.Свойство("Пароль") Тогда
@@ -200,7 +209,7 @@
// Процедура удаляет администратора агента кластеров
//
// Параметры:
-// Имя - Строка - имя администратора агента кластеров 1С
+// Имя - Строка - имя администратора агента кластеров 1С
//
Процедура Удалить(Имя) Экспорт
@@ -218,9 +227,9 @@
Если НЕ КодВозврата = 0 Тогда
ВызватьИсключение СтрШаблон("Ошибка удаления администратора агента ""%1"", КодВозврата = %2: %3",
- Имя,
- КодВозврата,
- Кластер_Агент.ВыводКоманды(Ложь));
+ Имя,
+ КодВозврата,
+ Кластер_Агент.ВыводКоманды(Ложь));
КонецЕсли;
Если ТекущееКоличество = 1 Тогда
@@ -233,4 +242,4 @@
КонецПроцедуры // Удалить()
-Лог = Логирование.ПолучитьЛог("ktb.lib.irac");
+Лог = Логирование.ПолучитьЛог("oscript.lib.irac");
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\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.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"
similarity index 66%
rename from "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\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.os"
rename to "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 7d115e7..0f8e40f 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\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.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"
@@ -1,3 +1,12 @@
+// ----------------------------------------------------------
+// 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/
+// ----------------------------------------------------------
+
Перем Кластер_Агент;
Перем Кластер_Владелец;
Перем ПараметрыОбъекта;
@@ -8,8 +17,8 @@
// Конструктор
//
// Параметры:
-// АгентКластера - АгентКластера - ссылка на родительский объект агента кластера
-// Кластер - Кластер - ссылка на родительский объект кластера
+// АгентКластера - АгентКластера - ссылка на родительский объект агента кластера
+// Кластер - Кластер - ссылка на родительский объект кластера
//
Процедура ПриСозданииОбъекта(АгентКластера, Кластер)
@@ -26,9 +35,9 @@
// и сохраняет в локальных переменных
//
// Параметры:
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
-// - Ложь - данные будут получены если истекло время актуальности
-// или данные не были получены ранее
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// - Ложь - данные будут получены если истекло время актуальности
+// или данные не были получены ранее
//
Процедура ОбновитьДанные(ОбновитьПринудительно = Ложь) Экспорт
@@ -47,8 +56,8 @@
Если НЕ КодВозврата = 0 Тогда
ВызватьИсключение СтрШаблон("Ошибка получения списка администраторов кластера, КодВозврата = %1: %2",
- КодВозврата,
- Кластер_Агент.ВыводКоманды(Ложь));
+ КодВозврата,
+ Кластер_Агент.ВыводКоманды(Ложь));
КонецЕсли;
Элементы.Заполнить(Кластер_Агент.ВыводКоманды());
@@ -60,13 +69,13 @@
// Функция возвращает коллекцию параметров объекта
//
// Параметры:
-// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
-// в качестве ключа возвращаемого соответствия
+// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
+// в качестве ключа возвращаемого соответствия
//
// Возвращаемое значение:
-// Соответствие - коллекция параметров объекта, для получения/изменения значений
+// Соответствие - коллекция параметров объекта, для получения/изменения значений
//
-Функция ПараметрыОбъекта(ИмяПоляКлюча = "ИмяПараметра") Экспорт
+Функция ПараметрыОбъекта(ИмяПоляКлюча = "Имя") Экспорт
Возврат ПараметрыОбъекта.ОписаниеСвойств(ИмяПоляКлюча);
@@ -75,11 +84,11 @@
// Функция возвращает список администраторов кластера
//
// Параметры:
-// Отбор - Структура - Структура отбора администраторов (<поле>:<значение>)
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// Отбор - Структура - Структура отбора администраторов (<поле>:<значение>)
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
//
// Возвращаемое значение:
-// Массив - список администраторов кластера 1С
+// Массив - список администраторов кластера 1С
//
Функция Список(Отбор = Неопределено, ОбновитьПринудительно = Ложь) Экспорт
@@ -92,12 +101,12 @@
// Функция возвращает список администраторов кластера 1С
//
// Параметры:
-// ПоляИерархии - Строка - Поля для построения иерархии списка администраторов, разделенные ","
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// ПоляИерархии - Строка - Поля для построения иерархии списка администраторов, разделенные ","
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
//
// Возвращаемое значение:
-// Соответствие - список администраторов кластеров 1С
-// <имя поля объекта> - Массив(Соответствие), Соответствие - список администраторов или следующий уровень
+// Соответствие - список администраторов кластеров 1С
+// <имя поля объекта> - Массив(Соответствие), Соответствие - список администраторов или следующий уровень
//
Функция ИерархическийСписок(Знач ПоляИерархии, ОбновитьПринудительно = Ложь) Экспорт
@@ -110,7 +119,7 @@
// Функция возвращает количество администраторов кластера в списке
//
// Возвращаемое значение:
-// Число - количество администраторов кластера
+// Число - количество администраторов кластера
//
Функция Количество() Экспорт
@@ -125,11 +134,11 @@
// Функция возвращает описание администратора кластера 1С
//
// Параметры:
-// Имя - Строка - Имя администраторов кластера
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// Имя - Строка - Имя администраторов кластера
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
//
// Возвращаемое значение:
-// Соответствие - описание администратора кластера 1С
+// Соответствие - описание администратора кластера 1С
//
Функция Получить(Знач Имя, Знач ОбновитьПринудительно = Ложь) Экспорт
@@ -149,14 +158,14 @@
// Процедура добавляет нового администратора кластера
//
// Параметры:
-// Имя - Строка - имя администратора кластера 1С
-// ПараметрыАдминКластера - Структура - параметры создаваемого администратора
-// - Пароль - Строка - пароль администратора кластера 1С
-// - Описание - Строка - описание администратора кластера 1С
-// - СпособАвторизации - Строка - Пароль / пользователь ОС
-// - ПользовательОС - Строка - пользователь ОС, соответствующий администратору
-// УстановитьТекущим - Булево - Истина - сделать добавленного администратора
-// текущим для кластера
+// Имя - Строка - имя администратора кластера 1С
+// ПараметрыАдминКластера - Структура - параметры создаваемого администратора
+// - Пароль - Строка - пароль администратора кластера 1С
+// - Описание - Строка - описание администратора кластера 1С
+// - СпособАвторизации - Строка - Пароль / пользователь ОС
+// - ПользовательОС - Строка - пользователь ОС, соответствующий администратору
+// УстановитьТекущим - Булево - Истина - сделать добавленного администратора
+// текущим для кластера
//
Процедура Добавить(Знач Имя, Знач ПараметрыАдминКластера = Неопределено, УстановитьТекущим = Ложь) Экспорт
@@ -184,9 +193,9 @@
Если НЕ КодВозврата = 0 Тогда
ВызватьИсключение СтрШаблон("Ошибка добавления администратора кластера ""%1"", КодВозврата = %2: %3",
- Имя,
- КодВозврата,
- Кластер_Агент.ВыводКоманды(Ложь));
+ Имя,
+ КодВозврата,
+ Кластер_Агент.ВыводКоманды(Ложь));
КонецЕсли;
Если УстановитьТекущим ИЛИ ТекущееКоличество = 0 Тогда
@@ -202,7 +211,7 @@
// Процедура удаляет администратора кластера
//
// Параметры:
-// Имя - Строка - имя администратора кластера 1С
+// Имя - Строка - имя администратора кластера 1С
//
Процедура Удалить(Имя) Экспорт
@@ -222,9 +231,9 @@
Если НЕ КодВозврата = 0 Тогда
ВызватьИсключение СтрШаблон("Ошибка удаления администратора кластера ""%1"", КодВозврата = %2: %3",
- Имя,
- КодВозврата,
- Кластер_Агент.ВыводКоманды(Ложь));
+ Имя,
+ КодВозврата,
+ Кластер_Агент.ВыводКоманды(Ложь));
КонецЕсли;
Если ТекущееКоличество = 1 Тогда
@@ -237,4 +246,4 @@
КонецПроцедуры // Удалить()
-Лог = Логирование.ПолучитьЛог("ktb.lib.irac");
+Лог = Логирование.ПолучитьЛог("oscript.lib.irac");
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\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\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\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os"
index 3600758..b8b693d 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\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\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\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os"
@@ -1,3 +1,12 @@
+// ----------------------------------------------------------
+// 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/
+// ----------------------------------------------------------
+
Перем Админ_АдресСервера;
Перем Админ_ПортСервера;
Перем Агент_ИсполнительКоманд;
@@ -13,17 +22,17 @@
// Конструктор
//
// Параметры:
-// АдресСервера - Строка - имя сервера агента администрирования (RAS)
-// ПортСервера - Число - порт сервера агента администрирования (RAS)
-// ВерсияИлиПутьКРАК - Строка - маска версии 1С или путь к утилите RAC
-// Администратор - Строка - администратор агента сервера 1С
-// ПарольАдминистратора - Строка - пароль администратора агента сервера 1С
+// АдресСервера - Строка - имя сервера агента администрирования (RAS)
+// ПортСервера - Число - порт сервера агента администрирования (RAS)
+// ВерсияИлиПутьКРАК - Строка - маска версии 1С или путь к утилите RAC
+// Администратор - Строка - администратор агента сервера 1С
+// ПарольАдминистратора - Строка - пароль администратора агента сервера 1С
//
Процедура ПриСозданииОбъекта(АдресСервера
- , ПортСервера
- , ВерсияИлиПутьКРАК = "8.3"
- , Администратор = ""
- , ПарольАдминистратора = "")
+ , ПортСервера
+ , ВерсияИлиПутьКРАК = "8.3"
+ , Администратор = ""
+ , ПарольАдминистратора = "")
Админ_АдресСервера = АдресСервера;
Админ_ПортСервера = ПортСервера;
@@ -44,7 +53,7 @@
// Функция возвращает строку параметров подключения к агенту администрирования (RAS)
//
// Возвращаемое значение:
-// Строка - строка параметров подключения к агенту администрирования (RAS)
+// Строка - строка параметров подключения к агенту администрирования (RAS)
//
Функция СтрокаПодключения() Экспорт
@@ -55,7 +64,7 @@
Сервер = Сервер + ":" + Админ_ПортСервера;
КонецЕсли;
КонецЕсли;
-
+
Возврат Сервер;
КонецФункции // СтрокаПодключения()
@@ -63,7 +72,7 @@
// Функция возвращает строку параметров авторизации на агенте кластера 1С
//
// Возвращаемое значение:
-// Строка - строка параметров авторизации на агенте кластера 1С
+// Строка - строка параметров авторизации на агенте кластера 1С
//
Функция СтрокаАвторизации() Экспорт
@@ -84,7 +93,7 @@
Если НЕ ПустаяСтрока(Агент_Администратор.Пароль) Тогда
СтрокаАвторизации = СтрокаАвторизации + СтрШаблон(" --agent-pwd=%1", Агент_Администратор.Пароль);
КонецЕсли;
-
+
Возврат СтрокаАвторизации;
КонецФункции // СтрокаАвторизации()
@@ -92,8 +101,8 @@
// Процедура устанавливает параметры авторизации на агенте кластера 1С
//
// Параметры:
-// Администратор - Строка - администратор агента сервера 1С
-// Пароль - Строка - пароль администратора агента сервера 1С
+// Администратор - Строка - администратор агента сервера 1С
+// Пароль - Строка - пароль администратора агента сервера 1С
//
Процедура УстановитьАдминистратора(Администратор, Пароль) Экспорт
@@ -141,7 +150,7 @@
// Функция возвращает текущий объект-исполнитель команд
//
// Возвращаемое значение:
-// ИсполнительКоманд - текущее значение объекта-исполнителя команд
+// ИсполнительКоманд - текущее значение объекта-исполнителя команд
//
Функция ИсполнительКоманд() Экспорт
@@ -152,7 +161,7 @@
// Процедура устанавливает объект-исполнитель команд
//
// Параметры:
-// НовыйИсполнитель - ИсполнительКоманд - новый объект-исполнитель команд
+// НовыйИсполнитель - ИсполнительКоманд - новый объект-исполнитель команд
//
Процедура УстановитьИсполнительКоманд(Знач НовыйИсполнитель = Неопределено) Экспорт
@@ -179,10 +188,10 @@
// Функция выполняет команду и возвращает код возврата команды
//
// Параметры:
-// ПараметрыКоманды - Массив - параметры выполнения команды
+// ПараметрыКоманды - Массив - параметры выполнения команды
//
// Возвращаемое значение:
-// Число - Код возврата команды
+// Число - Код возврата команды
//
Функция ВыполнитьКоманду(ПараметрыКоманды) Экспорт
@@ -200,11 +209,11 @@
// Функция возвращает текст результата выполнения команды
//
// Параметры:
-// РазобратьВывод - Булево - Истина - выполнить преобразование вывода команды в структуру
-// Ложь - вернуть текст вывода команды как есть
+// РазобратьВывод - Булево - Истина - выполнить преобразование вывода команды в структуру
+// Ложь - вернуть текст вывода команды как есть
//
// Возвращаемое значение:
-// Структура, Строка - вывод команды
+// Структура, Строка - вывод команды
//
Функция ВыводКоманды(РазобратьВывод = Истина) Экспорт
@@ -219,7 +228,7 @@
// Функция возвращает код возврата выполнения команды
//
// Возвращаемое значение:
-// Число - код возврата команды
+// Число - код возврата команды
//
Функция КодВозврата() Экспорт
@@ -232,10 +241,10 @@
// пары <ключ, значение> структуры получаются для каждой строки с учетом разделителя ":"
//
// Параметры:
-// ВыводКоманды - Строка - текст для разбора
+// ВыводКоманды - Строка - текст для разбора
//
// Возвращаемое значение:
-// Массив (Соответствие) - результат разбора
+// Массив (Соответствие) - результат разбора
//
Функция РазобратьВыводКоманды(Знач ВыводКоманды)
@@ -248,7 +257,7 @@
Для й = 1 По Текст.КоличествоСтрок() Цикл
ТекстСтроки = Текст.ПолучитьСтроку(й);
-
+
ПозРазделителя = СтрНайти(ТекстСтроки, ":");
Если НЕ ЗначениеЗаполнено(ТекстСтроки) Тогда
@@ -258,10 +267,12 @@
МассивРезультатов.Добавить(Описание);
Описание = Новый Соответствие();
Продолжить;
- ИначеЕсли ПозРазделителя = 0 Тогда
+ КонецЕсли;
+
+ Если ПозРазделителя = 0 Тогда
Продолжить;
КонецЕсли;
-
+
Описание.Вставить(СокрЛП(Лев(ТекстСтроки, ПозРазделителя - 1)), СокрЛП(Сред(ТекстСтроки, ПозРазделителя + 1)));
КонецЦикла;
@@ -273,7 +284,7 @@
// Функция возвращает строку описания подключения к серверу администрирования кластера 1С
//
// Возвращаемое значение:
-// Строка - описание подключения к серверу администрирования кластера 1С
+// Строка - описание подключения к серверу администрирования кластера 1С
//
Функция ОписаниеПодключения() Экспорт
@@ -285,7 +296,7 @@
// Функция возвращает список администраторов агента кластера 1С
//
// Возвращаемое значение:
-// Агент_Администраторы - список администраторов агента кластера 1С
+// Агент_Администраторы - список администраторов агента кластера 1С
//
Функция Администраторы() Экспорт
@@ -296,12 +307,12 @@
// Функция возвращает список кластеров 1С
//
// Возвращаемое значение:
-// Кластеры - список кластеров 1С
+// Кластеры - список кластеров 1С
//
Функция Кластеры() Экспорт
Возврат Кластеры;
-КонецФункции // Кластеры()
+КонецФункции // Кластеры()
-Лог = Логирование.ПолучитьЛог("ktb.lib.irac");
+Лог = Логирование.ПолучитьЛог("oscript.lib.irac");
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 6848cd8..aa2ab25 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"
@@ -1,3 +1,12 @@
+// ----------------------------------------------------------
+// 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/
+// ----------------------------------------------------------
+
Перем Кластер_Агент;
Перем Кластер_Владелец;
Перем ИБ_Владелец;
@@ -12,21 +21,21 @@
// Конструктор
//
// Параметры:
-// АгентКластера - АгентКластера - ссылка на родительский объект агента кластера
-// Кластер - Кластер - ссылка на родительский объект кластера
-// ИБ - ИнформационнаяБаза - ссылка на родительский объект информационной базы
-// Сеанс - ИнформационнаяБаза - ссылка на родительский объект сеанса
-// Соединение - ИнформационнаяБаза - ссылка на родительский объект соединения
+// АгентКластера - АгентКластера - ссылка на родительский объект агента кластера
+// Кластер - Кластер - ссылка на родительский объект кластера
+// ИБ - ИнформационнаяБаза - ссылка на родительский объект информационной базы
+// Сеанс - ИнформационнаяБаза - ссылка на родительский объект сеанса
+// Соединение - ИнформационнаяБаза - ссылка на родительский объект соединения
//
Процедура ПриСозданииОбъекта(АгентКластера, Кластер, ИБ = Неопределено, Сеанс = Неопределено, Соединение = Неопределено)
- Кластер_Агент = АгентКластера;
- Кластер_Владелец = Кластер;
- ИБ_Владелец = ИБ;
- Сеанс_Владелец = Сеанс;
- Соединение_Владелец = Соединение;
+ Кластер_Агент = АгентКластера;
+ Кластер_Владелец = Кластер;
+ ИБ_Владелец = ИБ;
+ Сеанс_Владелец = Сеанс;
+ Соединение_Владелец = Соединение;
- ПараметрыОбъекта = Новый ПараметрыОбъекта("lock");
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.Блокировки);
Элементы = Новый ОбъектыКластера(ЭтотОбъект);
@@ -36,9 +45,9 @@
// и сохраняет в локальных переменных
//
// Параметры:
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
-// - Ложь - данные будут получены если истекло время актуальности
-// или данные не были получены ранее
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// - Ложь - данные будут получены если истекло время актуальности
+// или данные не были получены ранее
//
Процедура ОбновитьДанные(ОбновитьПринудительно = Ложь) Экспорт
@@ -46,30 +55,36 @@
Возврат;
КонецЕсли;
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Кластер_Агент.СтрокаПодключения());
-
- ПараметрыЗапуска.Добавить("lock");
- ПараметрыЗапуска.Добавить("list");
-
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Владелец.Ид()));
- ПараметрыЗапуска.Добавить(Кластер_Владелец.СтрокаАвторизации());
-
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_Владелец.СтрокаАвторизации());
+
Если НЕ ИБ_Владелец = Неопределено Тогда
- ПараметрыЗапуска.Добавить(СтрШаблон("--infobase=%1", ИБ_Владелец.Ид()));
+ ПараметрыКоманды.Вставить("ИдентификаторИБ", ИБ_Владелец.Ид());
КонецЕсли;
Если НЕ Сеанс_Владелец = Неопределено Тогда
- ПараметрыЗапуска.Добавить(СтрШаблон("--session=%1", Сеанс_Владелец.Получить("session")));
+ ПараметрыКоманды.Вставить("ИдентификаторСеанса", Сеанс_Владелец.Ид());
КонецЕсли;
Если НЕ Соединение_Владелец = Неопределено Тогда
- ПараметрыЗапуска.Добавить(СтрШаблон("--connection=%1", Соединение_Владелец.Получить("connection")));
+ ПараметрыКоманды.Вставить("ИдентификаторСоединения", Соединение_Владелец.Ид());
КонецЕсли;
- Кластер_Агент.ВыполнитьКоманду(ПараметрыЗапуска);
+ ПараметрыОбъекта.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды);
+
+ КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("Список"));
+
+ Если НЕ КодВозврата = 0 Тогда
+ ВызватьИсключение СтрШаблон("Ошибка получения списка блокировок, КодВозврата = %1: %2",
+ КодВозврата,
+ Кластер_Агент.ВыводКоманды(Ложь));
+ КонецЕсли;
- Элементы.Заполнить(Кластер_Агент.ВыводКоманды());
+ МассивРезультатов = Кластер_Агент.ВыводКоманды();
+
+ Элементы.Заполнить(МассивРезультатов);
Элементы.УстановитьАктуальность();
@@ -78,26 +93,26 @@
// Функция возвращает коллекцию параметров объекта
//
// Параметры:
-// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
-// в качестве ключа возвращаемого соответствия
+// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
+// в качестве ключа возвращаемого соответствия
//
// Возвращаемое значение:
-// Соответствие - коллекция параметров объекта, для получения/изменения значений
+// Соответствие - коллекция параметров объекта, для получения/изменения значений
//
-Функция ПараметрыОбъекта(ИмяПоляКлюча = "ИмяПараметра") Экспорт
+Функция ПараметрыОбъекта(ИмяПоляКлюча = "Имя") Экспорт
- Возврат ПараметрыОбъекта.Получить(ИмяПоляКлюча);
+ Возврат ПараметрыОбъекта.ОписаниеСвойств(ИмяПоляКлюча);
КонецФункции // ПараметрыОбъекта()
// Функция возвращает список блокировок
//
// Параметры:
-// Отбор - Структура - Структура отбора блокировок (<поле>:<значение>)
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// Отбор - Структура - Структура отбора блокировок (<поле>:<значение>)
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
//
// Возвращаемое значение:
-// Массив - список блокировок
+// Массив - список блокировок
//
Функция Список(Отбор = Неопределено, ОбновитьПринудительно = Ложь) Экспорт
@@ -110,11 +125,11 @@
// Функция возвращает список блокировок
//
// Параметры:
-// ПоляИерархии - Строка - Поля для построения иерархии списка блокировок, разделенные ","
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// ПоляИерархии - Строка - Поля для построения иерархии списка блокировок, разделенные ","
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
//
// Возвращаемое значение:
-// Соответствие - список блокировок
+// Соответствие - список блокировок
//
Функция ИерархическийСписок(Знач ПоляИерархии, ОбновитьПринудительно = Ложь) Экспорт
@@ -127,7 +142,7 @@
// Функция возвращает количество блокировок в списке
//
// Возвращаемое значение:
-// Число - количество блокировок
+// Число - количество блокировок
//
Функция Количество() Экспорт
@@ -139,4 +154,4 @@
КонецФункции // Количество()
-Лог = Логирование.ПолучитьЛог("ktb.lib.irac");
+Лог = Логирование.ПолучитьЛог("oscript.lib.irac");
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 5122544..31f1813 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"
@@ -1,6 +1,15 @@
-Перем ИБ_Ид; // infobase
-Перем ИБ_Имя; // name
-Перем ИБ_Описание; // descr
+// ----------------------------------------------------------
+// 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/
+// ----------------------------------------------------------
+
+Перем ИБ_Ид; // infobase
+Перем ИБ_Имя; // name
+Перем ИБ_Описание; // descr
Перем ИБ_ПолноеОписание;// Истина - получено полное описание; Ложь - сокращенное
Перем ИБ_Сеансы;
Перем ИБ_Соединения;
@@ -22,7 +31,7 @@
// АгентКластера - АгентКластера - ссылка на родительский объект агента кластера
// Кластер - Кластер - ссылка на родительский объект кластера
// ИБ - Строка, Соответствие - идентификатор информационной базы в кластере
-// или параметры информационной базы
+// или параметры информационной базы
// Администратор - Строка - администратор информационной базы
// ПарольАдминистратора - Строка - пароль администратора информационной базы
//
@@ -32,7 +41,7 @@
Возврат;
КонецЕсли;
- ПараметрыОбъекта = Новый КомандыОбъекта("infobase");
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.ИБ);
Кластер_Агент = АгентКластера;
Кластер_Владелец = Кластер;
@@ -60,9 +69,9 @@
// и сохраняет в локальных переменных
//
// Параметры:
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
-// - Ложь - данные будут получены если истекло время актуальности
-// или данные не были получены ранее
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// - Ложь - данные будут получены если истекло время актуальности
+// или данные не были получены ранее
//
Процедура ОбновитьДанные(ОбновитьПринудительно = Ложь) Экспорт
@@ -79,7 +88,7 @@
Иначе
ИБ_ПолноеОписание = Истина;
КонецЕсли;
-
+
Если ТекОписание = Неопределено Тогда
Возврат;
КонецЕсли;
@@ -96,7 +105,7 @@
// Процедура заполняет параметры информационной базы
//
// Параметры:
-// ДанныеЗаполнения - Соответствие - данные, из которых будут заполнены параметры ИБ
+// ДанныеЗаполнения - Соответствие - данные, из которых будут заполнены параметры ИБ
//
Процедура ЗаполнитьПараметрыИБ(ДанныеЗаполнения)
@@ -110,13 +119,13 @@
// Функция возвращает коллекцию параметров объекта
//
// Параметры:
-// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
-// в качестве ключа возвращаемого соответствия
+// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
+// в качестве ключа возвращаемого соответствия
//
// Возвращаемое значение:
-// Соответствие - коллекция параметров объекта, для получения/изменения значений
+// Соответствие - коллекция параметров объекта, для получения/изменения значений
//
-Функция ПараметрыОбъекта(ИмяПоляКлюча = "ИмяПараметра") Экспорт
+Функция ПараметрыОбъекта(ИмяПоляКлюча = "Имя") Экспорт
Возврат ПараметрыОбъекта.ОписаниеСвойств(ИмяПоляКлюча);
@@ -125,7 +134,7 @@
// Функция возвращает полное описание информационной базы 1С
//
// Возвращаемое значение:
-// Соответствие - полное описание информационной базы 1С
+// Соответствие - полное описание информационной базы 1С
//
Функция ПолучитьПолноеОписаниеИБ()
@@ -137,17 +146,19 @@
ПараметрыКоманды.Вставить("СтрокаАвторизацииИБ" , СтрокаАвторизации());
ПараметрыОбъекта.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды);
-
+
КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("ПолноеОписание"));
Если НЕ КодВозврата = 0 Тогда
Если Найти(Кластер_Агент.ВыводКоманды(Ложь), "Недостаточно прав пользователя") = 0 Тогда
ВызватьИсключение Кластер_Агент.ВыводКоманды(Ложь);
Иначе
- Возврат Неопределено;
+ ВызватьИсключение СтрШаблон("Ошибка получения полного описания информационной базы ""%1"": %2",
+ Имя(),
+ Кластер_Агент.ВыводКоманды(Ложь));
КонецЕсли;
КонецЕсли;
-
+
МассивРезультатов = Кластер_Агент.ВыводКоманды();
Если МассивРезультатов.Количество() = 0 Тогда
@@ -161,7 +172,7 @@
// Функция возвращает сокращенное описание информационной базы 1С
//
// Возвращаемое значение:
-// Соответствие - сокращенное описание информационной базы 1С
+// Соответствие - сокращенное описание информационной базы 1С
//
Функция ПолучитьОписаниеИБ()
@@ -173,8 +184,14 @@
ПараметрыОбъекта.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды);
- Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("Описание"));
-
+ КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("Описание"));
+
+ Если НЕ КодВозврата = 0 Тогда
+ ВызватьИсключение СтрШаблон("Ошибка получения описания информационной базы ""%1"": %2",
+ Имя(),
+ Кластер_Агент.ВыводКоманды(Ложь));
+ КонецЕсли;
+
МассивРезультатов = Кластер_Агент.ВыводКоманды();
Если МассивРезультатов.Количество() = 0 Тогда
@@ -188,7 +205,7 @@
// Функция возвращает строку параметров авторизации для информационной базы 1С
//
// Возвращаемое значение:
-// Строка - строка параметров авторизации на агенте кластера 1С
+// Строка - строка параметров авторизации на агенте кластера 1С
//
Функция СтрокаАвторизации() Экспорт
@@ -211,7 +228,7 @@
Если НЕ ПустаяСтрока(ПараметрыАдминистратора.Пароль) Тогда
СтрокаАвторизации = СтрокаАвторизации + СтрШаблон(" --infobase-pwd=%1", ПараметрыАдминистратора.Пароль);
КонецЕсли;
-
+
Возврат СтрокаАвторизации;
КонецФункции // СтрокаАвторизации()
@@ -219,8 +236,8 @@
// Процедура устанавливает параметры авторизации для информационной базы 1С
//
// Параметры:
-// Администратор - Строка - администратор информационной базы 1С
-// Пароль - Строка - пароль администратора информационной базы 1С
+// Администратор - Строка - администратор информационной базы 1С
+// Пароль - Строка - пароль администратора информационной базы 1С
//
Процедура УстановитьАдминистратора(Администратор, Пароль) Экспорт
@@ -231,7 +248,7 @@
// Функция возвращает идентификатор информационной базы 1С
//
// Возвращаемое значение:
-// Строка - идентификатор информационной базы 1С
+// Строка - идентификатор информационной базы 1С
//
Функция Ид() Экспорт
@@ -242,7 +259,7 @@
// Функция возвращает имя информационной базы 1С
//
// Возвращаемое значение:
-// Строка - имя информационной базы 1С
+// Строка - имя информационной базы 1С
//
Функция Имя() Экспорт
@@ -257,7 +274,7 @@
// Функция возвращает описание информационной базы 1С
//
// Возвращаемое значение:
-// Строка - описание информационной базы 1С
+// Строка - описание информационной базы 1С
//
Функция Описание() Экспорт
@@ -272,7 +289,7 @@
// Функция возвращает признак доступности полного описания информационной базы 1С
//
// Возвращаемое значение:
-// Булево - Истина - доступно полное описание; Ложь - доступно сокращенное описание
+// Булево - Истина - доступно полное описание; Ложь - доступно сокращенное описание
//
Функция ПолноеОписание() Экспорт
@@ -287,7 +304,7 @@
// Функция возвращает сеансы информационной базы 1С
//
// Возвращаемое значение:
-// Сеансы - сеансы информационной базы 1С
+// Сеансы - сеансы информационной базы 1С
//
Функция Сеансы() Экспорт
@@ -296,13 +313,13 @@
КонецЕсли;
Возврат ИБ_Сеансы;
-
+
КонецФункции // Сеансы()
// Функция возвращает соединения информационной базы 1С
//
// Возвращаемое значение:
-// Соединения - соединения информационной базы 1С
+// Соединения - соединения информационной базы 1С
//
Функция Соединения() Экспорт
@@ -311,17 +328,17 @@
КонецЕсли;
Возврат ИБ_Соединения;
-
+
КонецФункции // Соединения()
// Функция возвращает значение параметра информационной базы 1С
//
// Параметры:
-// ИмяПоля - Строка - Имя параметра информационной базы
-// ОбновитьПринудительно - Булево - Истина - обновить список (вызов RAC)
+// ИмяПоля - Строка - Имя параметра информационной базы
+// ОбновитьПринудительно - Булево - Истина - обновить список (вызов RAC)
//
// Возвращаемое значение:
-// Произвольный - значение параметра кластера 1С
+// Произвольный - значение параметра кластера 1С
//
Функция Получить(ИмяПоля, ОбновитьПринудительно = Ложь) Экспорт
@@ -340,22 +357,22 @@
ЗначениеПоля = ИБ_Параметры.Получить(ИмяПоля);
Если ЗначениеПоля = Неопределено Тогда
-
- ОписаниеПараметра = ПараметрыОбъекта("ИмяПоляРАК").Получить(ИмяПоля);
+
+ ОписаниеПараметра = ПараметрыОбъекта("ИмяРАК").Получить(ИмяПоля);
Если НЕ ОписаниеПараметра = Неопределено Тогда
- ЗначениеПоля = ИБ_Параметры.Получить(ОписаниеПараметра["ИмяПараметра"]);
+ ЗначениеПоля = ИБ_Параметры.Получить(ОписаниеПараметра["Имя"]);
КонецЕсли;
КонецЕсли;
Возврат ЗначениеПоля;
-
+
КонецФункции // Получить()
// Процедура изменяет параметры информационной базы
//
// Параметры:
-// ПараметрыИБ - Структура - новые параметры информационной базы
+// ПараметрыИБ - Структура - новые параметры информационной базы
//
Процедура Изменить(Знач ПараметрыИБ = Неопределено) Экспорт
@@ -377,7 +394,13 @@
ПараметрыОбъекта.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды);
- Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("Изменить"));
+ КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("Изменить"));
+
+ Если НЕ КодВозврата = 0 Тогда
+ ВызватьИсключение СтрШаблон("Ошибка изменения информационной базы ""%1"": %2",
+ Имя(),
+ Кластер_Агент.ВыводКоманды(Ложь));
+ КонецЕсли;
Лог.Отладка(Кластер_Агент.ВыводКоманды(Ложь));
@@ -385,4 +408,40 @@
КонецПроцедуры // Изменить()
-Лог = Логирование.ПолучитьЛог("ktb.lib.irac");
+// Процедура удаляет информационную базу
+//
+// Параметры:
+// ДействияСБазойСУБД - Строка - "drop" - удалить базу данных; "clear" - очистить базу данных;
+// иначе оставить базу данных как есть
+//
+Процедура Удалить(ДействияСБазойСУБД = "") Экспорт
+
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_Владелец.СтрокаАвторизации());
+
+ ПараметрыКоманды.Вставить("ИдентификаторИБ" , Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииИБ" , СтрокаАвторизации());
+
+ Если ДействияСБазойСУБД = Перечисления.ДействияСБазойСУБДПриУдалении.Очистить Тогда
+ ПараметрыКоманды.Вставить("ОчиститьБД", Истина);
+ ИначеЕсли ДействияСБазойСУБД = Перечисления.ДействияСБазойСУБДПриУдалении.Удалить Тогда
+ ПараметрыКоманды.Вставить("УдалитьБД", Истина);
+ КонецЕсли;
+
+ ПараметрыОбъекта.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды);
+
+ КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("Удалить"));
+
+ Если НЕ КодВозврата = 0 Тогда
+ ВызватьИсключение СтрШаблон("Ошибка удаления информационной базы ""%1"": %2",
+ Имя(),
+ Кластер_Агент.ВыводКоманды(Ложь));
+ КонецЕсли;
+
+ Лог.Отладка(Кластер_Агент.ВыводКоманды(Ложь));
+
+КонецПроцедуры // Удалить()
+
+Лог = Логирование.ПолучитьЛог("oscript.lib.irac");
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\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"
similarity index 60%
rename from "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\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"
rename to "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 668639d..c7ad08f 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\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"
@@ -1,3 +1,12 @@
+// ----------------------------------------------------------
+// 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/
+// ----------------------------------------------------------
+
Перем Кластер_Агент;
Перем Кластер_Владелец;
Перем ПараметрыОбъекта;
@@ -8,15 +17,15 @@
// Конструктор
//
// Параметры:
-// АгентКластера - АгентКластера - ссылка на родительский объект агента кластера
-// Кластер - Кластер - ссылка на родительский объект кластера
+// АгентКластера - АгентКластера - ссылка на родительский объект агента кластера
+// Кластер - Кластер - ссылка на родительский объект кластера
//
Процедура ПриСозданииОбъекта(АгентКластера, Кластер)
Кластер_Агент = АгентКластера;
Кластер_Владелец = Кластер;
- ПараметрыОбъекта = Новый КомандыОбъекта("infobase");
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.ИБ);
Элементы = Новый ОбъектыКластера(ЭтотОбъект);
@@ -26,9 +35,9 @@
// и сохраняет в локальных переменных
//
// Параметры:
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
-// - Ложь - данные будут получены если истекло время актуальности
-// или данные не были получены ранее
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// - Ложь - данные будут получены если истекло время актуальности
+// или данные не были получены ранее
//
Процедура ОбновитьДанные(ОбновитьПринудительно = Ложь) Экспорт
@@ -43,7 +52,13 @@
ПараметрыОбъекта.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды);
- Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("Список"));
+ КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("Список"));
+
+ Если НЕ КодВозврата = 0 Тогда
+ ВызватьИсключение СтрШаблон("Ошибка получения списка информационных баз, КодВозврата = %1: %2",
+ КодВозврата,
+ Кластер_Агент.ВыводКоманды(Ложь));
+ КонецЕсли;
МассивРезультатов = Кластер_Агент.ВыводКоманды();
@@ -61,13 +76,13 @@
// Функция возвращает коллекцию параметров объекта
//
// Параметры:
-// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
-// в качестве ключа возвращаемого соответствия
+// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
+// в качестве ключа возвращаемого соответствия
//
// Возвращаемое значение:
-// Соответствие - коллекция параметров объекта, для получения/изменения значений
+// Соответствие - коллекция параметров объекта, для получения/изменения значений
//
-Функция ПараметрыОбъекта(ИмяПоляКлюча = "ИмяПараметра") Экспорт
+Функция ПараметрыОбъекта(ИмяПоляКлюча = "Имя") Экспорт
Возврат ПараметрыОбъекта.ОписаниеСвойств(ИмяПоляКлюча);
@@ -76,11 +91,11 @@
// Функция возвращает список информационных баз
//
// Параметры:
-// Отбор - Структура - Структура отбора информационных баз (<поле>:<значение>)
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// Отбор - Структура - Структура отбора информационных баз (<поле>:<значение>)
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
//
// Возвращаемое значение:
-// Массив - список информационных баз
+// Массив - список информационных баз
//
Функция Список(Отбор = Неопределено, ОбновитьПринудительно = Ложь) Экспорт
@@ -93,12 +108,12 @@
// Функция возвращает список информационных баз
//
// Параметры:
-// ПоляИерархии - Строка - Поля для построения иерархии списка информационных баз, разделенные ","
-// ОбновитьПринудительно - Булево - Истина - обновить список (вызов RAC)
+// ПоляИерархии - Строка - Поля для построения иерархии списка информационных баз, разделенные ","
+// ОбновитьПринудительно - Булево - Истина - обновить список (вызов RAC)
//
// Возвращаемое значение:
-// Соответствие - список информационных баз
-// <имя поля объекта> - Массив(Соответствие), Соответствие - список информационных баз или следующий уровень
+// Соответствие - список информационных баз
+// <имя поля объекта> - Массив(Соответствие), Соответствие - список информационных баз или следующий уровень
//
Функция ИерархическийСписок(Знач ПоляИерархии, ОбновитьПринудительно = Ложь) Экспорт
@@ -111,7 +126,7 @@
// Функция возвращает количество информационных баз в списке
//
// Возвращаемое значение:
-// Число - количество информационных баз
+// Число - количество информационных баз
//
Функция Количество() Экспорт
@@ -126,11 +141,11 @@
// Функция возвращает описание информационной базы 1С
//
// Параметры:
-// Имя - Строка - Имя информационной базы 1С
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// Имя - Строка - Имя информационной базы 1С
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
//
// Возвращаемое значение:
-// Соответствие - описание информационной базы 1С
+// Соответствие - описание информационной базы 1С
//
Функция Получить(Знач Имя, Знач ОбновитьПринудительно = Ложь) Экспорт
@@ -150,10 +165,10 @@
// Процедура добавляет новую информационную базу
//
// Параметры:
-// Имя - Строка - имя информационной базы
-// Локализация - Строка - локализация базы
-// СоздатьБазуСУБД - Булево - Истина - создать базу данных на сервере СУБД; Ложь - не создавать
-// ПараметрыИБ - Структура - параметры информационной базы
+// Имя - Строка - имя информационной базы
+// Локализация - Строка - локализация базы
+// СоздатьБазуСУБД - Булево - Истина - создать базу данных на сервере СУБД; Ложь - не создавать
+// ПараметрыИБ - Структура - параметры информационной базы
//
Процедура Добавить(Имя, Локализация = "ru_RU", СоздатьБазуСУБД = Ложь, ПараметрыИБ = Неопределено) Экспорт
@@ -180,8 +195,8 @@
Если НЕ КодВозврата = 0 Тогда
ВызватьИсключение СтрШаблон("Ошибка добавления информационной базы ""%1"": %2",
- Имя,
- Кластер_Агент.ВыводКоманды(Ложь));
+ Имя,
+ Кластер_Агент.ВыводКоманды(Ложь));
КонецЕсли;
Лог.Отладка(Кластер_Агент.ВыводКоманды(Ложь));
@@ -193,36 +208,22 @@
// Процедура удаляет информационную базу
//
// Параметры:
-// Имя - Строка - имя информационной базы
-// ДействияСБазойСУБД - Строка - "drop" - удалить базу данных; "clear" - очистить базу данных;
-// иначе оставить базу данных как есть
+// Имя - Строка - имя информационной базы
+// ДействияСБазойСУБД - Строка - "drop" - удалить базу данных; "clear" - очистить базу данных;
+// иначе оставить базу данных как есть
//
Процедура Удалить(Имя, ДействияСБазойСУБД = "") Экспорт
- ПараметрыКоманды = Новый Соответствие();
- ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения());
- ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид());
- ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_Владелец.СтрокаАвторизации());
-
- ПараметрыКоманды.Вставить("ИдентификаторИБ" , Получить(Имя).Ид());
- ПараметрыКоманды.Вставить("СтрокаАвторизацииИБ" , Получить(Имя).СтрокаАвторизации());
+ ИБ = Получить(Имя);
- ПараметрыКоманды.Вставить("ДействияСБазойСУБД" , ДействияСБазойСУБД);
-
- ПараметрыОбъекта.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды);
-
- КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("Удалить"));
-
- Если НЕ КодВозврата = 0 Тогда
- ВызватьИсключение СтрШаблон("Ошибка удаления информационной базы ""%1"": %2",
- Имя,
- Кластер_Агент.ВыводКоманды(Ложь));
+ Если ИБ = Неопределено Тогда
+ Возврат;
КонецЕсли;
-
- Лог.Отладка(Кластер_Агент.ВыводКоманды(Ложь));
+
+ ИБ.Удалить(ДействияСБазойСУБД);
ОбновитьДанные(Истина);
КонецПроцедуры // Удалить()
-Лог = Логирование.ПолучитьЛог("ktb.lib.irac");
+Лог = Логирование.ПолучитьЛог("oscript.lib.irac");
diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\232\320\276\320\274\320\260\320\275\320\264.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\232\320\276\320\274\320\260\320\275\320\264.os"
index 345be26..6a43583 100644
--- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\232\320\276\320\274\320\260\320\275\320\264.os"
+++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\232\320\276\320\274\320\260\320\275\320\264.os"
@@ -1,3 +1,12 @@
+// ----------------------------------------------------------
+// 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/
+// ----------------------------------------------------------
+
Перем ЭтоWindows;
Перем ВыводКоманды;
Перем КодВозврата;
@@ -9,7 +18,7 @@
// Конструктор
//
// Параметры:
-// ВерсияИлиПутьКРАК - Строка - маска версии 1С или путь к утилите RAC
+// ВерсияИлиПутьКРАК - Строка - маска версии 1С или путь к утилите RAC
//
Процедура ПриСозданииОбъекта(ВерсияИлиПутьКРАК = "8.3")
@@ -27,7 +36,7 @@
// Процедура ищет утилиту RAC и выполняет инициализацию
//
// Параметры:
-// ВерсияИлиПутьКРАК - Строка - маска версии 1С или путь к утилите RAC
+// ВерсияИлиПутьКРАК - Строка - маска версии 1С или путь к утилите RAC
//
Процедура ИнициализироватьУтилитуАдминистрирования(ВерсияИлиПутьКРАК = "") Экспорт
@@ -47,8 +56,8 @@
ШаблонПроверки = "8.";
Если Лев(ПутьКУтилитеАдминистрирования, СтрДлина(ШаблонПроверки)) = ШаблонПроверки Тогда
- ПутьКУтилитеАдминистрирования = ПолучитьПутьКВерсииПлатформы(ВерсияИлиПутьКРАК);
- УстановитьПутьКУтилитеАдминистрирования(ПутьКУтилитеАдминистрирования);
+ ПутьКУтилитеАдминистрирования = ПолучитьПутьКВерсииПлатформы(ВерсияИлиПутьКРАК);
+ УстановитьПутьКУтилитеАдминистрирования(ПутьКУтилитеАдминистрирования);
КонецЕсли;
ВерсияУтилитыАдминистрирования = ПолучитьВерсиюУтилитыАдминистрирования(ПутьКУтилитеАдминистрирования());
@@ -62,7 +71,7 @@
// Функция возвращает версию утилиты RAC
//
// Возвращаемое значение:
-// Строка - версия утилиты администрирования
+// Строка - версия утилиты администрирования
//
Функция ВерсияУтилитыАдминистрирования() Экспорт
@@ -73,7 +82,7 @@
// Функция возвращает путь к утилите RAC
//
// Возвращаемое значение:
-// Строка - текущий путь к утилите RAC
+// Строка - текущий путь к утилите RAC
//
Функция ПутьКУтилитеАдминистрирования() Экспорт
@@ -84,12 +93,12 @@
// Процедура устанавливает переданный путь к утилите RAC
//
// Параметры:
-// Путь - Строка - новый путь к утилите RAC
+// Путь - Строка - новый путь к утилите RAC
//
Процедура УстановитьПутьКУтилитеАдминистрирования(Знач Путь = "") Экспорт
Если Путь = "" Тогда
- Возврат;
+ Возврат;
КонецЕсли;
ФайлУтилитыАдминистрирования = Новый Файл(Путь);
@@ -104,10 +113,10 @@
// Функция выполняет запуск утилиты администрирования кластера 1С (rac) с указанными параметрами
//
// Параметры:
-// ПараметрыКоманды - Масссив - список параметров запуска утилиты администрирования кластера 1С (rac)
-//
+// ПараметрыКоманды - Масссив - список параметров запуска утилиты администрирования кластера 1С (rac)
+//
// Возвращаемое значение:
-// Строка - вывод команды
+// Строка - вывод команды
//
Функция ВыполнитьКоманду(Знач ПараметрыКоманды) Экспорт
@@ -128,7 +137,7 @@
// Функция возвращает текст результата выполнения команды
//
// Возвращаемое значение:
-// Строка - вывод команды
+// Строка - вывод команды
//
Функция ВыводКоманды() Экспорт
@@ -139,7 +148,7 @@
// Функция возвращает код возврата выполнения команды
//
// Возвращаемое значение:
-// Число - код возврата команды
+// Число - код возврата команды
//
Функция КодВозврата() Экспорт
@@ -155,11 +164,11 @@
// соответствующие переданной маске версии
//
// Параметры:
-// КаталогиУстановкиПлатформы - Массив - возможные каталоги установки платформы
-// Версия - Строка - маска версии платформы вида 8.*, 8.3.*, 8.3.5.*, 8.3.10.2561
+// КаталогиУстановкиПлатформы - Массив - возможные каталоги установки платформы
+// Версия - Строка - маска версии платформы вида 8.*, 8.3.*, 8.3.5.*, 8.3.10.2561
//
// Возвращаемое значение:
-// Массив - массив каталогов с установленной платформой 1С
+// Массив - массив каталогов с установленной платформой 1С
//
Функция НайтиПодкаталоги1СПоМаскеВерсии(КаталогиУстановкиПлатформы, Знач Версия)
@@ -167,7 +176,7 @@
Для Каждого ВозможныйПуть Из КаталогиУстановкиПлатформы Цикл
Лог.Отладка("Выполняю попытку поиска версии в каталоге " + ВозможныйПуть);
-
+
МассивФайлов = НайтиФайлы(ВозможныйПуть, Версия + "*");
Если МассивФайлов.Количество() = 0 Тогда
Лог.Отладка("Не найдено ни одного каталога с версией в %1", ВозможныйПуть);
@@ -182,10 +191,10 @@
Если НЕ ФайлУтилитыАдминистрирования.Существует() Тогда
Лог.Отладка("Пропускаю каталог 1С %1", Подкаталог1С.Имя);
Продолжить;
- КонецЕсли;
+ КонецЕсли;
ОписаниеКаталога = Новый Структура("Версия, ФайлУтилитыАдминистрирования",
- Подкаталог1С.Имя,
- ФайлУтилитыАдминистрирования);
+ Подкаталог1С.Имя,
+ ФайлУтилитыАдминистрирования);
МассивКаталогов1С.Добавить(ОписаниеКаталога);
Лог.Отладка("Нашел платформу 1С %1", Подкаталог1С.Имя);
КонецЦикла;
@@ -198,8 +207,8 @@
// Процедура добавляет в массив расположений пути расположения платформы 1С из файла настройки платформы 1С
//
// Параметры:
-// ИмяФайла - Строка - путь к файлу настройки платформы 1С
-// МассивПутей - Массив - массив расположений платформы 1С
+// ИмяФайла - Строка - путь к файлу настройки платформы 1С
+// МассивПутей - Массив - массив расположений платформы 1С
//
Процедура ДополнитьМассивРасположенийИзКонфигурационногоФайла(Знач ИмяФайла, Знач МассивПутей)
@@ -225,7 +234,7 @@
// Процедура добавляет в массив расположений стандартные пути расположения платформы 1С
//
// Параметры:
-// МассивПутей - Массив - массив расположений платформы 1С
+// МассивПутей - Массив - массив расположений платформы 1С
//
Процедура ДополнитьМассивРасположенийИзСтандартныхПутей(Знач МассивПутей)
@@ -239,7 +248,7 @@
ВызватьИсключение "Не обнаружено установленных версий платформы 1С";
КонецЕсли;
КонецЕсли;
-
+
МассивПутей.Добавить(ОбъединитьПути(ФайлProgramFiles.ПолноеИмя, "1Cv8"));
КонецПроцедуры // ДополнитьМассивРасположенийИзСтандартныхПутей()
@@ -247,7 +256,7 @@
// Функция возвращает массив возможных путей расположения платформы 1С
//
// Возвращаемое значение:
-// Массив - массив расположений платформы 1С
+// Массив - массив расположений платформы 1С
//
Функция СобратьВозможныеКаталогиУстановкиПлатформыWindows()
@@ -277,10 +286,10 @@
// Функция возвращает путь к каталогу платформы 1С в ОС Windows, соответствующей маске версии
//
// Параметры:
-// Версия - Строка - маска версии платформы вида 8.*, 8.3.*, 8.3.5.*, 8.3.10.2561
+// Версия - Строка - маска версии платформы вида 8.*, 8.3.*, 8.3.5.*, 8.3.10.2561
//
// Возвращаемое значение:
-// Строка - путь к версии платформы 1С
+// Строка - путь к версии платформы 1С
//
Функция ПолучитьПутьКВерсииПлатформыWindows(Знач Версия)
@@ -304,7 +313,7 @@
Для Сч = 1 По МассивКаталоговВерсий.ВГраница() Цикл
Если СтроковыеФункции.СравнитьВерсии(МассивКаталоговВерсий[Сч].Версия, ОписаниеМаксВерсии.Версия) > 0 Тогда
ОписаниеМаксВерсии = МассивКаталоговВерсий[Сч];
- КонецЕсли;
+ КонецЕсли;
КонецЦикла;
НужныйФайлПлатформы = ОписаниеМаксВерсии.ФайлУтилитыАдминистрирования;
ВерсияУтилитыАдминистрирования = ОписаниеМаксВерсии.Версия;
@@ -327,10 +336,10 @@
// Функция возвращает путь к каталогу платформы 1С в ОС Linux, соответствующей маске версии
//
// Параметры:
-// Версия - Строка - маска версии платформы вида 8.*, 8.3.*, 8.3.5.*, 8.3.10.2561
+// Версия - Строка - маска версии платформы вида 8.*, 8.3.*, 8.3.5.*, 8.3.10.2561
//
// Возвращаемое значение:
-// Строка - путь к версии платформы 1С
+// Строка - путь к версии платформы 1С
//
Функция ПолучитьПутьКВерсииПлатформыLinux(Знач Версия)
@@ -360,10 +369,10 @@
// Функция возвращает путь к каталогу платформы 1С, соответствующей маске версии
//
// Параметры:
-// Версия - Строка - маска версии платформы вида 8.*, 8.3.*, 8.3.5.*, 8.3.10.2561
+// Версия - Строка - маска версии платформы вида 8.*, 8.3.*, 8.3.5.*, 8.3.10.2561
//
// Возвращаемое значение:
-// Строка - путь к версии платформы 1С
+// Строка - путь к версии платформы 1С
//
Функция ПолучитьПутьКВерсииПлатформы(Знач Версия)
@@ -377,11 +386,11 @@
СписокСтрок = СтрРазделить(Версия, ".");
Если СписокСтрок.Количество() < КоличествоЦифрВерсии Тогда
ВызватьИсключение "Маска версии платформы должна содержать,
- |как минимум, минорную и мажорную версию, т.е. Maj.Min[.Release][.Build]";
+ |как минимум, минорную и мажорную версию, т.е. Maj.Min[.Release][.Build]";
КонецЕсли;
Если ЭтоWindows Тогда
-
+
Возврат ПолучитьПутьКВерсииПлатформыWindows(Версия);
Иначе
@@ -395,10 +404,10 @@
// Функция получает версию утилиты RAC по переданному пути
//
// Параметры:
-// Путь - Строка - путь к утилите RAC
+// Путь - Строка - путь к утилите RAC
//
// Возвращаемое значение:
-// Строка - версия утилиты RAC
+// Строка - версия утилиты RAC
//
Функция ПолучитьВерсиюУтилитыАдминистрирования(Знач Путь)
@@ -425,10 +434,10 @@
// Функция запускает выполнение команды ОС с указанными параметрами и ожидает завершения
//
// Параметры:
-// Параметры - Массив - параметры выполняемой команды
+// Параметры - Массив - параметры выполняемой команды
//
// Возвращаемое значение:
-// Число - код возврата команды ОС
+// Число - код возврата команды ОС
//
Функция ЗапуститьИПодождать(Знач Параметры)
@@ -436,9 +445,9 @@
Для Каждого Параметр Из Параметры Цикл
Если Найти(Параметр, "--agent-pwd") = 0
- И Найти(Параметр, "--cluster-pwd") = 0
- И Найти(Параметр, "--infobase-pwd") = 0
- И Найти(Параметр, "--pwd") = 0 Тогда
+ И Найти(Параметр, "--cluster-pwd") = 0
+ И Найти(Параметр, "--infobase-pwd") = 0
+ И Найти(Параметр, "--pwd") = 0 Тогда
СтрокаДляЛога = СтрокаДляЛога + " " + Параметр;
КонецЕсли;
@@ -464,6 +473,6 @@
Возврат КодВозврата;
-КонецФункции // ЗапуститьИПодождать()
+КонецФункции // ЗапуститьИПодождать()
-Лог = Логирование.ПолучитьЛог("ktb.lib.irac");
+Лог = Логирование.ПолучитьЛог("oscript.lib.irac");
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.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.os"
index 36c89a4..892eba4 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.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.os"
@@ -1,7 +1,16 @@
-Перем Кластер_Ид; // cluster
-Перем Кластер_Имя; // name
-Перем Кластер_АдресСервера; // host
-Перем Кластер_ПортСервера; // port
+// ----------------------------------------------------------
+// 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/
+// ----------------------------------------------------------
+
+Перем Кластер_Ид; // cluster
+Перем Кластер_Имя; // name
+Перем Кластер_АдресСервера; // host
+Перем Кластер_ПортСервера; // port
Перем Кластер_Параметры;
Перем Кластер_Агент;
@@ -39,7 +48,7 @@
Возврат;
КонецЕсли;
- ПараметрыОбъекта = Новый КомандыОбъекта("cluster");
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.Кластеры);
Кластер_Агент = АгентКластера;
@@ -58,19 +67,19 @@
ПериодОбновления = 60000;
- Кластер_Администраторы = Новый АдминистраторыКластера(Кластер_Агент, ЭтотОбъект);
- Кластер_Серверы = Новый СерверыКластера(Кластер_Агент, ЭтотОбъект);
- Кластер_Менеджеры = Новый МенеджерыКластера(Кластер_Агент, ЭтотОбъект);
- Кластер_Процессы = Новый РабочиеПроцессы(Кластер_Агент, ЭтотОбъект);
- Кластер_Сервисы = Новый Сервисы(Кластер_Агент, ЭтотОбъект);
- Кластер_ИБ = Новый ИнформационныеБазы(Кластер_Агент, ЭтотОбъект);
- Кластер_Сеансы = Новый Сеансы(Кластер_Агент, ЭтотОбъект);
- Кластер_Соединения = Новый Соединения(Кластер_Агент, ЭтотОбъект);
- Кластер_Блокировки = Новый Блокировки(Кластер_Агент, ЭтотОбъект);
- Кластер_Профили = Новый ПрофилиБезопасности(Кластер_Агент, ЭтотОбъект);
- Кластер_Счетчики = Новый СчетчикиПотребленияРесурсов(Кластер_Агент, ЭтотОбъект);
+ Кластер_Администраторы = Новый АдминистраторыКластера(Кластер_Агент, ЭтотОбъект);
+ Кластер_Серверы = Новый СерверыКластера(Кластер_Агент, ЭтотОбъект);
+ Кластер_Менеджеры = Новый МенеджерыКластера(Кластер_Агент, ЭтотОбъект);
+ Кластер_Процессы = Новый РабочиеПроцессы(Кластер_Агент, ЭтотОбъект);
+ Кластер_Сервисы = Новый Сервисы(Кластер_Агент, ЭтотОбъект);
+ Кластер_ИБ = Новый ИнформационныеБазы(Кластер_Агент, ЭтотОбъект);
+ Кластер_Сеансы = Новый Сеансы(Кластер_Агент, ЭтотОбъект);
+ Кластер_Соединения = Новый Соединения(Кластер_Агент, ЭтотОбъект);
+ Кластер_Блокировки = Новый Блокировки(Кластер_Агент, ЭтотОбъект);
+ Кластер_Профили = Новый ПрофилиБезопасности(Кластер_Агент, ЭтотОбъект);
+ Кластер_Счетчики = Новый СчетчикиРесурсов(Кластер_Агент, ЭтотОбъект);
- Кластер_Параметры = Неопределено;
+ Кластер_Параметры = Неопределено;
КонецПроцедуры // ПриСозданииОбъекта()
@@ -78,9 +87,9 @@
// и сохраняет в локальных переменных
//
// Параметры:
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
-// - Ложь - данные будут получены если истекло время актуальности
-// или данные не были получены ранее
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// - Ложь - данные будут получены если истекло время актуальности
+// или данные не были получены ранее
//
Процедура ОбновитьДанные(ОбновитьПринудительно = Ложь) Экспорт
@@ -94,7 +103,7 @@
ПараметрыКоманды.Вставить("ИдентификаторКластера" , Ид());
ПараметрыОбъекта.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды);
-
+
Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("Описание"));
МассивРезультатов = Кластер_Агент.ВыводКоманды();
@@ -112,13 +121,13 @@
// Процедура заполняет параметры кластера 1С
//
// Параметры:
-// ДанныеЗаполнения - Соответствие - данные, из которых будут заполнены параметры кластера
+// ДанныеЗаполнения - Соответствие - данные, из которых будут заполнены параметры кластера
//
Процедура ЗаполнитьПараметрыКластера(ДанныеЗаполнения)
- Кластер_АдресСервера = ДанныеЗаполнения.Получить("host");
- Кластер_ПортСервера = ДанныеЗаполнения.Получить("port");
- Кластер_Имя = ДанныеЗаполнения.Получить("name");
+ Кластер_АдресСервера = ДанныеЗаполнения.Получить("host");
+ Кластер_ПортСервера = ДанныеЗаполнения.Получить("port");
+ Кластер_Имя = ДанныеЗаполнения.Получить("name");
Служебный.ЗаполнитьПараметрыОбъекта(ЭтотОбъект, Кластер_Параметры, ДанныеЗаполнения);
@@ -127,13 +136,13 @@
// Функция возвращает коллекцию параметров объекта
//
// Параметры:
-// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
-// в качестве ключа возвращаемого соответствия
+// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
+// в качестве ключа возвращаемого соответствия
//
// Возвращаемое значение:
-// Соответствие - коллекция параметров объекта, для получения/изменения значений
+// Соответствие - коллекция параметров объекта, для получения/изменения значений
//
-Функция ПараметрыОбъекта(ИмяПоляКлюча = "ИмяПараметра") Экспорт
+Функция ПараметрыОбъекта(ИмяПоляКлюча = "Имя") Экспорт
Возврат ПараметрыОбъекта.ОписаниеСвойств(ИмяПоляКлюча);
@@ -142,7 +151,7 @@
// Функция возвращает строку параметров авторизации в кластере 1С
//
// Возвращаемое значение:
-// Строка - строка параметров авторизации в кластере 1С
+// Строка - строка параметров авторизации в кластере 1С
//
Функция СтрокаАвторизации() Экспорт
@@ -165,7 +174,7 @@
Если Не ПустаяСтрока(ПараметрыАдминистратора.Пароль) Тогда
СтрокаАвторизации = СтрокаАвторизации + СтрШаблон(" --cluster-pwd=%1", ПараметрыАдминистратора.Пароль);
КонецЕсли;
-
+
Возврат СтрокаАвторизации;
КонецФункции // СтрокаАвторизации()
@@ -173,8 +182,8 @@
// Процедура устанавливает параметры авторизации в кластере 1С
//
// Параметры:
-// Администратор - Строка - администратор кластера 1С
-// Пароль - Строка - пароль администратора кластера 1С
+// Администратор - Строка - администратор кластера 1С
+// Пароль - Строка - пароль администратора кластера 1С
//
Процедура УстановитьАдминистратора(Администратор, Пароль) Экспорт
@@ -222,7 +231,7 @@
// Функция возвращает идентификатор кластера 1С
//
// Возвращаемое значение:
-// Строка - идентификатор кластера 1С
+// Строка - идентификатор кластера 1С
//
Функция Ид() Экспорт
@@ -233,7 +242,7 @@
// Функция возвращает имя кластера 1С
//
// Возвращаемое значение:
-// Строка - имя кластера 1С
+// Строка - имя кластера 1С
//
Функция Имя() Экспорт
@@ -248,7 +257,7 @@
// Функция возвращает адрес сервера кластера 1С
//
// Возвращаемое значение:
-// Строка - адрес сервера кластера 1С
+// Строка - адрес сервера кластера 1С
//
Функция АдресСервера() Экспорт
@@ -257,13 +266,13 @@
КонецЕсли;
Возврат Кластер_АдресСервера;
-
+
КонецФункции // АдресСервера()
// Функция возвращает порт сервера кластера 1С
//
// Возвращаемое значение:
-// Строка - порт сервера кластера 1С
+// Строка - порт сервера кластера 1С
//
Функция ПортСервера() Экспорт
@@ -272,13 +281,13 @@
КонецЕсли;
Возврат Кластер_ПортСервера;
-
+
КонецФункции // ПортСервера()
// Функция возвращает список администраторов кластера 1С
//
// Возвращаемое значение:
-// Соответствие - список администраторов кластера 1С
+// Соответствие - список администраторов кластера 1С
//
Функция Администраторы() Экспорт
@@ -289,7 +298,7 @@
// Функция возвращает список серверов кластера 1С
//
// Возвращаемое значение:
-// СерверыКластера - список серверов кластера 1С
+// СерверыКластера - список серверов кластера 1С
//
Функция Серверы() Экспорт
@@ -300,7 +309,7 @@
// Функция возвращает список менеджеров кластера 1С
//
// Возвращаемое значение:
-// МенеджерыКластера - список менеджеров кластера 1С
+// МенеджерыКластера - список менеджеров кластера 1С
//
Функция Менеджеры() Экспорт
@@ -311,7 +320,7 @@
// Функция возвращает список рабочих процессов 1С
//
// Возвращаемое значение:
-// РабочиеПроцессы - список рабочих процессов 1С
+// РабочиеПроцессы - список рабочих процессов 1С
//
Функция РабочиеПроцессы() Экспорт
@@ -322,7 +331,7 @@
// Функция возвращает список сервисов 1С
//
// Возвращаемое значение:
-// РабочиеПроцессы - список сервисов 1С
+// РабочиеПроцессы - список сервисов 1С
//
Функция Сервисы() Экспорт
@@ -333,7 +342,7 @@
// Функция возвращает список информационных баз 1С
//
// Возвращаемое значение:
-// ИнформационныеБазы - список информационных баз 1С
+// ИнформационныеБазы - список информационных баз 1С
//
Функция ИнформационныеБазы() Экспорт
@@ -344,7 +353,7 @@
// Функция возвращает список сеансов 1С
//
// Возвращаемое значение:
-// Сеансы - список сеансов 1С
+// Сеансы - список сеансов 1С
//
Функция Сеансы() Экспорт
@@ -355,7 +364,7 @@
// Функция возвращает список соединений 1С
//
// Возвращаемое значение:
-// Сеансы - список соединений 1С
+// Сеансы - список соединений 1С
//
Функция Соединения() Экспорт
@@ -366,7 +375,7 @@
// Функция возвращает список блокировок 1С
//
// Возвращаемое значение:
-// Сеансы - список блокировок 1С
+// Сеансы - список блокировок 1С
//
Функция Блокировки() Экспорт
@@ -377,7 +386,7 @@
// Функция возвращает список профилей безопасности кластера 1С
//
// Возвращаемое значение:
-// Сеансы - список профилей безопасности кластера 1С
+// Сеансы - список профилей безопасности кластера 1С
//
Функция ПрофилиБезопасности() Экспорт
@@ -385,20 +394,25 @@
КонецФункции // ПрофилиБезопасности()
-Функция СчетчикиПотребленияРесурсов() Экспорт
+// Функция возвращает список счетчиков ресурсов кластера 1С
+//
+// Возвращаемое значение:
+// СчетчикиРесурсов - список счетчиков ресурсов кластера 1С
+//
+Функция СчетчикиРесурсов() Экспорт
Возврат Кластер_Счетчики;
-КонецФункции // СчетчикиПотребленияРесурсов()
+КонецФункции // СчетчикиРесурсов()
// Функция возвращает значение параметра кластера 1С
//
// Параметры:
-// ИмяПоля - Строка - Имя параметра кластера
-// ОбновитьПринудительно - Булево - Истина - обновить список (вызов RAC)
+// ИмяПоля - Строка - Имя параметра кластера
+// ОбновитьПринудительно - Булево - Истина - обновить список (вызов RAC)
//
// Возвращаемое значение:
-// Произвольный - значение параметра кластера 1С
+// Произвольный - значение параметра кластера 1С
//
Функция Получить(ИмяПоля, ОбновитьПринудительно = Ложь) Экспорт
@@ -417,23 +431,23 @@
ЗначениеПоля = Кластер_Параметры.Получить(ИмяПоля);
Если ЗначениеПоля = Неопределено Тогда
-
- ОписаниеПараметра = ПараметрыОбъекта("ИмяПоляРАК").Получить(ИмяПоля);
+
+ ОписаниеПараметра = ПараметрыОбъекта("ИмяРАК").Получить(ИмяПоля);
Если НЕ ОписаниеПараметра = Неопределено Тогда
- ЗначениеПоля = Кластер_Параметры.Получить(ОписаниеПараметра["ИмяПараметра"]);
+ ЗначениеПоля = Кластер_Параметры.Получить(ОписаниеПараметра["Имя"]);
КонецЕсли;
КонецЕсли;
Возврат ЗначениеПоля;
-
+
КонецФункции // Получить()
// Процедура изменяет параметры кластера
//
// Параметры:
-// Имя - Строка - новое имя кластера
-// ПараметрыКластера - Структура - новые параметры кластера
+// Имя - Строка - новое имя кластера
+// ПараметрыКластера - Структура - новые параметры кластера
//
Процедура Изменить(Знач Имя = "", Знач ПараметрыКластера = Неопределено) Экспорт
@@ -464,4 +478,4 @@
КонецПроцедуры // Изменить()
-Лог = Логирование.ПолучитьЛог("ktb.lib.irac");
+Лог = Логирование.ПолучитьЛог("oscript.lib.irac");
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\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\232\320\273\320\260\321\201\321\202\320\265\321\200\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"
deleted file mode 100644
index d9f6d73..0000000
--- "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\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"
+++ /dev/null
@@ -1,214 +0,0 @@
-Перем Кластер_Агент;
-Перем Кластер_Владелец;
-Перем ПараметрыОбъекта;
-Перем Элементы;
-
-Перем Лог;
-
-// Конструктор
-//
-// Параметры:
-// АгентКластера - АгентКластера - ссылка на родительский объект агента кластера
-// Кластер - Кластер - ссылка на родительский объект кластера
-//
-Процедура ПриСозданииОбъекта(АгентКластера, Кластер)
-
- Кластер_Агент = АгентКластера;
- Кластер_Владелец = Кластер;
-
- ПараметрыОбъекта = Новый ПараметрыОбъекта("profile");
-
- Элементы = Новый ОбъектыКластера(ЭтотОбъект);
-
-КонецПроцедуры // ПриСозданииОбъекта()
-
-// Процедура получает данные от сервиса администрирования кластера 1С
-// и сохраняет в локальных переменных
-//
-// Параметры:
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
-// - Ложь - данные будут получены если истекло время актуальности
-// или данные не были получены ранее
-//
-Процедура ОбновитьДанные(ОбновитьПринудительно = Ложь) Экспорт
-
- Если НЕ Элементы.ТребуетсяОбновление(ОбновитьПринудительно) Тогда
- Возврат;
- КонецЕсли;
-
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Кластер_Агент.СтрокаПодключения());
-
- ПараметрыЗапуска.Добавить("profile");
- ПараметрыЗапуска.Добавить("list");
-
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Владелец.Ид()));
- ПараметрыЗапуска.Добавить(Кластер_Владелец.СтрокаАвторизации());
-
- Кластер_Агент.ВыполнитьКоманду(ПараметрыЗапуска);
-
- МассивРезультатов = Кластер_Агент.ВыводКоманды();
-
- МассивПрофилей = Новый Массив();
- Для Каждого ТекОписание Из МассивРезультатов Цикл
- МассивПрофилей.Добавить(Новый ПрофильБезопасности(Кластер_Агент, Кластер_Владелец, ТекОписание));
- КонецЦикла;
-
- Элементы.Заполнить(МассивПрофилей);
-
- Элементы.УстановитьАктуальность();
-
-КонецПроцедуры // ОбновитьДанные()
-
-// Функция возвращает коллекцию параметров объекта
-//
-// Параметры:
-// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
-// в качестве ключа возвращаемого соответствия
-//
-// Возвращаемое значение:
-// Соответствие - коллекция параметров объекта, для получения/изменения значений
-//
-Функция ПараметрыОбъекта(ИмяПоляКлюча = "ИмяПараметра") Экспорт
-
- Возврат ПараметрыОбъекта.Получить(ИмяПоляКлюча);
-
-КонецФункции // ПараметрыОбъекта()
-
-// Функция возвращает список профилей безопасности кластера 1С
-//
-// Параметры:
-// Отбор - Структура - Структура отбора профилей безопасности (<поле>:<значение>)
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
-//
-// Возвращаемое значение:
-// Массив - список профилей безопасности кластера 1С
-//
-Функция Список(Отбор = Неопределено, ОбновитьПринудительно = Ложь) Экспорт
-
- СписокПрофилей = Элементы.Список(Отбор, ОбновитьПринудительно);
-
- Возврат СписокПрофилей;
-
-КонецФункции // Список()
-
-// Функция возвращает список профилей безопасности кластера 1С
-//
-// Параметры:
-// ПоляИерархии - Строка - Поля для построения иерархии списка профилей безопасности,
-// разделенные ","
-// ОбновитьПринудительно - Булево - Истина - обновить список (вызов RAC)
-//
-// Возвращаемое значение:
-// Соответствие - список профилей безопасности кластера 1С
-// <имя поля объекта> - Массив(Соответствие), Соответствие - список профилей безопасности
-// или следующий уровень
-//
-Функция ИерархическийСписок(Знач ПоляИерархии, ОбновитьПринудительно = Ложь) Экспорт
-
- СписокПрофилей = Элементы.ИерархическийСписок(ПоляИерархии, ОбновитьПринудительно);
-
- Возврат СписокПрофилей;
-
-КонецФункции // ИерархическийСписок()
-
-// Функция возвращает количество профилей безопасности в списке
-//
-// Возвращаемое значение:
-// Число - количество профилей безопасности
-//
-Функция Количество() Экспорт
-
- Если Элементы = Неопределено Тогда
- Возврат 0;
- КонецЕсли;
-
- Возврат Элементы.Количество();
-
-КонецФункции // Количество()
-
-// Функция возвращает описание профиля безопасности кластера 1С
-//
-// Параметры:
-// Имя - Строка - Имя профиля безопасности
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
-//
-// Возвращаемое значение:
-// Соответствие - описание профиля безопасности кластера 1С
-//
-Функция Получить(Знач Имя, Знач ОбновитьПринудительно = Ложь) Экспорт
-
- Отбор = Новый Соответствие();
- Отбор.Вставить("name", Имя);
-
- СписокПрофилей = Элементы.Список(Отбор, ОбновитьПринудительно);
-
- Если СписокПрофилей.Количество() = 0 Тогда
- Возврат Неопределено;
- КонецЕсли;
-
- Возврат СписокПрофилей[0];
-
-КонецФункции // Получить()
-
-// Процедура добавляет новый профиль безопасности в кластер 1С
-//
-// Параметры:
-// Имя - Строка - имя профиля безопасности 1С
-// ПараметрыПрофиля - Структура - параметры профиля безопасности 1С
-//
-Процедура Добавить(Имя, ПараметрыПрофиля = Неопределено) Экспорт
-
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Кластер_Агент.СтрокаПодключения());
-
- ПараметрыЗапуска.Добавить("profile");
- ПараметрыЗапуска.Добавить("insert");
-
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Владелец.Ид()));
- ПараметрыЗапуска.Добавить(Кластер_Владелец.СтрокаАвторизации());
-
- ПараметрыЗапуска.Добавить(СтрШаблон("--name=%1", Имя));
-
- ВремПараметры = ПараметрыОбъекта();
-
- Для Каждого ТекЭлемент Из ВремПараметры Цикл
- ЗначениеПараметра = Служебный.ПолучитьЗначениеИзСтруктуры(ПараметрыПрофиля, ТекЭлемент.Ключ, 0);
- ПараметрыЗапуска.Добавить(СтрШаблон(ТекЭлемент.Значение.ПараметрКоманды + "=%1", ЗначениеПараметра));
- КонецЦикла;
-
- Кластер_Агент.ВыполнитьКоманду(ПараметрыЗапуска);
-
- Лог.Отладка(Кластер_Агент.ВыводКоманды(Ложь));
-
- ОбновитьДанные(Истина);
-
-КонецПроцедуры // Добавить()
-
-// Процедура удаляет профиль безопасности из кластера 1С
-//
-// Параметры:
-// Имя - Строка - Имя профиля безопасности
-//
-Процедура Удалить(Имя) Экспорт
-
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Кластер_Агент.СтрокаПодключения());
-
- ПараметрыЗапуска.Добавить("profile");
- ПараметрыЗапуска.Добавить("remove");
-
- ПараметрыЗапуска.Добавить(СтрШаблон("--name=%1", Имя));
-
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Владелец.Ид()));
- ПараметрыЗапуска.Добавить(Кластер_Владелец.СтрокаАвторизации());
-
- Кластер_Агент.ВыполнитьКоманду(ПараметрыЗапуска);
-
- Лог.Отладка(Кластер_Агент.ВыводКоманды(Ложь));
-
- ОбновитьДанные(Истина);
-
-КонецПроцедуры // Удалить()
-
-Лог = Логирование.ПолучитьЛог("ktb.lib.irac");
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\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\232\320\273\320\260\321\201\321\202\320\265\321\200\320\241\320\265\321\200\320\262\320\270\321\201\321\213.os"
deleted file mode 100644
index 7c63fd7..0000000
--- "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\320\241\320\265\321\200\320\262\320\270\321\201\321\213.os"
+++ /dev/null
@@ -1,144 +0,0 @@
-Перем Кластер_Агент;
-Перем Кластер_Владелец;
-Перем ПараметрыОбъекта;
-Перем Элементы;
-Перем Лог;
-
-// Конструктор
-//
-// Параметры:
-// АгентКластера - АгентКластера - ссылка на родительский объект агента кластера
-// Кластер - Кластер - ссылка на родительский объект кластера
-//
-Процедура ПриСозданииОбъекта(АгентКластера, Кластер)
-
- Кластер_Агент = АгентКластера;
- Кластер_Владелец = Кластер;
-
- ПараметрыОбъекта = Новый ПараметрыОбъекта("service");
-
- Элементы = Новый ОбъектыКластера(ЭтотОбъект);
-
-КонецПроцедуры
-
-// Процедура получает данные от сервиса администрирования кластера 1С
-// и сохраняет в локальных переменных
-//
-// Параметры:
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
-// - Ложь - данные будут получены если истекло время актуальности
-// или данные не были получены ранее
-//
-Процедура ОбновитьДанные(ОбновитьПринудительно = Ложь) Экспорт
-
- Если НЕ Элементы.ТребуетсяОбновление(ОбновитьПринудительно) Тогда
- Возврат;
- КонецЕсли;
-
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Кластер_Агент.СтрокаПодключения());
-
- ПараметрыЗапуска.Добавить("service");
- ПараметрыЗапуска.Добавить("list");
-
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Владелец.Ид()));
- ПараметрыЗапуска.Добавить(Кластер_Владелец.СтрокаАвторизации());
-
- Кластер_Агент.ВыполнитьКоманду(ПараметрыЗапуска);
-
- Элементы.Заполнить(Кластер_Агент.ВыводКоманды());
-
- Элементы.УстановитьАктуальность();
-
-КонецПроцедуры // ОбновитьДанные()
-
-// Функция возвращает коллекцию параметров объекта
-//
-// Параметры:
-// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
-// в качестве ключа возвращаемого соответствия
-//
-// Возвращаемое значение:
-// Соответствие - коллекция параметров объекта, для получения/изменения значений
-//
-Функция ПараметрыОбъекта(ИмяПоляКлюча = "ИмяПараметра") Экспорт
-
- Возврат ПараметрыОбъекта.Получить(ИмяПоляКлюча);
-
-КонецФункции // ПараметрыОбъекта()
-
-// Функция возвращает список сервисов кластера
-//
-// Параметры:
-// Отбор - Структура - Структура отбора сервисов (<поле>:<значение>)
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
-//
-// Возвращаемое значение:
-// Массив - список сервисов 1С
-//
-Функция Список(Отбор = Неопределено, ОбновитьПринудительно = Ложь) Экспорт
-
- Сервисы = Элементы.Список(Отбор, ОбновитьПринудительно);
-
- Возврат Сервисы;
-
-КонецФункции // Список()
-
-// Функция возвращает список сервисов кластера 1С
-//
-// Параметры:
-// ПоляИерархии - Строка - Поля для построения иерархии списка сервисов, разделенные ","
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
-//
-// Возвращаемое значение:
-// Соответствие - список сервисов кластера 1С
-// <имя поля объекта> - Массив(Соответствие), Соответствие - список сервисов или следующий уровень
-//
-Функция ИерархическийСписок(Знач ПоляИерархии, ОбновитьПринудительно = Ложь) Экспорт
-
- Сервисы = Элементы.ИерархическийСписок(ПоляИерархии, ОбновитьПринудительно);
-
- Возврат Сервисы;
-
-КонецФункции // ИерархическийСписок()
-
-// Функция возвращает количество сервисов в списке
-//
-// Возвращаемое значение:
-// Число - количество сервисов
-//
-Функция Количество() Экспорт
-
- Если Элементы = Неопределено Тогда
- Возврат 0;
- КонецЕсли;
-
- Возврат Элементы.Количество();
-
-КонецФункции // Количество()
-
-// Функция возвращает описание сервиса кластера 1С
-//
-// Параметры:
-// Имя - Строка - имя сервиса
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
-//
-// Возвращаемое значение:
-// Соответствие - описание менеджера кластера 1С
-//
-Функция Получить(Знач Имя, Знач ОбновитьПринудительно = Ложь) Экспорт
-
- Отбор = Новый Соответствие();
- Отбор.Вставить("name", Имя);
-
- Сервисы = Элементы.Список(Отбор, ОбновитьПринудительно);
-
- Если Сервисы.Количество() = 0 Тогда
- Возврат Неопределено;
- КонецЕсли;
-
- Возврат Сервисы[0];
-
-КонецФункции // Получить()
-
-Лог = Логирование.ПолучитьЛог("ktb.lib.irac");
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\320\241\321\207\320\265\321\202\321\207\320\270\320\272\320\270\320\237\320\276\321\202\321\200\320\265\320\261\320\273\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\232\320\273\320\260\321\201\321\202\320\265\321\200\320\241\321\207\320\265\321\202\321\207\320\270\320\272\320\270\320\237\320\276\321\202\321\200\320\265\320\261\320\273\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"
deleted file mode 100644
index d18f5b7..0000000
--- "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\320\241\321\207\320\265\321\202\321\207\320\270\320\272\320\270\320\237\320\276\321\202\321\200\320\265\320\261\320\273\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"
+++ /dev/null
@@ -1,215 +0,0 @@
-Перем Кластер_Агент;
-Перем Кластер_Владелец;
-Перем ПараметрыОбъекта;
-Перем Элементы;
-
-Перем Лог;
-
-// Конструктор
-//
-// Параметры:
-// АгентКластера - АгентКластера - ссылка на родительский объект агента кластера
-// Кластер - Кластер - ссылка на родительский объект кластера
-//
-Процедура ПриСозданииОбъекта(АгентКластера, Кластер)
-
- Кластер_Агент = АгентКластера;
- Кластер_Владелец = Кластер;
-
- ПараметрыОбъекта = Новый ПараметрыОбъекта("counter");
-
- Элементы = Новый ОбъектыКластера(ЭтотОбъект);
-
-КонецПроцедуры // ПриСозданииОбъекта()
-
-// Процедура получает данные от сервиса администрирования кластера 1С
-// и сохраняет в локальных переменных
-//
-// Параметры:
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
-// - Ложь - данные будут получены если истекло время актуальности
-// или данные не были получены ранее
-//
-Процедура ОбновитьДанные(ОбновитьПринудительно = Ложь) Экспорт
-
- Если НЕ Элементы.ТребуетсяОбновление(ОбновитьПринудительно) Тогда
- Возврат;
- КонецЕсли;
-
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Кластер_Агент.СтрокаПодключения());
-
- ПараметрыЗапуска.Добавить("counter");
-
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Владелец.Ид()));
- ПараметрыЗапуска.Добавить(Кластер_Владелец.СтрокаАвторизации());
-
- ПараметрыЗапуска.Добавить("list");
-
- Кластер_Агент.ВыполнитьКоманду(ПараметрыЗапуска);
-
- МассивРезультатов = Кластер_Агент.ВыводКоманды();
-
- МассивСчетчиков = Новый Массив();
- Для Каждого ТекОписание Из МассивРезультатов Цикл
- МассивСчетчиков.Добавить(Новый СчетчикПотребленияРесурсов(Кластер_Агент, Кластер_Владелец, ТекОписание));
- КонецЦикла;
-
- Элементы.Заполнить(МассивСчетчиков);
-
- Элементы.УстановитьАктуальность();
-
-КонецПроцедуры // ОбновитьДанные()
-
-// Функция возвращает коллекцию параметров объекта
-//
-// Параметры:
-// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
-// в качестве ключа возвращаемого соответствия
-//
-// Возвращаемое значение:
-// Соответствие - коллекция параметров объекта, для получения/изменения значений
-//
-Функция ПараметрыОбъекта(ИмяПоляКлюча = "ИмяПараметра") Экспорт
-
- Возврат ПараметрыОбъекта.Получить(ИмяПоляКлюча);
-
-КонецФункции // ПараметрыОбъекта()
-
-// Функция возвращает список счетчиков потребления ресурсов кластера 1С
-//
-// Параметры:
-// Отбор - Структура - Структура отбора счетчиков потребления ресурсов (<поле>:<значение>)
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
-//
-// Возвращаемое значение:
-// Массив - список счетчиков потребления ресурсов кластера 1С
-//
-Функция Список(Отбор = Неопределено, ОбновитьПринудительно = Ложь) Экспорт
-
- СписокСчетчиков = Элементы.Список(Отбор, ОбновитьПринудительно);
-
- Возврат СписокСчетчиков;
-
-КонецФункции // Список()
-
-// Функция возвращает счетчиков потребления ресурсов кластера 1С
-//
-// Параметры:
-// ПоляИерархии - Строка - Поля для построения иерархии списка счетчиков потребления ресурсов,
-// разделенные ","
-// ОбновитьПринудительно - Булево - Истина - обновить список (вызов RAC)
-//
-// Возвращаемое значение:
-// Соответствие - список счетчиков потребления ресурсов кластера 1С
-// <имя поля объекта> - Массив(Соответствие), Соответствие - список счетчиков потребления ресурсов
-// или следующий уровень
-//
-Функция ИерархическийСписок(Знач ПоляИерархии, ОбновитьПринудительно = Ложь) Экспорт
-
- СписокСчетчиков = Элементы.ИерархическийСписок(ПоляИерархии, ОбновитьПринудительно);
-
- Возврат СписокСчетчиков;
-
-КонецФункции // ИерархическийСписок()
-
-// Функция возвращает количество счетчиков потребления ресурсов в списке
-//
-// Возвращаемое значение:
-// Число - количество счетчиков потребления ресурсов
-//
-Функция Количество() Экспорт
-
- Если Элементы = Неопределено Тогда
- Возврат 0;
- КонецЕсли;
-
- Возврат Элементы.Количество();
-
-КонецФункции // Количество()
-
-// Функция возвращает описание счетчика потребления ресурсов кластера 1С
-//
-// Параметры:
-// Имя - Строка - Имя счетчика потребления ресурсов
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
-//
-// Возвращаемое значение:
-// Соответствие - описание счетчика потребления ресурсов кластера 1С
-//
-Функция Получить(Знач Имя, Знач ОбновитьПринудительно = Ложь) Экспорт
-
- Отбор = Новый Соответствие();
- Отбор.Вставить("name", Имя);
-
- СписокСчетчиков = Элементы.Список(Отбор, ОбновитьПринудительно);
-
- Если СписокСчетчиков.Количество() = 0 Тогда
- Возврат Неопределено;
- КонецЕсли;
-
- Возврат СписокСчетчиков[0];
-
-КонецФункции // Получить()
-
-// Процедура добавляет новый счетчик потребления ресурсов в кластер 1С
-//
-// Параметры:
-// Имя - Строка - имя счетчика потребления ресурсов 1С
-// ПараметрыСчетчика - Структура - параметры счетчика потребления ресурсов 1С
-//
-Процедура Добавить(Имя, ПараметрыСчетчика = Неопределено) Экспорт
-
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Кластер_Агент.СтрокаПодключения());
-
- ПараметрыЗапуска.Добавить("counter");
- ПараметрыЗапуска.Добавить("insert");
-
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Владелец.Ид()));
- ПараметрыЗапуска.Добавить(Кластер_Владелец.СтрокаАвторизации());
-
- ПараметрыЗапуска.Добавить(СтрШаблон("--counter=%1", Имя));
-
- ВремПараметры = ПараметрыОбъекта();
-
- Для Каждого ТекЭлемент Из ВремПараметры Цикл
- ЗначениеПараметра = Служебный.ПолучитьЗначениеИзСтруктуры(ПараметрыСчетчика, ТекЭлемент.Ключ, 0);
- ПараметрыЗапуска.Добавить(СтрШаблон(ТекЭлемент.Значение.ПараметрКоманды + "=%1", ЗначениеПараметра));
- КонецЦикла;
-
- Кластер_Агент.ВыполнитьКоманду(ПараметрыЗапуска);
-
- Лог.Отладка(Кластер_Агент.ВыводКоманды(Ложь));
-
- ОбновитьДанные(Истина);
-
-КонецПроцедуры // Добавить()
-
-// Процедура удаляет счетчик потребления ресурсов из кластера 1С
-//
-// Параметры:
-// Имя - Строка - Имя счетчикf потребления ресурсов
-//
-Процедура Удалить(Имя) Экспорт
-
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Кластер_Агент.СтрокаПодключения());
-
- ПараметрыЗапуска.Добавить("counter");
- ПараметрыЗапуска.Добавить("remove");
-
- ПараметрыЗапуска.Добавить(СтрШаблон("--сounter=%1", Имя));
-
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Владелец.Ид()));
- ПараметрыЗапуска.Добавить(Кластер_Владелец.СтрокаАвторизации());
-
- Кластер_Агент.ВыполнитьКоманду(ПараметрыЗапуска);
-
- Лог.Отладка(Кластер_Агент.ВыводКоманды(Ложь));
-
- ОбновитьДанные(Истина);
-
-КонецПроцедуры // Удалить()
-
-Лог = Логирование.ПолучитьЛог("ktb.lib.irac");
diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\263\320\265\320\275\321\202\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"
similarity index 69%
rename from "src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\263\320\265\320\275\321\202\320\232\320\273\320\260\321\201\321\202\320\265\321\200\321\213.os"
rename to "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 2889840..07ae09f 100644
--- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\263\320\265\320\275\321\202\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"
@@ -1,3 +1,12 @@
+// ----------------------------------------------------------
+// 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/
+// ----------------------------------------------------------
+
Перем Кластер_Агент;
Перем ПараметрыОбъекта;
Перем Элементы;
@@ -7,13 +16,13 @@
// Конструктор
//
// Параметры:
-// АгентКластера - АдминистрированиеКластера - ссылка на родительский объект агента кластера
+// АгентКластера - АдминистрированиеКластера - ссылка на родительский объект агента кластера
//
Процедура ПриСозданииОбъекта(АгентКластера)
Кластер_Агент = АгентКластера;
- ПараметрыОбъекта = Новый КомандыОбъекта("cluster");
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.Кластеры);
Элементы = Новый ОбъектыКластера(ЭтотОбъект);
@@ -23,9 +32,9 @@
// и сохраняет в локальных переменных
//
// Параметры:
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
-// - Ложь - данные будут получены если истекло время актуальности
-// или данные не были получены ранее
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// - Ложь - данные будут получены если истекло время актуальности
+// или данные не были получены ранее
//
Процедура ОбновитьДанные(ОбновитьПринудительно = Ложь) Экспорт
@@ -56,13 +65,13 @@
// Функция возвращает коллекцию параметров объекта
//
// Параметры:
-// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
-// в качестве ключа возвращаемого соответствия
+// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
+// в качестве ключа возвращаемого соответствия
//
// Возвращаемое значение:
-// Соответствие - коллекция параметров объекта, для получения/изменения значений
+// Соответствие - коллекция параметров объекта, для получения/изменения значений
//
-Функция ПараметрыОбъекта(ИмяПоляКлюча = "ИмяПараметра") Экспорт
+Функция ПараметрыОбъекта(ИмяПоляКлюча = "Имя") Экспорт
Возврат ПараметрыОбъекта.ОписаниеСвойств(ИмяПоляКлюча);
@@ -71,11 +80,11 @@
// Функция возвращает список кластеров 1С
//
// Параметры:
-// Отбор - Структура - Структура отбора кластеров (<поле>:<значение>)
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// Отбор - Структура - Структура отбора кластеров (<поле>:<значение>)
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
//
// Возвращаемое значение:
-// Массив - список кластеров 1С
+// Массив - список кластеров 1С
//
Функция Список(Отбор = Неопределено, ОбновитьПринудительно = Ложь) Экспорт
@@ -88,12 +97,12 @@
// Функция возвращает иерархический список кластеров 1С
//
// Параметры:
-// ПоляИерархии - Строка - Поля для построения иерархии списка кластеров, разделенные ","
-// ОбновитьПринудительно - Булево - Истина - обновить список (вызов RAC)
+// ПоляИерархии - Строка - Поля для построения иерархии списка кластеров, разделенные ","
+// ОбновитьПринудительно - Булево - Истина - обновить список (вызов RAC)
//
// Возвращаемое значение:
-// Соответствие - список кластеров 1С
-// <имя поля объекта> - Массив(Соответствие), Соответствие - список кластеров или следующий уровень
+// Соответствие - список кластеров 1С
+// <имя поля объекта> - Массив(Соответствие), Соответствие - список кластеров или следующий уровень
//
Функция ИерархическийСписок(Знач ПоляИерархии, ОбновитьПринудительно = Ложь) Экспорт
@@ -106,7 +115,7 @@
// Функция возвращает количество кластеров в списке
//
// Возвращаемое значение:
-// Число - количество кластеров в списке
+// Число - количество кластеров в списке
//
Функция Количество() Экспорт
@@ -121,11 +130,11 @@
// Функция возвращает описание кластера 1С
//
// Параметры:
-// Кластер - Строка - Адрес кластера в виде <сервер>:<порт>
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// Кластер - Строка - Адрес кластера в виде <сервер>:<порт>
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
//
// Возвращаемое значение:
-// Соответствие - описание кластера 1С
+// Соответствие - описание кластера 1С
//
Функция Получить(Знач Кластер, Знач ОбновитьПринудительно = Ложь) Экспорт
@@ -153,10 +162,10 @@
// Процедура добавляет новый кластер 1С
//
// Параметры:
-// Имя - Строка - имя кластера 1С
-// АдресСервера - Строка - адрес сервера кластера 1С
-// ПортСервера - Число - порт сервера кластера 1С
-// ПараметрыКластера - Структура - параметры кластера 1С
+// Имя - Строка - имя кластера 1С
+// АдресСервера - Строка - адрес сервера кластера 1С
+// ПортСервера - Число - порт сервера кластера 1С
+// ПараметрыКластера - Структура - параметры кластера 1С
//
Процедура Добавить(Имя, АдресСервера = "localhost", ПортСервера = 1541, ПараметрыКластера = Неопределено) Экспорт
@@ -207,4 +216,4 @@
КонецПроцедуры // Удалить()
-Лог = Логирование.ПолучитьЛог("ktb.lib.irac");
+Лог = Логирование.ПолучитьЛог("oscript.lib.irac");
diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\321\213\320\236\320\261\321\212\320\265\320\272\321\202\320\260.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\321\213\320\236\320\261\321\212\320\265\320\272\321\202\320\260.os"
index c75876b..00a689c 100644
--- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\321\213\320\236\320\261\321\212\320\265\320\272\321\202\320\260.os"
+++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\321\213\320\236\320\261\321\212\320\265\320\272\321\202\320\260.os"
@@ -1,32 +1,19 @@
+// ----------------------------------------------------------
+// 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/
+// ----------------------------------------------------------
+
// Класс хранящий структуру свойств и команд объекта указанного типа
-// Доступны типы:
-// agent.admin - Агент.Администратор
-// cluster - Кластер
-// cluster.admin - Кластер.Администратор
-// lock - Блокировка
-// infobase - ИБ
-// manager - МенеджерКластера
-// process - РабочийПроцесс
-// server - Сервер
-// service - Сервис
-// session - Сеанс
-// connection - Соединение
-// process.license - РабочийПроцесс.Лицензия
-// session.license - Сеанс.Лицензия
-// rule - ТребованиеНазначения
-// profile - Профиль
-// profile.directory - Профиль.Каталог
-// profile.com - Профиль.COMКласс
-// profile.addin - Профиль.Компонент
-// profile.module - Профиль.Модуль
-// profile.app - Профиль.Приложение
-// profile.inet - Профиль.ИнтернетРесурс
-
-Перем ТипОбъекта; // наименование типа объектов (Кластер, Сервер, ИБ и т.п.)
-Перем ОписаниеСвойств; // структура описания свойств объектов
-Перем ПолучениеПараметровОбъектов; // структура описания методов заполнения списка свойств и команд объекта
-Перем ПараметрыЗапуска; // массив параметров запуска команды утилиты RAC
-Перем ЗначенияПараметров; // значения именованых параметров объекта
+
+Перем ТипОбъекта; // структура описания типа объектов (Кластер, Сервер, ИБ и т.п.)
+Перем ОписаниеСвойств; // структура описания свойств объекта
+Перем ОписаниеКоманд; // структура описания команд объекта
+Перем ПараметрыЗапуска; // массив параметров запуска команды утилиты RAC
+Перем ЗначенияПараметров; // значения именованых параметров объекта
Перем Лог;
@@ -42,16 +29,11 @@
//
Процедура ПриСозданииОбъекта(ИмяТипаОбъекта, ЗначенияПараметровКоманд = Неопределено)
- ЗаполнитьПолучениеПараметровОбъекта();
-
- ТипОбъекта = ПолучениеПараметровОбъектов[ВРег(ИмяТипаОбъекта)]["ИмяТипа"];
+ ТипОбъекта = ТипыОбъектовКластера.ТипОбъекта(ИмяТипаОбъекта);
- ПроцедураЗаполнения = ПолучениеПараметровОбъектов[ВРег(ТипОбъекта)]["Параметры"];
+ ОписаниеСвойств = ТипыОбъектовКластера.СвойстваОбъекта(ИмяТипаОбъекта);
- Если НЕ ПроцедураЗаполнения = Неопределено Тогда
- Рефлектор = Новый Рефлектор();
- Рефлектор.ВызватьМетод(ЭтотОбъект, ПроцедураЗаполнения, Новый Массив());
- КонецЕсли;
+ ОписаниеКоманд = ТипыОбъектовКластера.КомандыОбъекта(ИмяТипаОбъекта);
УстановитьЗначенияПараметровКоманд(ЗначенияПараметровКоманд);
@@ -61,8 +43,7 @@
//
// Параметры:
// ЗначенияПараметровКоманд - Структура - список параметров команд:
-// Ключ - имя параметра
-// Значение - значение параметра
+// *<имя параметра> - Произвольный - значение параметра команды
// Очистить - Булево - Истина - очистить значения параметров перед заполнением
// Ложь - добавить параметры к существующим
// (одноименные будут перезаполнены)
@@ -84,13 +65,13 @@
// Функция возвращает коллекцию описаний свойств объекта
//
// Параметры:
-// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
-// в качестве ключа возвращаемого соответствия
+// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
+// в качестве ключа возвращаемого соответствия
//
// Возвращаемое значение:
-// Соответствие - коллекция описаний свойств объекта, для получения/изменения значений
+// Соответствие - коллекция описаний свойств объекта, для получения/изменения значений
//
-Функция ОписаниеСвойств(Знач ИмяПоляКлюча = "ИмяПараметра") Экспорт
+Функция ОписаниеСвойств(Знач ИмяПоляКлюча = "Имя") Экспорт
СтруктураОписаний = Новый Соответствие();
@@ -110,1057 +91,134 @@
// и возвращает результирующий массив
//
// Параметры:
-// ИмяКоманды - Строка - имя команды для которой выпоняется заполнение
+// ИмяКоманды - Строка - имя команды для которой выпоняется заполнение
//
// Возвращаемое значение:
-// Массив - параметры запуска команды
+// Массив - параметры запуска команды
//
Функция ПараметрыКоманды(Знач ИмяКоманды) Экспорт
- ПроцедураЗаполнения = ПолучениеПараметровОбъектов[ВРег(ТипОбъекта)]["Команды"][ВРег(ИмяКоманды)]["Параметры"];
-
- Если НЕ ПроцедураЗаполнения = Неопределено Тогда
- Рефлектор = Новый Рефлектор();
- Попытка
- Рефлектор.ВызватьМетод(ЭтотОбъект, ПроцедураЗаполнения, Новый Массив());
- Исключение
- ВызватьИсключение
- СтрШаблон("Ошибка вызова метода получения параметров команды ""%1"" объекта ""%2"" (%3()): %4 %5",
- ИмяКоманды,
- ТипОбъекта,
- ПроцедураЗаполнения,
- Символы.ПС,
- ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
- КонецПопытки;
+ Если ТипЗнч(ПараметрыЗапуска) = Тип("Массив") Тогда
+ ПараметрыЗапуска.Очистить();
КонецЕсли;
- Возврат ПараметрыЗапуска;
-
-КонецФункции // ПараметрыКоманды()
-
-#КонецОбласти // ПрограммныйИнтерфейс
-
-#Область ПроцедурыЗаполненияПараметровОбъектов
-
-#Область Кластеры
-
-// Процедура заполняет массив описаний параметров кластера
-//
-Процедура Параметры_Кластер_Свойства() Экспорт
-
- ДобавитьОписаниеСвойстваОбъекта("Ид" , "cluster");
- ДобавитьОписаниеСвойстваОбъекта("АдресСервера" , "host");
- ДобавитьОписаниеСвойстваОбъекта("ПортСервера" , "port");
- ДобавитьОписаниеСвойстваОбъекта("Имя" , "name");
- ДобавитьОписаниеСвойстваОбъекта("ИнтервалПерезапуска" , "lifetime-limit" , 0,
- "Чтение, Добавление, Изменение");
-
- ДобавитьОписаниеСвойстваОбъекта("ДопустимыйОбъемПамяти" , "max-memory-size" , 0,
- "Чтение, Добавление, Изменение");
-
- ДобавитьОписаниеСвойстваОбъекта("ЗащищенноеСоединение" , "security-level" , 0,
- "Чтение, Добавление, Изменение");
-
- ДобавитьОписаниеСвойстваОбъекта("УровеньОтказоустойчивости" , "session-fault-tolerance-level", 0,
- "Чтение, Добавление, Изменение");
-
- ДобавитьОписаниеСвойстваОбъекта("РежимРаспределенияНагрузки" , "load-balancing-mode",
- Перечисления.РежимыРаспределенияНагрузки.ПоПроизводительности,
- "Чтение, Добавление, Изменение");
-
- ДобавитьОписаниеСвойстваОбъекта("ИнтервалПревышенияДопустимогоОбъемаПамяти" , "max-memory-time-limit" , 0,
- "Чтение, Добавление, Изменение");
-
- ДобавитьОписаниеСвойстваОбъекта("ДопустимоеОтклонениеКоличестваОшибокСервера", "errors-count-threshold" , 0,
- "Чтение, Добавление, Изменение");
-
- ДобавитьОписаниеСвойстваОбъекта("ПринудительноЗавершатьПроблемныеПроцессы" , "kill-problem-processes",
- Перечисления.ДаНет.Нет,
- "Чтение, Добавление, Изменение");
-
- ДобавитьОписаниеСвойстваОбъекта("ВыключенныеПроцессыОстанавливатьЧерез" , "expiration-timeout" , 0,
- "Чтение, Добавление, Изменение");
-
-КонецПроцедуры // Параметры_Кластер_Свойства()
-
-// Процедура заполняет общие параметры запуска команд кластеров
-//
-Процедура Параметры_Кластер_Общие()
-
- ПараметрыЗапуска = Новый Массив();
+ Команда = ОписаниеКоманд[ИмяКоманды];
ДобавитьПараметрПоИмени("СтрокаПодключенияАгента");
- ДобавитьПараметрСтроку("cluster");
-
-КонецПроцедуры // Параметры_Кластер_Общие()
-
-// Процедура заполняет параметры запуска команды получения списка кластеров
-//
-Процедура Параметры_Кластер_Список() Экспорт
-
- Параметры_Кластер_Общие();
-
- ДобавитьПараметрСтроку("list");
-
-КонецПроцедуры // Параметры_Кластер_Список()
-
-// Процедура заполняет параметры запуска команды получения описания кластера
-//
-Процедура Параметры_Кластер_Описание() Экспорт
-
- Параметры_Кластер_Общие();
-
- ДобавитьПараметрСтроку("info");
- ДобавитьПараметрПоШаблону("--cluster=%1", "ИдентификаторКластера");
-
-КонецПроцедуры // Параметры_Кластер_Описание()
-
-// Процедура заполняет параметры запуска команды добавления кластера
-//
-Процедура Параметры_Кластер_Добавить() Экспорт
-
- Параметры_Кластер_Общие();
-
- ДобавитьПараметрСтроку("insert");
-
- ДобавитьПараметрПоИмени("СтрокаАвторизацииАгента");
-
- ДобавитьПараметрПоШаблону("--host=%1", "АдресСервера");
- ДобавитьПараметрПоШаблону("--port=%1", "ПортСервера");
- ДобавитьПараметрПоШаблону("--name=%1", "Имя");
-
- ДобавитьПрочиеПараметрыКоманды("Добавление");
-
-КонецПроцедуры // Параметры_Кластер_Добавить()
-
-// Процедура заполняет параметры запуска команды изменения кластера
-//
-Процедура Параметры_Кластер_Изменить() Экспорт
-
- Параметры_Кластер_Общие();
-
- ДобавитьПараметрСтроку("update");
-
- ДобавитьПараметрПоИмени("СтрокаАвторизацииАгента");
-
- ДобавитьПараметрПоШаблону("--cluster=%1", "ИдентификаторКластера");
-
- Если НЕ ЗначенияПараметров.Получить("Имя") = Неопределено Тогда
- ДобавитьПараметрПоШаблону("--name=%1", "Имя");
+ Если ТипОбъекта.Свойство("Владелец") Тогда
+ ДобавитьПараметрСтроку(ТипОбъекта.Владелец.РежимАдминистрирования);
+ Иначе
+ ДобавитьПараметрСтроку(ТипОбъекта.РежимАдминистрирования);
КонецЕсли;
-
- ДобавитьПрочиеПараметрыКоманды("Изменение");
-
-КонецПроцедуры // Параметры_Кластер_Изменить()
-
-// Процедура заполняет параметры запуска команды удаления кластера
-//
-Процедура Параметры_Кластер_Удалить() Экспорт
-
- Параметры_Кластер_Общие();
-
- ДобавитьПараметрСтроку("remove");
-
- ДобавитьПараметрПоШаблону("--cluster=%1", "ИдентификаторКластера");
-
- ДобавитьПараметрПоИмени("СтрокаАвторизацииКластера");
-
-КонецПроцедуры // Параметры_Кластер_Удалить()
-
-#КонецОбласти // Кластеры
-
-#Область Администраторы_Общее
-
-// Процедура заполняет массив описаний параметров администратора (агента / кластера)
-//
-Процедура Параметры_Администратор_Свойства() Экспорт
-
- ДобавитьОписаниеСвойстваОбъекта("Имя" , "name" , "Администратор",
- "Чтение, Добавление");
-
- ДобавитьОписаниеСвойстваОбъекта("Пароль" , "pwd" , "***",
- "Добавление");
-
- ДобавитьОписаниеСвойстваОбъекта("СпособАвторизации" , "auth" , Перечисления.СпособыАвторизации.Пароль,
- "Чтение, Добавление");
-
- ДобавитьОписаниеСвойстваОбъекта("ПользовательОС" , "os-user" , "",
- "Чтение, Добавление");
-
- ДобавитьОписаниеСвойстваОбъекта("Описание" , "descr" , "",
- "Чтение, Добавление");
-
-КонецПроцедуры // Параметры_Администратор_Свойства()
-
-#КонецОбласти // Администраторы_Общее
-
-#Область АдминистраторыАгента
-
-// Процедура заполняет массив описаний параметров администратора агента
-//
-Процедура Параметры_Агент_Администратор_Свойства() Экспорт
-
- Параметры_Администратор_Свойства();
-
-КонецПроцедуры // Параметры_Агент_Администратор_Свойства()
-
-// Процедура заполняет общие параметры запуска команд администраторов агента
-//
-Процедура Параметры_Агент_Администратор_Общие() Экспорт
-
- ПараметрыЗапуска = Новый Массив();
-
- ДобавитьПараметрПоИмени("СтрокаПодключенияАгента");
-
- ДобавитьПараметрСтроку("agent");
-
- ДобавитьПараметрПоИмени("СтрокаАвторизацииАгента");
-
- ДобавитьПараметрСтроку("admin");
-
-КонецПроцедуры // Параметры_Агент_Администратор_Общие()
-
-// Процедура заполняет параметры запуска команды получения списка администраторов агента
-//
-Процедура Параметры_Агент_Администратор_Список() Экспорт
-
- Параметры_Агент_Администратор_Общие();
-
- ДобавитьПараметрСтроку("list");
-
-КонецПроцедуры // Параметры_Агент_Администратор_Список()
-
-// Процедура заполняет параметры запуска команды добавления администратора агента
-//
-Процедура Параметры_Агент_Администратор_Добавить() Экспорт
-
- Параметры_Агент_Администратор_Общие();
-
- ДобавитьПараметрСтроку("register");
-
- ДобавитьПараметрСтроку(СтрШаблон("--name=%1", Служебный.ОбернутьВКавычки(ЗначенияПараметров.Получить("Имя"))));
-
- ДобавитьПрочиеПараметрыКоманды("Добавление", , "Имя");
-
-КонецПроцедуры // Параметры_Агент_Администратор_Добавить()
-
-// Процедура заполняет параметры запуска команды удаления администратора агента
-//
-Процедура Параметры_Агент_Администратор_Удалить() Экспорт
-
- Параметры_Агент_Администратор_Общие();
-
- ДобавитьПараметрСтроку("remove");
-
- ДобавитьПараметрСтроку(СтрШаблон("--name=%1", Служебный.ОбернутьВКавычки(ЗначенияПараметров.Получить("Имя"))));
-
-КонецПроцедуры // Параметры_Агент_Администратор_Удалить()
-
-#КонецОбласти // АдминистраторыАгента
-
-#Область АдминистраторыКластера
-
-// Процедура заполняет массив описаний параметров администратора кластера
-//
-Процедура Параметры_Кластер_Администратор_Свойства() Экспорт
-
- Параметры_Администратор_Свойства();
-
-КонецПроцедуры // Параметры_Кластер_Администратор_Свойства()
-
-// Процедура заполняет общие параметры запуска команд администраторов кластера
-//
-Процедура Параметры_Кластер_Администратор_Общие() Экспорт
-
- ПараметрыЗапуска = Новый Массив();
-
- ДобавитьПараметрПоИмени("СтрокаПодключенияАгента");
-
- ДобавитьПараметрСтроку("cluster");
-
- ДобавитьПараметрСтроку("admin");
-
- ДобавитьПараметрПоШаблону("--cluster=%1", "ИдентификаторКластера");
-
- ДобавитьПараметрПоИмени("СтрокаАвторизацииКластера");
-
-КонецПроцедуры // Параметры_Кластер_Администратор_Общие()
-
-// Процедура заполняет параметры запуска команды получения списка администраторов кластера
-//
-Процедура Параметры_Кластер_Администратор_Список() Экспорт
-
- Параметры_Кластер_Администратор_Общие();
-
- ДобавитьПараметрСтроку("list");
-
-КонецПроцедуры // Параметры_Кластер_Администратор_Список()
-
-// Процедура заполняет параметры запуска команды добавления администратора кластера
-//
-Процедура Параметры_Кластер_Администратор_Добавить() Экспорт
-
- Параметры_Кластер_Администратор_Общие();
-
- ДобавитьПараметрСтроку("register");
-
- ДобавитьПараметрСтроку(СтрШаблон("--name=%1", Служебный.ОбернутьВКавычки(ЗначенияПараметров.Получить("Имя"))));
-
- ДобавитьПрочиеПараметрыКоманды("Добавление", , "Имя");
-
- ДобавитьПараметрПоИмени("СтрокаАвторизацииАгента");
-
-КонецПроцедуры // Параметры_Кластер_Администратор_Добавить()
-
-// Процедура заполняет параметры запуска команды удаления администратора кластера
-//
-Процедура Параметры_Кластер_Администратор_Удалить() Экспорт
-
- Параметры_Кластер_Администратор_Общие();
-
- ДобавитьПараметрСтроку("remove");
-
- ДобавитьПараметрСтроку(СтрШаблон("--name=%1", Служебный.ОбернутьВКавычки(ЗначенияПараметров.Получить("Имя"))));
-
-КонецПроцедуры // Параметры_Кластер_Администратор_Удалить()
-
-#КонецОбласти // АдминистраторыКластера
-
-#Область МенеджерыКластера
-
-// Процедура заполняет массив описаний параметров менеджера кластера
-//
-Процедура Параметры_МенеджерКластера_Свойства() Экспорт
-
- ДобавитьОписаниеСвойстваОбъекта("Ид" , "manager");
- ДобавитьОписаниеСвойстваОбъекта("ИдПроцессаОС" , "pid");
- ДобавитьОписаниеСвойстваОбъекта("Назначение" , "using");
- ДобавитьОписаниеСвойстваОбъекта("АдресСервера" , "host");
- ДобавитьОписаниеСвойстваОбъекта("ПортСервера" , "port");
- ДобавитьОписаниеСвойстваОбъекта("Описание" , "descr");
-
-КонецПроцедуры // Параметры_МенеджерКластера_Свойства()
-
-// Процедура заполняет параметры запуска команды получения списка менеджеров кластера
-//
-Процедура Параметры_МенеджерКластера_Список() Экспорт
-
- ПараметрыЗапуска = Новый Массив();
-
- ДобавитьПараметрПоИмени("СтрокаПодключенияАгента");
-
- ДобавитьПараметрСтроку("manager");
- ДобавитьПараметрСтроку("list");
-
- ДобавитьПараметрПоШаблону("--cluster=%1", "ИдентификаторКластера");
-
- ДобавитьПараметрПоИмени("СтрокаАвторизацииКластера");
-
-КонецПроцедуры // Параметры_МенеджерКластера_Список()
-
-#КонецОбласти // МенеджерыКластера
-
-#Область Серверы
-
-// Процедура заполняет массив описаний параметров сервера
-//
-Процедура Параметры_Сервер_Свойства() Экспорт
-
- ДиапазонПортов = "1560:1591";
- КоличествоИБНаПроцесс = "8";
- КоличествоСоединенийНаПроцесс = "128";
- ПортГлавногоМенеджераКластера = "1541";
- ПортАгента = "1540";
-
- ДобавитьОписаниеСвойстваОбъекта("Ид" , "server");
- ДобавитьОписаниеСвойстваОбъекта("Имя" , "name" , ,
- "Чтение, Добавление");
- ДобавитьОписаниеСвойстваОбъекта("АдресАгента" , "agent-host" , "localhost",
- "Чтение, Добавление");
- ДобавитьОписаниеСвойстваОбъекта("ПортАгента" , "agent-port" , ПортАгента,
- "Чтение, Добавление");
- ДобавитьОписаниеСвойстваОбъекта("ДиапазонПортов" , "port-range" , ДиапазонПортов,
- "Чтение, Добавление, Изменение");
-
- ДобавитьОписаниеСвойстваОбъекта("ЦентральныйСервер" , "using" ,
- Перечисления.ВариантыИспользованияРабочегоСервера.Главный,
- "Чтение, Добавление, Изменение");
-
- ДобавитьОписаниеСвойстваОбъекта("МенеджерПодКаждыйСервис" , "dedicate-managers",
- Перечисления.ВариантыРазмещенияСервисов.ВОдномМенеджере,
- "Чтение, Добавление, Изменение");
-
- ДобавитьОписаниеСвойстваОбъекта("КоличествоИБНаПроцесс" , "infobases-limit" ,
- КоличествоИБНаПроцесс,
- "Чтение, Добавление, Изменение");
-
- ДобавитьОписаниеСвойстваОбъекта("МаксОбъемПамятиРабочихПроцессов" , "memory-limit" , "0",
- "Чтение, Добавление, Изменение");
-
- ДобавитьОписаниеСвойстваОбъекта("КоличествоСоединенийНаПроцесс" , "connections-limit",
- КоличествоСоединенийНаПроцесс,
- "Чтение, Добавление, Изменение");
-
- ДобавитьОписаниеСвойстваОбъекта("ПортГлавногоМенеджераКластера" , "cluster-port" ,
- ПортГлавногоМенеджераКластера,
- "Чтение, Добавление");
-
- ДобавитьОписаниеСвойстваОбъекта("БезопасныйОбъемПамятиРабочихПроцессов", "safe-working-processes-memory-limit", "0",
- "Чтение, Добавление, Изменение");
-
- ДобавитьОписаниеСвойстваОбъекта("БезопасныйРасходПамятиЗаОдинВызов" , "safe-call-memory-limit" , "0",
- "Чтение, Добавление, Изменение");
-
-КонецПроцедуры // Параметры_Сервер_Свойства()
-
-// Процедура заполняет общие параметры запуска команд серверов
-//
-Процедура Параметры_Сервер_Общие()
-
- ПараметрыЗапуска = Новый Массив();
-
- ДобавитьПараметрПоИмени("СтрокаПодключенияАгента");
-
- ДобавитьПараметрСтроку("server");
-
- ДобавитьПараметрПоШаблону("--cluster=%1", "ИдентификаторКластера");
- ДобавитьПараметрПоИмени("СтрокаАвторизацииКластера");
-
-КонецПроцедуры // Параметры_Сервера_Общие()
-
-// Процедура заполняет параметры команды получения списка серверов
-//
-Процедура Параметры_Сервер_Список() Экспорт
-
- Параметры_Сервер_Общие();
-
- ДобавитьПараметрСтроку("list");
-
-КонецПроцедуры // Параметры_Сервер_Список()
-
-// Процедура заполняет параметры команды получения описания сервера
-//
-Процедура Параметры_Сервер_Описание() Экспорт
-
- Параметры_Сервер_Общие();
-
- ДобавитьПараметрСтроку("info");
- ДобавитьПараметрПоШаблону("--server=%1", "ИдентификаторСервера");
-
-КонецПроцедуры // Параметры_Сервер_Описание()
-
-// Процедура заполняет параметры команды добавления сервера
-//
-Процедура Параметры_Сервер_Добавить() Экспорт
-
- Параметры_Сервер_Общие();
-
- ДобавитьПараметрСтроку("insert");
-
- ДобавитьПараметрПоШаблону("--name=%1" , "Имя");
- ДобавитьПараметрПоШаблону("--locale=%1", "Локализация");
-
- ДобавитьПрочиеПараметрыКоманды("Добавление", , "Имя");
-
-КонецПроцедуры // Параметры_Сервер_Добавить()
-
-// Процедура заполняет параметры команды изменения сервера
-//
-Процедура Параметры_Сервер_Изменить() Экспорт
-
- Параметры_Сервер_Общие();
-
- ДобавитьПараметрСтроку("update");
-
- ДобавитьПараметрПоШаблону("--server=%1", "ИдентификаторСервера");
-
- ДобавитьПрочиеПараметрыКоманды("Изменение");
-
-КонецПроцедуры // Параметры_Сервер_Изменить()
-
-// Процедура заполняет параметры команды удаления сервера
-//
-Процедура Параметры_Сервер_Удалить() Экспорт
-
- Параметры_Сервер_Общие();
-
- ДобавитьПараметрСтроку("remove");
-
- ДобавитьПараметрПоШаблону("--server=%1", "ИдентификаторСервеа");
-
-КонецПроцедуры // Параметры_Сервер_Удалить()
-
-#КонецОбласти // Серверы
-
-#Область РабочиеПроцессы
-
-// Процедура заполняет массив описаний параметров рабочего процесса
-//
-Процедура Параметры_РабочийПроцесс_Свойства() Экспорт
-
- ДобавитьОписаниеСвойстваОбъекта("Ид" , "process");
- ДобавитьОписаниеСвойстваОбъекта("АдресСервера" , "host");
- ДобавитьОписаниеСвойстваОбъекта("ПортСервера" , "port");
- ДобавитьОписаниеСвойстваОбъекта("ИдПроцессаОС" , "pid");
- ДобавитьОписаниеСвойстваОбъекта("Активен" , "is-enable");
- ДобавитьОписаниеСвойстваОбъекта("Выполняется" , "running");
- ДобавитьОписаниеСвойстваОбъекта("ВремяЗапуска" , "started-at");
- ДобавитьОписаниеСвойстваОбъекта("Использование" , "use");
- ДобавитьОписаниеСвойстваОбъекта("ДоступнаяПроизводительность" , "available-perfomance");
- ДобавитьОписаниеСвойстваОбъекта("Емкость" , "capacity");
- ДобавитьОписаниеСвойстваОбъекта("КоличествоСоединений" , "connections");
- ДобавитьОписаниеСвойстваОбъекта("ЗанятьПамяти" , "memory-size");
- ДобавитьОписаниеСвойстваОбъекта("ВремяПревышенияЗанятойПамяти" , " memory-excess-time");
- ДобавитьОписаниеСвойстваОбъекта("ОбъемВыборки" , "selection-size");
- ДобавитьОписаниеСвойстваОбъекта("ЗатраченоКлиентом" , "avg-back-call-time");
- ДобавитьОписаниеСвойстваОбъекта("ЗатраченоВсего" , "avg-call-time");
- ДобавитьОписаниеСвойстваОбъекта("ЗатраченоСУБД" , "avg-db-call-time");
- ДобавитьОписаниеСвойстваОбъекта("ЗатраченоМенеджеромБлокировок" , "avg-lock-call-time");
- ДобавитьОписаниеСвойстваОбъекта("ЗатраченоСервером" , "avg-server-call-time");
- ДобавитьОписаниеСвойстваОбъекта("КлиентскихПотоков" , "avg-threads");
-
-КонецПроцедуры // Параметры_РабочийПроцесс_Свойства()
-
-// Процедура заполняет общие параметры запуска команд рабочих процессов
-//
-Процедура Параметры_РабочийПроцесс_Общие()
-
- ПараметрыЗапуска = Новый Массив();
-
- ДобавитьПараметрПоИмени("СтрокаПодключенияАгента");
-
- ДобавитьПараметрСтроку("process");
-
- ДобавитьПараметрПоШаблону("--cluster=%1", "ИдентификаторКластера");
- ДобавитьПараметрПоИмени("СтрокаАвторизацииКластера");
-
-КонецПроцедуры // Параметры_РабочийПроцесс_Общие()
-
-// Процедура заполняет параметры команды получения списка рабочих процессов
-//
-Процедура Параметры_РабочийПроцесс_Список() Экспорт
-
- Параметры_РабочийПроцесс_Общие();
-
- ДобавитьПараметрСтроку("list");
-
-КонецПроцедуры // Параметры_РабочийПроцесс_Список()
-
-// Процедура заполняет параметры команды получения описания рабочего процесса
-//
-Процедура Параметры_РабочийПроцесс_Описание() Экспорт
-
- Параметры_РабочийПроцесс_Общие();
-
- ДобавитьПараметрСтроку("info");
- ДобавитьПараметрПоШаблону("--process=%1", "ИдентификаторПроцесса");
-
-КонецПроцедуры // Параметры_РабочийПроцесс_Описание()
-
-#КонецОбласти // РабочиеПроцессы
-
-#Область ИнформационныеБазы
-
-// Процедура заполняет массив описаний свойств информационной базы
-//
-Процедура Параметры_ИБ_Свойства() Экспорт
-
- ДобавитьОписаниеСвойстваОбъекта("Ид" , "infobase");
- ДобавитьОписаниеСвойстваОбъекта("ТипСУБД" , "dbms",
- Перечисления.ТипыСУБД.MSSQLServer, "Чтение, Добавление, Изменение");
-
- ДобавитьОписаниеСвойстваОбъекта("АдресСервераСУБД" , "db-server", "",
- "Чтение, Добавление, Изменение");
-
- ДобавитьОписаниеСвойстваОбъекта("ИмяБазыСУБД" , "db-name", ,
- "Чтение, Добавление, Изменение");
-
- ДобавитьОписаниеСвойстваОбъекта("ИмяПользователяБазыСУБД" , "db-user", ,
- "Чтение, Добавление, Изменение");
-
- ДобавитьОписаниеСвойстваОбъекта("ПарольПользователяБазыСУБД" , "db-pwd", ,
- "Добавление, Изменение");
-
- ДобавитьОписаниеСвойстваОбъекта("НачалоБлокировкиСеансов" , "denied-from", ,
- "Чтение, Изменение");
-
- ДобавитьОписаниеСвойстваОбъекта("ОкончаниеБлокировкиСеансов" , "denied-to", ,
- "Чтение, Изменение");
-
- ДобавитьОписаниеСвойстваОбъекта("СообщениеБлокировкиСеансов" , "denied-message", ,
- "Чтение, Изменение");
-
- ДобавитьОписаниеСвойстваОбъекта("ПараметрБлокировкиСеансов" , "denied-parameter", ,
- "Чтение, Изменение");
-
- ДобавитьОписаниеСвойстваОбъекта("КодРазрешения" , "permission-code", ,
- "Чтение, Изменение");
-
- ДобавитьОписаниеСвойстваОбъекта("БлокировкаСеансовВключена" , "sessions-deny", ,
- "Чтение, Изменение");
-
- ДобавитьОписаниеСвойстваОбъекта("БлокировкаРегламентныхЗаданийВключена" , "scheduled-jobs-deny",
- Перечисления.СостоянияВыключателя.Выключено,
- "Чтение, Добавление, Изменение");
-
- ДобавитьОписаниеСвойстваОбъекта("ВыдачаЛицензийСервером" , "license-distribution",
- Перечисления.ПраваДоступа.Разрешено,
- "Чтение, Добавление, Изменение");
-
- ДобавитьОписаниеСвойстваОбъекта("ПараметрыВнешнегоУправленияСеансами",
- "external-session-manager-connection-string", ,
- "Чтение, Изменение");
-
- ДобавитьОписаниеСвойстваОбъекта("ОбязательноеВнешнееУправлениеСеансами" , "external-session-manager-required",
- Перечисления.ДаНет.Нет,
- "Чтение, Изменение");
-
- ДобавитьОписаниеСвойстваОбъекта("ПрофильБезопасности" , "security-profile-name", ,
- "Чтение, Изменение");
-
- ДобавитьОписаниеСвойстваОбъекта("ПрофильБезопасностиБезопасногоРежима" , "safe-mode-security-profile-name", ,
- "Чтение, Изменение");
-
- ДобавитьОписаниеСвойстваОбъекта("СмещениеДат" , "date-offset", "2000",
- "Добавление");
- ДобавитьОписаниеСвойстваОбъекта("Описание" , "descr", ,
- "Чтение, Изменение");
-
-КонецПроцедуры // Параметры_ИБ_Свойства()
-
-// Процедура заполняет общие параметры запуска команд информационных баз
-//
-Процедура Параметры_ИБ_Общие()
-
- ПараметрыЗапуска = Новый Массив();
-
- ДобавитьПараметрПоИмени("СтрокаПодключенияАгента");
-
- ДобавитьПараметрСтроку("infobase");
-
- ДобавитьПараметрПоШаблону("--cluster=%1", "ИдентификаторКластера");
- ДобавитьПараметрПоИмени("СтрокаАвторизацииКластера");
-
-КонецПроцедуры // Параметры_ИБ_Общие()
-
-// Процедура заполняет параметры команды получения списка информационных баз
-//
-Процедура Параметры_ИБ_Список() Экспорт
-
- Параметры_ИБ_Общие();
-
- ДобавитьПараметрСтроку("summary");
- ДобавитьПараметрСтроку("list");
-
-КонецПроцедуры // Параметры_ИБ_Список()
-
-// Процедура заполняет параметры команды получения сокращенного описания информационной базы
-//
-Процедура Параметры_ИБ_Описание() Экспорт
-
- Параметры_ИБ_Общие();
-
- ДобавитьПараметрСтроку("summary");
- ДобавитьПараметрСтроку("info");
- ДобавитьПараметрПоШаблону("--infobase=%1", "ИдентификаторИБ");
-
-КонецПроцедуры // Параметры_ИБ_Описание()
-
-// Процедура заполняет параметры команды получения полного описания информационной базы
-//
-Процедура Параметры_ИБ_ПолноеОписание() Экспорт
-
- Параметры_ИБ_Общие();
-
- ДобавитьПараметрСтроку("info");
- ДобавитьПараметрПоШаблону("--infobase=%1", "ИдентификаторИБ");
- ДобавитьПараметрПоИмени("СтрокаАвторизацииИБ");
-
-КонецПроцедуры // Параметры_ИБ_ПолноеОписание()
-// Процедура заполняет параметры команды добавления информационной базы
-//
-Процедура Параметры_ИБ_Добавить() Экспорт
-
- Параметры_ИБ_Общие();
-
- ДобавитьПараметрСтроку("create");
-
- ДобавитьПараметрПоШаблону("--name=%1" , "Имя");
- ДобавитьПараметрПоШаблону("--locale=%1", "Локализация");
+ АвторизацияАгента = Ложь;
+ Если Команда.Свойство("АвторизацияАгента") Тогда
+ АвторизацияАгента = Команда.АвторизацияАгента;
+ КонецЕсли;
- Если ЗначениеФлага("СоздатьБазуСУБД") Тогда
- ДобавитьПараметрСтроку("--create-database");
+ Если АвторизацияАгента Тогда
+ ДобавитьПараметрПоИмени("СтрокаАвторизацииАгента");
КонецЕсли;
- ДобавитьПрочиеПараметрыКоманды("Добавление");
-
-КонецПроцедуры // Параметры_ИБ_Добавить()
-
-// Процедура заполняет параметры команды изменения информационной базы
-//
-Процедура Параметры_ИБ_Изменить() Экспорт
-
- Параметры_ИБ_Общие();
-
- ДобавитьПараметрСтроку("update");
-
- ДобавитьПараметрПоШаблону("--infobase=%1", "ИдентификаторИБ");
- ДобавитьПараметрПоИмени("СтрокаАвторизацииИБ");
-
- ДобавитьПрочиеПараметрыКоманды("Изменение");
-
-КонецПроцедуры // Параметры_ИБ_Изменить()
-
-// Процедура заполняет параметры команды удаления информационной базы
-//
-Процедура Параметры_ИБ_Удалить() Экспорт
-
- Параметры_ИБ_Общие();
-
- ДобавитьПараметрСтроку("drop");
-
- ДобавитьПараметрПоШаблону("--infobase=%1", "ИдентификаторИБ");
- ДобавитьПараметрПоИмени("СтрокаАвторизацииИБ");
-
- Если ЗначенияПараметров.Получить("ДействияСБазойСУБД") = "drop" Тогда
- ДобавитьПараметрСтроку("--drop-database");
- ИначеЕсли ЗначенияПараметров.Получить("ДействияСБазойСУБД") = "clear" Тогда
- ДобавитьПараметрСтроку("--clear-database");
+ Если Команда.Кластер Тогда
+ ДобавитьПараметрПоШаблону("--cluster=%1", "ИдентификаторКластера", Истина);
+ ДобавитьПараметрПоИмени("СтрокаАвторизацииКластера");
КонецЕсли;
-
-КонецПроцедуры // Параметры_ИБ_Удалить()
-
-#КонецОбласти // ИнформационныеБазы
-
-#Область СчетчикиПотребленияРесурсов
-
-// Процедура заполняет массив описаний параметров рабочего процесса
-//
-Процедура Параметры_СчетчикПотребленияРесурсов_Свойства() Экспорт
-
- ДобавитьОписаниеСвойстваОбъекта("Имя" , "name");
- ДобавитьОписаниеСвойстваОбъекта("ДлительностьСбора" , "collection-time");
- ДобавитьОписаниеСвойстваОбъекта("ДлительностьСбораМс" , "duration");
- ДобавитьОписаниеСвойстваОбъекта("Группировка" , "group");
- ДобавитьОписаниеСвойстваОбъекта("ТипОтбора" , "filter-type");
- ДобавитьОписаниеСвойстваОбъекта("Отбор" , "filter");
- ДобавитьОписаниеСвойстваОбъекта("ПроцессорноеВремя" , "cpu-time");
- ДобавитьОписаниеСвойстваОбъекта("ДлительностьВызововСУБД" , "duration-dbms");
- ДобавитьОписаниеСвойстваОбъекта("ДлительностьВызововСервисов" , "service");
- ДобавитьОписаниеСвойстваОбъекта("ПотреблениеПамяти" , "memory");
- ДобавитьОписаниеСвойстваОбъекта("ОбъемИнформацииСчитаннойСДиска" , "read");
- ДобавитьОписаниеСвойстваОбъекта("ОбъемИнформацииЗаписаннойНаДиск" , "write");
- ДобавитьОписаниеСвойстваОбъекта("ОбъемИнформацииПереданнойСУБД" , "dbms-bytes");
- ДобавитьОписаниеСвойстваОбъекта("КоличествоСерверныхВызовов" , "call");
- ДобавитьОписаниеСвойстваОбъекта("КоличествоАктивныхСеансов" , "number-of-active-sessions");
- ДобавитьОписаниеСвойстваОбъекта("КоличествоСеансов" , "number-of-sessions");
- ДобавитьОписаниеСвойстваОбъекта("Описание" , "descr");
-
-КонецПроцедуры // Параметры_СчетчикПотребленияРесурсов_Свойства()
-
-// Процедура заполняет общие параметры запуска команд счетчиков потребления ресурсов
-//
-Процедура Параметры_СчетчикПотребленияРесурсов_Общие()
-
- ПараметрыЗапуска = Новый Массив();
-
- ДобавитьПараметрПоИмени("СтрокаПодключенияАгента");
-
- ДобавитьПараметрСтроку("counter");
-
- ДобавитьПараметрПоШаблону("--cluster=%1", "ИдентификаторКластера");
- ДобавитьПараметрПоИмени("СтрокаАвторизацииКластера");
-
-КонецПроцедуры // Параметры_СчетчикПотребленияРесурсов_Общие()
-
-// Процедура заполняет параметры команды получения списка счетчиков потребления ресурсов
-//
-Процедура Параметры_СчетчикПотребленияРесурсов_Список() Экспорт
-
- Параметры_СчетчикПотребленияРесурсов_Общие();
-
- ДобавитьПараметрСтроку("list");
-
-КонецПроцедуры // Параметры_СчетчикПотребленияРесурсов_Список()
-
-// Процедура заполняет параметры команды изменения счетчика потребления ресурсов
-//
-Процедура Параметры_СчетчикПотребленияРесурсов_Изменить() Экспорт
-
- Параметры_СчетчикПотребленияРесурсов_Общие();
-
- ДобавитьПараметрСтроку("update");
-
- ДобавитьПараметрПоШаблону("--name=%1", "Имя");
- ДобавитьПараметрПоШаблону("--collection-time=%1", "ДлительностьСбора");
- ДобавитьПараметрПоШаблону("--group=%1", "Группировка");
- ДобавитьПараметрПоШаблону("--filter-type=%1", "ТипОтбора");
- ДобавитьПараметрПоШаблону("--filter=%1", "Отбор");
- ДобавитьПараметрПоШаблону("--duration=%1", "ДлительностьСбораМс");
- ДобавитьПараметрПоШаблону("--cpu-time=%1", "ПроцессорноеВремя");
- ДобавитьПараметрПоШаблону("--memory=%1", "ПотреблениеПамяти");
- ДобавитьПараметрПоШаблону("--read=%1", "ОбъемИнформацииСчитаннойСДиска");
- ДобавитьПараметрПоШаблону("--write=%1", "ОбъемИнформацииЗаписаннойНаДиск");
- ДобавитьПараметрПоШаблону("--duration-dbms=%1", "ДлительностьВызововСУБД");
- ДобавитьПараметрПоШаблону("--dbms-bytes=%1", "ОбъемИнформацииПереданнойСУБД");
- ДобавитьПараметрПоШаблону("--service=%1", "ДлительностьВызововСервисов");
- ДобавитьПараметрПоШаблону("--call=%1", "КоличествоСерверныхВызовов");
- ДобавитьПараметрПоШаблону("--number-of-active-sessions=%1", "КоличествоАктивныхСеансов");
- ДобавитьПараметрПоШаблону("--number-of-sessions=%1", "КоличествоСеансов");
- ДобавитьПараметрПоШаблону("--descr=%1", "Описание");
- ДобавитьПрочиеПараметрыКоманды("Изменение");
-
-КонецПроцедуры // Параметры_СчетчикПотребленияРесурсов_Изменить()
-
-// Процедура заполняет параметры команды получения описания счетчика потребления ресурсов
-//
-Процедура Параметры_СчетчикПотребленияРесурсов_Описание() Экспорт
-
- Параметры_СчетчикПотребленияРесурсов_Общие();
-
- ДобавитьПараметрСтроку("info");
- ДобавитьПараметрПоШаблону("--counter=%1", "ИмяСчетчика");
-
-КонецПроцедуры // Параметры_СчетчикПотребленияРесурсов_Описание()
-
-// Процедура заполняет параметры команды удаления сервера
-//
-Процедура Параметры_СчетчикПотребленияРесурсов_Значения() Экспорт
-
- Параметры_СчетчикПотребленияРесурсов_Общие();
-
- ДобавитьПараметрСтроку("values");
-
- ДобавитьПараметрПоШаблону("--counter=%1", "ИмяСчетчика");
- ДобавитьПараметрПоШаблону("--object=%1", "Отбор");
-
-КонецПроцедуры // Параметры_СчетчикПотребленияРесурсов_Значения()
-
-// Процедура заполняет параметры команды удаления счетчика потребления ресурсов
-//
-Процедура Параметры_СчетчикПотребленияРесурсов_Удалить() Экспорт
-
- Параметры_СчетчикПотребленияРесурсов_Общие();
-
- ДобавитьПараметрСтроку("remove");
-
- ДобавитьПараметрПоШаблону("--name=%1", "ИмяСчетчика");
-
-КонецПроцедуры // Параметры_СчетчикПотребленияРесурсов_Удалить()
-
-#КонецОбласти // СчетчикиПотребленияРесурсов
-
-#КонецОбласти // ПроцедурыЗаполненияПараметровОбъектов
-
-#Область СлужебныеПроцедуры
-
-// Процедура заполняет структуру правил заполнения описаний свойств и команд объектов
-//
-Процедура ЗаполнитьПолучениеПараметровОбъекта()
-
- ОписанияОбъектов = Новый Соответствие();
+ Если ТипОбъекта.Свойство("Владелец") Тогда
+ ДобавитьПараметрСтроку(ТипОбъекта.РежимАдминистрирования);
+ КонецЕсли;
- ОписанияОбъектов.Вставить("Кластер:cluster" , "Список:list,
- |Описание:info,
- |Добавить:insert,
- |Изменить:update,
- |Удалить:remove");
-
- ОписанияОбъектов.Вставить("Агент.Администратор:agent.admin" , "Список:list,
- |Добавить:register,
- |Удалить:remove");
-
- ОписанияОбъектов.Вставить("Кластер.Администратор:cluster.admin" , "Список:list,
- |Добавить:register,
- |Удалить:remove");
-
- ОписанияОбъектов.Вставить("МенеджерКластера:manager" , "Список:list,
- |Описание:info");
-
- ОписанияОбъектов.Вставить("Сервис:service" , "Список:list");
-
- ОписанияОбъектов.Вставить("Сервер:server" , "Список:list,
- |Описание:info,
- |Добавить:insert,
- |Изменить:update,
- |Удалить:remove");
-
- ОписанияОбъектов.Вставить("РабочийПроцесс:process" , "Список:list,
- |Описание:info");
-
- ОписанияОбъектов.Вставить("РабочийПроцесс.Лицензия:process.license", "Список:list,
- |Описание:info");
-
- ОписанияОбъектов.Вставить("Сеанс:session" , "Список:list,
- |Описание:info,
- |Удалить:terminate");
-
- ОписанияОбъектов.Вставить("Сеанс.Лицензия:session.license" , "Список:list,
- |Описание:info");
-
- ОписанияОбъектов.Вставить("Соединение:connection" , "Список:list,
- |Описание:info,
- |Удалить:disconnect");
-
- ОписанияОбъектов.Вставить("ИБ:infobase" , "Список:list,
- |Описание:summary,
- |ПолноеОписание:info,
- |Добавить:create,
- |Изменить:update,
- |Удалить:remove");
-
- ОписанияОбъектов.Вставить("Блокировка:lock" , "Список:list");
-
- ОписанияОбъектов.Вставить("ТребованиеНазначения:rule" , "Список:list,
- |Описание:info,
- |Добавить:insert,
- |Изменить:update,
- |Удалить:remove,
- |Применить:apply");
-
- ОписанияОбъектов.Вставить("Профиль:profile" , "Список:list,
- |Изменить:update,
- |Удалить:remove");
-
- ОписанияОбъектов.Вставить("Профиль.Каталог:profile.directory" , "Список:list,
- |Изменить:update,
- |Удалить:remove");
-
- ОписанияОбъектов.Вставить("Профиль.COMКласс:profile.com" , "Список:list,
- |Изменить:update,
- |Удалить:remove");
-
- ОписанияОбъектов.Вставить("Профиль.Компонент:profile.addin" , "Список:list,
- |Изменить:update,
- |Удалить:remove");
-
- ОписанияОбъектов.Вставить("Профиль.Модуль:profile.module" , "Список:list,
- |Изменить:update,
- |Удалить:remove");
-
- ОписанияОбъектов.Вставить("Профиль.Приложение:profile.app" , "Список:list,
- |Изменить:update,
- |Удалить:remove");
-
- ОписанияОбъектов.Вставить("Профиль.ИнтернетРесурс:profile.inet" , "Список:list,
- |Изменить:update,
- |Удалить:remove");
-
- ОписанияОбъектов.Вставить("СчетчикПотребленияРесурсов:counter" , "Список:list,
- |Изменить:update,
- |Значения:values,
- |Удалить:remove");
-
- Для Каждого ТекОписание Из ОписанияОбъектов Цикл
- ДобавитьПолучениеПараметровОбъекта(ТекОписание.Ключ, ТекОписание.Значение);
+ Для Каждого ТекПараметр Из Команда.ОбщиеПараметры Цикл
+ ДобавитьПараметрКоманды(ТекПараметр);
КонецЦикла;
-КонецПроцедуры // ЗаполнитьПолучениеПараметровОбъекта()
+ ДобавитьПараметрСтроку(Команда.ИмяРАК);
-// Процедура добавляет правило заполнения описания свойств и команд объекта
-//
-Процедура ДобавитьПолучениеПараметровОбъекта(ИменаТипаОбъекта, ДоступныеКоманды)
+ Для Каждого ТекПараметр Из Команда.ПараметрыКоманды Цикл
+ ДобавитьПараметрКоманды(ТекПараметр);
+ КонецЦикла;
- Если НЕ ТипЗнч(ПолучениеПараметровОбъектов) = Тип("Соответствие") Тогда
- ПолучениеПараметровОбъектов = Новый Соответствие();
+ Если Команда.ЗначенияПолей Тогда
+ ДобавитьПрочиеПараметрыКоманды(Команда.Имя);
КонецЕсли;
- МассивИменТипов = СтрРазделить(ИменаТипаОбъекта, ":");
-
- ОсновноеИмяТипа = СокрЛП(МассивИменТипов[0]);
- ИмяПроцедуры = "Параметры_" + СтрЗаменить(ОсновноеИмяТипа, ".", "_") + "_Свойства";
-
- ПолучениеПараметровОбъекта = Новый Соответствие();
- ПолучениеПараметровОбъекта.Вставить("ИмяТипа", ОсновноеИмяТипа);
- ПолучениеПараметровОбъекта.Вставить("Параметры", ИмяПроцедуры);
-
- МассивКоманд = СтрРазделить(ДоступныеКоманды, ",");
-
- ПолучениеПараметровКоманд = Новый Соответствие();
-
- Для Каждого ТекИменаКоманды Из МассивКоманд Цикл
- МассивИменКоманды = СтрРазделить(СокрЛП(ТекИменаКоманды), ":");
+ Возврат ПараметрыЗапуска;
- ОсновноеИмяКоманды = СокрЛП(МассивИменКоманды[0]);
- ИмяПроцедуры = "Параметры_" + СтрЗаменить(ОсновноеИмяТипа, ".", "_") + "_" + ОсновноеИмяКоманды;
+КонецФункции // ПараметрыКоманды()
- ПолучениеПараметровКоманды = Новый Соответствие();
- ПолучениеПараметровКоманды.Вставить("ИмяКоманды", ОсновноеИмяКоманды);
- ПолучениеПараметровКоманды.Вставить("Параметры", ИмяПроцедуры);
+// Функция возвращает описание текущего типа объекта
+//
+// Возвращаемое значение:
+// Структура - описание типа объектов
+// *Имя - Строка - имя типа объектов
+// *РежимАдминистрирования - Строка - режим утилиты RAC (agent, cluster, infobase и т.п.)
+// *Владелец - Струткура - описание типа объекта, владельца
+// (например: для типа "Кластер.Администратор"
+// будет содержать описание типа "Кластер")
+//
+Функция ТипОбъекта() Экспорт
- Для Каждого ТекИмяКоманды Из МассивИменКоманды Цикл
- ПолучениеПараметровКоманд.Вставить(ВРег(СокрЛП(ТекИмяКоманды)), ПолучениеПараметровКоманды);
- КонецЦикла;
- КонецЦикла;
+ Возврат ТипОбъекта;
- ПолучениеПараметровОбъекта.Вставить("Команды", ПолучениеПараметровКоманд);
+КонецФункции // ТипОбъекта()
- Для Каждого ТекИмяТипа Из МассивИменТипов Цикл
- ПолучениеПараметровОбъектов.Вставить(ВРег(СокрЛП(ТекИмяТипа)), ПолучениеПараметровОбъекта);
- КонецЦикла;
+#КонецОбласти // ПрограммныйИнтерфейс
-КонецПроцедуры // ДобавитьПолучениеПараметровОбъекта()
+#Область СлужебныеПроцедуры
-// Процедура добавляет описание свойства в массив свойств
+// Процедура добавляет параметр указанный параметр команды
//
// Параметры:
-// ИмяПараметра - Строка - имя свойства объекта
-// ИмяПоляРАК - Строка - имя свойства, как оно возвращается утилитой RAC
-// ЗначениеПоУмолчанию - Произвольный - значение свойства объекта по умолчанию
-// Использование - Строка, Структура - строка содержащая флаги использования, разделенные ","
-// (Чтение, Добавление, Изменение)
-// если указана структура, то в значении можно переопределить
-// имя параметра утилиты RAC
+// Параметр - Строка, Структура - строковый параметр или структура с описанием параметра
+// *Флаг - Строка - имя параметра-флага разрешающего добавление параметра
+// *Шаблон - Строка - строка шаблона добавления параметра (например: "--cluster=%1")
+// *Параметр - Строка - имя добавляемого параметра или подстановки в шаблон
+// *Обязательный - Булево - Истина - при заполнении будет проверено наличие параметра
//
-Процедура ДобавитьОписаниеСвойстваОбъекта(Знач ИмяПараметра
- , Знач ИмяПоляРАК
- , Знач ЗначениеПоУмолчанию = ""
- , Знач Использование = "Чтение")
+Процедура ДобавитьПараметрКоманды(Знач Параметр)
- Если НЕ ТипЗнч(ОписаниеСвойств) = Тип("Массив") Тогда
- ОписаниеСвойств = Новый Массив();
- КонецЕсли;
+ Если ТипЗнч(Параметр) = Тип("Структура") Тогда
- Если ТипЗнч(Использование) = Тип("Строка") Тогда
- Использование = Новый Структура(Использование);
- ИначеЕсли НЕ ТипЗнч(Использование) = Тип("Структура") Тогда
- Использование = Новый Структура();
- КонецЕсли;
+ Флаг = Истина;
+ Если Параметр.Свойство("Флаг") Тогда
+ Флаг = ЗначениеФлага(Параметр.Флаг);
+ КонецЕсли;
+
+ Если НЕ Флаг Тогда
+ Возврат;
+ КонецЕсли;
+
+ Обязательный = Ложь;
+ Если Параметр.Свойство("Обязательный") Тогда
+ Обязательный = Параметр.Обязательный;
+ КонецЕсли;
- ОписаниеСвойства = Новый Структура();
- ОписаниеСвойства.Вставить("ИмяПараметра" , ИмяПараметра);
- ОписаниеСвойства.Вставить("ИмяПоляРак" , ИмяПоляРак);
- ОписаниеСвойства.Вставить("ПараметрКоманды" , "");
- ОписаниеСвойства.Вставить("ЗначениеПоУмолчанию" , ЗначениеПоУмолчанию);
- ОписаниеСвойства.Вставить("Чтение" , Использование.Свойство("Чтение"));
- ОписаниеСвойства.Вставить("Добавление" , Использование.Свойство("Добавление"));
- ОписаниеСвойства.Вставить("Изменение" , Использование.Свойство("Изменение"));
-
- Если Использование.Свойство("ПараметрКоманды") Тогда
- ОписаниеСвойства.ПараметрКоманды = Использование.ПараметрКоманды;
- ИначеЕсли ОписаниеСвойства.Добавление ИЛИ ОписаниеСвойства.Изменение Тогда
- ОписаниеСвойства.ПараметрКоманды = "--" + ОписаниеСвойства.ИмяПоляРАК;
- КонецЕсли;
+ Если Параметр.Свойство("Шаблон") Тогда
+ ДобавитьПараметрПоШаблону(Параметр.Шаблон, Параметр.Параметр, Обязательный);
+ Иначе
+ ДобавитьПараметрПоИмени(Параметр.Параметр);
+ КонецЕсли;
- ОписаниеСвойств.Добавить(ОписаниеСвойства);
+ Иначе
+ ДобавитьПараметрСтроку(Параметр);
+ КонецЕсли;
-КонецПроцедуры // ДобавитьОписаниеСвойстваОбъекта()
+КонецПроцедуры // ДобавитьПараметрКоманды()
// Процедура добавляет параметры команды из описания свойств объекта
-// проверяя флаг исполсвойства для различных операций
+// проверяя флаг использования свойства для различных операций
//
// Параметры:
-// ИмяФлагаРазрешения - Строка - имя проверяемого флага разрешения
+// ИмяФлагаРазрешения - Строка - имя проверяемого флага разрешения
// (Чтение, Добавление, Изменение и т.п.)
-// ВключаяПараметры - Строка - список добавляемых параметров, разделенных ","
-// ИсключаяПараметры - Строка - список исключаемых параметров, разделенных ","
+// ВключаяПараметры - Строка - список добавляемых параметров, разделенных ","
+// ИсключаяПараметры - Строка - список исключаемых параметров, разделенных ","
//
Процедура ДобавитьПрочиеПараметрыКоманды(Знач ИмяФлагаРазрешения
- , Знач ВключаяПараметры = ""
- , Знач ИсключаяПараметры = "")
+ , Знач ВключаяПараметры = ""
+ , Знач ИсключаяПараметры = "")
Если ЗначениеЗаполнено(ВключаяПараметры) Тогда
ВключаяПараметры = СтрРазделить(ВключаяПараметры, ",", Ложь);
@@ -1190,13 +248,13 @@
Продолжить;
КонецЕсли;
КонецЕсли;
-
+
Если НЕ ТекЭлемент.Значение[ИмяФлагаРазрешения] Тогда
Продолжить;
КонецЕсли;
Если ЗначенияПараметров.Получить(ТекЭлемент.Ключ) = Неопределено Тогда
- Если ЗначениеЗаполнено(ТекЭлемент.Значение.ЗначениеПоУмолчанию) Тогда
- ЗначенияПараметров.Вставить(ТекЭлемент.Ключ, ТекЭлемент.Значение.ЗначениеПоУмолчанию);
+ Если ЗначениеЗаполнено(ТекЭлемент.Значение.ПоУмолчанию) Тогда
+ ЗначенияПараметров.Вставить(ТекЭлемент.Ключ, ТекЭлемент.Значение.ПоУмолчанию);
КонецЕсли;
КонецЕсли;
ДобавитьПараметрПоШаблону(ТекЭлемент.Значение.ПараметрКоманды + "=%1", ТекЭлемент.Ключ);
@@ -1207,7 +265,7 @@
// Процедура добавляет переданное значение в массив параметров запуска команды
//
// Параметры:
-// Параметр - Строка - добавляемое значение
+// Параметр - Строка - добавляемое значение
// Обязательный - Булево - Истина - если параметр не заполнен будет выдано исключение
// ДобавлятьПустой - Булево - Истина - если параметр не заполнен будет добавлена пустая строка
//
@@ -1234,25 +292,25 @@
// Процедура добавляет значение параметра из структуры значений параметров в массив параметров запуска команды
//
// Параметры:
-// ИмяПараметра - Строка - имя параметра в структуре значений параметров
+// Имя - Строка - имя параметра в структуре значений параметров
// Обязательный - Булево - Истина - если значение параметра не найдено
// или не заполнено будет выдано исключение
// ДобавлятьПустой - Булево - Истина - если значение параметра не найдено
// или не заполнено будет добавлена пустая строка
//
-Процедура ДобавитьПараметрПоИмени(Знач ИмяПараметра, Обязательный = Ложь, ДобавлятьПустой = Истина)
+Процедура ДобавитьПараметрПоИмени(Знач Имя, Обязательный = Ложь, ДобавлятьПустой = Истина)
Если НЕ ТипЗнч(ПараметрыЗапуска) = Тип("Массив") Тогда
ПараметрыЗапуска = Новый Массив();
КонецЕсли;
- Параметр = ЗначенияПараметров.Получить(ИмяПараметра);
+ Параметр = ЗначенияПараметров.Получить(Имя);
Если Параметр = Неопределено Тогда
Параметр = "";
КонецЕсли;
Если НЕ ЗначениеЗаполнено(Параметр) И Обязательный Тогда
- ВызватьИсключение СтрШаблон("Не заполнен обязательный параметр %1!", ИмяПараметра);
+ ВызватьИсключение СтрШаблон("Не заполнен обязательный параметр %1!", Имя);
КонецЕсли;
Если ЗначениеЗаполнено(Параметр) ИЛИ ДобавлятьПустой Тогда
@@ -1266,21 +324,21 @@
//
// Параметры:
// ШаблонПараметра - Строка - шаблон, в который будет выполнена подстановка
-// ИмяПараметра - Строка - имя параметра в структуре значений параметров
+// Имя - Строка - имя параметра в структуре значений параметров
// Обязательный - Булево - Истина - если значение параметра не найдено
// или не заполнено будет выдано исключение
//
-Процедура ДобавитьПараметрПоШаблону(Знач ШаблонПараметра, Знач ИмяПараметра, Знач Обязательный = Ложь)
+Процедура ДобавитьПараметрПоШаблону(Знач ШаблонПараметра, Знач Имя, Знач Обязательный = Ложь)
Если НЕ ТипЗнч(ПараметрыЗапуска) = Тип("Массив") Тогда
ПараметрыЗапуска = Новый Массив();
КонецЕсли;
- ЗначениеПараметра = ЗначенияПараметров.Получить(ИмяПараметра);
+ ЗначениеПараметра = ЗначенияПараметров.Получить(Имя);
Если НЕ ЗначениеЗаполнено(ЗначениеПараметра) Тогда
Если Обязательный Тогда
- ВызватьИсключение СтрШаблон("Не заполнен обязательный параметр %1!", ИмяПараметра);
+ ВызватьИсключение СтрШаблон("Не заполнен обязательный параметр %1!", Имя);
Иначе
Возврат;
КонецЕсли;
@@ -1293,15 +351,15 @@
// Функция возвращает значение параметра-флага из структуры значений параметров
//
// Параметры:
-// ИмяПараметра - Строка - имя параметра в структуре значений параметров
+// Имя - Строка - имя параметра в структуре значений параметров
//
// Возвращаемое значение:
-// Булево - значение флага, если параметр отсутствует в структуре значений параметров,
+// Булево - значение флага, если параметр отсутствует в структуре значений параметров,
// возвращается Ложь
//
-Функция ЗначениеФлага(Знач ИмяПараметра)
+Функция ЗначениеФлага(Знач Имя)
- Параметр = ЗначенияПараметров.Получить(ИмяПараметра);
+ Параметр = ЗначенияПараметров.Получить(Имя);
Если Параметр = Неопределено Тогда
Параметр = Ложь;
КонецЕсли;
@@ -1312,4 +370,4 @@
#КонецОбласти // СлужебныеПроцедуры
-Лог = Логирование.ПолучитьЛог("ktb.lib.irac");
+Лог = Логирование.ПолучитьЛог("oscript.lib.irac");
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\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\321\213.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"
similarity index 60%
rename from "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\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\321\213.os"
rename to "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 399940d..0a04e7a 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\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\321\213.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"
@@ -1,3 +1,12 @@
+// ----------------------------------------------------------
+// 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/
+// ----------------------------------------------------------
+
Перем Кластер_Агент;
Перем Кластер_Владелец;
Перем ПараметрыОбъекта;
@@ -8,15 +17,15 @@
// Конструктор
//
// Параметры:
-// АгентКластера - АгентКластера - ссылка на родительский объект агента кластера
-// Кластер - Кластер - ссылка на родительский объект кластера
+// АгентКластера - АгентКластера - ссылка на родительский объект агента кластера
+// Кластер - Кластер - ссылка на родительский объект кластера
//
Процедура ПриСозданииОбъекта(АгентКластера, Кластер)
Кластер_Агент = АгентКластера;
Кластер_Владелец = Кластер;
- ПараметрыОбъекта = Новый КомандыОбъекта("manager");
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.Менеджеры);
Элементы = Новый ОбъектыКластера(ЭтотОбъект);
@@ -26,9 +35,9 @@
// и сохраняет в локальных переменных
//
// Параметры:
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
-// - Ложь - данные будут получены если истекло время актуальности
-// или данные не были получены ранее
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// - Ложь - данные будут получены если истекло время актуальности
+// или данные не были получены ранее
//
Процедура ОбновитьДанные(ОбновитьПринудительно = Ложь) Экспорт
@@ -47,8 +56,8 @@
Если НЕ КодВозврата = 0 Тогда
ВызватьИсключение СтрШаблон("Ошибка получения списка менеджеров кластера, КодВозврата = %1: %2",
- КодВозврата,
- Кластер_Агент.ВыводКоманды(Ложь));
+ КодВозврата,
+ Кластер_Агент.ВыводКоманды(Ложь));
КонецЕсли;
Элементы.Заполнить(Кластер_Агент.ВыводКоманды());
@@ -60,13 +69,13 @@
// Функция возвращает коллекцию параметров объекта
//
// Параметры:
-// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
-// в качестве ключа возвращаемого соответствия
+// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
+// в качестве ключа возвращаемого соответствия
//
// Возвращаемое значение:
-// Соответствие - коллекция параметров объекта, для получения/изменения значений
+// Соответствие - коллекция параметров объекта, для получения/изменения значений
//
-Функция ПараметрыОбъекта(ИмяПоляКлюча = "ИмяПараметра") Экспорт
+Функция ПараметрыОбъекта(ИмяПоляКлюча = "Имя") Экспорт
Возврат ПараметрыОбъекта.ОписаниеСвойств(ИмяПоляКлюча);
@@ -75,11 +84,11 @@
// Функция возвращает список менеджеров кластера
//
// Параметры:
-// Отбор - Структура - Структура отбора менеджеров (<поле>:<значение>)
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// Отбор - Структура - Структура отбора менеджеров (<поле>:<значение>)
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
//
// Возвращаемое значение:
-// Массив - список менеджеров кластера 1С
+// Массив - список менеджеров кластера 1С
//
Функция Список(Отбор = Неопределено, ОбновитьПринудительно = Ложь) Экспорт
@@ -92,12 +101,12 @@
// Функция возвращает список менеджеров кластера 1С
//
// Параметры:
-// ПоляИерархии - Строка - Поля для построения иерархии списка менеджеров, разделенные ","
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// ПоляИерархии - Строка - Поля для построения иерархии списка менеджеров, разделенные ","
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
//
// Возвращаемое значение:
-// Соответствие - список менеджеров кластера 1С
-// <имя поля объекта> - Массив(Соответствие), Соответствие - список менеджеров или следующий уровень
+// Соответствие - список менеджеров кластера 1С
+// <имя поля объекта> - Массив(Соответствие), Соответствие - список менеджеров или следующий уровень
//
Функция ИерархическийСписок(Знач ПоляИерархии, ОбновитьПринудительно = Ложь) Экспорт
@@ -110,7 +119,7 @@
// Функция возвращает количество менеджеров кластера в списке
//
// Возвращаемое значение:
-// Число - количество менеджеров кластера
+// Число - количество менеджеров кластера
//
Функция Количество() Экспорт
@@ -125,11 +134,11 @@
// Функция возвращает описание менеджера кластера 1С
//
// Параметры:
-// Менеджер - Строка - Номер менеджер в виде <адрес сервера>:<номер процесса ОС (pid))>
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// Менеджер - Строка - Номер менеджер в виде <адрес сервера>:<номер процесса ОС (pid))>
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
//
// Возвращаемое значение:
-// Соответствие - описание менеджера кластера 1С
+// Соответствие - описание менеджера кластера 1С
//
Функция Получить(Знач Менеджер, Знач ОбновитьПринудительно = Ложь) Экспорт
@@ -153,4 +162,4 @@
КонецФункции // Получить()
-Лог = Логирование.ПолучитьЛог("ktb.lib.irac");
+Лог = Логирование.ПолучитьЛог("oscript.lib.irac");
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\320\265\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\320\265\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 594962c..a055bd1 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\320\265\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\320\265\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"
@@ -1,5 +1,14 @@
-Перем Требование_Ид; // rule
-Перем Требование_Позиция; // position
+// ----------------------------------------------------------
+// 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/
+// ----------------------------------------------------------
+
+Перем Требование_Ид; // rule
+Перем Требование_Позиция; // position
Перем Требование_Параметры;
Перем Кластер_Агент;
@@ -28,7 +37,7 @@
Возврат;
КонецЕсли;
- ПараметрыОбъекта = Новый ПараметрыОбъекта("rule");
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.НазначенияФункциональности);
Кластер_Агент = АгентКластера;
Кластер_Владелец = Кластер;
@@ -51,9 +60,9 @@
// и сохраняет в локальных переменных
//
// Параметры:
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
-// - Ложь - данные будут получены если истекло время актуальности
-// или данные не были получены ранее
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// - Ложь - данные будут получены если истекло время актуальности
+// или данные не были получены ранее
//
Процедура ОбновитьДанные(ОбновитьПринудительно = Ложь) Экспорт
@@ -62,27 +71,26 @@
Возврат;
КонецЕсли;
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Кластер_Агент.СтрокаПодключения());
-
- ПараметрыЗапуска.Добавить("rule");
- ПараметрыЗапуска.Добавить("info");
-
- ПараметрыЗапуска.Добавить(СтрШаблон("--server=%1", Сервер_Владелец.Ид()));
-
- ПараметрыЗапуска.Добавить(СтрШаблон("--rule=%1", Ид()));
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_Владелец.СтрокаАвторизации());
+
+ ПараметрыКоманды.Вставить("ИдентификаторСервера" , Сервер_Владелец.Ид());
+ ПараметрыКоманды.Вставить("ИдентификаторТребования", Сервер_Владелец.Ид());
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Владелец.Ид()));
- ПараметрыЗапуска.Добавить(Кластер_Владелец.СтрокаАвторизации());
+ ПараметрыОбъекта.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды);
- Кластер_Агент.ВыполнитьКоманду(ПараметрыЗапуска);
+ КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("Описание"));
- МассивРезультатов = Кластер_Агент.ВыводКоманды();
-
- Если МассивРезультатов.Количество() = 0 Тогда
- Возврат;
+ Если НЕ КодВозврата = 0 Тогда
+ ВызватьИсключение СтрШаблон("Ошибка получения требования назначения функциональности, КодВозврата = %1: %2",
+ КодВозврата,
+ Кластер_Агент.ВыводКоманды(Ложь));
КонецЕсли;
+ МассивРезультатов = Кластер_Агент.ВыводКоманды();
+
Служебный.ЗаполнитьПараметрыОбъекта(ЭтотОбъект, Требование_Параметры, МассивРезультатов[0]);
МоментАктуальности = ТекущаяУниверсальнаяДатаВМиллисекундах();
@@ -92,22 +100,22 @@
// Функция возвращает коллекцию параметров объекта
//
// Параметры:
-// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
-// в качестве ключа возвращаемого соответствия
+// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
+// в качестве ключа возвращаемого соответствия
//
// Возвращаемое значение:
-// Соответствие - коллекция параметров объекта, для получения/изменения значений
+// Соответствие - коллекция параметров объекта, для получения/изменения значений
//
-Функция ПараметрыОбъекта(ИмяПоляКлюча = "ИмяПараметра") Экспорт
+Функция ПараметрыОбъекта(ИмяПоляКлюча = "Имя") Экспорт
- Возврат ПараметрыОбъекта.Получить(ИмяПоляКлюча);
+ Возврат ПараметрыОбъекта.ОписаниеСвойств(ИмяПоляКлюча);
КонецФункции // ПараметрыОбъекта()
// Функция возвращает идентификатор требования назначения функциональности
//
// Возвращаемое значение:
-// Строка - идентификатор требования назначения функциональности
+// Строка - идентификатор требования назначения функциональности
//
Функция Ид() Экспорт
@@ -118,7 +126,7 @@
// Функция возвращает позицию требования назначения функциональности в списке (начиная с 0)
//
// Возвращаемое значение:
-// Строка - позиция требования назначения функциональности в списке
+// Строка - позиция требования назначения функциональности в списке
//
Функция Позиция() Экспорт
@@ -133,71 +141,74 @@
// Функция возвращает значение параметра требования назначения функциональности
//
// Параметры:
-// ИмяПоля - Строка - Имя параметра требования назначения функциональности
-// ОбновитьПринудительно - Булево - Истина - обновить список (вызов RAC)
+// ИмяПоля - Строка - Имя параметра требования назначения функциональности
+// ОбновитьПринудительно - Булево - Истина - обновить список (вызов RAC)
//
// Возвращаемое значение:
-// Произвольный - значение параметра требования назначения функциональности
+// Произвольный - значение параметра требования назначения функциональности
//
Функция Получить(ИмяПоля, ОбновитьПринудительно = Ложь) Экспорт
ОбновитьДанные(ОбновитьПринудительно);
- Если НЕ Найти(ВРЕг("Ид, server"), ВРег(ИмяПоля)) = 0 Тогда
+ Если НЕ Найти(ВРЕг("Ид, rule"), ВРег(ИмяПоля)) = 0 Тогда
Возврат Требование_Ид;
- ИначеЕсли НЕ Найти(ВРЕг("Позиция, position"), ВРег(ИмяПоля)) = 0 Тогда
+ КонецЕсли;
+
+ Если НЕ Найти(ВРЕг("Позиция, position"), ВРег(ИмяПоля)) = 0 Тогда
Возврат Требование_Позиция;
КонецЕсли;
ЗначениеПоля = Требование_Параметры.Получить(ИмяПоля);
Если ЗначениеПоля = Неопределено Тогда
-
- ОписаниеПараметра = ПараметрыОбъекта("ИмяПоляРАК").Получить(ИмяПоля);
+
+ ОписаниеПараметра = ПараметрыОбъекта("ИмяРАК").Получить(ИмяПоля);
Если НЕ ОписаниеПараметра = Неопределено Тогда
- ЗначениеПоля = Требование_Параметры.Получить(ОписаниеПараметра["ИмяПараметра"]);
+ ЗначениеПоля = Требование_Параметры.Получить(ОписаниеПараметра["Имя"]);
КонецЕсли;
КонецЕсли;
Возврат ЗначениеПоля;
-
+
КонецФункции // Получить()
// Процедура изменяет параметры требования назначения функциональности
//
// Параметры:
-// ПараметрыТребования - Структура - новые параметры требования назначения функциональности
+// Позиция - Число - позиция требования назначения функциональности в списке (начиная с 0)
+// ПараметрыТребования - Структура - новые параметры требования назначения функциональности
//
-Процедура Изменить(Знач ПараметрыТребования = Неопределено) Экспорт
+Процедура Изменить(Позиция, Знач ПараметрыТребования = Неопределено) Экспорт
Если НЕ ТипЗнч(ПараметрыТребования) = Тип("Структура") Тогда
ПараметрыТребования = Новый Структура();
КонецЕсли;
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Кластер_Агент.СтрокаПодключения());
-
- ПараметрыЗапуска.Добавить("rule");
- ПараметрыЗапуска.Добавить("update");
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_Владелец.СтрокаАвторизации());
+
+ ПараметрыКоманды.Вставить("ИдентификаторСервера" , Сервер_Владелец.Ид());
+ ПараметрыКоманды.Вставить("Идентификатортребования" , Ид());
- ПараметрыЗапуска.Добавить(СтрШаблон("--rule=%1", Ид()));
+ ПараметрыКоманды.Вставить("Позиция" , Позиция);
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Владелец.Ид()));
- ПараметрыЗапуска.Добавить(Кластер_Владелец.СтрокаАвторизации());
-
- ПараметрыЗапуска.Добавить(СтрШаблон("--position=%1", Требование_Позиция));
+ Для Каждого ТекЭлемент Из ПараметрыТребования Цикл
+ ПараметрыКоманды.Вставить(ТекЭлемент.Ключ, ТекЭлемент.Значение);
+ КонецЦикла;
- ВремПараметры = ПараметрыОбъекта();
+ ПараметрыОбъекта.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды);
- Для Каждого ТекЭлемент Из ВремПараметры Цикл
- Если НЕ ПараметрыТребования.Свойство(ТекЭлемент.Ключ) Тогда
- Продолжить;
- КонецЕсли;
- ПараметрыЗапуска.Добавить(СтрШаблон(ТекЭлемент.ПараметрКоманды + "=%1", ПараметрыТребования[ТекЭлемент.Ключ]));
- КонецЦикла;
+ КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("Изменить"));
- Кластер_Агент.ВыполнитьКоманду(ПараметрыЗапуска);
+ Если НЕ КодВозврата = 0 Тогда
+ ВызватьИсключение СтрШаблон("Ошибка изменения требования назначения функциональности ""%1"": %2",
+ Позиция,
+ Кластер_Агент.ВыводКоманды(Ложь));
+ КонецЕсли;
Лог.Отладка(Кластер_Агент.ВыводКоманды(Ложь));
@@ -205,4 +216,32 @@
КонецПроцедуры // Изменить()
-Лог = Логирование.ПолучитьЛог("ktb.lib.irac");
+// Процедура удаляет требование назначения функциональности для сервера 1С
+//
+Процедура Удалить() Экспорт
+
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_Владелец.СтрокаАвторизации());
+
+ ПараметрыКоманды.Вставить("ИдентификаторСервера" , Сервер_Владелец.Ид());
+ ПараметрыКоманды.Вставить("ИдентификаторТребования" , Ид());
+
+ ПараметрыОбъекта.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды);
+
+ КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("Удалить"));
+
+ Если НЕ КодВозврата = 0 Тогда
+ ВызватьИсключение СтрШаблон("Ошибка удаления требования назначения функциональности ""%1"": %2",
+ Получить("Позиция"),
+ Кластер_Агент.ВыводКоманды(Ложь));
+ КонецЕсли;
+
+ Лог.Отладка(Кластер_Агент.ВыводКоманды(Ложь));
+
+ ОбновитьДанные(Истина);
+
+КонецПроцедуры // Удалить()
+
+Лог = Логирование.ПолучитьЛог("oscript.lib.irac");
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"
new file mode 100644
index 0000000..bc0748f
--- /dev/null
+++ "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"
@@ -0,0 +1,270 @@
+// ----------------------------------------------------------
+// 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)
+//
+// Возвращаемое значение:
+// Массив - список требований назначения функциональности сервера 1С
+//
+Функция Список(Отбор = Неопределено, ОбновитьПринудительно = Ложь) Экспорт
+
+ СписокНазначений = Элементы.Список(Отбор, ОбновитьПринудительно);
+
+ Возврат СписокНазначений;
+
+КонецФункции // Список()
+
+// Функция возвращает список требований назначения функциональности сервера 1С
+//
+// Параметры:
+// ПоляИерархии - Строка - Поля для построения иерархии списка требований
+// назначения функциональности, разделенные ","
+// ОбновитьПринудительно - Булево - Истина - обновить список (вызов RAC)
+//
+// Возвращаемое значение:
+// Соответствие - список требований назначения функциональности сервера 1С
+// <имя поля объекта> - Массив(Соответствие), Соответствие - список требований назначения функциональности
+// или следующий уровень
+//
+Функция ИерархическийСписок(Знач ПоляИерархии, ОбновитьПринудительно = Ложь) Экспорт
+
+ СписокКластеров = Элементы.ИерархическийСписок(ПоляИерархии, ОбновитьПринудительно);
+
+ Возврат СписокКластеров;
+
+КонецФункции // ИерархическийСписок()
+
+// Функция возвращает количество требований назначения функциональности в списке
+//
+// Возвращаемое значение:
+// Число - количество требований назначения функциональности
+//
+Функция Количество() Экспорт
+
+ Если Элементы = Неопределено Тогда
+ Возврат 0;
+ КонецЕсли;
+
+ Возврат Элементы.Количество();
+
+КонецФункции // Количество()
+
+// Функция возвращает описание требования назначения функциональности сервера 1С
+//
+// Параметры:
+// Ид - Строка - Идентификатор требований назначения функциональности
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+//
+// Возвращаемое значение:
+// Соответствие - описание требования назначения функциональности сервера 1С
+//
+Функция Получить(Знач Ид, Знач ОбновитьПринудительно = Ложь) Экспорт
+
+ Отбор = Новый Соответствие();
+ Отбор.Вставить("rule", Ид);
+
+ СписокТребований = Элементы.Список(Отбор, ОбновитьПринудительно);
+
+ Если СписокТребований.Количество() = 0 Тогда
+ Возврат Неопределено;
+ КонецЕсли;
+
+ Возврат СписокТребований[0];
+
+КонецФункции // Получить()
+
+// Процедура добавляет новое требование назначения функциональности для сервера 1С
+//
+// Параметры:
+// Позиция - Число - позиция требования назначения функциональности в списке (начиная с 0)
+// ПараметрыТребования - Структура - параметры сервера 1С
+//
+Процедура Добавить(Позиция, ПараметрыТребования = Неопределено) Экспорт
+
+ Если НЕ ТипЗнч(ПараметрыТребования) = Тип("Структура") Тогда
+ ПараметрыТребования = Новый Структура();
+ КонецЕсли;
+
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_Владелец.СтрокаАвторизации());
+
+ ПараметрыКоманды.Вставить("ИдентификаторСервера" , Сервер_Владелец.Ид());
+
+ ПараметрыКоманды.Вставить("Позиция" , Позиция);
+
+ Для Каждого ТекЭлемент Из ПараметрыТребования Цикл
+ ПараметрыКоманды.Вставить(ТекЭлемент.Ключ, ТекЭлемент.Значение);
+ КонецЦикла;
+
+ ПараметрыОбъекта.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды);
+
+ КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("Добавить"));
+
+ Если НЕ КодВозврата = 0 Тогда
+ ВызватьИсключение СтрШаблон("Ошибка добавления требования назначения функциональности ""%1"": %2",
+ Позиция,
+ Кластер_Агент.ВыводКоманды(Ложь));
+ КонецЕсли;
+
+ Лог.Отладка(Кластер_Агент.ВыводКоманды(Ложь));
+
+ ОбновитьДанные(Истина);
+
+КонецПроцедуры // Добавить()
+
+// Процедура удаляет требование назначения функциональности для сервера 1С
+//
+// Параметры:
+// Ид - Строка - Идентификатор требования назначения функциональности
+//
+Процедура Удалить(Ид) Экспорт
+
+ Требование = Получить(Ид, Истина);
+
+ Если Требование = Неопределено Тогда
+ Возврат;
+ КонецЕсли;
+
+ Требование.Удалить();
+
+ ОбновитьДанные(Истина);
+
+КонецПроцедуры // Удалить()
+
+// Процедура применяет измененные требования назначения функциональности для сервера 1С
+//
+// Параметры:
+// ПрименитьЧастично - Булево - Истина - требования будут применены частично;
+// Ложь - требования будут применены полностью
+//
+Процедура Применить(Знач ПрименитьЧастично = Ложь) Экспорт
+
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_Владелец.СтрокаАвторизации());
+
+ Если ПрименитьЧастично Тогда
+ ПараметрыКоманды.Вставить("ПрименитьЧастично", Истина);
+ Иначе
+ ПараметрыКоманды.Вставить("ПрименитьПолностью", Истина);
+ КонецЕсли;
+
+ ПараметрыОбъекта.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды);
+
+ КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("Применить"));
+
+ Если НЕ КодВозврата = 0 Тогда
+ ВызватьИсключение СтрШаблон("Ошибка применения требований назначения функциональности: %1",
+ Кластер_Агент.ВыводКоманды(Ложь));
+ КонецЕсли;
+
+ Лог.Отладка(Кластер_Агент.ВыводКоманды(Ложь));
+
+ ОбновитьДанные(Истина);
+
+КонецПроцедуры // Применить()
+
+Лог = Логирование.ПолучитьЛог("oscript.lib.irac");
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\320\236\320\261\321\212\320\265\320\272\321\202\321\213.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"
similarity index 61%
rename from "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\320\236\320\261\321\212\320\265\320\272\321\202\321\213.os"
rename to "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 277217e..0050fbd 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\320\236\320\261\321\212\320\265\320\272\321\202\321\213.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"
@@ -1,3 +1,12 @@
+// ----------------------------------------------------------
+// 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/
+// ----------------------------------------------------------
+
Перем Владелец;
Перем Элементы;
@@ -18,18 +27,22 @@
// Процедура заполняет список элементов из переданного массива
//
// Параметры:
-// МассивЭлементов - Массив - элементы, которые будут добавлены
+// МассивЭлементов - Массив - элементы, которые будут добавлены
//
Процедура Заполнить(МассивЭлементов) Экспорт
- Элементы = МассивЭлементов;
+ Элементы = Новый Массив();
+
+ Для Каждого ТекЭлемент Из МассивЭлементов Цикл
+ Элементы.Добавить(ТекЭлемент);
+ КонецЦикла;
КонецПроцедуры // Заполнить()
// Процедура добавляет элемент в список
//
// Параметры:
-// Элемент - Произвольный - добавляемый элемент
+// Элемент - Произвольный - добавляемый элемент
//
Процедура Добавить(Элемент) Экспорт
@@ -40,10 +53,10 @@
// Функция признак необходимости обновления данных
//
// Параметры:
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
//
// Возвращаемое значение:
-// Булево - Истина - требуется обновитьданные
+// Булево - Истина - требуется обновитьданные
//
Функция ТребуетсяОбновление(ОбновитьПринудительно = Ложь) Экспорт
@@ -56,13 +69,13 @@
// Функция возвращает коллекцию параметров объекта
//
// Параметры:
-// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
-// в качестве ключа возвращаемого соответствия
+// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
+// в качестве ключа возвращаемого соответствия
//
// Возвращаемое значение:
-// Соответствие - коллекция параметров объекта, для получения/изменения значений
+// Соответствие - коллекция параметров объекта, для получения/изменения значений
//
-Функция ПараметрыОбъекта(ИмяПоляКлюча = "ИмяПараметра") Экспорт
+Функция ПараметрыОбъекта(ИмяПоляКлюча = "Имя") Экспорт
Возврат Владелец.ПараметрыОбъекта(ИмяПоляКлюча);
@@ -71,11 +84,11 @@
// Функция возвращает список объектов кластера
//
// Параметры:
-// Отбор - Структура - Структура отбора объектов (<поле>:<значение>)
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// Отбор - Структура - Структура отбора объектов (<поле>:<значение>)
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
//
// Возвращаемое значение:
-// Массив - список объектов кластера 1С
+// Массив - список объектов кластера 1С
//
Функция Список(Отбор = Неопределено, ОбновитьПринудительно = Ложь) Экспорт
@@ -90,12 +103,12 @@
// Функция возвращает список объектов кластера
//
// Параметры:
-// ПоляИерархии - Строка - Поля для построения иерархии списка объектов, разделенные ","
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// ПоляИерархии - Строка - Поля для построения иерархии списка объектов, разделенные ","
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
//
// Возвращаемое значение:
-// Соответствие - список объектов кластера 1С
-// <имя поля объекта> - Массив(Соответствие), Соответствие - список объектов кластера или следующий уровень
+// Соответствие - список объектов кластера 1С
+// <имя поля объекта> - Массив(Соответствие), Соответствие - список объектов кластера или следующий уровень
//
Функция ИерархическийСписок(Знач ПоляИерархии, ОбновитьПринудительно = Ложь) Экспорт
@@ -110,7 +123,7 @@
// Функция возвращает количество объектов в списке
//
// Возвращаемое значение:
-// Число - количество объектов в списке
+// Число - количество объектов в списке
//
Функция Количество() Экспорт
@@ -127,7 +140,7 @@
// Процедура устанавливает значение периода обновления
//
// Параметры:
-// НовыйПериодОбновления - Число - новый период обновления
+// НовыйПериодОбновления - Число - новый период обновления
//
Процедура УстановитьПериодОбновления(НовыйПериодОбновления) Экспорт
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"
new file mode 100644
index 0000000..33c7673
--- /dev/null
+++ "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"
@@ -0,0 +1,267 @@
+// ----------------------------------------------------------
+// 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.%2",
+ Перечисления.РежимыАдминистрирования.ПрофилиБезопасности,
+ ТипЭлементов));
+
+ ПериодОбновления = 60000;
+ МоментАктуальности = 0;
+
+КонецПроцедуры // ПриСозданииОбъекта()
+
+// Процедура получает данные от сервиса администрирования кластера 1С
+// и сохраняет в локальных переменных
+//
+// Параметры:
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// - Ложь - данные будут получены если истекло время актуальности
+// или данные не были получены ранее
+//
+Процедура ОбновитьДанные(ОбновитьПринудительно = Ложь) Экспорт
+
+ Если НЕ ТребуетсяОбновление(ОбновитьПринудительно) Тогда
+ Возврат;
+ КонецЕсли;
+
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера" , Кластер_Владелец.СтрокаАвторизации());
+ ПараметрыКоманды.Вставить("ИмяПрофиля" , Профиль_Владелец.Имя());
+ ПараметрыКоманды.Вставить("ВидОбъектовПрофиля" , ТипЭлементов);
+
+ ПараметрыОбъекта.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды);
+
+ КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("Список"));
+
+ Если НЕ КодВозврата = 0 Тогда
+ ВызватьИсключение СтрШаблон("Ошибка получения списка доступа объектов ""%1"" профиля ""%2"": %3",
+ ТипЭлементов,
+ Профиль_Владелец.Имя(),
+ Кластер_Агент.ВыводКоманды(Ложь));
+ КонецЕсли;
+
+ Элементы = Кластер_Агент.ВыводКоманды();
+
+ Лог.Отладка(Кластер_Агент.ВыводКоманды(Ложь));
+
+ МоментАктуальности = ТекущаяУниверсальнаяДатаВМиллисекундах();
+
+КонецПроцедуры // ОбновитьДанные()
+
+// Функция признак необходимости обновления данных
+//
+// Параметры:
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+//
+// Возвращаемое значение:
+// Булево - Истина - требуется обновитьданные
+//
+Функция ТребуетсяОбновление(ОбновитьПринудительно = Ложь) Экспорт
+
+ Возврат (ОбновитьПринудительно
+ ИЛИ Элементы = Неопределено
+ ИЛИ (ПериодОбновления < (ТекущаяУниверсальнаяДатаВМиллисекундах() - МоментАктуальности)));
+
+КонецФункции // ТребуетсяОбновление()
+
+// Функция возвращает коллекцию параметров объекта
+//
+// Параметры:
+// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
+// в качестве ключа возвращаемого соответствия
+//
+// Возвращаемое значение:
+// Соответствие - коллекция параметров объекта, для получения/изменения значений
+//
+Функция ПараметрыОбъекта(ИмяПоляКлюча = "Имя") Экспорт
+
+ Возврат ПараметрыОбъекта.ОписаниеСвойств(ИмяПоляКлюча);
+
+КонецФункции // ПараметрыОбъекта()
+
+// Функция возвращает список объектов кластера
+//
+// Параметры:
+// Отбор - Структура - Структура отбора объектов (<поле>:<значение>)
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+//
+// Возвращаемое значение:
+// Массив - список объектов кластера 1С
+//
+Функция Список(Отбор = Неопределено, ОбновитьПринудительно = Ложь) Экспорт
+
+ ОбновитьДанные(ОбновитьПринудительно);
+
+ Результат = Служебный.ПолучитьЭлементыИзМассиваСоответствий(Элементы, Отбор);
+
+ Если Результат.Количество() = 0 Тогда
+ Возврат Неопределено;
+ Иначе
+ Возврат Результат;
+ КонецЕсли;
+
+КонецФункции // Список()
+
+// Функция возвращает список объектов кластера
+//
+// Параметры:
+// ПоляИерархии - Строка - Поля для построения иерархии списка объектов, разделенные ","
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+//
+// Возвращаемое значение:
+// Соответствие - список объектов кластера 1С
+// <имя поля объекта> - Массив(Соответствие), Соответствие - список объектов кластера или следующий уровень
+//
+Функция ИерархическийСписок(Знач ПоляИерархии, ОбновитьПринудительно = Ложь) Экспорт
+
+ ОбновитьДанные(ОбновитьПринудительно);
+
+ Результат = Служебный.ИерархическоеПредставлениеМассиваСоответствий(Элементы, ПоляИерархии);
+
+ Возврат Результат;
+
+КонецФункции // ИерархическийСписок()
+
+// Функция возвращает количество обектов в списке профиля безопасности
+//
+// Возвращаемое значение:
+// Число - количество объектов
+//
+Функция Количество() Экспорт
+
+ ОбновитьДанные();
+
+ Если Элементы = Неопределено Тогда
+ Возврат 0;
+ КонецЕсли;
+
+ Возврат Элементы.Количество();
+
+КонецФункции // Количество()
+
+// Процедура устанавливает значение периода обновления
+//
+// Параметры:
+// НовыйПериодОбновления - Число - новый период обновления
+//
+Процедура УстановитьПериодОбновления(НовыйПериодОбновления) Экспорт
+
+ ПериодОбновления = НовыйПериодОбновления;
+
+КонецПроцедуры // УстановитьПериодОбновления()
+
+// Процедура устанавливает новое значение момента актуальности данных
+//
+Процедура УстановитьАктуальность() Экспорт
+
+ МоментАктуальности = ТекущаяУниверсальнаяДатаВМиллисекундах();
+
+КонецПроцедуры // УстановитьАктуальность()
+
+// Процедура добавляет новый или изменяет существующий объект профиля безопасности
+//
+// Параметры:
+// Имя - Строка - имя объекта профиля безопасности 1С
+// ПараметрыОбъекта - Структура - параметры объекта профиля безопасности 1С
+//
+Процедура Изменить(Имя, ПараметрыОбъектаПрофиля = Неопределено) Экспорт
+
+ Если НЕ ТипЗнч(ПараметрыОбъектаПрофиля) = Тип("Структура") Тогда
+ ПараметрыОбъектаПрофиля = Новый Структура();
+ КонецЕсли;
+
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера" , Кластер_Владелец.СтрокаАвторизации());
+ ПараметрыКоманды.Вставить("ИмяПрофиля" , Профиль_Владелец.Имя());
+ ПараметрыКоманды.Вставить("ВидОбъектовПрофиля" , ТипЭлементов);
+ ПараметрыКоманды.Вставить("ИмяОбъектаПрофиля" , Имя);
+
+ Для Каждого ТекЭлемент Из ПараметрыОбъектаПрофиля Цикл
+ ПараметрыКоманды.Вставить(ТекЭлемент.Ключ, ТекЭлемент.Значение);
+ КонецЦикла;
+
+ ПараметрыОбъекта.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды);
+
+ КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("Изменить"));
+
+ Если НЕ КодВозврата = 0 Тогда
+ ВызватьИсключение СтрШаблон("Ошибка изменения объекта доступа ""%1"" (%2) профиля ""%3"": %4",
+ Имя,
+ ТипЭлементов,
+ Профиль_Владелец.Имя(),
+ Кластер_Агент.ВыводКоманды(Ложь));
+ КонецЕсли;
+
+ Лог.Отладка(Кластер_Агент.ВыводКоманды(Ложь));
+
+ ОбновитьДанные(Истина);
+
+КонецПроцедуры // Изменить()
+
+// Процедура удаляет объект профиля из профиля безопасности
+//
+// Параметры:
+// Имя - Строка - Имя объекта профиля безопасности
+//
+Процедура Удалить(Имя) Экспорт
+
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера" , Кластер_Владелец.СтрокаАвторизации());
+ ПараметрыКоманды.Вставить("ИмяПрофиля" , Профиль_Владелец.Имя());
+ ПараметрыКоманды.Вставить("ВидОбъектовПрофиля" , ТипЭлементов);
+ ПараметрыКоманды.Вставить("ИмяОбъектаПрофиля" , Имя);
+
+ ПараметрыОбъекта.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды);
+
+ КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("Удалить"));
+
+ Если НЕ КодВозврата = 0 Тогда
+ ВызватьИсключение СтрШаблон("Ошибка удаления объекта доступа ""%1"" (%2) профиля ""%3"": %4",
+ Имя,
+ ТипЭлементов,
+ Профиль_Владелец.Имя(),
+ Кластер_Агент.ВыводКоманды(Ложь));
+ КонецЕсли;
+
+ Лог.Отладка(Кластер_Агент.ВыводКоманды(Ложь));
+
+ ОбновитьДанные(Истина);
+
+КонецПроцедуры // Удалить()
+
+Лог = Логирование.ПолучитьЛог("oscript.lib.irac");
diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\236\320\261\321\212\320\265\320\272\321\202\320\260.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\236\320\261\321\212\320\265\320\272\321\202\320\260.os"
deleted file mode 100644
index 2816510..0000000
--- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\236\320\261\321\212\320\265\320\272\321\202\320\260.os"
+++ /dev/null
@@ -1,430 +0,0 @@
-// Класс хранящий структуру параметров объекта указанного типа
-// Доступны типы:
-// cluster - Кластер
-// admin - Администратор (агента / кластера)
-// lock - Блокировка
-// manager - МенеджерКластера
-// process - РабочийПроцесс
-// server - Сервер
-// service - Сервис
-// session - Сеанс
-// connection - Соединение
-// process.license - РабочийПроцесс.Лицензия
-// session.license - Сеанс.Лицензия
-// rule - ТребованиеНазначения
-// profile - Профиль
-// profile.directory - Профиль.Каталог
-// profile.com - Профиль.COMКласс
-// profile.addin - Профиль.Компонент
-// profile.module - Профиль.Модуль
-// profile.app - Профиль.Приложение
-// profile.inet - Профиль.ИнтернетРесурс
-// counter - СчетчикПотребленияРесурсов
-
-Перем ТипОбъекта;
-Перем Параметры;
-
-Перем Лог;
-
-// Конструктор
-//
-// Параметры:
-// ИмяТипаОбъекта - Строка - имя типа объекта для которого создается структура параметров
-//
-Процедура ПриСозданииОбъекта(ИмяТипаОбъекта)
-
- ПроцедурыЗаполнения = Новый Соответствие();
- ПроцедурыЗаполнения.Вставить(ВРег("lock") , "ЗаполнитьПараметрыБлокировки");
- ПроцедурыЗаполнения.Вставить(ВРег("Блокировка") , "ЗаполнитьПараметрыБлокировки");
- ПроцедурыЗаполнения.Вставить(ВРег("service") , "ЗаполнитьПараметрыСервиса");
- ПроцедурыЗаполнения.Вставить(ВРег("Сервис") , "ЗаполнитьПараметрыСервиса");
- ПроцедурыЗаполнения.Вставить(ВРег("session") , "ЗаполнитьПараметрыСеанса");
- ПроцедурыЗаполнения.Вставить(ВРег("Сеанс") , "ЗаполнитьПараметрыСеанса");
- ПроцедурыЗаполнения.Вставить(ВРег("connection") , "ЗаполнитьПараметрыСоединения");
- ПроцедурыЗаполнения.Вставить(ВРег("Соединение") , "ЗаполнитьПараметрыСоединения");
- ПроцедурыЗаполнения.Вставить(ВРег("process.license") , "ЗаполнитьПараметрыЛицензииПроцесса");
- ПроцедурыЗаполнения.Вставить(ВРег("Процесс.Лицензия") , "ЗаполнитьПараметрыЛицензииПроцесса");
- ПроцедурыЗаполнения.Вставить(ВРег("session.license") , "ЗаполнитьПараметрыЛицензииСеанса");
- ПроцедурыЗаполнения.Вставить(ВРег("Сеанс.Лицензия") , "ЗаполнитьПараметрыЛицензииСеанса");
- ПроцедурыЗаполнения.Вставить(ВРег("rule") , "ЗаполнитьПараметрыТребованияНазначения");
- ПроцедурыЗаполнения.Вставить(ВРег("ТребованиеНазначения") , "ЗаполнитьПараметрыТребованияНазначения");
- ПроцедурыЗаполнения.Вставить(ВРег("profile") , "ЗаполнитьПараметрыПрофиляБезопасности");
- ПроцедурыЗаполнения.Вставить(ВРег("Профиль") , "ЗаполнитьПараметрыПрофиляБезопасности");
- ПроцедурыЗаполнения.Вставить(ВРег("profile.directory") , "ЗаполнитьПараметрыКаталогаПрофиля");
- ПроцедурыЗаполнения.Вставить(ВРег("Профиль.Каталог") , "ЗаполнитьПараметрыКаталогаПрофиля");
- ПроцедурыЗаполнения.Вставить(ВРег("profile.com") , "ЗаполнитьПараметрыCOMКлассаПрофиля");
- ПроцедурыЗаполнения.Вставить(ВРег("Профиль.COMКласс") , "ЗаполнитьПараметрыCOMКлассаПрофиля");
- ПроцедурыЗаполнения.Вставить(ВРег("profile.addin") , "ЗаполнитьПараметрыКомпонентыМодуляПрофиля");
- ПроцедурыЗаполнения.Вставить(ВРег("Профиль.Компонент") , "ЗаполнитьПараметрыКомпонентыМодуляПрофиля");
- ПроцедурыЗаполнения.Вставить(ВРег("profile.module") , "ЗаполнитьПараметрыКомпонентыМодуляПрофиля");
- ПроцедурыЗаполнения.Вставить(ВРег("Профиль.Модуль") , "ЗаполнитьПараметрыКомпонентыМодуляПрофиля");
- ПроцедурыЗаполнения.Вставить(ВРег("profile.app") , "ЗаполнитьПараметрыПриложенияПрофиля");
- ПроцедурыЗаполнения.Вставить(ВРег("Профиль.Приложение") , "ЗаполнитьПараметрыПриложенияПрофиля");
- ПроцедурыЗаполнения.Вставить(ВРег("profile.inet") , "ЗаполнитьПараметрыИнтернетРесурсаПрофиля");
- ПроцедурыЗаполнения.Вставить(ВРег("Профиль.ИнтернетРесурс") , "ЗаполнитьПараметрыИнтернетРесурсаПрофиля");
- ПроцедурыЗаполнения.Вставить(ВРег("counter") , "ЗаполнитьПараметрыСчетчикаПотребленияРесурсов");
- ПроцедурыЗаполнения.Вставить(ВРег("Счетчик") , "ЗаполнитьПараметрыСчетчикаПотребленияРесурсов");
-
- ПроцедураЗаполнения = ПроцедурыЗаполнения[ВРег(ИмяТипаОбъекта)];
-
- Если НЕ ПроцедураЗаполнения = Неопределено Тогда
- Рефлектор = Новый Рефлектор();
- Рефлектор.ВызватьМетод(ЭтотОбъект, ПроцедураЗаполнения, Новый Массив());
- КонецЕсли;
-
-КонецПроцедуры // ПриСозданииОбъекта()
-
-// Функция возвращает коллекцию параметров объекта
-//
-// Параметры:
-// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
-// в качестве ключа возвращаемого соответствия
-//
-// Возвращаемое значение:
-// Соответствие - коллекция параметров объекта, для получения/изменения значений
-//
-Функция Получить(ИмяПоляКлюча = "ИмяПараметра") Экспорт
-
- СтруктураПараметров = Новый Соответствие();
-
- Если НЕ ТипЗнч(Параметры) = Тип("Массив") Тогда
- Возврат СтруктураПараметров;
- КонецЕсли;
-
- Для Каждого ТекПараметр Из Параметры Цикл
- СтруктураПараметров.Вставить(ТекПараметр[ИмяПоляКлюча], ТекПараметр);
- КонецЦикла;
-
- Возврат СтруктураПараметров;
-
-КонецФункции // Получить()
-
-// Процедура добавляет описание параметра в массив параметров
-//
-// Параметры:
-// ИмяПараметра - Строка - имя параметра объекта
-// ИмяПоляРАК - Строка - имя поля, как оно возвращается утилитой RAC
-// ЗначениеПоУмолчанию - Произвольный - значение поля объекта по умолчанию
-// Использование - Строка, Структура - строка содержащая флаги использования, разделенные ","
-// (Чтение, Добавление, Изменение)
-// если указана структура, то в значении можно переопределить
-// имя параметра утилиты RAC
-//
-Процедура ДобавитьПараметрОписанияОбъекта(Знач ИмяПараметра
- , Знач ИмяПоляРАК
- , Знач ЗначениеПоУмолчанию = ""
- , Знач Использование = "Чтение")
-
- Если НЕ ТипЗнч(Параметры) = Тип("Массив") Тогда
- Параметры = Новый Массив();
- КонецЕсли;
-
- Если ТипЗнч(Использование) = Тип("Строка") Тогда
- Использование = Новый Структура(Использование);
- ИначеЕсли НЕ ТипЗнч(Использование) = Тип("Структура") Тогда
- Использование = Новый Структура();
- КонецЕсли;
-
- ОписаниеПоля = Новый Структура();
- ОписаниеПоля.Вставить("ИмяПараметра" , ИмяПараметра);
- ОписаниеПоля.Вставить("ИмяПоляРак" , ИмяПоляРак);
- ОписаниеПоля.Вставить("ПараметрКоманды" , "");
- ОписаниеПоля.Вставить("ЗначениеПоУмолчанию" , ЗначениеПоУмолчанию);
- ОписаниеПоля.Вставить("Чтение" , Использование.Свойство("Чтение"));
- ОписаниеПоля.Вставить("Добавление" , Использование.Свойство("Добавление"));
- ОписаниеПоля.Вставить("Изменение" , Использование.Свойство("Изменение"));
-
- Если Использование.Свойство("ПараметрКоманды") Тогда
- ОписаниеПоля.ПараметрКоманды = Использование.ПараметрКоманды;
- ИначеЕсли ОписаниеПоля.Добавление ИЛИ ОписаниеПоля.Изменение Тогда
- ОписаниеПоля.ПараметрКоманды = "--" + ОписаниеПоля.ИмяПоляРАК;
- КонецЕсли;
-
- Параметры.Добавить(ОписаниеПоля);
-
-КонецПроцедуры // ДобавитьПараметрОписанияОбъекта()
-
-// Процедура заполняет массив описаний параметров блокировки
-//
-Процедура ЗаполнитьПараметрыБлокировки() Экспорт
-
- ДобавитьПараметрОписанияОбъекта("Соединение_Ид" , "connection");
- ДобавитьПараметрОписанияОбъекта("Сеанс_Ид" , "session");
- ДобавитьПараметрОписанияОбъекта("Объект_Ид" , "object");
- ДобавитьПараметрОписанияОбъекта("НачалоБлокировки" , "locked");
- ДобавитьПараметрОписанияОбъекта("Описание" , "descr");
-
-КонецПроцедуры // ЗаполнитьПараметрыБлокировки()
-
-// Процедура заполняет массив описаний параметров сервиса
-//
-Процедура ЗаполнитьПараметрыСервиса() Экспорт
-
- ДобавитьПараметрОписанияОбъекта("Имя" , "name");
- ДобавитьПараметрОписанияОбъекта("ТолькоГлавныйМенеджер" , "main-only");
- ДобавитьПараметрОписанияОбъекта("Менеджер_Ид" , "manager");
- ДобавитьПараметрОписанияОбъекта("Описание" , "descr");
-
-КонецПроцедуры // ЗаполнитьПараметрыСервиса()
-
-// Процедура заполняет массив описаний параметров сеанса
-//
-Процедура ЗаполнитьПараметрыСеанса() Экспорт
-
- ДобавитьПараметрОписанияОбъекта("Ид" , "session");
- ДобавитьПараметрОписанияОбъекта("НомерСеанса" , "session-id");
- ДобавитьПараметрОписанияОбъекта("ИнформационнаяБаза_Ид" , "infobase");
- ДобавитьПараметрОписанияОбъекта("Соединение_Ид" , "connection");
- ДобавитьПараметрОписанияОбъекта("Процесс_Ид" , "process");
- ДобавитьПараметрОписанияОбъекта("Пользователь" , "user-name");
- ДобавитьПараметрОписанияОбъекта("Компьютер" , "host");
- ДобавитьПараметрОписанияОбъекта("Приложение" , "app-id");
- ДобавитьПараметрОписанияОбъекта("Язык" , "locale");
- ДобавитьПараметрОписанияОбъекта("ВремяНачала" , "started-at");
- ДобавитьПараметрОписанияОбъекта("ПоследняяАктивность" , "last-active-at");
- ДобавитьПараметрОписанияОбъекта("Спящий" , "hibernate");
- ДобавитьПараметрОписанияОбъекта("ЗаснутьЧерез" , "passive-session-hibernate-time");
- ДобавитьПараметрОписанияОбъекта("ЗавершитьЧерез" , "hibernate-session-terminate-time");
- ДобавитьПараметрОписанияОбъекта("ЗаблокированоСУБД" , "blocked-by-dbms");
- ДобавитьПараметрОписанияОбъекта("ЗаблокированоУпр" , "blocked-by-ls");
- ДобавитьПараметрОписанияОбъекта("ДанныхВсего" , "bytes-all");
- ДобавитьПараметрОписанияОбъекта("Данных5мин" , "bytes-last-5min");
- ДобавитьПараметрОписанияОбъекта("КоличествоВызововВсего" , "calls-all");
- ДобавитьПараметрОписанияОбъекта("КоличествоВызовов5мин" , "calls-last-5min");
- ДобавитьПараметрОписанияОбъекта("ДанныхСУБДВсего" , "dbms-bytes-all");
- ДобавитьПараметрОписанияОбъекта("ДанныхСУБД5мин" , "dbms-bytes-last-5min");
- ДобавитьПараметрОписанияОбъекта("СоединениеССУБД" , "db-proc-info");
- ДобавитьПараметрОписанияОбъекта("ЗахваченоСУБД" , "db-proc-took");
- ДобавитьПараметрОписанияОбъекта("ВремяЗахватаСУБД" , "db-proc-took-at");
- ДобавитьПараметрОписанияОбъекта("ВремяВызововВсего" , "duration-all");
- ДобавитьПараметрОписанияОбъекта("ВремяВызововСУБДВсего" , "duration-all-dbms");
- ДобавитьПараметрОписанияОбъекта("ВремяВызововТекущее" , "duration-current");
- ДобавитьПараметрОписанияОбъекта("ВремяВызововСУБДТекущее" , "duration-current-dbms");
- ДобавитьПараметрОписанияОбъекта("ВремяВызовов5мин" , "duration-last-5min");
- ДобавитьПараметрОписанияОбъекта("ВремяВызововСУБД5мин" , "duration-last-5min-dbms");
-
-КонецПроцедуры // ЗаполнитьПараметрыСеанса()
-
-// Процедура заполняет массив описаний параметров соединения
-//
-Процедура ЗаполнитьПараметрыСоединения() Экспорт
-
- ДобавитьПараметрОписанияОбъекта("Ид" , "connection");
- ДобавитьПараметрОписанияОбъекта("НомерСоединения" , "conn-id");
- ДобавитьПараметрОписанияОбъекта("Процесс_Ид" , "process");
- ДобавитьПараметрОписанияОбъекта("ИнформационнаяБаза_Ид" , "infobase");
- ДобавитьПараметрОписанияОбъекта("Приложение" , "application");
- ДобавитьПараметрОписанияОбъекта("НачалоРаботы" , "connected-at");
- ДобавитьПараметрОписанияОбъекта("НомерСеанса" , "session-number");
- ДобавитьПараметрОписанияОбъекта("Заблокировано" , "blocked-by-ls");
-
-КонецПроцедуры // ЗаполнитьПараметрыСоединения()
-
-// Процедура заполняет массив описаний параметров лицензии (общие)
-//
-Процедура ЗаполнитьПараметрыЛицензииОбщие() Экспорт
-
- ДобавитьПараметрОписанияОбъекта("ПолноеИмя" , "full-name");
- ДобавитьПараметрОписанияОбъекта("Серия" , "series");
- ДобавитьПараметрОписанияОбъекта("ВыданаСервером" , "issued-by-server");
- ДобавитьПараметрОписанияОбъекта("ТипЛицензии" , "license-type");
- ДобавитьПараметрОписанияОбъекта("Сетевая" , "net");
- ДобавитьПараметрОписанияОбъекта("МаксПользователей" , "max-users-all");
- ДобавитьПараметрОписанияОбъекта("МаксПользователейТек" , "max-users-cur");
- ДобавитьПараметрОписанияОбъекта("Менеджер_АдресСервера" , "rmngr-address");
- ДобавитьПараметрОписанияОбъекта("Менеджер_ПортСервера" , "rmngr-port");
- ДобавитьПараметрОписанияОбъекта("Менеджер_ИдОС" , "rmngr-pid");
- ДобавитьПараметрОписанияОбъекта("КраткоеПредставление" , "short-presentation");
- ДобавитьПараметрОписанияОбъекта("ПолноеПредставление" , "full-presentation");
-
-КонецПроцедуры // ЗаполнитьПараметрыЛицензииОбщие()
-
-// Процедура заполняет массив описаний параметров лицензии процесса
-//
-Процедура ЗаполнитьПараметрыЛицензииПроцесса() Экспорт
-
- ДобавитьПараметрОписанияОбъекта("Процесс_Ид" , "process");
- ДобавитьПараметрОписанияОбъекта("Процесс_АдресСервера" , "host");
- ДобавитьПараметрОписанияОбъекта("Процесс_ПортСервера" , "port");
- ДобавитьПараметрОписанияОбъекта("Процесс_ИдОС" , "pid");
-
- ЗаполнитьПараметрыЛицензииОбщие();
-
-КонецПроцедуры // ЗаполнитьПараметрыЛицензииПроцесса()
-
-// Процедура заполняет массив описаний параметров лицензии сеанса
-//
-Процедура ЗаполнитьПараметрыЛицензииСеанса() Экспорт
-
- ДобавитьПараметрОписанияОбъекта("Сеанс_Ид" , "session");
- ДобавитьПараметрОписанияОбъекта("ИмяПользователя" , "user-name");
- ДобавитьПараметрОписанияОбъекта("АдресМашины" , "host");
- ДобавитьПараметрОписанияОбъекта("ТипПриложения" , "app-id");
-
- ЗаполнитьПараметрыЛицензииОбщие();
-
-КонецПроцедуры // ЗаполнитьПараметрыЛицензииСеанса()
-
-// Процедура заполняет массив описаний параметров требования назначения
-//
-Процедура ЗаполнитьПараметрыТребованияНазначения() Экспорт
-
- ДобавитьПараметрОписанияОбъекта("Ид" , "rule");
- ДобавитьПараметрОписанияОбъекта("ТипОбъекта" , "object-type",
- Перечисления.ОбъектыНазначенияФункциональности.ЛюбойОбъект,
- "Чтение, Добавление, Изменение");
-
- ДобавитьПараметрОписанияОбъекта("ИмяИБ" , "infobase-name" , "",
- "Чтение, Добавление, Изменение");
-
- ДобавитьПараметрОписанияОбъекта("ТипНазначения" , "rule-type",
- Перечисления.ТипыНазначенияФункциональности.Авто,
- "Чтение, Добавление, Изменение");
-
- ДобавитьПараметрОписанияОбъекта("ДопПараметр" , "application-ext" , "", "Чтение, Добавление, Изменение");
- ДобавитьПараметрОписанияОбъекта("Приоритет" , "priority" , 0, "Чтение, Добавление, Изменение");
-
-КонецПроцедуры // ЗаполнитьПараметрыТребованияНазначения()
-
-// Процедура заполняет массив описаний параметров профиля безопасности
-//
-Процедура ЗаполнитьПараметрыПрофиляБезопасности() Экспорт
-
- ДобавитьПараметрОписанияОбъекта("Имя" , "name");
- ДобавитьПараметрОписанияОбъекта("Описание" , "descr", "", "Чтение, Добавление, Изменение");
- ДобавитьПараметрОписанияОбъекта("Каталоги" , "directory",
- Перечисления.РежимыДоступа.Список,
- "Чтение, Добавление, Изменение");
-
- ДобавитьПараметрОписанияОбъекта("COMКлассы" , "com",
- Перечисления.РежимыДоступа.Список,
- "Чтение, Добавление, Изменение");
-
- ДобавитьПараметрОписанияОбъекта("ВнешниеКомпоненты" , "addin",
- Перечисления.РежимыДоступа.Список,
- "Чтение, Добавление, Изменение");
-
- ДобавитьПараметрОписанияОбъекта("Модули" , "module",
- Перечисления.РежимыДоступа.Список,
- "Чтение, Добавление, Изменение");
-
- ДобавитьПараметрОписанияОбъекта("Приложения" , "app",
- Перечисления.РежимыДоступа.Список,
- "Чтение, Добавление, Изменение");
-
- ДобавитьПараметрОписанияОбъекта("ИнтернетРесурсы" , "inet",
- Перечисления.РежимыДоступа.Список,
- "Чтение, Добавление, Изменение");
-
- ДобавитьПараметрОписанияОбъекта("Конфигуратор" , "config",
- Перечисления.ДаНет.Нет,
- "Чтение, Добавление, Изменение");
-
- ДобавитьПараметрОписанияОбъекта("ПривилегированныйРежим" , "priv",
- Перечисления.ДаНет.Нет,
- "Чтение, Добавление, Изменение");
-
- ДобавитьПараметрОписанияОбъекта("Криптография" , "crypto",
- Перечисления.ДаНет.Нет,
- "Чтение, Добавление, Изменение");
-
- ДобавитьПараметрОписанияОбъекта("РасширениеПрав" , "right-extension",
- Перечисления.ДаНет.Нет,
- "Чтение, Добавление, Изменение");
-
- ДобавитьПараметрОписанияОбъекта("ОграничивающиеРоли" , "right-extension-definition-roles" , "",
- "Чтение, Добавление, Изменение");
-
- ДобавитьПараметрОписанияОбъекта("РасширениеВсехМодулей" , "all-modules-extension",
- Перечисления.ДаНет.Нет,
- "Чтение, Добавление, Изменение");
-
- ДобавитьПараметрОписанияОбъекта("ДоступныеМодули" , "modules-available-for-extension" , "",
- "Чтение, Добавление, Изменение");
-
- ДобавитьПараметрОписанияОбъекта("НедоступныеМодули" , "modules-not-available-for-extension" , "",
- "Чтение, Добавление, Изменение");
-
-КонецПроцедуры // ЗаполнитьПараметрыПрофиляБезопасности()
-
-// Процедура заполняет массив описаний параметров виртуального каталога профиля безопасности
-//
-Процедура ЗаполнитьПараметрыКаталогаПрофиля() Экспорт
-
- ДобавитьПараметрОписанияОбъекта("Имя" , "alias");
- ДобавитьПараметрОписанияОбъекта("Описание" , "descr" , "", "Чтение, Добавление, Изменение");
- ДобавитьПараметрОписанияОбъекта("ПутьККаталогу" , "physicalPath" , "", "Чтение, Добавление, Изменение");
- ДобавитьПараметрОписанияОбъекта("Чтение" , "allowedRead" , Перечисления.ДаНет.Нет,
- "Чтение, Добавление, Изменение");
-
- ДобавитьПараметрОписанияОбъекта("Запись" , "allowedWrite" , Перечисления.ДаНет.Нет,
- "Чтение, Добавление, Изменение");
-
-КонецПроцедуры // ЗаполнитьПараметрыКаталогаПрофиля()
-
-// Процедура заполняет массив описаний параметров COM-класса профиля безопасности
-//
-Процедура ЗаполнитьПараметрыCOMКлассаПрофиля() Экспорт
-
- ДобавитьПараметрОписанияОбъекта("Имя" , "name");
- ДобавитьПараметрОписанияОбъекта("Описание" , "descr" , "", "Чтение, Добавление, Изменение");
- ДобавитьПараметрОписанияОбъекта("ИмяФайла" , "fileName" , "", "Чтение, Добавление, Изменение");
- ДобавитьПараметрОписанияОбъекта("ИдКласса" , "id" , "", "Чтение, Добавление, Изменение");
- ДобавитьПараметрОписанияОбъекта("Компьютер" , "host" , "", "Чтение, Добавление, Изменение");
-
-КонецПроцедуры // ЗаполнитьПараметрыCOMКлассаПрофиля()
-
-// Процедура заполняет массив описаний параметров внешней компоненты или модуля профиля безопасности
-//
-Процедура ЗаполнитьПараметрыКомпонентыМодуляПрофиля() Экспорт
-
- ДобавитьПараметрОписанияОбъекта("Имя" , "name");
- ДобавитьПараметрОписанияОбъекта("Описание" , "descr" , "", "Чтение, Добавление, Изменение");
- ДобавитьПараметрОписанияОбъекта("Хэш" , "hash", , "Чтение, Добавление, Изменение");
-
-КонецПроцедуры // ЗаполнитьПараметрыКомпонентыМодуляПрофиля()
-
-// Процедура заполняет массив описаний параметров разрешенного приложения профиля безопасности
-//
-Процедура ЗаполнитьПараметрыПриложенияПрофиля() Экспорт
-
- ДобавитьПараметрОписанияОбъекта("Имя" , "name");
- ДобавитьПараметрОписанияОбъекта("Описание" , "descr" , "", "Чтение, Добавление, Изменение");
- ДобавитьПараметрОписанияОбъекта("Маска" , "wild" , "*", "Чтение, Добавление, Изменение");
-
-КонецПроцедуры // ЗаполнитьПараметрыПриложенияПрофиля()
-
-// Процедура заполняет массив описаний параметров интернет ресурса профиля безопасности
-//
-Процедура ЗаполнитьПараметрыИнтернетРесурсаПрофиля() Экспорт
-
- ДобавитьПараметрОписанияОбъекта("Имя" , "name");
- ДобавитьПараметрОписанияОбъекта("Описание" , "descr" , "", "Чтение, Добавление, Изменение");
- ДобавитьПараметрОписанияОбъекта("Протокол" , "protocol" , "", "Чтение, Добавление, Изменение");
- ДобавитьПараметрОписанияОбъекта("АдресРесурса" , "url" , "http", "Чтение, Добавление, Изменение");
- ДобавитьПараметрОписанияОбъекта("ПортСервера" , "port" , "", "Чтение, Добавление, Изменение");
-
-КонецПроцедуры // ЗаполнитьПараметрыИнтернетРесурсаПрофиля()
-
-Процедура ЗаполнитьПараметрыСчетчикаПотребленияРесурсов() Экспорт
-
- ДобавитьПараметрОписанияОбъекта("Имя" , "name");
- ДобавитьПараметрОписанияОбъекта("ДлительностьСбора" , "collection-time" , "", "Чтение, Добавление, Изменение");
- ДобавитьПараметрОписанияОбъекта("ДлительностьСбораМс" , "duration" , "", "Чтение, Добавление, Изменение");
- ДобавитьПараметрОписанияОбъекта("Группировка" , "group" , "", "Чтение, Добавление, Изменение");
- ДобавитьПараметрОписанияОбъекта("ТипОтбора" , "filter-type" , "", "Чтение, Добавление, Изменение");
- ДобавитьПараметрОписанияОбъекта("Отбор" , "filter" , "", "Чтение, Добавление, Изменение");
- ДобавитьПараметрОписанияОбъекта("ПроцессорноеВремя" , "cpu-time" , "", "Чтение, Добавление, Изменение");
- ДобавитьПараметрОписанияОбъекта("ДлительностьВызововСУБД" , "duration-dbms" , "", "Чтение, Добавление, Изменение");
- ДобавитьПараметрОписанияОбъекта("ДлительностьВызововСервисов" , "service" , "", "Чтение, Добавление, Изменение");
- ДобавитьПараметрОписанияОбъекта("ПотреблениеПамяти" , "memory" , "", "Чтение, Добавление, Изменение");
- ДобавитьПараметрОписанияОбъекта("ОбъемИнформацииСчитаннойСДиска" , "read" , "", "Чтение, Добавление, Изменение");
- ДобавитьПараметрОписанияОбъекта("ОбъемИнформацииЗаписаннойНаДиск" , "write" , "", "Чтение, Добавление, Изменение");
- ДобавитьПараметрОписанияОбъекта("ОбъемИнформацииПереданнойСУБД" , "dbms-bytes" , "", "Чтение, Добавление, Изменение");
- ДобавитьПараметрОписанияОбъекта("КоличествоСерверныхВызовов" , "call" , "", "Чтение, Добавление, Изменение");
- ДобавитьПараметрОписанияОбъекта("Описание" , "descr" , "", "Чтение, Добавление, Изменение");
- ДобавитьПараметрОписанияОбъекта("КоличествоАктивныхСеансов" , "number-of-active-sessions" , "", "Чтение, Добавление, Изменение");
- ДобавитьПараметрОписанияОбъекта("КоличествоСеансов" , "number-of-sessions" , "", "Чтение, Добавление, Изменение");
-КонецПроцедуры // ЗаполнитьПараметрыСчетчикаПотребленияРесурсов()
-
-Лог = Логирование.ПолучитьЛог("ktb.lib.irac");
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"
new file mode 100644
index 0000000..79cfb38
--- /dev/null
+++ "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"
@@ -0,0 +1,225 @@
+// ----------------------------------------------------------
+// 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)
+//
+// Возвращаемое значение:
+// Массив - список профилей безопасности кластера 1С
+//
+Функция Список(Отбор = Неопределено, ОбновитьПринудительно = Ложь) Экспорт
+
+ СписокПрофилей = Элементы.Список(Отбор, ОбновитьПринудительно);
+
+ Возврат СписокПрофилей;
+
+КонецФункции // Список()
+
+// Функция возвращает список профилей безопасности кластера 1С
+//
+// Параметры:
+// ПоляИерархии - Строка - Поля для построения иерархии списка профилей безопасности,
+// разделенные ","
+// ОбновитьПринудительно - Булево - Истина - обновить список (вызов RAC)
+//
+// Возвращаемое значение:
+// Соответствие - список профилей безопасности кластера 1С
+// <имя поля объекта> - Массив(Соответствие), Соответствие - список профилей безопасности
+// или следующий уровень
+//
+Функция ИерархическийСписок(Знач ПоляИерархии, ОбновитьПринудительно = Ложь) Экспорт
+
+ СписокПрофилей = Элементы.ИерархическийСписок(ПоляИерархии, ОбновитьПринудительно);
+
+ Возврат СписокПрофилей;
+
+КонецФункции // ИерархическийСписок()
+
+// Функция возвращает количество профилей безопасности в списке
+//
+// Возвращаемое значение:
+// Число - количество профилей безопасности
+//
+Функция Количество() Экспорт
+
+ Если Элементы = Неопределено Тогда
+ Возврат 0;
+ КонецЕсли;
+
+ Возврат Элементы.Количество();
+
+КонецФункции // Количество()
+
+// Функция возвращает описание профиля безопасности кластера 1С
+//
+// Параметры:
+// Имя - Строка - Имя профиля безопасности
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+//
+// Возвращаемое значение:
+// Соответствие - описание профиля безопасности кластера 1С
+//
+Функция Получить(Знач Имя, Знач ОбновитьПринудительно = Ложь) Экспорт
+
+ Отбор = Новый Соответствие();
+ Отбор.Вставить("name", Имя);
+
+ СписокПрофилей = Элементы.Список(Отбор, ОбновитьПринудительно);
+
+ Если СписокПрофилей.Количество() = 0 Тогда
+ Возврат Неопределено;
+ КонецЕсли;
+
+ Возврат СписокПрофилей[0];
+
+КонецФункции // Получить()
+
+// Процедура добавляет новый профиль безопасности в кластер 1С
+//
+// Параметры:
+// Имя - Строка - имя профиля безопасности 1С
+// ПараметрыПрофиля - Структура - параметры профиля безопасности 1С
+//
+Процедура Добавить(Имя, ПараметрыПрофиля = Неопределено) Экспорт
+
+ Если НЕ ТипЗнч(ПараметрыПрофиля) = Тип("Структура") Тогда
+ ПараметрыПрофиля = Новый Структура();
+ КонецЕсли;
+
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_Владелец.СтрокаАвторизации());
+
+ ПараметрыКоманды.Вставить("Имя" , Имя);
+
+ Для Каждого ТекЭлемент Из ПараметрыПрофиля Цикл
+ ПараметрыКоманды.Вставить(ТекЭлемент.Ключ, ТекЭлемент.Значение);
+ КонецЦикла;
+
+ ПараметрыОбъекта.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды);
+
+ КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("Изменить"));
+
+ Если НЕ КодВозврата = 0 Тогда
+ ВызватьИсключение СтрШаблон("Ошибка добавления профиля безопасности ""%1"": %2",
+ Имя,
+ Кластер_Агент.ВыводКоманды(Ложь));
+ КонецЕсли;
+
+ Лог.Отладка(Кластер_Агент.ВыводКоманды(Ложь));
+
+ ОбновитьДанные(Истина);
+
+КонецПроцедуры // Добавить()
+
+// Процедура удаляет профиль безопасности из кластера 1С
+//
+// Параметры:
+// Имя - Строка - Имя профиля безопасности
+//
+Процедура Удалить(Имя) Экспорт
+
+ Профиль = Получить(Имя);
+
+ Если Профиль = Неопределено Тогда
+ Возврат;
+ КонецЕсли;
+
+ Профиль.Удалить();
+
+ ОбновитьДанные(Истина);
+
+КонецПроцедуры // Удалить()
+
+Лог = Логирование.ПолучитьЛог("oscript.lib.irac");
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\321\214\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\321\214\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 6650dde..c161534 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\321\214\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\321\214\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"
@@ -1,4 +1,13 @@
-Перем Профиль_Имя; // name
+// ----------------------------------------------------------
+// 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/
+// ----------------------------------------------------------
+
+Перем Профиль_Имя; // name
Перем Профиль_Параметры;
Перем Профиль_Каталоги;
@@ -32,9 +41,9 @@
Возврат;
КонецЕсли;
- ПараметрыОбъекта = Новый ПараметрыОбъекта("profile");
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.ПрофилиБезопасности);
- Кластер_Агент = АгентКластера;
+ Кластер_Агент = АгентКластера;
Кластер_Владелец = Кластер;
Если ТипЗнч(Профиль) = Тип("Соответствие") Тогда
@@ -46,18 +55,18 @@
МоментАктуальности = 0;
КонецЕсли;
- Профиль_Каталоги = Новый ОбъектыПрофиля(Кластер_Агент, Кластер_Владелец, ЭтотОбъект,
- Перечисления.ВидыОбъектовПрофиляБезопасности.Каталог);
- Профиль_COMКлассы = Новый ОбъектыПрофиля(Кластер_Агент, Кластер_Владелец, ЭтотОбъект,
- Перечисления.ВидыОбъектовПрофиляБезопасности.COMКласс);
- Профиль_ВнешниеКомпоненты = Новый ОбъектыПрофиля(Кластер_Агент, Кластер_Владелец, ЭтотОбъект,
- Перечисления.ВидыОбъектовПрофиляБезопасности.Компонент);
- Профиль_ВнешниеМодули = Новый ОбъектыПрофиля(Кластер_Агент, Кластер_Владелец, ЭтотОбъект,
- Перечисления.ВидыОбъектовПрофиляБезопасности.Модуль);
- Профиль_Приложения = Новый ОбъектыПрофиля(Кластер_Агент, Кластер_Владелец, ЭтотОбъект,
- Перечисления.ВидыОбъектовПрофиляБезопасности.Приложение);
- Профиль_ИнтернетРесурсы = Новый ОбъектыПрофиля(Кластер_Агент, Кластер_Владелец, ЭтотОбъект,
- Перечисления.ВидыОбъектовПрофиляБезопасности.ИнтернетРесурс);
+ Профиль_Каталоги = Новый ОбъектыПрофиля(Кластер_Агент, Кластер_Владелец, ЭтотОбъект,
+ Перечисления.ВидыОбъектовПрофиляБезопасности.Каталог);
+ Профиль_COMКлассы = Новый ОбъектыПрофиля(Кластер_Агент, Кластер_Владелец, ЭтотОбъект,
+ Перечисления.ВидыОбъектовПрофиляБезопасности.COMКласс);
+ Профиль_ВнешниеКомпоненты = Новый ОбъектыПрофиля(Кластер_Агент, Кластер_Владелец, ЭтотОбъект,
+ Перечисления.ВидыОбъектовПрофиляБезопасности.Компонент);
+ Профиль_ВнешниеМодули = Новый ОбъектыПрофиля(Кластер_Агент, Кластер_Владелец, ЭтотОбъект,
+ Перечисления.ВидыОбъектовПрофиляБезопасности.Модуль);
+ Профиль_Приложения = Новый ОбъектыПрофиля(Кластер_Агент, Кластер_Владелец, ЭтотОбъект,
+ Перечисления.ВидыОбъектовПрофиляБезопасности.Приложение);
+ Профиль_ИнтернетРесурсы = Новый ОбъектыПрофиля(Кластер_Агент, Кластер_Владелец, ЭтотОбъект,
+ Перечисления.ВидыОбъектовПрофиляБезопасности.ИнтернетРесурс);
ПериодОбновления = 60000;
МоментАктуальности = 0;
@@ -68,9 +77,9 @@
// и сохраняет в локальных переменных
//
// Параметры:
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
-// - Ложь - данные будут получены если истекло время актуальности
-// или данные не были получены ранее
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// - Ложь - данные будут получены если истекло время актуальности
+// или данные не были получены ранее
//
Процедура ОбновитьДанные(ОбновитьПринудительно = Ложь) Экспорт
@@ -79,25 +88,38 @@
Возврат;
КонецЕсли;
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Кластер_Агент.СтрокаПодключения());
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера" , Кластер_Владелец.СтрокаАвторизации());
- ПараметрыЗапуска.Добавить("profile");
- ПараметрыЗапуска.Добавить("info");
+ ПараметрыОбъекта.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды);
- ПараметрыЗапуска.Добавить(СтрШаблон("--name=%1", Имя()));
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Владелец.Ид()));
- ПараметрыЗапуска.Добавить(Кластер_Владелец.СтрокаАвторизации());
+ КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("Список"));
+
+ Если НЕ КодВозврата = 0 Тогда
+ ВызватьИсключение СтрШаблон("Ошибка получения описания профиля безопасности ""%1"": %2",
+ Имя(),
+ Кластер_Агент.ВыводКоманды(Ложь));
+ КонецЕсли;
- Кластер_Агент.ВыполнитьКоманду(ПараметрыЗапуска);
-
МассивРезультатов = Кластер_Агент.ВыводКоманды();
- Если МассивРезультатов.Количество() = 0 Тогда
- Возврат;
+ ЭлементНайден = Ложь;
+ Для Каждого ТекЭлемент Из МассивРезультатов Цикл
+ Если ТекЭлемент["name"] = Имя() Тогда
+ ЭлементНайден = Истина;
+ Прервать;
+ КонецЕсли;
+ КонецЦикла;
+
+ Если НЕ ЭлементНайден Тогда
+ ВызватьИсключение СтрШаблон("Ошибка получения описания профиля безопасности ""%1"": %2",
+ Имя(),
+ Кластер_Агент.ВыводКоманды(Ложь));
КонецЕсли;
- ЗаполнитьПараметрыПрофиля(МассивРезультатов[0]);
+ ЗаполнитьПараметрыПрофиля(ТекЭлемент);
МоментАктуальности = ТекущаяУниверсальнаяДатаВМиллисекундах();
@@ -106,7 +128,7 @@
// Процедура заполняет параметры профиля безопасности
//
// Параметры:
-// ДанныеЗаполнения - Соответствие - данные, из которых будут заполнены параметры профиля
+// ДанныеЗаполнения - Соответствие - данные, из которых будут заполнены параметры профиля
//
Процедура ЗаполнитьПараметрыПрофиля(ДанныеЗаполнения)
@@ -119,22 +141,22 @@
// Функция возвращает коллекцию параметров объекта
//
// Параметры:
-// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
-// в качестве ключа возвращаемого соответствия
+// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
+// в качестве ключа возвращаемого соответствия
//
// Возвращаемое значение:
-// Соответствие - коллекция параметров объекта, для получения/изменения значений
+// Соответствие - коллекция параметров объекта, для получения/изменения значений
//
-Функция ПараметрыОбъекта(ИмяПоляКлюча = "ИмяПараметра") Экспорт
+Функция ПараметрыОбъекта(ИмяПоляКлюча = "Имя") Экспорт
- Возврат ПараметрыОбъекта.Получить(ИмяПоляКлюча);
+ Возврат ПараметрыОбъекта.ОписаниеСвойств(ИмяПоляКлюча);
КонецФункции // ПараметрыОбъекта()
// Функция возвращает имя профиля безопасности 1С
//
// Возвращаемое значение:
-// Строка - имя профиля безопасности 1С
+// Строка - имя профиля безопасности 1С
//
Функция Имя() Экспорт
@@ -145,7 +167,7 @@
// Функция возвращает список разрешенных виртуальных каталогов
//
// Возвращаемое значение:
-// ОбъектыПрофиля - список разрешенных виртуальных каталогов
+// ОбъектыПрофиля - список разрешенных виртуальных каталогов
//
Функция Каталоги() Экспорт
@@ -156,7 +178,7 @@
// Функция возвращает список разрешенных COM-классов
//
// Возвращаемое значение:
-// ОбъектыПрофиля - список разрешенных COM-Классов
+// ОбъектыПрофиля - список разрешенных COM-Классов
//
Функция COMКлассы() Экспорт
@@ -167,7 +189,7 @@
// Функция возвращает список разрешенных внешних компонент
//
// Возвращаемое значение:
-// ОбъектыПрофиля - список разрешенных внешних компонент
+// ОбъектыПрофиля - список разрешенных внешних компонент
//
Функция ВнешниеКомпоненты() Экспорт
@@ -178,7 +200,7 @@
// Функция возвращает список разрешенных внешних модулей
//
// Возвращаемое значение:
-// ОбъектыПрофиля - список разрешенных внешних модулей
+// ОбъектыПрофиля - список разрешенных внешних модулей
//
Функция ВнешниеМодули() Экспорт
@@ -189,7 +211,7 @@
// Функция возвращает список разрешенных приложений
//
// Возвращаемое значение:
-// ОбъектыПрофиля - список разрешенных приложений
+// ОбъектыПрофиля - список разрешенных приложений
//
Функция Приложения() Экспорт
@@ -200,7 +222,7 @@
// Функция возвращает список разрешенных ресурсов интернет
//
// Возвращаемое значение:
-// ОбъектыПрофиля - список разрешенных ресурсов интернет
+// ОбъектыПрофиля - список разрешенных ресурсов интернет
//
Функция ИнтернетРесурсы() Экспорт
@@ -211,11 +233,11 @@
// Функция возвращает значение параметра профиля безопасности кластера 1С
//
// Параметры:
-// ИмяПоля - Строка - Имя параметра кластера
-// ОбновитьПринудительно - Булево - Истина - обновить список (вызов RAC)
+// ИмяПоля - Строка - Имя параметра кластера
+// ОбновитьПринудительно - Булево - Истина - обновить список (вызов RAC)
//
// Возвращаемое значение:
-// Произвольный - значение параметра профиля безопасности кластера 1С
+// Произвольный - значение параметра профиля безопасности кластера 1С
//
Функция Получить(ИмяПоля, ОбновитьПринудительно = Ложь) Экспорт
@@ -228,52 +250,56 @@
ЗначениеПоля = Профиль_Параметры.Получить(ИмяПоля);
Если ЗначениеПоля = Неопределено Тогда
-
- ОписаниеПараметра = ПараметрыОбъекта("ИмяПоляРАК").Получить(ИмяПоля);
+
+ ОписаниеПараметра = ПараметрыОбъекта("ИмяРАК").Получить(ИмяПоля);
Если НЕ ОписаниеПараметра = Неопределено Тогда
- ЗначениеПоля = Профиль_Параметры.Получить(ОписаниеПараметра["ИмяПараметра"]);
+ ЗначениеПоля = Профиль_Параметры.Получить(ОписаниеПараметра["Имя"]);
КонецЕсли;
КонецЕсли;
Возврат ЗначениеПоля;
-
+
КонецФункции // Получить()
// Процедура изменяет режим доступа к объектам профиля (список/полный доступ)
//
// Параметры:
-// ВидОбъектовПрофиля - Перечисление. - вид объекта профиля для изменения режима доступа
-// ВидыОбъектовПрофиляБезопасности
-// РежимДоступа - Перечисление. - устанавливаемый режим доступа
-// РежимДоступа
+// ВидОбъектовПрофиля - Перечисление. - вид объекта профиля для изменения режима доступа
+// ВидыОбъектовПрофиляБезопасности
+// РежимДоступа - Перечисление. - устанавливаемый режим доступа
+// РежимДоступа
//
-Процедура ИзменитьРежимДоступаКОбъектамПрофиля(ВидОбъектовПрофиля, РежимДоступа)
-
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Кластер_Агент.СтрокаПодключения());
-
- ПараметрыЗапуска.Добавить("profile");
- ПараметрыЗапуска.Добавить("acl");
- ПараметрыЗапуска.Добавить(ВидОбъектовПрофиля);
-
- ПараметрыЗапуска.Добавить(СтрШаблон("--name=%1", Имя()));
- ПараметрыЗапуска.Добавить(СтрШаблон("--access=%1", РежимДоступа));
-
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Владелец.Ид()));
+Процедура ИзменитьРежимДоступаКОбъектам(ВидОбъектовПрофиля, РежимДоступа) Экспорт
+
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера" , Кластер_Владелец.СтрокаАвторизации());
+ ПараметрыКоманды.Вставить("Имя" , Имя());
+ ПараметрыКоманды.Вставить("ВидОбъектовПрофиля" , ВидОбъектовПрофиля);
+ ПараметрыКоманды.Вставить("РежимДоступа" , РежимДоступа);
+
+ ПараметрыОбъекта.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды);
+
+ КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("ИзменитьРежимДоступа"));
+
+ Если НЕ КодВозврата = 0 Тогда
+ ВызватьИсключение СтрШаблон("Ошибка изменения режима доступа объекта ""%1"" профиля ""%2"" на ""%3"": %4",
+ ВидОбъектовПрофиля,
+ Имя(),
+ РежимДоступа,
+ Кластер_Агент.ВыводКоманды(Ложь));
+ КонецЕсли;
- ПараметрыЗапуска.Добавить(Кластер_Владелец.СтрокаАвторизации());
-
- Кластер_Агент.ВыполнитьКоманду(ПараметрыЗапуска);
-
Лог.Отладка(Кластер_Агент.ВыводКоманды(Ложь));
-КонецПроцедуры // ИзменитьРежимДоступаКОбъектамПрофиля()
+КонецПроцедуры // ИзменитьРежимДоступаКОбъектам()
// Процедура изменяет параметры профиля безопасности
//
// Параметры:
-// ПараметрыПрофиля - Структура - новые параметры профиля безопасности
+// ПараметрыПрофиля - Структура - новые параметры профиля безопасности
//
Процедура Изменить(Знач ПараметрыПрофиля = Неопределено) Экспорт
@@ -281,38 +307,56 @@
ПараметрыПрофиля = Новый Структура();
КонецЕсли;
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Кластер_Агент.СтрокаПодключения());
-
- ПараметрыЗапуска.Добавить("profile");
- ПараметрыЗапуска.Добавить("update");
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_Владелец.СтрокаАвторизации());
+
+ ПараметрыКоманды.Вставить("Имя" , Имя());
- ПараметрыЗапуска.Добавить(СтрШаблон("--name=%1", Имя()));
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Владелец.Ид()));
+ Для Каждого ТекЭлемент Из ПараметрыПрофиля Цикл
+ ПараметрыКоманды.Вставить(ТекЭлемент.Ключ, ТекЭлемент.Значение);
+ КонецЦикла;
- ПараметрыЗапуска.Добавить(Кластер_Владелец.СтрокаАвторизации());
-
- ПараметрыРежимаДоступа = "directory,com,addin,module,app,inet";
+ ПараметрыОбъекта.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды);
- ВремПараметры = ПараметрыОбъекта();
+ КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("Изменить"));
- Для Каждого ТекЭлемент Из ВремПараметры Цикл
- Если НЕ ПараметрыПрофиля.Свойство(ТекЭлемент.Ключ) Тогда
- Продолжить;
- КонецЕсли;
- Если СтрНайти(ПараметрыРежимаДоступа, ТекЭлемент.ИмяПоляРАК) = 0 Тогда
- ПараметрыЗапуска.Добавить(СтрШаблон(ТекЭлемент.ПараметрКоманды + "=%1", ПараметрыПрофиля[ТекЭлемент.Ключ]));
- Иначе
- ИзменитьРежимДоступаКОбъектамПрофиля(ТекЭлемент.ИмяПоляРАК, ПараметрыПрофиля[ТекЭлемент.Ключ]);
- КонецЕсли;
- КонецЦикла;
+ Если НЕ КодВозврата = 0 Тогда
+ ВызватьИсключение СтрШаблон("Ошибка изменения профиля безопасности ""%1"": %2",
+ Имя(),
+ Кластер_Агент.ВыводКоманды(Ложь));
+ КонецЕсли;
- Кластер_Агент.ВыполнитьКоманду(ПараметрыЗапуска);
-
Лог.Отладка(Кластер_Агент.ВыводКоманды(Ложь));
ОбновитьДанные(Истина);
КонецПроцедуры // Изменить()
-Лог = Логирование.ПолучитьЛог("ktb.lib.irac");
+// Процедура удаляет информационную базу
+//
+Процедура Удалить() Экспорт
+
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_Владелец.СтрокаАвторизации());
+
+ ПараметрыКоманды.Вставить("Имя" , Имя());
+
+ ПараметрыОбъекта.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды);
+
+ КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("Удалить"));
+
+ Если НЕ КодВозврата = 0 Тогда
+ ВызватьИсключение СтрШаблон("Ошибка удаления профиля безопасности ""%1"": %2",
+ Имя(),
+ Кластер_Агент.ВыводКоманды(Ложь));
+ КонецЕсли;
+
+ Лог.Отладка(Кластер_Агент.ВыводКоманды(Ложь));
+
+КонецПроцедуры // Удалить()
+
+Лог = Логирование.ПолучитьЛог("oscript.lib.irac");
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\321\214\320\236\320\261\321\212\320\265\320\272\321\202\321\213.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\321\214\320\236\320\261\321\212\320\265\320\272\321\202\321\213.os"
deleted file mode 100644
index 824de36..0000000
--- "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\321\214\320\236\320\261\321\212\320\265\320\272\321\202\321\213.os"
+++ /dev/null
@@ -1,247 +0,0 @@
-Перем ТипЭлементов;
-Перем Кластер_Агент;
-Перем Кластер_Владелец;
-Перем Профиль_Владелец;
-Перем Элементы;
-
-Перем ПараметрыЭлементов;
-
-Перем МоментАктуальности;
-Перем ПериодОбновления;
-
-Перем Лог;
-
-Процедура ПриСозданииОбъекта(Агент, Кластер, Профиль, Тип)
-
- Элементы = Неопределено;
-
- Кластер_Агент = Агент;
- Кластер_Владелец = Кластер;
- Профиль_Владелец = Профиль;
-
- ТипЭлементов = Тип;
-
- ПараметрыЭлементов = Новый ПараметрыОбъекта("profile." + ТипЭлементов);
-
- ПериодОбновления = 60000;
- МоментАктуальности = 0;
-
-КонецПроцедуры // ПриСозданииОбъекта()
-
-// Процедура получает данные от сервиса администрирования кластера 1С
-// и сохраняет в локальных переменных
-//
-// Параметры:
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
-// - Ложь - данные будут получены если истекло время актуальности
-// или данные не были получены ранее
-//
-Процедура ОбновитьДанные(ОбновитьПринудительно = Ложь) Экспорт
-
- Если НЕ ТребуетсяОбновление(ОбновитьПринудительно) Тогда
- Возврат;
- КонецЕсли;
-
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Кластер_Агент.СтрокаПодключения());
-
- ПараметрыЗапуска.Добавить("profile");
- ПараметрыЗапуска.Добавить("acl");
- ПараметрыЗапуска.Добавить(ТипЭлементов);
- ПараметрыЗапуска.Добавить("list");
-
- ПараметрыЗапуска.Добавить(СтрШаблон("--name=%1", Профиль_Владелец.Имя()));
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Владелец.Ид()));
- ПараметрыЗапуска.Добавить(Кластер_Владелец.СтрокаАвторизации());
-
- Кластер_Агент.ВыполнитьКоманду(ПараметрыЗапуска);
-
- Элементы = Кластер_Агент.ВыводКоманды();
-
- МоментАктуальности = ТекущаяУниверсальнаяДатаВМиллисекундах();
-
-КонецПроцедуры // ОбновитьДанные()
-
-// Функция признак необходимости обновления данных
-//
-// Параметры:
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
-//
-// Возвращаемое значение:
-// Булево - Истина - требуется обновитьданные
-//
-Функция ТребуетсяОбновление(ОбновитьПринудительно = Ложь) Экспорт
-
- Возврат (ОбновитьПринудительно
- ИЛИ Элементы = Неопределено
- ИЛИ (ПериодОбновления < (ТекущаяУниверсальнаяДатаВМиллисекундах() - МоментАктуальности)));
-
-КонецФункции // ТребуетсяОбновление()
-
-// Функция возвращает коллекцию параметров объекта
-//
-// Параметры:
-// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
-// в качестве ключа возвращаемого соответствия
-//
-// Возвращаемое значение:
-// Соответствие - коллекция параметров объекта, для получения/изменения значений
-//
-Функция ПараметрыОбъекта(ИмяПоляКлюча = "ИмяПараметра") Экспорт
-
- Возврат ПараметрыЭлементов.Получить(ИмяПоляКлюча);
-
-КонецФункции // ПараметрыОбъекта()
-
-// Функция возвращает список объектов кластера
-//
-// Параметры:
-// Отбор - Структура - Структура отбора объектов (<поле>:<значение>)
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
-//
-// Возвращаемое значение:
-// Массив - список объектов кластера 1С
-//
-Функция Список(Отбор = Неопределено, ОбновитьПринудительно = Ложь) Экспорт
-
- ОбновитьДанные(ОбновитьПринудительно);
-
- Результат = Служебный.ПолучитьЭлементыИзМассиваСоответствий(Элементы, Отбор);
-
- Если Результат.Количество() = 0 Тогда
- Возврат Неопределено;
- Иначе
- Возврат Результат;
- КонецЕсли;
-
-КонецФункции // Список()
-
-// Функция возвращает список объектов кластера
-//
-// Параметры:
-// ПоляИерархии - Строка - Поля для построения иерархии списка объектов, разделенные ","
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
-//
-// Возвращаемое значение:
-// Соответствие - список объектов кластера 1С
-// <имя поля объекта> - Массив(Соответствие), Соответствие - список объектов кластера или следующий уровень
-//
-Функция ИерархическийСписок(Знач ПоляИерархии, ОбновитьПринудительно = Ложь) Экспорт
-
- ОбновитьДанные(ОбновитьПринудительно);
-
- Результат = Служебный.ИерархическоеПредставлениеМассиваСоответствий(Элементы, ПоляИерархии);
-
- Возврат Результат;
-
-КонецФункции // ИерархическийСписок()
-
-// Функция возвращает количество обектов в списке профиля безопасности
-//
-// Возвращаемое значение:
-// Число - количество объектов
-//
-Функция Количество() Экспорт
-
- ОбновитьДанные();
-
- Если Элементы = Неопределено Тогда
- Возврат 0;
- КонецЕсли;
-
- Возврат Элементы.Количество();
-
-КонецФункции // Количество()
-
-// Процедура устанавливает значение периода обновления
-//
-// Параметры:
-// НовыйПериодОбновления - Число - новый период обновления
-//
-Процедура УстановитьПериодОбновления(НовыйПериодОбновления) Экспорт
-
- ПериодОбновления = НовыйПериодОбновления;
-
-КонецПроцедуры // УстановитьПериодОбновления()
-
-// Процедура устанавливает новое значение момента актуальности данных
-//
-Процедура УстановитьАктуальность() Экспорт
-
- МоментАктуальности = ТекущаяУниверсальнаяДатаВМиллисекундах();
-
-КонецПроцедуры // УстановитьАктуальность()
-
-// Процедура добавляет новый или изменяет существующий объект профиля безопасности
-//
-// Параметры:
-// Имя - Строка - имя объекта профиля безопасности 1С
-// ПараметрыОбъекта - Структура - параметры объекта профиля безопасности 1С
-//
-Процедура Изменить(Имя, ПараметрыОбъекта = Неопределено) Экспорт
-
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Кластер_Агент.СтрокаПодключения());
-
- ПараметрыЗапуска.Добавить("profile");
- ПараметрыЗапуска.Добавить("acl");
- ПараметрыЗапуска.Добавить(ТипЭлементов);
- ПараметрыЗапуска.Добавить("update");
-
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Владелец.Ид()));
- ПараметрыЗапуска.Добавить(Кластер_Владелец.СтрокаАвторизации());
-
- Если ВРег(ТипЭлементов) = ВРег(Перечисления.ВидыОбъектовПрофиляБезопасности.Каталог) Тогда
- ПараметрыЗапуска.Добавить(СтрШаблон("--alias=%1", Имя));
- Иначе
- ПараметрыЗапуска.Добавить(СтрШаблон("--name=%1", Имя));
- КонецЕсли;
-
- ВремПараметры = ПараметрыОбъекта();
-
- Для Каждого ТекЭлемент Из ВремПараметры Цикл
- ЗначениеПараметра = Служебный.ПолучитьЗначениеИзСтруктуры(ПараметрыОбъекта, ТекЭлемент.Ключ, 0);
- ПараметрыЗапуска.Добавить(СтрШаблон(ТекЭлемент.Значение.ПараметрКоманды + "=%1", ЗначениеПараметра));
- КонецЦикла;
-
- Кластер_Агент.ВыполнитьКоманду(ПараметрыЗапуска);
-
- Лог.Отладка(Кластер_Агент.ВыводКоманды(Ложь));
-
- ОбновитьДанные(Истина);
-
-КонецПроцедуры // Изменить()
-
-// Процедура удаляет объект профиля из профиля безопасности
-//
-// Параметры:
-// Имя - Строка - Имя объекта профиля безопасности
-//
-Процедура Удалить(Имя) Экспорт
-
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Кластер_Агент.СтрокаПодключения());
-
- ПараметрыЗапуска.Добавить("profile");
- ПараметрыЗапуска.Добавить("acl");
- ПараметрыЗапуска.Добавить(ТипЭлементов);
- ПараметрыЗапуска.Добавить("remove");
-
- Если ВРег(ТипЭлементов) = ВРег(Перечисления.ВидыОбъектовПрофиляБезопасности.Каталог) Тогда
- ПараметрыЗапуска.Добавить(СтрШаблон("--alias=%1", Имя));
- Иначе
- ПараметрыЗапуска.Добавить(СтрШаблон("--name=%1", Имя));
- КонецЕсли;
-
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Владелец.Ид()));
- ПараметрыЗапуска.Добавить(Кластер_Владелец.СтрокаАвторизации());
-
- Кластер_Агент.ВыполнитьКоманду(ПараметрыЗапуска);
-
- Лог.Отладка(Кластер_Агент.ВыводКоманды(Ложь));
-
- ОбновитьДанные(Истина);
-
-КонецПроцедуры // Удалить()
-
-Лог = Логирование.ПолучитьЛог("ktb.lib.irac");
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\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"
similarity index 63%
rename from "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\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"
rename to "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 5f971f7..3043b1f 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\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"
@@ -1,3 +1,12 @@
+// ----------------------------------------------------------
+// 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/
+// ----------------------------------------------------------
+
Перем Кластер_Агент;
Перем Кластер_Владелец;
Перем ПараметрыОбъекта;
@@ -8,15 +17,15 @@
// Конструктор
//
// Параметры:
-// АгентКластера - АгентКластера - ссылка на родительский объект агента кластера
-// Кластер - Кластер - ссылка на родительский объект кластера
+// АгентКластера - АгентКластера - ссылка на родительский объект агента кластера
+// Кластер - Кластер - ссылка на родительский объект кластера
//
Процедура ПриСозданииОбъекта(АгентКластера, Кластер)
Кластер_Агент = АгентКластера;
Кластер_Владелец = Кластер;
- ПараметрыОбъекта = Новый КомандыОбъекта("process");
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.РабочиеПроцессы);
Элементы = Новый ОбъектыКластера(ЭтотОбъект);
@@ -26,9 +35,9 @@
// и сохраняет в локальных переменных
//
// Параметры:
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
-// - Ложь - данные будут получены если истекло время актуальности
-// или данные не были получены ранее
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// - Ложь - данные будут получены если истекло время актуальности
+// или данные не были получены ранее
//
Процедура ОбновитьДанные(ОбновитьПринудительно = Ложь) Экспорт
@@ -47,8 +56,8 @@
Если НЕ КодВозврата = 0 Тогда
ВызватьИсключение СтрШаблон("Ошибка получения списка рабочих процессов, КодВозврата = %1: %2",
- КодВозврата,
- Кластер_Агент.ВыводКоманды(Ложь));
+ КодВозврата,
+ Кластер_Агент.ВыводКоманды(Ложь));
КонецЕсли;
МассивРезультатов = Кластер_Агент.ВыводКоманды();
@@ -67,13 +76,13 @@
// Функция возвращает коллекцию параметров объекта
//
// Параметры:
-// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
-// в качестве ключа возвращаемого соответствия
+// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
+// в качестве ключа возвращаемого соответствия
//
// Возвращаемое значение:
-// Соответствие - коллекция параметров объекта, для получения/изменения значений
+// Соответствие - коллекция параметров объекта, для получения/изменения значений
//
-Функция ПараметрыОбъекта(ИмяПоляКлюча = "ИмяПараметра") Экспорт
+Функция ПараметрыОбъекта(ИмяПоляКлюча = "Имя") Экспорт
Возврат ПараметрыОбъекта.ОписаниеСвойств(ИмяПоляКлюча);
@@ -82,11 +91,11 @@
// Функция возвращает список рабочих процессов
//
// Параметры:
-// Отбор - Структура - Структура отбора процессов (<поле>:<значение>)
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// Отбор - Структура - Структура отбора процессов (<поле>:<значение>)
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
//
// Возвращаемое значение:
-// Массив - список рабочих процессов 1С
+// Массив - список рабочих процессов 1С
//
Функция Список(Отбор = Неопределено, ОбновитьПринудительно = Ложь) Экспорт
@@ -99,11 +108,11 @@
// Функция возвращает список рабочих процессов кластера 1С
//
// Параметры:
-// ПоляИерархии - Строка - Поля для построения иерархии списка процессов, разделенные ","
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// ПоляИерархии - Строка - Поля для построения иерархии списка процессов, разделенные ","
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
//
// Возвращаемое значение:
-// Соответствие - список рабочих процессов кластера 1С
+// Соответствие - список рабочих процессов кластера 1С
//
Функция ИерархическийСписок(Знач ПоляИерархии, ОбновитьПринудительно = Ложь) Экспорт
@@ -116,7 +125,7 @@
// Функция возвращает количество рабочих процессов в списке
//
// Возвращаемое значение:
-// Число - количество рабочих процессов
+// Число - количество рабочих процессов
//
Функция Количество() Экспорт
@@ -131,11 +140,11 @@
// Функция возвращает описание рабочего процесса кластера 1С
//
// Параметры:
-// Процесс - Строка - Номер процесса в виде <адрес сервера>:<номер процесса ОС (pid))>
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// Процесс - Строка - Номер процесса в виде <адрес сервера>:<номер процесса ОС (pid))>
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
//
// Возвращаемое значение:
-// Соответствие - описание рабочего процесса кластера 1С
+// Соответствие - описание рабочего процесса кластера 1С
//
Функция Получить(Знач Процесс, Знач ОбновитьПринудительно = Ложь) Экспорт
@@ -159,4 +168,4 @@
КонецФункции // Получить()
-Лог = Логирование.ПолучитьЛог("ktb.lib.irac");
+Лог = Логирование.ПолучитьЛог("oscript.lib.irac");
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 e6de39e..a1e8852 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"
@@ -1,6 +1,15 @@
-Перем Процесс_Ид; // process
-Перем Процесс_АдресСервера; // host
-Перем Процесс_ПортСервера; // port
+// ----------------------------------------------------------
+// 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/
+// ----------------------------------------------------------
+
+Перем Процесс_Ид; // process
+Перем Процесс_АдресСервера; // host
+Перем Процесс_ПортСервера; // port
Перем Процесс_Параметры;
Перем Процесс_Лицензии;
@@ -9,6 +18,7 @@
Перем Процесс_Соединения;
Перем ПараметрыОбъекта;
+Перем ПараметрыЛицензий;
Перем ПериодОбновления;
Перем МоментАктуальности;
@@ -28,7 +38,8 @@
Возврат;
КонецЕсли;
- ПараметрыОбъекта = Новый КомандыОбъекта("process");
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.РабочиеПроцессы);
+ ПараметрыЛицензий = Новый КомандыОбъекта("process.license");
Кластер_Агент = АгентКластера;
Кластер_Владелец = Кластер;
@@ -44,8 +55,8 @@
ПериодОбновления = 60000;
- Процесс_Соединения = Новый Соединения(Кластер_Агент, Кластер_Владелец, ЭтотОбъект);
- Процесс_Лицензии = Новый ОбъектыКластера(ЭтотОбъект);
+ Процесс_Соединения = Новый Соединения(Кластер_Агент, Кластер_Владелец, ЭтотОбъект);
+ Процесс_Лицензии = Новый ОбъектыКластера(ЭтотОбъект);
КонецПроцедуры // ПриСозданииОбъекта()
@@ -53,9 +64,9 @@
// и сохраняет в локальных переменных
//
// Параметры:
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
-// - Ложь - данные будут получены если истекло время актуальности
-// или данные не были получены ранее
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// - Ложь - данные будут получены если истекло время актуальности
+// или данные не были получены ранее
//
Процедура ОбновитьДанные(ОбновитьПринудительно = Ложь) Экспорт
@@ -75,7 +86,7 @@
// Процедура получает данные рабочего процесса от сервиса администрирования кластера 1С
// и сохраняет в локальных переменных
//
-Процедура ОбновитьДанныеПроцесса() Экспорт
+Процедура ОбновитьДанныеПроцесса()
ПараметрыКоманды = Новый Соответствие();
ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения());
@@ -88,9 +99,9 @@
КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("Описание"));
Если НЕ КодВозврата = 0 Тогда
- ВызватьИсключение СтрШаблон("Ошибка получения описание рабочего процесса, КодВозврата = %1: %2",
- КодВозврата,
- Кластер_Агент.ВыводКоманды(Ложь));
+ ВызватьИсключение СтрШаблон("Ошибка получения описания рабочего процесса, КодВозврата = %1: %2",
+ КодВозврата,
+ Кластер_Агент.ВыводКоманды(Ложь));
КонецЕсли;
МассивРезультатов = Кластер_Агент.ВыводКоманды();
@@ -106,7 +117,7 @@
// Процедура заполняет параметры рабочего процесса кластера 1С
//
// Параметры:
-// ДанныеЗаполнения - Соответствие - данные, из которых будут заполнены параметры рабочего процесса
+// ДанныеЗаполнения - Соответствие - данные, из которых будут заполнены параметры рабочего процесса
//
Процедура ЗаполнитьПараметрыПроцесса(ДанныеЗаполнения)
@@ -120,37 +131,42 @@
// Процедура получает данные лицензий, выданных рабочим процессом
// и сохраняет в локальных переменных
//
-Процедура ОбновитьДанныеЛицензий() Экспорт
+Процедура ОбновитьДанныеЛицензий()
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Кластер_Агент.СтрокаПодключения());
-
- ПараметрыЗапуска.Добавить("process");
- ПараметрыЗапуска.Добавить("info");
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_Владелец.СтрокаАвторизации());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид());
+ ПараметрыКоманды.Вставить("ИдентификаторПроцесса" , Ид());
+
+ ПараметрыЛицензий.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды);
- ПараметрыЗапуска.Добавить("--licenses");
+ КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыЛицензий.ПараметрыКоманды("Описание"));
- ПараметрыЗапуска.Добавить(СтрШаблон("--process=%1", Ид()));
+ Если НЕ КодВозврата = 0 Тогда
+ ВызватьИсключение СтрШаблон("Ошибка получения описания лицензий рабочего процесса, КодВозврата = %1: %2",
+ КодВозврата,
+ Кластер_Агент.ВыводКоманды(Ложь));
+ КонецЕсли;
+
+ МассивРезультатов = Кластер_Агент.ВыводКоманды();
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Владелец.Ид()));
- ПараметрыЗапуска.Добавить(Кластер_Владелец.СтрокаАвторизации());
+ Процесс_Лицензии.Заполнить(МассивРезультатов);
- Кластер_Агент.ВыполнитьКоманду(ПараметрыЗапуска);
-
- Процесс_Лицензии.Заполнить(Кластер_Агент.ВыводКоманды());
+ Процесс_Лицензии.УстановитьАктуальность();
КонецПроцедуры // ОбновитьДанныеЛицензий()
// Функция возвращает коллекцию параметров объекта
//
// Параметры:
-// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
-// в качестве ключа возвращаемого соответствия
+// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
+// в качестве ключа возвращаемого соответствия
//
// Возвращаемое значение:
-// Соответствие - коллекция параметров объекта, для получения/изменения значений
+// Соответствие - коллекция параметров объекта, для получения/изменения значений
//
-Функция ПараметрыОбъекта(ИмяПоляКлюча = "ИмяПараметра") Экспорт
+Функция ПараметрыОбъекта(ИмяПоляКлюча = "Имя") Экспорт
Возврат ПараметрыОбъекта.ОписаниеСвойств(ИмяПоляКлюча);
@@ -159,7 +175,7 @@
// Функция возвращает идентификатор рабочего процесса 1С
//
// Возвращаемое значение:
-// Строка - идентификатор рабочего процесса 1С
+// Строка - идентификатор рабочего процесса 1С
//
Функция Ид() Экспорт
@@ -170,7 +186,7 @@
// Функция возвращает адрес сервера рабочего процесса 1С
//
// Возвращаемое значение:
-// Строка - адрес сервера рабочего процесса 1С
+// Строка - адрес сервера рабочего процесса 1С
//
Функция АдресСервера() Экспорт
@@ -179,13 +195,13 @@
КонецЕсли;
Возврат Процесс_АдресСервера;
-
+
КонецФункции // АдресСервера()
// Функция возвращает порт рабочего процесса 1С
//
// Возвращаемое значение:
-// Строка - порт рабочего процесса 1С
+// Строка - порт рабочего процесса 1С
//
Функция ПортСервера() Экспорт
@@ -194,17 +210,17 @@
КонецЕсли;
Возврат Процесс_ПортСервера;
-
+
КонецФункции // ПортСервера()
// Функция возвращает значение параметра рабочего процесса 1С
//
// Параметры:
-// ИмяПоля - Строка - Имя параметра рабочего процесса
-// ОбновитьПринудительно - Булево - Истина - обновить список (вызов RAC)
+// ИмяПоля - Строка - Имя параметра рабочего процесса
+// ОбновитьПринудительно - Булево - Истина - обновить список (вызов RAC)
//
// Возвращаемое значение:
-// Произвольный - значение параметра рабочего процесса 1С
+// Произвольный - значение параметра рабочего процесса 1С
//
Функция Получить(ИмяПоля, ОбновитьПринудительно = Ложь) Экспорт
@@ -212,31 +228,35 @@
Если НЕ Найти(ВРег("Ид, process"), ВРег(ИмяПоля)) = 0 Тогда
Возврат Процесс_Ид;
- ИначеЕсли НЕ Найти(ВРег("АдресСервера, host"), ВРег(ИмяПоля)) = 0 Тогда
+ КонецЕсли;
+
+ Если НЕ Найти(ВРег("АдресСервера, host"), ВРег(ИмяПоля)) = 0 Тогда
Возврат Процесс_АдресСервера;
- ИначеЕсли НЕ Найти(ВРег("ПортСервера, port"), ВРег(ИмяПоля)) = 0 Тогда
+ КонецЕсли;
+
+ Если НЕ Найти(ВРег("ПортСервера, port"), ВРег(ИмяПоля)) = 0 Тогда
Возврат Процесс_ПортСервера;
КонецЕсли;
ЗначениеПоля = Процесс_Параметры.Получить(ИмяПоля);
Если ЗначениеПоля = Неопределено Тогда
-
- ОписаниеПараметра = ПараметрыОбъекта("ИмяПоляРАК").Получить(ИмяПоля);
+
+ ОписаниеПараметра = ПараметрыОбъекта("ИмяРАК").Получить(ИмяПоля);
Если НЕ ОписаниеПараметра = Неопределено Тогда
- ЗначениеПоля = Процесс_Параметры.Получить(ОписаниеПараметра["ИмяПараметра"]);
+ ЗначениеПоля = Процесс_Параметры.Получить(ОписаниеПараметра["Имя"]);
КонецЕсли;
КонецЕсли;
Возврат ЗначениеПоля;
-
+
КонецФункции // Получить()
// Функция возвращает список соединений рабочего процесса 1С
//
// Возвращаемое значение:
-// Соединения - список соединений рабочего процесса 1С
+// Соединения - список соединений рабочего процесса 1С
//
Функция Соединения() Экспорт
@@ -247,16 +267,16 @@
// Функция возвращает список лицензий, выданных рабочим процессом 1С
//
// Возвращаемое значение:
-// ОбъектыКластера - список лицензий, выданных рабочим процессом 1С
+// ОбъектыКластера - список лицензий, выданных рабочим процессом 1С
//
Функция Лицензии() Экспорт
Если Служебный.ТребуетсяОбновление(Процесс_Лицензии, МоментАктуальности, ПериодОбновления) Тогда
- ОбновитьДанные(Истина);
+ ОбновитьДанныеЛицензий();
КонецЕсли;
Возврат Процесс_Лицензии;
КонецФункции // Лицензии()
-Лог = Логирование.ПолучитьЛог("ktb.lib.irac");
+Лог = Логирование.ПолучитьЛог("oscript.lib.irac");
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 e057f23..f325c4e 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"
@@ -1,4 +1,13 @@
-Перем Сеанс_Ид; // session
+// ----------------------------------------------------------
+// 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/
+// ----------------------------------------------------------
+
+Перем Сеанс_Ид; // session
Перем Сеанс_Параметры;
Перем Сеанс_Лицензии;
@@ -7,6 +16,7 @@
Перем ИБ_Владелец;
Перем ПараметрыОбъекта;
+Перем ПараметрыЛицензий;
Перем ПериодОбновления;
Перем МоментАктуальности;
@@ -27,7 +37,8 @@
Возврат;
КонецЕсли;
- ПараметрыОбъекта = Новый ПараметрыОбъекта("session");
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.Сеансы);
+ ПараметрыЛицензий = Новый КомандыОбъекта("session.license");
Кластер_Агент = АгентКластера;
Кластер_Владелец = Кластер;
@@ -44,7 +55,7 @@
ПериодОбновления = 60000;
- Сеанс_Лицензии = Новый ОбъектыКластера(ЭтотОбъект);
+ Сеанс_Лицензии = Новый ОбъектыКластера(ЭтотОбъект);
КонецПроцедуры // ПриСозданииОбъекта()
@@ -52,9 +63,9 @@
// и сохраняет в локальных переменных
//
// Параметры:
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
-// - Ложь - данные будут получены если истекло время актуальности
-// или данные не были получены ранее
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// - Ложь - данные будут получены если истекло время актуальности
+// или данные не были получены ранее
//
Процедура ОбновитьДанные(ОбновитьПринудительно = Ложь) Экспорт
@@ -76,18 +87,21 @@
//
Процедура ОбновитьДанныеСеанса() Экспорт
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Кластер_Агент.СтрокаПодключения());
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера" , Кластер_Владелец.СтрокаАвторизации());
+ ПараметрыКоманды.Вставить("ИдентификаторСеанса" , Ид());
- ПараметрыЗапуска.Добавить("session");
- ПараметрыЗапуска.Добавить("info");
+ ПараметрыОбъекта.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды);
- ПараметрыЗапуска.Добавить(СтрШаблон("--session=%1", Сеанс_Ид));
+ КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("Описание"));
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Владелец.Ид()));
- ПараметрыЗапуска.Добавить(Кластер_Владелец.СтрокаАвторизации());
-
- Кластер_Агент.ВыполнитьКоманду(ПараметрыЗапуска);
+ Если НЕ КодВозврата = 0 Тогда
+ ВызватьИсключение СтрШаблон("Ошибка получения описания сеанса, КодВозврата = %1: %2",
+ КодВозврата,
+ Кластер_Агент.ВыводКоманды(Ложь));
+ КонецЕсли;
МассивРезультатов = Кластер_Агент.ВыводКоманды();
@@ -104,44 +118,49 @@
//
Процедура ОбновитьДанныеЛицензий() Экспорт
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Кластер_Агент.СтрокаПодключения());
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_Владелец.СтрокаАвторизации());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид());
+ ПараметрыКоманды.Вставить("ИдентификаторСеанса" , Ид());
+
+ ПараметрыЛицензий.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды);
- ПараметрыЗапуска.Добавить("session");
- ПараметрыЗапуска.Добавить("info");
+ КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыЛицензий.ПараметрыКоманды("Описание"));
- ПараметрыЗапуска.Добавить("--licenses");
+ Если НЕ КодВозврата = 0 Тогда
+ ВызватьИсключение СтрШаблон("Ошибка получения описания лицензий сеанса, КодВозврата = %1: %2",
+ КодВозврата,
+ Кластер_Агент.ВыводКоманды(Ложь));
+ КонецЕсли;
+
+ МассивРезультатов = Кластер_Агент.ВыводКоманды();
- ПараметрыЗапуска.Добавить(СтрШаблон("--session=%1", Сеанс_Ид));
+ Сеанс_Лицензии.Заполнить(МассивРезультатов);
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Владелец.Ид()));
- ПараметрыЗапуска.Добавить(Кластер_Владелец.СтрокаАвторизации());
-
- Кластер_Агент.ВыполнитьКоманду(ПараметрыЗапуска);
-
- Сеанс_Лицензии.Заполнить(Кластер_Агент.ВыводКоманды());
+ Сеанс_Лицензии.УстановитьАктуальность();
КонецПроцедуры // ОбновитьДанныеЛицензий()
// Функция возвращает коллекцию параметров объекта
//
// Параметры:
-// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
-// в качестве ключа возвращаемого соответствия
+// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
+// в качестве ключа возвращаемого соответствия
//
// Возвращаемое значение:
-// Соответствие - коллекция параметров объекта, для получения/изменения значений
+// Соответствие - коллекция параметров объекта, для получения/изменения значений
//
-Функция ПараметрыОбъекта(ИмяПоляКлюча = "ИмяПараметра") Экспорт
+Функция ПараметрыОбъекта(ИмяПоляКлюча = "Имя") Экспорт
- Возврат ПараметрыОбъекта.Получить(ИмяПоляКлюча);
+ Возврат ПараметрыОбъекта.ОписаниеСвойств(ИмяПоляКлюча);
КонецФункции // ПараметрыОбъекта()
// Функция возвращает идентификатор сеанса 1С
//
// Возвращаемое значение:
-// Строка - идентификатор сеанса 1С
+// Строка - идентификатор сеанса 1С
//
Функция Ид() Экспорт
@@ -152,44 +171,44 @@
// Функция возвращает значение параметра сеанса 1С
//
// Параметры:
-// ИмяПоля - Строка - Имя параметра сеанса
-// ОбновитьПринудительно - Булево - Истина - обновить список (вызов RAC)
+// ИмяПоля - Строка - Имя параметра сеанса
+// ОбновитьПринудительно - Булево - Истина - обновить список (вызов RAC)
//
// Возвращаемое значение:
-// Произвольный - значение параметра сеанса 1С
+// Произвольный - значение параметра сеанса 1С
//
Функция Получить(ИмяПоля, ОбновитьПринудительно = Ложь) Экспорт
ОбновитьДанные(ОбновитьПринудительно);
- Если НЕ Найти(ВРег("Ид, process"), ВРег(ИмяПоля)) = 0 Тогда
+ Если НЕ Найти(ВРег("Ид, session"), ВРег(ИмяПоля)) = 0 Тогда
Возврат Сеанс_Ид;
КонецЕсли;
ЗначениеПоля = Сеанс_Параметры.Получить(ИмяПоля);
Если ЗначениеПоля = Неопределено Тогда
-
- ОписаниеПараметра = ПараметрыОбъекта("ИмяПоляРАК").Получить(ИмяПоля);
+
+ ОписаниеПараметра = ПараметрыОбъекта("ИмяРАК").Получить(ИмяПоля);
Если НЕ ОписаниеПараметра = Неопределено Тогда
- ЗначениеПоля = Сеанс_Параметры.Получить(ОписаниеПараметра["ИмяПараметра"]);
+ ЗначениеПоля = Сеанс_Параметры.Получить(ОписаниеПараметра["Имя"]);
КонецЕсли;
КонецЕсли;
Возврат ЗначениеПоля;
-
+
КонецФункции // Получить()
// Функция возвращает список лицензий, выданных сеансу 1С
//
// Возвращаемое значение:
-// ОбъектыКластера - список лицензий, выданных сеансу 1С
+// ОбъектыКластера - список лицензий, выданных сеансу 1С
//
Функция Лицензии() Экспорт
Если Служебный.ТребуетсяОбновление(Сеанс_Лицензии, МоментАктуальности, ПериодОбновления) Тогда
- ОбновитьДанные(Истина);
+ ОбновитьДанныеЛицензий();
КонецЕсли;
Возврат Сеанс_Лицензии;
@@ -200,23 +219,25 @@
//
Процедура Завершить() Экспорт
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Кластер_Агент.СтрокаПодключения());
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_Владелец.СтрокаАвторизации());
+
+ ПараметрыКоманды.Вставить("ИдентификаторСеанса" , Ид());
- ПараметрыЗапуска.Добавить("session");
- ПараметрыЗапуска.Добавить("terminate");
+ ПараметрыОбъекта.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды);
- ПараметрыЗапуска.Добавить(СтрШаблон("--session=%1", Ид()));
+ КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("Удалить"));
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Владелец.Ид()));
- ПараметрыЗапуска.Добавить(Кластер_Владелец.СтрокаАвторизации());
-
- Кластер_Агент.ВыполнитьКоманду(ПараметрыЗапуска);
+ Если НЕ КодВозврата = 0 Тогда
+ ВызватьИсключение СтрШаблон("Ошибка завершения сеанса ""%1"": %2",
+ Ид(),
+ Кластер_Агент.ВыводКоманды(Ложь));
+ КонецЕсли;
Лог.Отладка(Кластер_Агент.ВыводКоманды(Ложь));
- ОбновитьДанные(Истина);
-
КонецПроцедуры // Завершить()
-Лог = Логирование.ПолучитьЛог("ktb.lib.irac");
+Лог = Логирование.ПолучитьЛог("oscript.lib.irac");
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 5107c1d..fd2767a 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"
@@ -1,3 +1,12 @@
+// ----------------------------------------------------------
+// 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/
+// ----------------------------------------------------------
+
Перем Кластер_Агент;
Перем Кластер_Владелец;
Перем ИБ_Владелец;
@@ -9,9 +18,9 @@
// Конструктор
//
// Параметры:
-// АгентКластера - АгентКластера - ссылка на родительский объект агента кластера
-// Кластер - Кластер - ссылка на родительский объект кластера
-// ИБ - ИнформационнаяБаза - ссылка на родительский объект информационной базы
+// АгентКластера - АгентКластера - ссылка на родительский объект агента кластера
+// Кластер - Кластер - ссылка на родительский объект кластера
+// ИБ - ИнформационнаяБаза - ссылка на родительский объект информационной базы
//
Процедура ПриСозданииОбъекта(АгентКластера, Кластер, ИБ = Неопределено)
@@ -19,7 +28,7 @@
Кластер_Владелец = Кластер;
ИБ_Владелец = ИБ;
- ПараметрыОбъекта = Новый ПараметрыОбъекта("session");
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.Сеансы);
Элементы = Новый ОбъектыКластера(ЭтотОбъект);
@@ -29,9 +38,9 @@
// и сохраняет в локальных переменных
//
// Параметры:
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
-// - Ложь - данные будут получены если истекло время актуальности
-// или данные не были получены ранее
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// - Ложь - данные будут получены если истекло время актуальности
+// или данные не были получены ранее
//
Процедура ОбновитьДанные(ОбновитьПринудительно = Ложь) Экспорт
@@ -39,29 +48,33 @@
Возврат;
КонецЕсли;
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Кластер_Агент.СтрокаПодключения());
-
- ПараметрыЗапуска.Добавить("session");
- ПараметрыЗапуска.Добавить("list");
-
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Владелец.Ид()));
- ПараметрыЗапуска.Добавить(Кластер_Владелец.СтрокаАвторизации());
-
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_Владелец.СтрокаАвторизации());
+
Если НЕ ИБ_Владелец = Неопределено Тогда
- ПараметрыЗапуска.Добавить(СтрШаблон("--infobase=%1", ИБ_Владелец.Ид()));
+ ПараметрыКоманды.Вставить("ИдентификаторИБ", ИБ_Владелец.Ид());
КонецЕсли;
- Кластер_Агент.ВыполнитьКоманду(ПараметрыЗапуска);
+ ПараметрыОбъекта.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды);
+
+ КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("Список"));
+
+ Если НЕ КодВозврата = 0 Тогда
+ ВызватьИсключение СтрШаблон("Ошибка получения списка сеансов, КодВозврата = %1: %2",
+ КодВозврата,
+ Кластер_Агент.ВыводКоманды(Ложь));
+ КонецЕсли;
МассивРезультатов = Кластер_Агент.ВыводКоманды();
- МассивПроцессов = Новый Массив();
+ МассивСеансов = Новый Массив();
Для Каждого ТекОписание Из МассивРезультатов Цикл
- МассивПроцессов.Добавить(Новый Сеанс(Кластер_Агент, Кластер_Владелец, ИБ_Владелец, ТекОписание));
+ МассивСеансов.Добавить(Новый Сеанс(Кластер_Агент, Кластер_Владелец, ИБ_Владелец, ТекОписание));
КонецЦикла;
- Элементы.Заполнить(МассивПроцессов);
+ Элементы.Заполнить(МассивСеансов);
Элементы.УстановитьАктуальность();
@@ -70,26 +83,26 @@
// Функция возвращает коллекцию параметров объекта
//
// Параметры:
-// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
-// в качестве ключа возвращаемого соответствия
+// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
+// в качестве ключа возвращаемого соответствия
//
// Возвращаемое значение:
-// Соответствие - коллекция параметров объекта, для получения/изменения значений
+// Соответствие - коллекция параметров объекта, для получения/изменения значений
//
-Функция ПараметрыОбъекта(ИмяПоляКлюча = "ИмяПараметра") Экспорт
+Функция ПараметрыОбъекта(ИмяПоляКлюча = "Имя") Экспорт
- Возврат ПараметрыОбъекта.Получить(ИмяПоляКлюча);
+ Возврат ПараметрыОбъекта.ОписаниеСвойств(ИмяПоляКлюча);
КонецФункции // ПараметрыОбъекта()
// Функция возвращает список сеансов
//
// Параметры:
-// Отбор - Структура - Структура отбора сеансов (<поле>:<значение>)
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// Отбор - Структура - Структура отбора сеансов (<поле>:<значение>)
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
//
// Возвращаемое значение:
-// Массив - список сеансов
+// Массив - список сеансов
//
Функция Список(Отбор = Неопределено, ОбновитьПринудительно = Ложь) Экспорт
@@ -102,11 +115,11 @@
// Функция возвращает список сеансов
//
// Параметры:
-// ПоляИерархии - Строка - Поля для построения иерархии списка сеансов, разделенные ","
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// ПоляИерархии - Строка - Поля для построения иерархии списка сеансов, разделенные ","
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
//
// Возвращаемое значение:
-// Соответствие - список сеансов
+// Соответствие - список сеансов
//
Функция ИерархическийСписок(Знач ПоляИерархии, ОбновитьПринудительно = Ложь) Экспорт
@@ -119,7 +132,7 @@
// Функция возвращает количество сеансов в списке
//
// Возвращаемое значение:
-// Число - количество сеансов
+// Число - количество сеансов
//
Функция Количество() Экспорт
@@ -134,11 +147,11 @@
// Функция возвращает описание сеанса кластера 1С
//
// Параметры:
-// Сеанс - Строка - Номер сеанса в виде <имя информационной базы>:<номер сеанса>
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// Сеанс - Строка - Номер сеанса в виде <имя информационной базы>:<номер сеанса>
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
//
// Возвращаемое значение:
-// Соответствие - описание сеанса 1С
+// Соответствие - описание сеанса 1С
//
Функция Получить(Знач Сеанс, Знач ОбновитьПринудительно = Ложь) Экспорт
@@ -169,4 +182,21 @@
КонецФункции // Получить()
-Лог = Логирование.ПолучитьЛог("ktb.lib.irac");
+// Процедура удаляет сеанс
+//
+// Параметры:
+// Сеанс - Сеанс, Строка - Сеанс или номер сеанса в виде <имя информационной базы>:<номер сеанса>
+//
+Процедура Удалить(Знач Сеанс) Экспорт
+
+ Если ТипЗнч(Сеанс) = Тип("Строка") Тогда
+ Сеанс = Получить(Сеанс);
+ КонецЕсли;
+
+ Сеанс.Завершить();
+
+ ОбновитьДанные(Истина);
+
+КонецПроцедуры // Удалить()
+
+Лог = Логирование.ПолучитьЛог("oscript.lib.irac");
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.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.os"
index a421be2..53339a1 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.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.os"
@@ -1,7 +1,16 @@
-Перем Сервер_Ид; // server
-Перем Сервер_Имя; // name
-Перем Сервер_АдресАгента; // agent-host
-Перем Сервер_ПортАгента; // agent-port
+// ----------------------------------------------------------
+// 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/
+// ----------------------------------------------------------
+
+Перем Сервер_Ид; // server
+Перем Сервер_Имя; // name
+Перем Сервер_АдресАгента; // agent-host
+Перем Сервер_ПортАгента; // agent-port
Перем Сервер_Параметры;
Перем Сервер_НазначенияФункциональности;
@@ -29,7 +38,7 @@
Возврат;
КонецЕсли;
- ПараметрыОбъекта = Новый КомандыОбъекта("server");
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.Серверы);
Кластер_Агент = АгентКластера;
Кластер_Владелец = Кластер;
@@ -53,9 +62,9 @@
// и сохраняет в локальных переменных
//
// Параметры:
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
-// - Ложь - данные будут получены если истекло время актуальности
-// или данные не были получены ранее
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// - Ложь - данные будут получены если истекло время актуальности
+// или данные не были получены ранее
//
Процедура ОбновитьДанные(ОбновитьПринудительно = Ложь) Экспорт
@@ -76,8 +85,8 @@
Если НЕ КодВозврата = 0 Тогда
ВызватьИсключение СтрШаблон("Ошибка получения описание сервера, КодВозврата = %1: %2",
- КодВозврата,
- Кластер_Агент.ВыводКоманды(Ложь));
+ КодВозврата,
+ Кластер_Агент.ВыводКоманды(Ложь));
КонецЕсли;
МассивРезультатов = Кластер_Агент.ВыводКоманды();
@@ -95,7 +104,7 @@
// Процедура заполняет параметры сервера кластера 1С
//
// Параметры:
-// ДанныеЗаполнения - Соответствие - данные, из которых будут заполнены параметры сервера
+// ДанныеЗаполнения - Соответствие - данные, из которых будут заполнены параметры сервера
//
Процедура ЗаполнитьПараметрыСервера(ДанныеЗаполнения)
@@ -110,13 +119,13 @@
// Функция возвращает коллекцию параметров объекта
//
// Параметры:
-// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
-// в качестве ключа возвращаемого соответствия
+// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
+// в качестве ключа возвращаемого соответствия
//
// Возвращаемое значение:
-// Соответствие - коллекция параметров объекта, для получения/изменения значений
+// Соответствие - коллекция параметров объекта, для получения/изменения значений
//
-Функция ПараметрыОбъекта(ИмяПоляКлюча = "ИмяПараметра") Экспорт
+Функция ПараметрыОбъекта(ИмяПоляКлюча = "Имя") Экспорт
Возврат ПараметрыОбъекта.ОписаниеСвойств(ИмяПоляКлюча);
@@ -125,7 +134,7 @@
// Функция возвращает идентификатор сервера 1С
//
// Возвращаемое значение:
-// Строка - идентификатор сервера 1С
+// Строка - идентификатор сервера 1С
//
Функция Ид() Экспорт
@@ -136,7 +145,7 @@
// Функция возвращает имя сервера 1С
//
// Возвращаемое значение:
-// Строка - имя сервера 1С
+// Строка - имя сервера 1С
//
Функция Имя() Экспорт
@@ -151,7 +160,7 @@
// Функция возвращает адрес сервера 1С
//
// Возвращаемое значение:
-// Строка - адрес сервера 1С
+// Строка - адрес сервера 1С
//
Функция АдресСервера() Экспорт
@@ -160,13 +169,13 @@
КонецЕсли;
Возврат Сервер_АдресАгента;
-
+
КонецФункции // АдресСервера()
// Функция возвращает порт сервера 1С
//
// Возвращаемое значение:
-// Строка - порт сервера 1С
+// Строка - порт сервера 1С
//
Функция ПортСервера() Экспорт
@@ -175,13 +184,13 @@
КонецЕсли;
Возврат Сервер_ПортАгента;
-
+
КонецФункции // ПортСервера()
// Функция возвращает список требований назначения функциональности сервера 1С
//
// Возвращаемое значение:
-// НазначенияФункциональности - список требований назначения функциональности сервера 1С
+// НазначенияФункциональности - список требований назначения функциональности сервера 1С
//
Функция НазначенияФункциональности() Экспорт
@@ -190,17 +199,17 @@
КонецЕсли;
Возврат Сервер_НазначенияФункциональности;
-
+
КонецФункции // НазначенияФункциональности()
// Функция возвращает значение параметра кластера 1С
//
// Параметры:
-// ИмяПоля - Строка - Имя параметра кластера
-// ОбновитьПринудительно - Булево - Истина - обновить список (вызов RAC)
+// ИмяПоля - Строка - Имя параметра кластера
+// ОбновитьПринудительно - Булево - Истина - обновить список (вызов RAC)
//
// Возвращаемое значение:
-// Произвольный - значение параметра кластера 1С
+// Произвольный - значение параметра кластера 1С
//
Функция Получить(ИмяПоля, ОбновитьПринудительно = Ложь) Экспорт
@@ -219,22 +228,22 @@
ЗначениеПоля = Сервер_Параметры.Получить(ИмяПоля);
Если ЗначениеПоля = Неопределено Тогда
-
- ОписаниеПараметра = ПараметрыОбъекта("ИмяПоляРАК").Получить(ИмяПоля);
+
+ ОписаниеПараметра = ПараметрыОбъекта("ИмяРАК").Получить(ИмяПоля);
Если НЕ ОписаниеПараметра = Неопределено Тогда
- ЗначениеПоля = Сервер_Параметры.Получить(ОписаниеПараметра["ИмяПараметра"]);
+ ЗначениеПоля = Сервер_Параметры.Получить(ОписаниеПараметра["Имя"]);
КонецЕсли;
КонецЕсли;
Возврат ЗначениеПоля;
-
+
КонецФункции // Получить()
// Процедура изменяет параметры сервера
//
// Параметры:
-// ПараметрыСервера - Структура - новые параметры сервера
+// ПараметрыСервера - Структура - новые параметры сервера
//
Процедура Изменить(Знач ПараметрыСервера = Неопределено) Экспорт
@@ -258,8 +267,8 @@
Если НЕ КодВозврата = 0 Тогда
ВызватьИсключение СтрШаблон("Ошибка изменения параметров сервера, КодВозврата = %1: %2",
- Имя(),
- Кластер_Агент.ВыводКоманды(Ложь));
+ Имя(),
+ Кластер_Агент.ВыводКоманды(Ложь));
КонецЕсли;
Лог.Отладка(Кластер_Агент.ВыводКоманды(Ложь));
@@ -268,4 +277,4 @@
КонецПроцедуры // Изменить()
-Лог = Логирование.ПолучитьЛог("ktb.lib.irac");
+Лог = Логирование.ПолучитьЛог("oscript.lib.irac");
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\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\241\320\265\321\200\320\262\320\265\321\200\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"
deleted file mode 100644
index 3419304..0000000
--- "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\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"
+++ /dev/null
@@ -1,227 +0,0 @@
-Перем Кластер_Агент;
-Перем Кластер_Владелец;
-Перем Сервер_Владелец;
-Перем ПараметрыОбъекта;
-Перем Элементы;
-
-Перем Лог;
-
-// Конструктор
-//
-// Параметры:
-// АгентКластера - АгентКластера - ссылка на родительский объект агента кластера
-// Кластер - Кластер - ссылка на родительский объект кластера
-// Сервер - Сервер - ссылка на родительский объект сервера кластера
-//
-Процедура ПриСозданииОбъекта(АгентКластера, Кластер, Сервер)
-
- Кластер_Агент = АгентКластера;
- Кластер_Владелец = Кластер;
- Сервер_Владелец = Сервер;
-
- ПараметрыОбъекта = Новый ПараметрыОбъекта("rule");
-
- Элементы = Новый ОбъектыКластера(ЭтотОбъект);
-
-КонецПроцедуры // ПриСозданииОбъекта()
-
-// Процедура получает данные от сервиса администрирования кластера 1С
-// и сохраняет в локальных переменных
-//
-// Параметры:
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
-// - Ложь - данные будут получены если истекло время актуальности
-// или данные не были получены ранее
-//
-Процедура ОбновитьДанные(ОбновитьПринудительно = Ложь) Экспорт
-
- Если НЕ Элементы.ТребуетсяОбновление(ОбновитьПринудительно) Тогда
- Возврат;
- КонецЕсли;
-
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Кластер_Агент.СтрокаПодключения());
-
- ПараметрыЗапуска.Добавить("rule");
- ПараметрыЗапуска.Добавить("list");
-
- ПараметрыЗапуска.Добавить(СтрШаблон("--server=%1", Сервер_Владелец.Ид()));
-
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Владелец.Ид()));
- ПараметрыЗапуска.Добавить(Кластер_Владелец.СтрокаАвторизации());
-
- Кластер_Агент.ВыполнитьКоманду(ПараметрыЗапуска);
-
- МассивРезультатов = Кластер_Агент.ВыводКоманды();
-
- МассивНазначений = Новый Массив();
- Для Каждого ТекОписание Из МассивРезультатов Цикл
- МассивНазначений.Добавить(Новый НазначениеФункциональности(Кластер_Агент,
- Кластер_Владелец,
- Сервер_Владелец,
- ТекОписание));
- КонецЦикла;
-
- Элементы.Заполнить(МассивНазначений);
-
- Элементы.УстановитьАктуальность();
-
-КонецПроцедуры // ОбновитьДанные()
-
-// Функция возвращает коллекцию параметров объекта
-//
-// Параметры:
-// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
-// в качестве ключа возвращаемого соответствия
-//
-// Возвращаемое значение:
-// Соответствие - коллекция параметров объекта, для получения/изменения значений
-//
-Функция ПараметрыОбъекта(ИмяПоляКлюча = "ИмяПараметра") Экспорт
-
- Возврат ПараметрыОбъекта.Получить(ИмяПоляКлюча);
-
-КонецФункции // ПараметрыОбъекта()
-
-// Функция возвращает список требований назначения функциональности сервера 1С
-//
-// Параметры:
-// Отбор - Структура - Структура отбора требований
-// назначения функциональности (<поле>:<значение>)
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
-//
-// Возвращаемое значение:
-// Массив - список требований назначения функциональности сервера 1С
-//
-Функция Список(Отбор = Неопределено, ОбновитьПринудительно = Ложь) Экспорт
-
- СписокНазначений = Элементы.Список(Отбор, ОбновитьПринудительно);
-
- Возврат СписокНазначений;
-
-КонецФункции // Список()
-
-// Функция возвращает список требований назначения функциональности сервера 1С
-//
-// Параметры:
-// ПоляИерархии - Строка - Поля для построения иерархии списка требований
-// назначения функциональности, разделенные ","
-// ОбновитьПринудительно - Булево - Истина - обновить список (вызов RAC)
-//
-// Возвращаемое значение:
-// Соответствие - список требований назначения функциональности сервера 1С
-// <имя поля объекта> - Массив(Соответствие), Соответствие - список требований назначения функциональности
-// или следующий уровень
-//
-Функция ИерархическийСписок(Знач ПоляИерархии, ОбновитьПринудительно = Ложь) Экспорт
-
- СписокКластеров = Элементы.ИерархическийСписок(ПоляИерархии, ОбновитьПринудительно);
-
- Возврат СписокКластеров;
-
-КонецФункции // ИерархическийСписок()
-
-// Функция возвращает количество требований назначения функциональности в списке
-//
-// Возвращаемое значение:
-// Число - количество требований назначения функциональности
-//
-Функция Количество() Экспорт
-
- Если Элементы = Неопределено Тогда
- Возврат 0;
- КонецЕсли;
-
- Возврат Элементы.Количество();
-
-КонецФункции // Количество()
-
-// Функция возвращает описание требования назначения функциональности сервера 1С
-//
-// Параметры:
-// Ид - Строка - Идентификатор требований назначения функциональности
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
-//
-// Возвращаемое значение:
-// Соответствие - описание требования назначения функциональности сервера 1С
-//
-Функция Получить(Знач Ид, Знач ОбновитьПринудительно = Ложь) Экспорт
-
- Отбор = Новый Соответствие();
- Отбор.Вставить("rule", Ид);
-
- СписокТребований = Элементы.Список(Отбор, ОбновитьПринудительно);
-
- Если СписокТребований.Количество() = 0 Тогда
- Возврат Неопределено;
- КонецЕсли;
-
- Возврат СписокТребований[0];
-
-КонецФункции // Получить()
-
-// Процедура добавляет новое требование назначения функциональности для сервера 1С
-//
-// Параметры:
-// Позиция - Число - позиция требования назначения функциональности в списке (начиная с 0)
-// ПараметрыТребования - Структура - параметры сервера 1С
-//
-Процедура Добавить(Позиция, ПараметрыТребования = Неопределено) Экспорт
-
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Кластер_Агент.СтрокаПодключения());
-
- ПараметрыЗапуска.Добавить("rule");
- ПараметрыЗапуска.Добавить("insert");
-
- ПараметрыЗапуска.Добавить(СтрШаблон("--server=%1", Сервер_Владелец.Ид()));
-
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Владелец.Ид()));
- ПараметрыЗапуска.Добавить(Кластер_Владелец.СтрокаАвторизации());
-
- ПараметрыЗапуска.Добавить(СтрШаблон("--position=%1", Позиция));
-
- ВремПараметры = ПараметрыОбъекта();
-
- Для Каждого ТекЭлемент Из ВремПараметры Цикл
- ЗначениеПараметра = Служебный.ПолучитьЗначениеИзСтруктуры(ПараметрыТребования, ТекЭлемент.Ключ, 0);
- ПараметрыЗапуска.Добавить(СтрШаблон(ТекЭлемент.Значение.ПараметрКоманды + "=%1", ЗначениеПараметра));
- КонецЦикла;
-
- Кластер_Агент.ВыполнитьКоманду(ПараметрыЗапуска);
-
- Лог.Отладка(Кластер_Агент.ВыводКоманды(Ложь));
-
- ОбновитьДанные(Истина);
-
-КонецПроцедуры // Добавить()
-
-// Процедура удаляет требование назначения функциональности для сервера 1С
-//
-// Параметры:
-// Ид - Строка - Идентификатор требования назначения функциональности
-//
-Процедура Удалить(Ид) Экспорт
-
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Кластер_Агент.СтрокаПодключения());
-
- ПараметрыЗапуска.Добавить("rule");
- ПараметрыЗапуска.Добавить("remove");
-
- ПараметрыЗапуска.Добавить(СтрШаблон("--rule=%1", Ид));
-
- ПараметрыЗапуска.Добавить(СтрШаблон("--server=%1", Сервер_Владелец.Ид()));
-
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Владелец.Ид()));
- ПараметрыЗапуска.Добавить(Кластер_Владелец.СтрокаАвторизации());
-
- Кластер_Агент.ВыполнитьКоманду(ПараметрыЗапуска);
-
- Лог.Отладка(Кластер_Агент.ВыводКоманды(Ложь));
-
- ОбновитьДанные(Истина);
-
-КонецПроцедуры // Удалить()
-
-Лог = Логирование.ПолучитьЛог("ktb.lib.irac");
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\320\241\320\265\321\200\320\262\320\265\321\200\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\265\321\200\321\213\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os"
similarity index 73%
rename from "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\320\241\320\265\321\200\320\262\320\265\321\200\321\213.os"
rename to "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 a28356d..0ff9b1d 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\320\241\320\265\321\200\320\262\320\265\321\200\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\265\321\200\321\213\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os"
@@ -1,3 +1,12 @@
+// ----------------------------------------------------------
+// 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/
+// ----------------------------------------------------------
+
Перем Кластер_Агент;
Перем Кластер_Владелец;
Перем ПараметрыОбъекта;
@@ -8,15 +17,15 @@
// Конструктор
//
// Параметры:
-// АгентКластера - АгентКластера - ссылка на родительский объект агента кластера
-// Кластер - Кластер - ссылка на родительский объект кластера
+// АгентКластера - АгентКластера - ссылка на родительский объект агента кластера
+// Кластер - Кластер - ссылка на родительский объект кластера
//
Процедура ПриСозданииОбъекта(АгентКластера, Кластер)
Кластер_Агент = АгентКластера;
Кластер_Владелец = Кластер;
- ПараметрыОбъекта = Новый КомандыОбъекта("server");
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.Серверы);
Элементы = Новый ОбъектыКластера(ЭтотОбъект);
@@ -26,9 +35,9 @@
// и сохраняет в локальных переменных
//
// Параметры:
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
-// - Ложь - данные будут получены если истекло время актуальности
-// или данные не были получены ранее
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// - Ложь - данные будут получены если истекло время актуальности
+// или данные не были получены ранее
//
Процедура ОбновитьДанные(ОбновитьПринудительно = Ложь) Экспорт
@@ -47,8 +56,8 @@
Если НЕ КодВозврата = 0 Тогда
ВызватьИсключение СтрШаблон("Ошибка получения списка серверов кластера, КодВозврата = %1: %2",
- КодВозврата,
- Кластер_Агент.ВыводКоманды(Ложь));
+ КодВозврата,
+ Кластер_Агент.ВыводКоманды(Ложь));
КонецЕсли;
МассивРезультатов = Кластер_Агент.ВыводКоманды();
@@ -67,13 +76,13 @@
// Функция возвращает коллекцию параметров объекта
//
// Параметры:
-// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
-// в качестве ключа возвращаемого соответствия
+// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
+// в качестве ключа возвращаемого соответствия
//
// Возвращаемое значение:
-// Соответствие - коллекция параметров объекта, для получения/изменения значений
+// Соответствие - коллекция параметров объекта, для получения/изменения значений
//
-Функция ПараметрыОбъекта(ИмяПоляКлюча = "ИмяПараметра") Экспорт
+Функция ПараметрыОбъекта(ИмяПоляКлюча = "Имя") Экспорт
Возврат ПараметрыОбъекта.ОписаниеСвойств(ИмяПоляКлюча);
@@ -82,11 +91,11 @@
// Функция возвращает список серверов кластера 1С
//
// Параметры:
-// Отбор - Структура - Структура отбора серверов (<поле>:<значение>)
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// Отбор - Структура - Структура отбора серверов (<поле>:<значение>)
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
//
// Возвращаемое значение:
-// Массив - список серверов кластера 1С
+// Массив - список серверов кластера 1С
//
Функция Список(Отбор = Неопределено, ОбновитьПринудительно = Ложь) Экспорт
@@ -99,12 +108,12 @@
// Функция возвращает список серверов кластера 1С
//
// Параметры:
-// ПоляИерархии - Строка - Поля для построения иерархии списка серверов, разделенные ","
-// ОбновитьПринудительно - Булево - Истина - обновить список (вызов RAC)
+// ПоляИерархии - Строка - Поля для построения иерархии списка серверов, разделенные ","
+// ОбновитьПринудительно - Булево - Истина - обновить список (вызов RAC)
//
// Возвращаемое значение:
-// Соответствие - список серверов кластера 1С
-// <имя поля объекта> - Массив(Соответствие), Соответствие - список серверов или следующий уровень
+// Соответствие - список серверов кластера 1С
+// <имя поля объекта> - Массив(Соответствие), Соответствие - список серверов или следующий уровень
//
Функция ИерархическийСписок(Знач ПоляИерархии, ОбновитьПринудительно = Ложь) Экспорт
@@ -117,7 +126,7 @@
// Функция возвращает количество серверов в списке
//
// Возвращаемое значение:
-// Число - количество серверов
+// Число - количество серверов
//
Функция Количество() Экспорт
@@ -136,7 +145,7 @@
// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
//
// Возвращаемое значение:
-// Соответствие - описание сервера кластера 1С
+// Соответствие - описание сервера кластера 1С
//
Функция Получить(Знач СерверПорт, Знач ОбновитьПринудительно = Ложь) Экспорт
@@ -194,8 +203,8 @@
Если НЕ КодВозврата = 0 Тогда
ВызватьИсключение СтрШаблон("Ошибка добавления сервера, КодВозврата = %1: %2",
- КодВозврата,
- Кластер_Агент.ВыводКоманды(Ложь));
+ КодВозврата,
+ Кластер_Агент.ВыводКоманды(Ложь));
КонецЕсли;
Лог.Отладка(Кластер_Агент.ВыводКоманды(Ложь));
@@ -207,7 +216,7 @@
// Процедура удаляет сервер из кластера 1С
//
// Параметры:
-// СерверПорт - Строка - Адрес сервера в виде <сервер>:<порт>
+// СерверПорт - Строка - Адрес сервера в виде <сервер>:<порт>
//
Процедура Удалить(СерверПорт) Экспорт
@@ -224,8 +233,8 @@
Если НЕ КодВозврата = 0 Тогда
ВызватьИсключение СтрШаблон("Ошибка удаления сервера ""%1"": %2",
- Получить(СерверПорт).Имя(),
- Кластер_Агент.ВыводКоманды(Ложь));
+ Получить(СерверПорт).Имя(),
+ Кластер_Агент.ВыводКоманды(Ложь));
КонецЕсли;
Лог.Отладка(Кластер_Агент.ВыводКоманды(Ложь));
@@ -234,4 +243,4 @@
КонецПроцедуры // Удалить()
-Лог = Логирование.ПолучитьЛог("ktb.lib.irac");
+Лог = Логирование.ПолучитьЛог("oscript.lib.irac");
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"
new file mode 100644
index 0000000..e6d7358
--- /dev/null
+++ "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"
@@ -0,0 +1,159 @@
+// ----------------------------------------------------------
+// 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",
+ КодВозврата,
+ Кластер_Агент.ВыводКоманды(Ложь));
+ КонецЕсли;
+
+ МассивРезультатов = Кластер_Агент.ВыводКоманды();
+
+ Элементы.Заполнить(МассивРезультатов);
+
+ Элементы.УстановитьАктуальность();
+
+КонецПроцедуры // ОбновитьДанные()
+
+// Функция возвращает коллекцию параметров объекта
+//
+// Параметры:
+// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
+// в качестве ключа возвращаемого соответствия
+//
+// Возвращаемое значение:
+// Соответствие - коллекция параметров объекта, для получения/изменения значений
+//
+Функция ПараметрыОбъекта(ИмяПоляКлюча = "Имя") Экспорт
+
+ Возврат ПараметрыОбъекта.ОписаниеСвойств(ИмяПоляКлюча);
+
+КонецФункции // ПараметрыОбъекта()
+
+// Функция возвращает список сервисов кластера
+//
+// Параметры:
+// Отбор - Структура - Структура отбора сервисов (<поле>:<значение>)
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+//
+// Возвращаемое значение:
+// Массив - список сервисов 1С
+//
+Функция Список(Отбор = Неопределено, ОбновитьПринудительно = Ложь) Экспорт
+
+ Сервисы = Элементы.Список(Отбор, ОбновитьПринудительно);
+
+ Возврат Сервисы;
+
+КонецФункции // Список()
+
+// Функция возвращает список сервисов кластера 1С
+//
+// Параметры:
+// ПоляИерархии - Строка - Поля для построения иерархии списка сервисов, разделенные ","
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+//
+// Возвращаемое значение:
+// Соответствие - список сервисов кластера 1С
+// <имя поля объекта> - Массив(Соответствие), Соответствие - список сервисов или следующий уровень
+//
+Функция ИерархическийСписок(Знач ПоляИерархии, ОбновитьПринудительно = Ложь) Экспорт
+
+ Сервисы = Элементы.ИерархическийСписок(ПоляИерархии, ОбновитьПринудительно);
+
+ Возврат Сервисы;
+
+КонецФункции // ИерархическийСписок()
+
+// Функция возвращает количество сервисов в списке
+//
+// Возвращаемое значение:
+// Число - количество сервисов
+//
+Функция Количество() Экспорт
+
+ Если Элементы = Неопределено Тогда
+ Возврат 0;
+ КонецЕсли;
+
+ Возврат Элементы.Количество();
+
+КонецФункции // Количество()
+
+// Функция возвращает описание сервиса кластера 1С
+//
+// Параметры:
+// Имя - Строка - имя сервиса
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+//
+// Возвращаемое значение:
+// Соответствие - описание менеджера кластера 1С
+//
+Функция Получить(Знач Имя, Знач ОбновитьПринудительно = Ложь) Экспорт
+
+ Отбор = Новый Соответствие();
+ Отбор.Вставить("name", Имя);
+
+ Сервисы = Элементы.Список(Отбор, ОбновитьПринудительно);
+
+ Если Сервисы.Количество() = 0 Тогда
+ Возврат Неопределено;
+ КонецЕсли;
+
+ Возврат Сервисы[0];
+
+КонецФункции // Получить()
+
+Лог = Логирование.ПолучитьЛог("oscript.lib.irac");
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\320\265.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\320\265.os"
index 43f49d9..c44cd7c 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\320\265.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\320\265.os"
@@ -1,5 +1,14 @@
-Перем Объект_Ид;
-Перем Объект_Параметры;
+// ----------------------------------------------------------
+// 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/
+// ----------------------------------------------------------
+
+Перем Соединение_Ид;
+Перем Соединение_Параметры;
Перем ПараметрыОбъекта;
Перем Кластер_Агент;
@@ -17,7 +26,7 @@
// Параметры:
// АгентКластера - АгентКластера - ссылка на родительский объект агента кластера
// Кластер - Кластера - ссылка на родительский объект кластера
-// Процесс - Процесс - ссылка на родительский объект процесса
+// Процесс - Процесс - ссылка на родительский объект процесса
// ИБ - ИнформационнаяБаза - ссылка на родительский объект информационной базы
// Соединение - Строка, Соответствие - идентификатор или параметры соединения
//
@@ -28,14 +37,14 @@
ИБ_Владелец = ИБ;
Процесс_Владелец = Процесс;
- ПараметрыОбъекта = Новый ПараметрыОбъекта("connection");
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.Соединения);
Если ТипЗнч(Соединение) = Тип("Соответствие") Тогда
- Объект_Ид = Соединение["connection"];
- Служебный.ЗаполнитьПараметрыОбъекта(ЭтотОбъект, Объект_Параметры, Соединение);
+ Соединение_Ид = Соединение["connection"];
+ Служебный.ЗаполнитьПараметрыОбъекта(ЭтотОбъект, Соединение_Параметры, Соединение);
МоментАктуальности = ТекущаяУниверсальнаяДатаВМиллисекундах();
Иначе
- Объект_Ид = Соединение;
+ Соединение_Ид = Соединение;
МоментАктуальности = 0;
КонецЕсли;
@@ -46,11 +55,11 @@
// Функция возвращает ИД объекта
//
// Возвращаемое значение:
-// Строка - идентификатор объекта
+// Строка - идентификатор объекта
//
Функция Ид() Экспорт
- Возврат Объект_Ид;
+ Возврат Соединение_Ид;
КонецФункции // Ид()
@@ -58,98 +67,82 @@
// и сохраняет в локальных переменных
//
// Параметры:
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
-// - Ложь - данные будут получены если истекло время актуальности
-// или данные не были получены ранее
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// - Ложь - данные будут получены если истекло время актуальности
+// или данные не были получены ранее
//
Процедура ОбновитьДанные(ОбновитьПринудительно = Ложь) Экспорт
- Если Служебный.ТребуетсяОбновление(Объект_Параметры,
- МоментАктуальности, ПериодОбновления, ОбновитьПринудительно) Тогда
-
- ОбновитьДанныеОбъекта();
-
+ Если НЕ Служебный.ТребуетсяОбновление(Соединение_Параметры,
+ МоментАктуальности, ПериодОбновления, ОбновитьПринудительно) Тогда
+ Возврат;
КонецЕсли;
+
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_Владелец.СтрокаАвторизации());
- МоментАктуальности = ТекущаяУниверсальнаяДатаВМиллисекундах();
-
-КонецПроцедуры // ОбновитьДанные()
+ ПараметрыКоманды.Вставить("ИдентификаторСоединения", Ид());
-// Процедура получает данные соединения от сервиса администрирования кластера 1С
-// и сохраняет в локальных переменных
-//
-Процедура ОбновитьДанныеОбъекта() Экспорт
-
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Кластер_Агент.СтрокаПодключения());
-
- ПараметрыЗапуска.Добавить("connection");
- ПараметрыЗапуска.Добавить("list");
-
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Владелец.Ид()));
- ПараметрыЗапуска.Добавить(Кластер_Владелец.СтрокаАвторизации());
+ ПараметрыОбъекта.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды);
- Если НЕ Процесс_Владелец = Неопределено Тогда
- ПараметрыЗапуска.Добавить(СтрШаблон("--process=%1", Процесс_Владелец.Получить("process")));
- КонецЕсли;
-
- Если НЕ ИБ_Владелец = Неопределено Тогда
- ПараметрыЗапуска.Добавить(СтрШаблон("--infobase=%1", ИБ_Владелец.Ид()));
- ПараметрыЗапуска.Добавить(СтрШаблон(ИБ_Владелец.СтрокаАвторизации()));
+ КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("Описание"));
+
+ Если НЕ КодВозврата = 0 Тогда
+ ВызватьИсключение СтрШаблон("Ошибка получения описания соединения, КодВозврата = %1: %2",
+ КодВозврата,
+ Кластер_Агент.ВыводКоманды(Ложь));
КонецЕсли;
-
- Кластер_Агент.ВыполнитьКоманду(ПараметрыЗапуска);
МассивРезультатов = Кластер_Агент.ВыводКоманды();
- Если МассивРезультатов.Количество() = 0 Тогда
- Возврат;
- КонецЕсли;
-
- Служебный.ЗаполнитьПараметрыОбъекта(ЭтотОбъект, Объект_Параметры, МассивРезультатов[0]);
+ Служебный.ЗаполнитьПараметрыОбъекта(ЭтотОбъект, Соединение_Параметры, МассивРезультатов[0]);
+ МоментАктуальности = ТекущаяУниверсальнаяДатаВМиллисекундах();
+
КонецПроцедуры // ОбновитьДанныеОбъекта()
// Функция возвращает коллекцию параметров объекта
//
// Параметры:
-// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
-// в качестве ключа возвращаемого соответствия
+// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
+// в качестве ключа возвращаемого соответствия
//
// Возвращаемое значение:
-// Соответствие - коллекция параметров объекта, для получения/изменения значений
+// Соответствие - коллекция параметров объекта, для получения/изменения значений
//
-Функция ПараметрыОбъекта(ИмяПоляКлюча = "ИмяПараметра") Экспорт
+Функция ПараметрыОбъекта(ИмяПоляКлюча = "Имя") Экспорт
- Возврат ПараметрыОбъекта.Получить(ИмяПоляКлюча);
+ Возврат ПараметрыОбъекта.ОписаниеСвойств(ИмяПоляКлюча);
КонецФункции // ПараметрыОбъекта()
// Функция возвращает значение параметра соединения 1С
//
// Параметры:
-// ИмяПоля - Строка - Имя параметра соединения
-// ОбновитьПринудительно - Булево - Истина - обновить список (вызов RAC)
+// ИмяПоля - Строка - Имя параметра соединения
+// ОбновитьПринудительно - Булево - Истина - обновить список (вызов RAC)
//
// Возвращаемое значение:
-// Произвольный - значение параметра соединения 1С
+// Произвольный - значение параметра соединения 1С
//
Функция Получить(ИмяПоля, ОбновитьПринудительно = Ложь) Экспорт
ОбновитьДанные(ОбновитьПринудительно);
- Если НЕ Найти(ВРег("Ид, process"), ВРег(ИмяПоля)) = 0 Тогда
- Возврат Объект_Ид;
+ Если НЕ Найти(ВРег("Ид, connection"), ВРег(ИмяПоля)) = 0 Тогда
+ Возврат Соединение_Ид;
КонецЕсли;
- ЗначениеПоля = Объект_Параметры.Получить(ИмяПоля);
+ ЗначениеПоля = Соединение_Параметры.Получить(ИмяПоля);
Если ЗначениеПоля = Неопределено Тогда
-
- ОписаниеПараметра = ПараметрыОбъекта("ИмяПоляРАК").Получить(ИмяПоля);
+
+ ОписаниеПараметра = ПараметрыОбъекта("ИмяРАК").Получить(ИмяПоля);
Если НЕ ОписаниеПараметра = Неопределено Тогда
- ЗначениеПоля = Объект_Параметры.Получить(ОписаниеПараметра["ИмяПараметра"]);
+ ЗначениеПоля = Соединение_Параметры.Получить(ОписаниеПараметра["Имя"]);
КонецЕсли;
КонецЕсли;
@@ -161,33 +154,36 @@
//
Процедура Отключить() Экспорт
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Кластер_Агент.СтрокаПодключения());
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_Владелец.СтрокаАвторизации());
- ПараметрыЗапуска.Добавить("connection");
- ПараметрыЗапуска.Добавить("list");
-
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Владелец.Ид()));
- ПараметрыЗапуска.Добавить(Кластер_Владелец.СтрокаАвторизации());
-
- Если НЕ Процесс_Владелец = Неопределено Тогда
- ПараметрыЗапуска.Добавить(СтрШаблон("--process=%1", Процесс_Владелец.Получить("process")));
- КонецЕсли;
+ ПараметрыКоманды.Вставить("ИдентификаторПроцесса" , Процесс_Владелец.Ид());
+ ПараметрыКоманды.Вставить("ИдентификаторСоединения", Ид());
ОтборИБ = Новый Соответствие();
- ОтборИБ.Вставить("infobase", ИБ_Владелец.Ид());
+ ОтборИБ.Вставить("infobase", Получить("infobase"));
СписокИБ = Кластер_Владелец.ИнформационныеБазы().Список(ОтборИБ);
Если НЕ СписокИБ.Количество() = 0 Тогда
- ПараметрыЗапуска.Добавить(СтрШаблон(СписокИБ[0].СтрокаАвторизации()));
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииИБ", СписокИБ[0].СтрокаАвторизации());
КонецЕсли;
- Кластер_Агент.ВыполнитьКоманду(ПараметрыЗапуска);
+ ПараметрыОбъекта.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды);
+ КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("Отключить"));
+
+ Если НЕ КодВозврата = 0 Тогда
+ ВызватьИсключение СтрШаблон("Ошибка удаления соединения, КодВозврата = %1: %2",
+ КодВозврата,
+ Кластер_Агент.ВыводКоманды(Ложь));
+ КонецЕсли;
+
Лог.Отладка(Кластер_Агент.ВыводКоманды(Ложь));
ОбновитьДанные(Истина);
КонецПроцедуры // Отключить()
-Лог = Логирование.ПолучитьЛог("ktb.lib.irac");
\ No newline at end of file
+Лог = Логирование.ПолучитьЛог("oscript.lib.irac");
\ No newline at end of file
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 326fbb5..c839b0d 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"
@@ -1,3 +1,12 @@
+// ----------------------------------------------------------
+// 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/
+// ----------------------------------------------------------
+
Перем Кластер_Агент;
Перем Кластер_Владелец;
Перем Процесс_Владелец;
@@ -11,19 +20,19 @@
// Конструктор
//
// Параметры:
-// АгентКластера - АгентКластера - ссылка на родительский объект агента кластера
-// Кластер - Кластер - ссылка на родительский объект кластера
-// Процесс - РабочийПроцесс - ссылка на родительский объект рабочего процесса
-// ИБ - ИнформационнаяБаза - ссылка на родительский объект информационной базы
+// АгентКластера - АгентКластера - ссылка на родительский объект агента кластера
+// Кластер - Кластер - ссылка на родительский объект кластера
+// Процесс - РабочийПроцесс - ссылка на родительский объект рабочего процесса
+// ИБ - ИнформационнаяБаза - ссылка на родительский объект информационной базы
//
Процедура ПриСозданииОбъекта(АгентКластера, Кластер, Процесс = Неопределено, ИБ = Неопределено)
- Кластер_Агент = АгентКластера;
- Кластер_Владелец = Кластер;
- Процесс_Владелец = Процесс;
- ИБ_Владелец = ИБ;
+ Кластер_Агент = АгентКластера;
+ Кластер_Владелец = Кластер;
+ Процесс_Владелец = Процесс;
+ ИБ_Владелец = ИБ;
- ПараметрыОбъекта = Новый ПараметрыОбъекта("connection");
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.Соединения);
Элементы = Новый ОбъектыКластера(ЭтотОбъект);
@@ -33,9 +42,9 @@
// и сохраняет в локальных переменных
//
// Параметры:
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
-// - Ложь - данные будут получены если истекло время актуальности
-// или данные не были получены ранее
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// - Ложь - данные будут получены если истекло время актуальности
+// или данные не были получены ранее
//
Процедура ОбновитьДанные(ОбновитьПринудительно = Ложь) Экспорт
@@ -43,31 +52,39 @@
Возврат;
КонецЕсли;
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Кластер_Агент.СтрокаПодключения());
-
- ПараметрыЗапуска.Добавить("connection");
- ПараметрыЗапуска.Добавить("list");
-
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Владелец.Ид()));
- ПараметрыЗапуска.Добавить(Кластер_Владелец.СтрокаАвторизации());
-
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_Владелец.СтрокаАвторизации());
+
Если НЕ Процесс_Владелец = Неопределено Тогда
- ПараметрыЗапуска.Добавить(СтрШаблон("--process=%1", Процесс_Владелец.Получить("process")));
+ ПараметрыКоманды.Вставить("ИдентификаторПроцесса", Процесс_Владелец.Ид());
КонецЕсли;
Если НЕ ИБ_Владелец = Неопределено Тогда
- ПараметрыЗапуска.Добавить(СтрШаблон("--infobase=%1", ИБ_Владелец.Ид()));
- ПараметрыЗапуска.Добавить(СтрШаблон(ИБ_Владелец.СтрокаАвторизации()));
+ ПараметрыКоманды.Вставить("ИдентификаторИБ", ИБ_Владелец.Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииИБ", ИБ_Владелец.СтрокаАвторизации());
КонецЕсли;
- Кластер_Агент.ВыполнитьКоманду(ПараметрыЗапуска);
+ ПараметрыОбъекта.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды);
+
+ КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("Список"));
+
+ Если НЕ КодВозврата = 0 Тогда
+ ВызватьИсключение СтрШаблон("Ошибка получения списка соединений, КодВозврата = %1: %2",
+ КодВозврата,
+ Кластер_Агент.ВыводКоманды(Ложь));
+ КонецЕсли;
МассивРезультатов = Кластер_Агент.ВыводКоманды();
МассивПроцессов = Новый Массив();
Для Каждого ТекОписание Из МассивРезультатов Цикл
- МассивПроцессов.Добавить(Новый Соединение(Кластер_Агент, Кластер_Владелец, ИБ_Владелец, ТекОписание, Процесс_Владелец));
+ МассивПроцессов.Добавить(Новый Соединение(Кластер_Агент,
+ Кластер_Владелец,
+ ИБ_Владелец,
+ ТекОписание,
+ Процесс_Владелец));
КонецЦикла;
Элементы.Заполнить(МассивПроцессов);
@@ -78,26 +95,26 @@
// Функция возвращает коллекцию параметров объекта
//
// Параметры:
-// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
-// в качестве ключа возвращаемого соответствия
+// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
+// в качестве ключа возвращаемого соответствия
//
// Возвращаемое значение:
-// Соответствие - коллекция параметров объекта, для получения/изменения значений
+// Соответствие - коллекция параметров объекта, для получения/изменения значений
//
-Функция ПараметрыОбъекта(ИмяПоляКлюча = "ИмяПараметра") Экспорт
+Функция ПараметрыОбъекта(ИмяПоляКлюча = "Имя") Экспорт
- Возврат ПараметрыОбъекта.Получить(ИмяПоляКлюча);
+ Возврат ПараметрыОбъекта.ОписаниеСвойств(ИмяПоляКлюча);
КонецФункции // ПараметрыОбъекта()
// Функция возвращает список соединений
//
// Параметры:
-// Отбор - Структура - Структура отбора соединений (<поле>:<значение>)
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// Отбор - Структура - Структура отбора соединений (<поле>:<значение>)
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
//
// Возвращаемое значение:
-// Массив - список соединений
+// Массив - список соединений
//
Функция Список(Отбор = Неопределено, ОбновитьПринудительно = Ложь) Экспорт
@@ -110,11 +127,11 @@
// Функция возвращает список соединений
//
// Параметры:
-// ПоляИерархии - Строка - Поля для построения иерархии списка соединений, разделенные ","
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// ПоляИерархии - Строка - Поля для построения иерархии списка соединений, разделенные ","
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
//
// Возвращаемое значение:
-// Соответствие - список соединений
+// Соответствие - список соединений
//
Функция ИерархическийСписок(Знач ПоляИерархии, ОбновитьПринудительно = Ложь) Экспорт
@@ -127,7 +144,7 @@
// Функция возвращает количество соединений в списке
//
// Возвращаемое значение:
-// Число - количество соединений
+// Число - количество соединений
//
Функция Количество() Экспорт
@@ -142,11 +159,11 @@
// Функция возвращает описание соединения
//
// Параметры:
-// Номер - Структура - Номер соединения
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// Номер - Структура - Номер соединения
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
//
// Возвращаемое значение:
-// Соответствие - описание соединения
+// Соответствие - описание соединения
//
Функция Получить(Знач Номер, Знач ОбновитьПринудительно = Ложь) Экспорт
@@ -162,7 +179,7 @@
// Процедура отключает соединение
//
// Параметры:
-// Номер - Структура - Номер соединения
+// Номер - Структура - Номер соединения
//
Процедура Отключить(Знач Номер) Экспорт
@@ -172,27 +189,10 @@
Возврат;
КонецЕсли;
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Кластер_Агент.СтрокаПодключения());
-
- ПараметрыЗапуска.Добавить("connection");
- ПараметрыЗапуска.Добавить("list");
-
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Владелец.Ид()));
- ПараметрыЗапуска.Добавить(Кластер_Владелец.СтрокаАвторизации());
-
- ПараметрыЗапуска.Добавить(СтрШаблон("--process=%1", Соединение.Получить("process")));
-
- ОтборИБ = Новый Соответствие();
- ОтборИБ.Вставить("infobase", Соединение.Получить("infobase"));
-
- СписокИБ = Кластер_Владелец.ИнформационныеБазы().Список(ОтборИБ);
- Если НЕ СписокИБ.Количество() = 0 Тогда
- ПараметрыЗапуска.Добавить(СтрШаблон(СписокИБ[0].СтрокаАвторизации()));
- КонецЕсли;
+ Соединение.Отключить();
- Кластер_Агент.ВыполнитьКоманду(ПараметрыЗапуска);
+ ОбновитьДанные(Истина);
КонецПроцедуры // Отключить()
-Лог = Логирование.ПолучитьЛог("ktb.lib.irac");
+Лог = Логирование.ПолучитьЛог("oscript.lib.irac");
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\237\320\276\321\202\321\200\320\265\320\261\320\273\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\241\321\207\320\265\321\202\321\207\320\270\320\272\320\237\320\276\321\202\321\200\320\265\320\261\320\273\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"
deleted file mode 100644
index 86a73de..0000000
--- "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\237\320\276\321\202\321\200\320\265\320\261\320\273\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"
+++ /dev/null
@@ -1,212 +0,0 @@
-Перем Счетчик_Имя;
-Перем Счетчик_Параметры;
-Перем Счетчик_ДлительностьСбора;
-Перем Счетчик_Значения;
-
-Перем Кластер_Агент;
-Перем Кластер_Владелец;
-
-Перем ПараметрыОбъекта;
-Перем ПериодОбновления;
-Перем МоментАктуальности;
-
-Перем Лог;
-
-// Конструктор
-//
-// Параметры:
-// АгентКластера - АгентКластера - ссылка на родительский объект агента кластера
-// Кластер - Кластер - ссылка на родительский объект кластера
-// Счетчик - Строка, Соответствие - имя счетчика потребления ресурсов в кластере 1С
-// или параметры счетчика потребления ресурсов
-//
-Процедура ПриСозданииОбъекта(АгентКластера, Кластер, Счетчик)
-
- Если НЕ ЗначениеЗаполнено(Счетчик) Тогда
- Возврат;
- КонецЕсли;
-
- ПараметрыОбъекта = Новый КомандыОбъекта("counter");
-
- Кластер_Агент = АгентКластера;
- Кластер_Владелец = Кластер;
-
- Если ТипЗнч(Счетчик) = Тип("Соответствие") Тогда
- Счетчик_Имя = Счетчик["name"];
- ЗаполнитьПараметрыСчетчика(Счетчик);
- МоментАктуальности = ТекущаяУниверсальнаяДатаВМиллисекундах();
- Иначе
- Счетчик_Имя = Счетчик;
- МоментАктуальности = 0;
- КонецЕсли;
-
- ПериодОбновления = 60000;
-
- Счетчик_Значения = Новый ОбъектыКластера(ЭтотОбъект);
-
-КонецПроцедуры // ПриСозданииОбъекта()
-
-// Процедура получает данные от сервиса администрирования кластера 1С
-// и сохраняет в локальных переменных
-//
-// Параметры:
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
-// - Ложь - данные будут получены если истекло время актуальности
-// или данные не были получены ранее
-//
-Процедура ОбновитьДанные(ОбновитьПринудительно = Ложь) Экспорт
-
- Если НЕ Служебный.ТребуетсяОбновление(Счетчик_Параметры,
- МоментАктуальности, ПериодОбновления, ОбновитьПринудительно) Тогда
- Возврат;
- КонецЕсли;
-
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Кластер_Агент.СтрокаПодключения());
-
- ПараметрыЗапуска.Добавить("counter");
- ПараметрыЗапуска.Добавить("info");
-
- ПараметрыЗапуска.Добавить(СтрШаблон("--counter=%1", Имя()));
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Владелец.Ид()));
- ПараметрыЗапуска.Добавить(Кластер_Владелец.СтрокаАвторизации());
-
- Кластер_Агент.ВыполнитьКоманду(ПараметрыЗапуска);
-
- МассивРезультатов = Кластер_Агент.ВыводКоманды();
- Если МассивРезультатов.Количество() = 0 Тогда
- Возврат;
- КонецЕсли;
- ЗаполнитьПараметрыСчетчика(МассивРезультатов[0]);
- МоментАктуальности = ТекущаяУниверсальнаяДатаВМиллисекундах();
-
-КонецПроцедуры // ОбновитьДанные()
-
-// Процедура заполняет параметры счетчика потребления ресурсов
-//
-// Параметры:
-// ДанныеЗаполнения - Соответствие - данные, из которых будут заполнены параметры счетчика потребления ресурсов
-//
-Процедура ЗаполнитьПараметрыСчетчика(ДанныеЗаполнения)
-
- Служебный.ЗаполнитьПараметрыОбъекта(ЭтотОбъект, Счетчик_Параметры, ДанныеЗаполнения);
-
-КонецПроцедуры // ЗаполнитьПараметрыСчетчика()
-
-// Функция возвращает коллекцию параметров объекта
-//
-// Параметры:
-// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
-// в качестве ключа возвращаемого соответствия
-//
-// Возвращаемое значение:
-// Соответствие - коллекция параметров объекта, для получения/изменения значений
-//
-Функция ПараметрыОбъекта(ИмяПоляКлюча = "ИмяПараметра") Экспорт
-
- Возврат ПараметрыОбъекта.ОписаниеСвойств(ИмяПоляКлюча);
-
-КонецФункции // ПараметрыОбъекта()
-
-// Функция возвращает имя счетчика потребления ресурсов
-//
-// Возвращаемое значение:
-// Строка - имя счетчика потребления ресурсов
-//
-Функция Имя() Экспорт
-
- Возврат Счетчик_Имя;
-
-КонецФункции // Имя()
-
-// Функция возвращает значение параметра счетчика потребления ресурсов кластера 1С
-//
-// Параметры:
-// ИмяПоля - Строка - Имя параметра кластера
-// ОбновитьПринудительно - Булево - Истина - обновить список (вызов RAC)
-//
-// Возвращаемое значение:
-// Произвольный - значение параметра счетчика потребления ресурсов кластера 1С
-//
-Функция Получить(ИмяПоля, ОбновитьПринудительно = Ложь) Экспорт
-
- ОбновитьДанные(ОбновитьПринудительно);
-
- Если НЕ Найти(ВРЕг("Имя, name"), ВРег(ИмяПоля)) = 0 Тогда
- Возврат Счетчик_Имя;
- КонецЕсли;
-
- ЗначениеПоля = Счетчик_Параметры.Получить(ИмяПоля);
-
- Если ЗначениеПоля = Неопределено Тогда
-
- ОписаниеПараметра = ПараметрыОбъекта("ИмяПоляРАК").Получить(ИмяПоля);
-
- Если НЕ ОписаниеПараметра = Неопределено Тогда
- ЗначениеПоля = Счетчик_Параметры.Получить(ОписаниеПараметра["ИмяПараметра"]);
- КонецЕсли;
- КонецЕсли;
-
- Возврат ЗначениеПоля;
-
-КонецФункции // Получить()
-
-
-// Процедура изменяет параметры счетчика потребления ресурсов
-//
-// Параметры:
-// ПараметрыСчетчика - Структура - новые параметры счетчика потребления ресурсов
-//
-Процедура Изменить(Знач ПараметрыСчетчика = Неопределено) Экспорт
-
- Если НЕ ТипЗнч(ПараметрыСчетчика) = Тип("Соответствие") Тогда
- ПараметрыСчетчика = Новый Соответствие();
- КонецЕсли;
-
- ПараметрыКоманды = Новый Соответствие();
- ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения());
- ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_Владелец.СтрокаАвторизации());
- ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид());
- ПараметрыКоманды.Вставить("Имя", Счетчик_Имя);
-
- Для Каждого ТекЭлемент Из ПараметрыСчетчика Цикл
- ПараметрыКоманды.Вставить(ТекЭлемент.Ключ, ТекЭлемент.Значение);
- КонецЦикла;
-
- ПараметрыОбъекта.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды);
-
- КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("Изменить"));
-
- Если НЕ КодВозврата = 0 Тогда
- ВызватьИсключение СтрШаблон("Ошибка изменения параметров счетчика, КодВозврата = %1: %2",
- Имя(),
- Кластер_Агент.ВыводКоманды(Ложь));
- КонецЕсли;
-
- Лог.Отладка(Кластер_Агент.ВыводКоманды(Ложь));
- ОбновитьДанные(Истина);
-
-КонецПроцедуры // Изменить()
-
-Функция Значения() Экспорт
-
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Кластер_Агент.СтрокаПодключения());
-
- ПараметрыЗапуска.Добавить("counter");
- ПараметрыЗапуска.Добавить(СтрШаблон("--counter=%1", Имя()));
-
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Владелец.Ид()));
- ПараметрыЗапуска.Добавить(Кластер_Владелец.СтрокаАвторизации());
-
- ПараметрыЗапуска.Добавить("values");
-
- Кластер_Агент.ВыполнитьКоманду(ПараметрыЗапуска);
-
- Счетчик_Значения.Заполнить(Кластер_Агент.ВыводКоманды());
-
- Возврат Счетчик_Значения;
-
-КонецФункции
-
-Лог = Логирование.ПолучитьЛог("ktb.lib.irac");
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\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\240\320\265\321\201\321\203\321\200\321\201\320\276\320\262.os"
new file mode 100644
index 0000000..c55694b
--- /dev/null
+++ "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\240\320\265\321\201\321\203\321\200\321\201\320\276\320\262.os"
@@ -0,0 +1,307 @@
+// ----------------------------------------------------------
+// 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С
+// или параметры счетчика потребления ресурсов
+//
+Процедура ПриСозданииОбъекта(АгентКластера, Кластер, Счетчик)
+
+ Если НЕ ЗначениеЗаполнено(Счетчик) Тогда
+ Возврат;
+ КонецЕсли;
+
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.СчетчикиРесурсов);
+
+ Кластер_Агент = АгентКластера;
+ Кластер_Владелец = Кластер;
+
+ Если ТипЗнч(Счетчик) = Тип("Соответствие") Тогда
+ Счетчик_Имя = Счетчик["name"];
+ ЗаполнитьПараметрыСчетчика(Счетчик);
+ МоментАктуальности = ТекущаяУниверсальнаяДатаВМиллисекундах();
+ Иначе
+ Счетчик_Имя = Счетчик;
+ МоментАктуальности = 0;
+ КонецЕсли;
+
+ ПериодОбновления = 60000;
+
+ Счетчик_Значения = Новый ОбъектыКластера(ЭтотОбъект);
+
+КонецПроцедуры // ПриСозданииОбъекта()
+
+// Процедура получает данные от сервиса администрирования кластера 1С
+// и сохраняет в локальных переменных
+//
+// Параметры:
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// - Ложь - данные будут получены если истекло время актуальности
+// или данные не были получены ранее
+//
+Процедура ОбновитьДанные(ОбновитьПринудительно = Ложь) Экспорт
+
+ Если Служебный.ТребуетсяОбновление(Счетчик_Параметры,
+ МоментАктуальности, ПериодОбновления, ОбновитьПринудительно) Тогда
+ ОбновитьДанныеСчетчика();
+ КонецЕсли;
+
+ Если Счетчик_Значения.ТребуетсяОбновление(ОбновитьПринудительно) Тогда
+ ОбновитьДанныеЗначений();
+ КонецЕсли;
+
+КонецПроцедуры // ОбновитьДанные()
+
+// Процедура получает данные счетчика потребления ресурсов от сервиса администрирования кластера 1С
+// и сохраняет в локальных переменных
+//
+Процедура ОбновитьДанныеСчетчика() Экспорт
+
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_Владелец.СтрокаАвторизации());
+
+ ПараметрыКоманды.Вставить("ИмяСчетчика", Имя());
+
+ ПараметрыОбъекта.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды);
+
+ КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("Описание"));
+
+ Если НЕ КодВозврата = 0 Тогда
+ ВызватьИсключение СтрШаблон("Ошибка получения описания счетчика потребления ресурсов ""%1"", КодВозврата = %2: %3",
+ Имя(),
+ КодВозврата,
+ Кластер_Агент.ВыводКоманды(Ложь));
+ КонецЕсли;
+
+ МассивРезультатов = Кластер_Агент.ВыводКоманды();
+
+ ЗаполнитьПараметрыСчетчика(МассивРезультатов[0]);
+
+ МоментАктуальности = ТекущаяУниверсальнаяДатаВМиллисекундах();
+
+КонецПроцедуры // ОбновитьДанные()
+
+// Процедура получает значения счетчика потребления ресурсов
+// и сохраняет в локальных переменных
+//
+// Параметры:
+// Отбор - отбор значений счетчика потребления ресурсов
+//
+Процедура ОбновитьДанныеЗначений(Знач Отбор = "") Экспорт
+
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_Владелец.СтрокаАвторизации());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид());
+
+ ПараметрыКоманды.Вставить("ИмяСчетчика" , Имя());
+ Если ЗначениеЗаполнено(Отбор) Тогда
+ ПараметрыКоманды.Вставить("Отбор" , Отбор);
+ КонецЕсли;
+
+ ПараметрыОбъекта.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды);
+
+ КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("Значения"));
+
+ Если НЕ КодВозврата = 0 Тогда
+ ВызватьИсключение СтрШаблон("Ошибка получения значений счетчика потребления ресурсов ""%1""
+ |с отбором ""%2"", КодВозврата = %3: %4",
+ Имя(),
+ ?(ЗначениеЗаполнено(Отбор), Отбор, "<без отбора>"),
+ КодВозврата,
+ Кластер_Агент.ВыводКоманды(Ложь));
+ КонецЕсли;
+
+ МассивРезультатов = Кластер_Агент.ВыводКоманды();
+
+ Счетчик_Значения.Заполнить(МассивРезультатов);
+
+ Счетчик_Значения.УстановитьАктуальность();
+
+КонецПроцедуры // ОбновитьДанныеЗначений()
+
+// Процедура заполняет параметры счетчика потребления ресурсов
+//
+// Параметры:
+// ДанныеЗаполнения - Соответствие - данные, из которых будут заполнены параметры счетчика потребления ресурсов
+//
+Процедура ЗаполнитьПараметрыСчетчика(ДанныеЗаполнения)
+
+ Служебный.ЗаполнитьПараметрыОбъекта(ЭтотОбъект, Счетчик_Параметры, ДанныеЗаполнения);
+
+КонецПроцедуры // ЗаполнитьПараметрыСчетчика()
+
+// Функция возвращает коллекцию параметров объекта
+//
+// Параметры:
+// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано
+// в качестве ключа возвращаемого соответствия
+//
+// Возвращаемое значение:
+// Соответствие - коллекция параметров объекта, для получения/изменения значений
+//
+Функция ПараметрыОбъекта(ИмяПоляКлюча = "Имя") Экспорт
+
+ Возврат ПараметрыОбъекта.ОписаниеСвойств(ИмяПоляКлюча);
+
+КонецФункции // ПараметрыОбъекта()
+
+// Функция возвращает имя счетчика потребления ресурсов
+//
+// Возвращаемое значение:
+// Строка - имя счетчика потребления ресурсов
+//
+Функция Имя() Экспорт
+
+ Возврат Счетчик_Имя;
+
+КонецФункции // Имя()
+
+// Функция возвращает значение параметра счетчика потребления ресурсов кластера 1С
+//
+// Параметры:
+// ИмяПоля - Строка - Имя параметра кластера
+// ОбновитьПринудительно - Булево - Истина - обновить список (вызов RAC)
+//
+// Возвращаемое значение:
+// Произвольный - значение параметра счетчика потребления ресурсов кластера 1С
+//
+Функция Получить(ИмяПоля, ОбновитьПринудительно = Ложь) Экспорт
+
+ ОбновитьДанные(ОбновитьПринудительно);
+
+ Если НЕ Найти(ВРЕг("Имя, name"), ВРег(ИмяПоля)) = 0 Тогда
+ Возврат Счетчик_Имя;
+ КонецЕсли;
+
+ ЗначениеПоля = Счетчик_Параметры.Получить(ИмяПоля);
+
+ Если ЗначениеПоля = Неопределено Тогда
+
+ ОписаниеПараметра = ПараметрыОбъекта("ИмяРАК").Получить(ИмяПоля);
+
+ Если НЕ ОписаниеПараметра = Неопределено Тогда
+ ЗначениеПоля = Счетчик_Параметры.Получить(ОписаниеПараметра["Имя"]);
+ КонецЕсли;
+ КонецЕсли;
+
+ Возврат ЗначениеПоля;
+
+КонецФункции // Получить()
+
+
+// Процедура изменяет параметры счетчика потребления ресурсов
+//
+// Параметры:
+// ПараметрыСчетчика - Структура - новые параметры счетчика потребления ресурсов
+//
+Процедура Изменить(Знач ПараметрыСчетчика = Неопределено) Экспорт
+
+ Если НЕ ТипЗнч(ПараметрыСчетчика) = Тип("Соответствие") Тогда
+ ПараметрыСчетчика = Новый Соответствие();
+ КонецЕсли;
+
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_Владелец.СтрокаАвторизации());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид());
+
+ ПараметрыКоманды.Вставить("Имя" , Имя());
+
+ Для Каждого ТекЭлемент Из ПараметрыСчетчика Цикл
+ ПараметрыКоманды.Вставить(ТекЭлемент.Ключ, ТекЭлемент.Значение);
+ КонецЦикла;
+
+ ПараметрыОбъекта.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды);
+
+ КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("Изменить"));
+
+ Если НЕ КодВозврата = 0 Тогда
+ ВызватьИсключение СтрШаблон("Ошибка изменения параметров счетчика, КодВозврата = %1: %2",
+ Имя(),
+ Кластер_Агент.ВыводКоманды(Ложь));
+ КонецЕсли;
+
+ Лог.Отладка(Кластер_Агент.ВыводКоманды(Ложь));
+ ОбновитьДанные(Истина);
+
+КонецПроцедуры // Изменить()
+
+// Функция возвращает значения счетчика потребления ресурсов
+//
+// Параметры:
+// Отбор - отбор значений счетчика потребления ресурсов
+//
+// Возвращаемое значение:
+// ОбъектыКластера - значения счетчика потребления ресурсов
+//
+Функция Значения(Знач Отбор = "") Экспорт
+
+ Если Счетчик_Значения.ТребуетсяОбновление(ЗначениеЗаполнено(Отбор)) Тогда
+ ОбновитьДанныеЗначений(Отбор);
+ КонецЕсли;
+
+ Возврат Счетчик_Значения;
+
+КонецФункции // Значения()
+
+// Процедура удаляет счетчик потребления ресурсов из кластера 1С
+//
+// Параметры:
+// Имя - Строка - Имя счетчик потребления ресурсов
+//
+Процедура Удалить(Имя) Экспорт
+
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_Владелец.СтрокаАвторизации());
+
+ ПараметрыКоманды.Вставить("ИмяСчетчика" , Имя());
+
+ ПараметрыОбъекта.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды);
+
+ КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("Отключить"));
+
+ Если НЕ КодВозврата = 0 Тогда
+ ВызватьИсключение СтрШаблон("Ошибка удаления счетчика потребления ресурсов ""%1"", КодВозврата = %2: %3",
+ Имя(),
+ КодВозврата,
+ Кластер_Агент.ВыводКоманды(Ложь));
+ КонецЕсли;
+
+ Лог.Отладка(Кластер_Агент.ВыводКоманды(Ложь));
+
+ ОбновитьДанные(Истина);
+
+КонецПроцедуры // Удалить()
+
+Лог = Логирование.ПолучитьЛог("oscript.lib.irac");
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"
new file mode 100644
index 0000000..8a3b073
--- /dev/null
+++ "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"
@@ -0,0 +1,225 @@
+// ----------------------------------------------------------
+// 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)
+//
+// Возвращаемое значение:
+// Массив - список счетчиков потребления ресурсов кластера 1С
+//
+Функция Список(Отбор = Неопределено, ОбновитьПринудительно = Ложь) Экспорт
+
+ СписокСчетчиков = Элементы.Список(Отбор, ОбновитьПринудительно);
+
+ Возврат СписокСчетчиков;
+
+КонецФункции // Список()
+
+// Функция возвращает счетчиков потребления ресурсов кластера 1С
+//
+// Параметры:
+// ПоляИерархии - Строка - Поля для построения иерархии списка счетчиков потребления ресурсов,
+// разделенные ","
+// ОбновитьПринудительно - Булево - Истина - обновить список (вызов RAC)
+//
+// Возвращаемое значение:
+// Соответствие - список счетчиков потребления ресурсов кластера 1С
+// <имя поля объекта> - Массив(Соответствие), Соответствие - список счетчиков потребления ресурсов
+// или следующий уровень
+//
+Функция ИерархическийСписок(Знач ПоляИерархии, ОбновитьПринудительно = Ложь) Экспорт
+
+ СписокСчетчиков = Элементы.ИерархическийСписок(ПоляИерархии, ОбновитьПринудительно);
+
+ Возврат СписокСчетчиков;
+
+КонецФункции // ИерархическийСписок()
+
+// Функция возвращает количество счетчиков потребления ресурсов в списке
+//
+// Возвращаемое значение:
+// Число - количество счетчиков потребления ресурсов
+//
+Функция Количество() Экспорт
+
+ Если Элементы = Неопределено Тогда
+ Возврат 0;
+ КонецЕсли;
+
+ Возврат Элементы.Количество();
+
+КонецФункции // Количество()
+
+// Функция возвращает описание счетчика потребления ресурсов кластера 1С
+//
+// Параметры:
+// Имя - Строка - Имя счетчика потребления ресурсов
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+//
+// Возвращаемое значение:
+// Соответствие - описание счетчика потребления ресурсов кластера 1С
+//
+Функция Получить(Знач Имя, Знач ОбновитьПринудительно = Ложь) Экспорт
+
+ ОбновитьДанные(ОбновитьПринудительно);
+
+ Отбор = Новый Соответствие();
+ Отбор.Вставить("name", Имя);
+
+ СписокСчетчиков = Элементы.Список(Отбор, ОбновитьПринудительно);
+
+ Если СписокСчетчиков.Количество() = 0 Тогда
+ Возврат Неопределено;
+ КонецЕсли;
+
+ Возврат СписокСчетчиков[0];
+
+КонецФункции // Получить()
+
+// Процедура добавляет новый счетчик потребления ресурсов в кластер 1С
+//
+// Параметры:
+// Имя - Строка - имя счетчика потребления ресурсов 1С
+// ПараметрыСчетчика - Структура - параметры счетчика потребления ресурсов 1С
+//
+Процедура Добавить(Имя, ПараметрыСчетчика = Неопределено) Экспорт
+
+ Если НЕ ТипЗнч(ПараметрыСчетчика) = Тип("Структура") Тогда
+ ПараметрыСчетчика = Новый Структура();
+ КонецЕсли;
+
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_Владелец.СтрокаАвторизации());
+
+ ПараметрыКоманды.Вставить("ИмяСчетчика" , Имя);
+
+ Для Каждого ТекЭлемент Из ПараметрыСчетчика Цикл
+ ПараметрыКоманды.Вставить(ТекЭлемент.Ключ, ТекЭлемент.Значение);
+ КонецЦикла;
+
+ ПараметрыОбъекта.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды);
+
+ КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("Изменить"));
+
+ Если НЕ КодВозврата = 0 Тогда
+ ВызватьИсключение СтрШаблон("Ошибка добавления счетчика потребления ресурсов ""%1"": %2",
+ Имя,
+ Кластер_Агент.ВыводКоманды(Ложь));
+ КонецЕсли;
+
+ Лог.Отладка(Кластер_Агент.ВыводКоманды(Ложь));
+
+ ОбновитьДанные(Истина);
+
+КонецПроцедуры // Добавить()
+
+// Процедура удаляет счетчик потребления ресурсов
+//
+// Параметры:
+// Имя - Строка - Имя счетчика потребления ресурсов
+//
+Процедура Удалить(Знач Имя) Экспорт
+
+ Если ТипЗнч(Имя) = Тип("Строка") Тогда
+ Счетчик = Получить(Имя);
+ КонецЕсли;
+
+ Счетчик.Удалить();
+
+ ОбновитьДанные(Истина);
+
+КонецПроцедуры // Удалить()
+
+Лог = Логирование.ПолучитьЛог("oscript.lib.irac");
diff --git "a/src/\320\234\320\260\320\272\320\265\321\202\321\213/\320\237\320\265\321\200\320\265\321\207\320\270\321\201\320\273\320\265\320\275\320\270\321\217.json" "b/src/\320\234\320\260\320\272\320\265\321\202\321\213/\320\237\320\265\321\200\320\265\321\207\320\270\321\201\320\273\320\265\320\275\320\270\321\217.json"
new file mode 100644
index 0000000..ced7c0f
--- /dev/null
+++ "b/src/\320\234\320\260\320\272\320\265\321\202\321\213/\320\237\320\265\321\200\320\265\321\207\320\270\321\201\320\273\320\265\320\275\320\270\321\217.json"
@@ -0,0 +1,143 @@
+{
+ "РежимыАдминистрирования":{
+ "Агент" : "agent",
+ "Кластеры" : "cluster",
+ "Менеджеры" : "manager",
+ "Серверы" : "server",
+ "РабочиеПроцессы" : "process",
+ "Сервисы" : "service",
+ "ИБ" : "infobase",
+ "Соединения" : "connection",
+ "Сеансы" : "session",
+ "Блокировки" : "lock",
+ "НазначенияФункциональности" : "rule",
+ "ПрофилиБезопасности" : "profile",
+ "СчетчикиРесурсов" : "counter",
+ "ОграниченияРесурсов" : "limit"
+ },
+ "ВариантыИспользованияРабочегоСервера":{
+ "Главный" : "main",
+ "Обычный" : "normal"
+ },
+ "ВариантыИспользованияМенеджераКластера":{
+ "Обычный" : "normal"
+ },
+ "ВариантыРазмещенияСервисов":{
+ "ВОтдельныхМенеджерах" : "all",
+ "ВОдномМенеджере" : "none"
+ },
+ "СостоянияВыключателя":{
+ "Включено" : "on",
+ "Выключено" : "off"
+ },
+ "ДаНет":{
+ "Да" : "yes",
+ "Нет" : "no"
+ },
+ "ПраваДоступа":{
+ "Разрешено" : "allow",
+ "Запрещено" : "deny"
+ },
+ "РежимыРаспределенияНагрузки":{
+ "ПоПамяти" : "memory",
+ "ПоПроизводительности": "performance"
+ },
+ "СпособыАвторизации":{
+ "Пароль" : "pwd",
+ "ОС" : "os",
+ "ПарольИОС" : "pwd|os"
+ },
+ "ТипыСУБД":{
+ "MSSQLServer" : "MSSQLServer",
+ "PostgreSQL" : "PostgreSQL",
+ "IBMDB2" : "IBMDB2",
+ "OracleDatabase" : "OracleDatabase"
+ },
+ "Использование":{
+ "Использовать" : "use"
+ },
+ "ТипыНазначенияФункциональности":{
+ "Авто" : "auto",
+ "Назначать" : "always",
+ "НеНазначать" : "never"
+ },
+ "ОбъектыНазначенияФункциональности":{
+ "ЛюбойОбъект" : "",
+ "КлиентскиеСоединения" : "Connection",
+ "ОбновлениеКонфигураций" : "DataBaseConfigurationUpdateService",
+ "ЖурналРегистрации" : "EventLogService",
+ "ПровайдерOpenID" : "OpenID2ProviderContextService",
+ "ПолнотекстовыйПоиск" : "FulltextSearchService",
+ "ПользовательскиеНастройки" : "SettingsService",
+ "ТранзакционныеБлокировки" : "TransactionLockService",
+ "ВнешнееУправлениеСеансами" : "ExternalSessionManagerService",
+ "ВнешниеИсточникиXML" : "ExternalDataSourceXMLAService",
+ "Тестирование" : "ClientTestingService",
+ "Лицензирование" : "LicenseService",
+ "ДопФункцииКластера" : "AuxiliaryService",
+ "Время" : "TimestampService",
+ "БлокировкиОбъектов" : "DataEditLockService",
+ "СеансовыеДанные" : "SessionDataService",
+ "Задания" : "JobService",
+ "Нумерация" : "NumerationService",
+ "ПовторноеИспользованиеСеансов" : "SessionReuseService",
+ "ВнешниеИсточникиODBC" : "ExternalDataSourceODBCService"
+ },
+ "РежимыДоступа":{
+ "Список" : "list",
+ "ПолныйДоступ" : "full"
+ },
+ "ВидыОбъектовПрофиляБезопасности":{
+ "Каталог" : "directory",
+ "COMКласс" : "com",
+ "Компонент" : "addin",
+ "Модуль" : "module",
+ "Приложение" : "app",
+ "ИнтернетРесурс" : "inet"
+ },
+ "ДействияСБазойСУБДПриУдалении":{
+ "Очистить" : "clear",
+ "Удалить" : "drop",
+ "ОставитьБезИзменений" : "leave-as-is"
+ },
+ "Приложения":{
+ "Конфигуратор" : "Designer",
+ "ТонкийКлиент" : "1CV8C",
+ "ТолстыйКлиент" : "1CV8",
+ "COMСоединение" : "COMConnection",
+ "РасширениеWebСервера" : "WebServerExtension",
+ "Планировщик" : "JobScheduler",
+ "ФоновоеЗадание" : "BackgroundJob",
+ "КонсольКластера" : "SrvrConsole"
+ },
+ "ТипыГруппировкиСчетчиковРесурсов":{
+ "Пользователи" : "users",
+ "РазделительДанных" : "data-separation"
+ },
+ "ТипыОтбораСчетчиковРесурсов":{
+ "Выбранные" : "all-selected",
+ "ВсеКромеВыбранных" : "all-but-selected",
+ "Все" : "all"
+ },
+ "ВремяНакопленияСчетчиковРесурсов":{
+ "ТекущийВызов" : "current-call"
+ },
+ "СостоянияСчетчиковРесурсов":{
+ "Включен" : "analyze",
+ "Выключен" : "not-analyze"
+ },
+ "ПоляОтбораСчетчиковРесурсов":{
+ "ИБ" : "infobase",
+ "Разделитель" : "data-separation",
+ "Пользователь" : "user",
+ "БезопасныйРежим" : "safe-mode",
+ "ПрофильБезопасногоРежима" : "safe-mode-profile-name",
+ "Приложение" : "appID"
+ },
+ "ДействияОграниченияРесурсов":{
+ "Нет" : "none",
+ "СнизитьПриоритетПотока" : "set-low-priority-thread",
+ "ЗавершитьТекущийВызов" : "interrupt-current-call",
+ "ЗавершитьСеанс" : "interrupt-session"
+ }
+}
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"
new file mode 100644
index 0000000..4c0e1b7
--- /dev/null
+++ "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"
@@ -0,0 +1,2086 @@
+{
+ "Агент":{
+ "Имя" : "Агент",
+ "РежимАдминистрирования" : "agent",
+ "Свойства":{
+ "Администраторы":{
+ "Имя" : "Администратор",
+ "РежимАдминистрирования" : "admin",
+ "Свойства":{
+ "Имя":{
+ "ИмяРАК" : "name",
+ "ПоУмолчанию" : "Администратор",
+ "Использование" : "Чтение, Добавление"
+ },
+ "Пароль":{
+ "ИмяРАК" : "pwd",
+ "Использование" : "Чтение"
+ },
+ "СпособАвторизации":{
+ "ИмяРАК" : "auth",
+ "ПоУмолчанию" : "$Перечисления.СпособыАвторизации.Пароль",
+ "Использование" : "Чтение, Добавление"
+ },
+ "ПользовательОС":{
+ "ИмяРАК" : "os-user",
+ "Использование" : "Чтение, Добавление"
+ },
+ "Описание":{
+ "ИмяРАК" : "descr",
+ "ПоУмолчанию" : "Администратор",
+ "Использование" : "Чтение, Добавление"
+ }
+ },
+ "Команды":{
+ "Список":{
+ "ИмяРАК" : "list",
+ "АвторизацияАгента" : true
+ },
+ "Добавить":{
+ "ИмяРАК" : "register",
+ "АвторизацияАгента" : true,
+ "Прочие" : true
+ },
+ "Удалить":{
+ "ИмяРАК" : "remove",
+ "АвторизацияАгента" : true
+ }
+ }
+ },
+ "Версия":{
+ "Имя" : "Версия",
+ "РежимАдминистрирования" : "version",
+ "МинВерсия" : "8.3.16"
+ }
+ }
+ },
+ "Кластеры":{
+ "Имя" : "Кластер",
+ "РежимАдминистрирования" : "cluster",
+ "Свойства":{
+ "Ид":{
+ "ИмяРАК" : "cluster"
+ },
+ "АдресСервера":{
+ "ИмяРАК" : "host"
+ },
+ "ПортСервера":{
+ "ИмяРАК" : "port"
+ },
+ "Имя":{
+ "ИмяРАК" : "name"
+ },
+ "ИнтервалПерезапуска":{
+ "ИмяРАК" : "lifetime-limit",
+ "ПоУмолчанию" : 0,
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "ДопустимыйОбъемПамяти":{
+ "ИмяРАК" : "max-memory-size",
+ "ПоУмолчанию" : 0,
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "ЗащищенноеСоединение":{
+ "ИмяРАК" : "security-level",
+ "ПоУмолчанию" : 0,
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "УровеньОтказоустойчивости":{
+ "ИмяРАК" : "session-fault-tolerance-level",
+ "ПоУмолчанию" : 0,
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "РежимРаспределенияНагрузки":{
+ "ИмяРАК" : "load-balancing-mode",
+ "ПоУмолчанию" : "$Перечисления.РежимыРаспределенияНагрузки.ПоПроизводительности",
+ "Использование" : "Чтение, Добавление, Изменение",
+ "МинВерсия" : "8.3.3"
+ },
+ "ИнтервалПревышенияДопустимогоОбъемаПамяти":{
+ "ИмяРАК" : "max-memory-time-limit",
+ "ПоУмолчанию" : 0,
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "ДопустимоеОтклонениеКоличестваОшибокСервера":{
+ "ИмяРАК" : "errors-count-threshold",
+ "ПоУмолчанию" : 0,
+ "Использование" : "Чтение, Добавление, Изменение",
+ "МинВерсия" : "8.3.6"
+ },
+ "ПринудительноЗавершатьПроблемныеПроцессы":{
+ "ИмяРАК" : "kill-problem-processes",
+ "ПоУмолчанию" : "$Перечисления.ДаНет.Нет",
+ "Использование" : "Чтение, Добавление, Изменение",
+ "МинВерсия" : "8.3.6"
+ },
+ "ВыключенныеПроцессыОстанавливатьЧерез":{
+ "ИмяРАК" : "expiration-timeout",
+ "ПоУмолчанию" : 0,
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "ЗаписыватьДампПриЗавершенииПоПревышениюПамяти":{
+ "ИмяРАК" : "kill-by-memory-with-dump",
+ "Использование" : "Чтение, Добавление, Изменение",
+ "МинВерсия" : "8.3.15"
+ },
+ "Администраторы":{
+ "Имя" : "Администратор",
+ "РежимАдминистрирования" : "admin",
+ "Свойства":{
+ "Имя":{
+ "ИмяРАК" : "name",
+ "ПоУмолчанию" : "Администратор",
+ "Использование" : "Чтение, Добавление"
+ },
+ "Пароль":{
+ "ИмяРАК" : "pwd",
+ "Использование" : "Чтение"
+ },
+ "СпособАвторизации":{
+ "ИмяРАК" : "auth",
+ "ПоУмолчанию" : "$Перечисления.СпособыАвторизации.Пароль",
+ "Использование" : "Чтение, Добавление"
+ },
+ "ПользовательОС":{
+ "ИмяРАК" : "os-user",
+ "Использование" : "Чтение, Добавление"
+ },
+ "Описание":{
+ "ИмяРАК" : "descr",
+ "ПоУмолчанию" : "Администратор",
+ "Использование" : "Чтение, Добавление"
+ }
+ },
+ "Команды":{
+ "Список":{
+ "ИмяРАК" : "list",
+ "Кластер" : true
+ },
+ "Добавить":{
+ "ИмяРАК" : "register",
+ "Кластер" : true,
+ "Прочие" : true
+ },
+ "Удалить":{
+ "ИмяРАК" : "remove",
+ "Кластер" : true
+ }
+ }
+ }
+ },
+ "Команды":{
+ "Список":{
+ "ИмяРАК" : "list"
+ },
+ "Описание":{
+ "ИмяРАК" : "info",
+ "Кластер" : true
+ },
+ "Добавить":{
+ "ИмяРАК" : "insert",
+ "АвторизацияАгента" : true,
+ "ПараметрыКоманды" : [
+ {
+ "Шаблон" : "--host=%1",
+ "Параметр" : "АдресСервера"
+ },
+ {
+ "Шаблон" : "--port=%1",
+ "Параметр" : "ПортСервера"
+ },
+ {
+ "Шаблон" : "--name=%1",
+ "Параметр" : "Имя"
+ }
+ ],
+ "Прочие" : true
+ },
+ "Изменить":{
+ "ИмяРАК" : "update",
+ "АвторизацияАгента" : true,
+ "Кластер" : true,
+ "ПараметрыКоманды" : [
+ {
+ "Шаблон" : "--name=%1",
+ "Параметр" : "Имя"
+ }
+ ],
+ "Прочие" : true
+ },
+ "Удалить":{
+ "ИмяРАК" : "remove",
+ "АвторизацияАгента" : true,
+ "Кластер" : true
+ }
+ }
+ },
+ "МенеджерыКластера":{
+ "Имя" : "МенеджерКластера",
+ "РежимАдминистрирования" : "manager",
+ "Свойства":{
+ "Ид":{
+ "ИмяРАК" : "manager"
+ },
+ "ИдПроцессаОС":{
+ "ИмяРАК" : "pid"
+ },
+ "Назначение":{
+ "ИмяРАК" : "using"
+ },
+ "АдресСервера":{
+ "ИмяРАК" : "host"
+ },
+ "ПортСервера":{
+ "ИмяРАК" : "port"
+ },
+ "Описание":{
+ "ИмяРАК" : "descr"
+ }
+ },
+ "Команды":{
+ "Список":{
+ "ИмяРАК" : "list",
+ "Кластер" : true
+ },
+ "Описание":{
+ "ИмяРАК" : "info",
+ "Кластер" : true
+ }
+ }
+ },
+ "Серверы":{
+ "Имя" : "Сервер",
+ "РежимАдминистрирования" : "server",
+ "Свойства":{
+ "Ид":{
+ "ИмяРАК" : "server"
+ },
+ "Имя":{
+ "ИмяРАК" : "name",
+ "Использование" : "Чтение, Добавление"
+ },
+ "АдресАгента":{
+ "ИмяРАК" : "agent-host",
+ "ПоУмолчанию" : "localhost",
+ "Использование" : "Чтение, Добавление"
+ },
+ "ПортАгента":{
+ "ИмяРАК" : "agent-port",
+ "ПоУмолчанию" : "1540",
+ "Использование" : "Чтение, Добавление"
+ },
+ "ДиапазонПортов":{
+ "ИмяРАК" : "port-range",
+ "ПоУмолчанию" : "1560:1591",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "ЦентральныйСервер":{
+ "ИмяРАК" : "using",
+ "ПоУмолчанию" : "$Перечисления.ВариантыИспользованияРабочегоСервера.Главный",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "МенеджерПодКаждыйСервис":{
+ "ИмяРАК" : "dedicate-managers",
+ "ПоУмолчанию" : "$Перечисления.ВариантыРазмещенияСервисов.ВОдномМенеджере",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "КоличествоИБНаПроцесс":{
+ "ИмяРАК" : "infobases-limit",
+ "ПоУмолчанию" : 8,
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "МаксОбъемПамятиРабочихПроцессов":{
+ "ИмяРАК" : "memory-limit",
+ "ПоУмолчанию" : 0,
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "КоличествоСоединенийНаПроцесс":{
+ "ИмяРАК" : "connections-limit",
+ "ПоУмолчанию" : 128,
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "ПортГлавногоМенеджераКластера":{
+ "ИмяРАК" : "cluster-port",
+ "ПоУмолчанию" : "1541",
+ "Использование" : "Чтение, Добавление"
+ },
+ "БезопасныйОбъемПамятиРабочихПроцессов":{
+ "ИмяРАК" : "safe-working-processes-memory-limit",
+ "ПоУмолчанию" : 0,
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "БезопасныйРасходПамятиЗаОдинВызов":{
+ "ИмяРАК" : "safe-call-memory-limit",
+ "ПоУмолчанию" : 0,
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "КритическийОбъемПамятиПроцессов":{
+ "ИмяРАК" : "critical-total-memory",
+ "ПоУмолчанию" : 0,
+ "Использование" : "Чтение, Добавление, Изменение",
+ "МинВерсия" : "8.3.15"
+ },
+ "ВременноДопустимыйОбъемПамятиПроцессов":{
+ "ИмяРАК" : "temporary-allowed-total-memory",
+ "ПоУмолчанию" : 0,
+ "Использование" : "Чтение, Добавление, Изменение",
+ "МинВерсия" : "8.3.15"
+ },
+ "ПериодПревышенияВременноДопустимогоОбъемаПамятиПроцессов":{
+ "ИмяРАК" : "temporary-allowed-total-memory-time-limit",
+ "ПоУмолчанию" : 0,
+ "Использование" : "Чтение, Добавление, Изменение",
+ "МинВерсия" : "8.3.15"
+ }
+ },
+ "Команды":{
+ "Список":{
+ "ИмяРАК" : "list",
+ "Кластер" : true
+ },
+ "Описание":{
+ "ИмяРАК" : "info",
+ "Кластер" : true,
+ "ПараметрыКоманды" : [
+ {
+ "Шаблон" : "--server=%1",
+ "Параметр" : "ИдентификаторСервера",
+ "Обязательный" : true
+ }
+ ]
+ },
+ "Добавить":{
+ "ИмяРАК" : "insert",
+ "Кластер" : true,
+ "ПараметрыКоманды" : [
+ {
+ "Шаблон" : "--name=%1",
+ "Параметр" : "Имя",
+ "Обязательный" : true
+ },
+ {
+ "Шаблон" : "--locale=%1",
+ "Параметр" : "Локализация"
+ }
+ ],
+ "Прочие" : true
+ },
+ "Изменить":{
+ "ИмяРАК" : "update",
+ "Кластер" : true,
+ "ПараметрыКоманды" : [
+ {
+ "Шаблон" : "--server=%1",
+ "Параметр" : "ИдентификаторСервера",
+ "Обязательный" : true
+ }
+ ],
+ "Прочие" : true
+ },
+ "Удалить":{
+ "ИмяРАК" : "remove",
+ "Кластер" : true,
+ "ПараметрыКоманды" : [
+ {
+ "Шаблон" : "--server=%1",
+ "Параметр" : "ИдентификаторСервера",
+ "Обязательный" : true
+ }
+ ]
+ }
+ }
+ },
+ "РабочиеПроцессы":{
+ "Имя" : "РабочийПроцесс",
+ "РежимАдминистрирования" : "process",
+ "Свойства":{
+ "Ид":{
+ "ИмяРАК" : "process"
+ },
+ "АдресСервера":{
+ "ИмяРАК" : "host"
+ },
+ "ПортСервера":{
+ "ИмяРАК" : "port"
+ },
+ "ИдПроцессаОС":{
+ "ИмяРАК" : "pid"
+ },
+ "Активен":{
+ "ИмяРАК" : "is-enable"
+ },
+ "Выполняется":{
+ "ИмяРАК" : "running"
+ },
+ "ВремяЗапуска":{
+ "ИмяРАК" : "started-at"
+ },
+ "Использование":{
+ "ИмяРАК" : "use"
+ },
+ "ДоступнаяПроизводительность":{
+ "ИмяРАК" : "available-perfomance"
+ },
+ "Емкость":{
+ "ИмяРАК" : "capacity"
+ },
+ "КоличествоСоединений":{
+ "ИмяРАК" : "connections"
+ },
+ "ЗанятьПамяти":{
+ "ИмяРАК" : "memory-size"
+ },
+ "ВремяПревышенияЗанятойПамяти":{
+ "ИмяРАК" : "memory-excess-time"
+ },
+ "ОбъемВыборки":{
+ "ИмяРАК" : "selection-size"
+ },
+ "ЗатраченоКлиентом":{
+ "ИмяРАК" : "avg-back-call-time"
+ },
+ "ЗатраченоВсего":{
+ "ИмяРАК" : "avg-call-time"
+ },
+ "ЗатраченоСУБД":{
+ "ИмяРАК" : "avg-db-call-time"
+ },
+ "ЗатраченоМенеджеромБлокировок":{
+ "ИмяРАК" : "avg-lock-call-time"
+ },
+ "ЗатраченоСервером":{
+ "ИмяРАК" : "avg-server-call-time"
+ },
+ "КлиентскихПотоков":{
+ "ИмяРАК" : "avg-threads"
+ },
+ "Резервный":{
+ "ИмяРАК" : "reserve",
+ "МинВерсия" : "8.3.16"
+ },
+ "Лицензии":{
+ "Имя" : "Лицензия",
+ "РежимАдминистрирования" : "license",
+ "Свойства":{
+ "Процесс_Ид":{
+ "ИмяРАК" : "process"
+ },
+ "Процесс_АдресСервера":{
+ "ИмяРАК" : "host"
+ },
+ "Процесс_ПортСервера":{
+ "ИмяРАК" : "port"
+ },
+ "Процесс_ИдОС":{
+ "ИмяРАК" : "pid"
+ },
+ "ПолноеИмя":{
+ "ИмяРАК" : "full-name"
+ },
+ "Серия":{
+ "ИмяРАК" : "pwd"
+ },
+ "ВыданаСервером":{
+ "ИмяРАК" : "series"
+ },
+ "ТипЛицензии":{
+ "ИмяРАК" : "license-type"
+ },
+ "Сетевая":{
+ "ИмяРАК" : "net"
+ },
+ "МаксПользователей":{
+ "ИмяРАК" : "max-users-all"
+ },
+ "МаксПользователейТек":{
+ "ИмяРАК" : "max-users-cur"
+ },
+ "Менеджер_АдресСервера":{
+ "ИмяРАК" : "rmngr-address"
+ },
+ "Менеджер_ПортСервера":{
+ "ИмяРАК" : "rmngr-port"
+ },
+ "Менеджер_ИдОС":{
+ "ИмяРАК" : "rmngr-pid"
+ },
+ "КраткоеПредставление":{
+ "ИмяРАК" : "short-presentation"
+ },
+ "ПолноеПредставление":{
+ "ИмяРАК" : "full-presentation"
+ }
+ },
+ "Команды":{
+ "Список":{
+ "ИмяРАК" : "list",
+ "Кластер" : true,
+ "ПараметрыКоманды" : ["--license"]
+ },
+ "Описание":{
+ "ИмяРАК" : "info",
+ "Кластер" : true,
+ "ПараметрыКоманды" : [
+ "--license",
+ {
+ "Шаблон" : "--process=%1",
+ "Параметр" : "ИдентификаторПроцесса",
+ "Обязательный" : true
+ }
+ ]
+ }
+ }
+ }
+ },
+ "Команды":{
+ "Список":{
+ "ИмяРАК" : "list",
+ "Кластер" : true
+ },
+ "Описание":{
+ "ИмяРАК" : "info",
+ "Кластер" : true,
+ "ПараметрыКоманды" : [
+ {
+ "Шаблон" : "--process=%1",
+ "Параметр" : "ИдентификаторПроцесса",
+ "Обязательный" : true
+ }
+ ]
+ }
+ }
+ },
+ "Сервисы":{
+ "Имя" : "Сервис",
+ "РежимАдминистрирования" : "service",
+ "Свойства":{
+ "Имя":{
+ "ИмяРАК" : "name"
+ },
+ "ТолькоГлавныйМенеджер":{
+ "ИмяРАК" : "main-only"
+ },
+ "Менеджер_Ид":{
+ "ИмяРАК" : "manager"
+ },
+ "Описание":{
+ "ИмяРАК" : "descr"
+ }
+ },
+ "Команды":{
+ "Список":{
+ "ИмяРАК" : "list",
+ "Кластер" : true
+ }
+ }
+ },
+ "ИБ":{
+ "Имя" : "ИБ",
+ "РежимАдминистрирования" : "infobase",
+ "Свойства":{
+ "Ид":{
+ "ИмяРАК" : "infobase"
+ },
+ "ТипСУБД":{
+ "ИмяРАК" : "dbms",
+ "ПоУмолчанию" : "$Перечисления.ТипыСУБД.MSSQLServer",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "АдресСервераСУБД":{
+ "ИмяРАК" : "db-server",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "ИмяБазыСУБД":{
+ "ИмяРАК" : "db-name",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "ИмяПользователяБазыСУБД":{
+ "ИмяРАК" : "db-user",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "ПарольПользователяБазыСУБД":{
+ "ИмяРАК" : "db-pwd",
+ "Использование" : "Добавление, Изменение"
+ },
+ "НачалоБлокировкиСеансов":{
+ "ИмяРАК" : "denied-from",
+ "Использование" : "Чтение, Изменение"
+ },
+ "ОкончаниеБлокировкиСеансов":{
+ "ИмяРАК" : "denied-to",
+ "Использование" : "Чтение, Изменение"
+ },
+ "СообщениеБлокировкиСеансов":{
+ "ИмяРАК" : "denied-message",
+ "Использование" : "Чтение, Изменение"
+ },
+ "ПараметрБлокировкиСеансов":{
+ "ИмяРАК" : "denied-parameter",
+ "Использование" : "Чтение, Изменение"
+ },
+ "КодРазрешения":{
+ "ИмяРАК" : "permission-code",
+ "Использование" : "Чтение, Изменение"
+ },
+ "БлокировкаСеансовВключена":{
+ "ИмяРАК" : "sessions-deny",
+ "ПоУмолчанию" : false,
+ "Использование" : "Чтение, Изменение"
+ },
+ "БлокировкаРегламентныхЗаданийВключена":{
+ "ИмяРАК" : "scheduled-jobs-deny",
+ "ПоУмолчанию" : "$Перечисления.СостоянияВыключателя.Выключено",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "ВыдачаЛицензийСервером":{
+ "ИмяРАК" : "license-distribution",
+ "ПоУмолчанию" : "$Перечисления.ПраваДоступа.Разрешено",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "ПараметрыВнешнегоУправленияСеансами":{
+ "ИмяРАК" : "external-session-manager-connection-string",
+ "Использование" : "Чтение, Изменение"
+ },
+ "ОбязательноеВнешнееУправлениеСеансами":{
+ "ИмяРАК" : "external-session-manager-required",
+ "ПоУмолчанию" : "$Перечисления.ДаНет.Нет",
+ "Использование" : "Чтение, Изменение"
+ },
+ "ПрофильБезопасности":{
+ "ИмяРАК" : "security-profile-name",
+ "Использование" : "Чтение, Изменение"
+ },
+ "ПрофильБезопасностиБезопасногоРежима":{
+ "ИмяРАК" : "safe-mode-security-profile-name",
+ "ПоУмолчанию" : "$Перечисления.ПраваДоступа.Разрешено",
+ "Использование" : "Чтение, Изменение"
+ },
+ "СмещениеДат":{
+ "ИмяРАК" : "date-offset",
+ "ПоУмолчанию" : 2000,
+ "Использование" : "Добавление"
+ },
+ "Описание":{
+ "ИмяРАК" : "descr",
+ "Использование" : "Чтение, Изменение"
+ },
+ "РезервироватьРабочийПроцесс":{
+ "ИмяРАК" : "reserve-working-process",
+ "Использование" : "Чтение, Изменение, Добавление",
+ "МинВерсия" : "8.3.16"
+ }
+ },
+ "Команды":{
+ "Список":{
+ "ИмяРАК" : "list",
+ "Кластер" : true,
+ "ОбщиеПараметры" : ["summary"]
+ },
+ "Описание":{
+ "ИмяРАК" : "info",
+ "Кластер" : true,
+ "ОбщиеПараметры" : ["summary"],
+ "ПараметрыКоманды" : [
+ {
+ "Шаблон" : "--infobase=%1",
+ "Параметр" : "ИдентификаторИБ",
+ "Обязательный" : true
+ }
+ ]
+ },
+ "ПолноеОписание":{
+ "ИмяРАК" : "info",
+ "Кластер" : true,
+ "ПараметрыКоманды" : [
+ {
+ "Шаблон" : "--infobase=%1",
+ "Параметр" : "ИдентификаторИБ",
+ "Обязательный" : true
+ }
+ ]
+ },
+ "Добавить":{
+ "ИмяРАК" : "create",
+ "Кластер" : true,
+ "ПараметрыКоманды" : [
+ {
+ "Шаблон" : "--name=%1",
+ "Параметр" : "Имя",
+ "Обязательный" : true
+ },
+ {
+ "Шаблон" : "--locale=%1",
+ "Параметр" : "Локализация"
+ }
+ ],
+ "Прочие" : true
+ },
+ "Изменить":{
+ "ИмяРАК" : "update",
+ "Кластер" : true,
+ "ПараметрыКоманды" : [
+ {
+ "Шаблон" : "--infobase=%1",
+ "Параметр" : "ИдентификаторИБ",
+ "Обязательный" : true
+ }
+ ],
+ "Прочие" : true
+ },
+ "Удалить":{
+ "ИмяРАК" : "drop",
+ "Кластер" : true,
+ "ПараметрыКоманды" : [
+ {
+ "Шаблон" : "--infobase=%1",
+ "Параметр" : "ИдентификаторИБ"
+ },
+ {
+ "Флаг" : "ОчиститьБД",
+ "Параметр" : "--clear-database"
+ },
+ {
+ "Флаг" : "УдалитьБД",
+ "Параметр" : "--drop-database"
+ }
+ ]
+ }
+ }
+ },
+ "Соединения":{
+ "Имя" : "Соединение",
+ "РежимАдминистрирования" : "connection",
+ "Свойства":{
+ "Ид":{
+ "ИмяРАК" : "connection"
+ },
+ "НомерСоединения":{
+ "ИмяРАК" : "conn-id"
+ },
+ "Процесс_Ид":{
+ "ИмяРАК" : "process"
+ },
+ "ИнформационнаяБаза_Ид":{
+ "ИмяРАК" : "infobase"
+ },
+ "Приложение":{
+ "ИмяРАК" : "application"
+ },
+ "НачалоРаботы":{
+ "ИмяРАК" : "connected-at"
+ },
+ "НомерСеанса":{
+ "ИмяРАК" : "session-number"
+ },
+ "Заблокировано":{
+ "ИмяРАК" : "blocked-by-ls"
+ },
+ "ВремяРаботыСервисаТекущее":{
+ "ИмяРАК" : "duration-current-service",
+ "МинВремя" : "8.3.12"
+ },
+ "ИмяИсполняемогоСервиса":{
+ "ИмяРАК" : "current-service-name",
+ "МинВремя" : "8.3.12"
+ },
+ "ВремяРаботыСервиса5мин":{
+ "ИмяРАК" : "duration-last-5min-service",
+ "МинВремя" : "8.3.12"
+ },
+ "ВремяРаботыСервисаВсего":{
+ "ИмяРАК" : "duration-all-service",
+ "МинВремя" : "8.3.12"
+ }
+ },
+ "Команды":{
+ "Список":{
+ "ИмяРАК" : "list",
+ "Кластер" : true,
+ "ПараметрыКоманды" : [
+ {
+ "Шаблон" : "--process=%1",
+ "Параметр" : "ИдентификаторПроцесса"
+ },
+ {
+ "Шаблон" : "--infobase=%1",
+ "Параметр" : "ИдентификаторИБ"
+ }
+ ]
+ },
+ "Описание":{
+ "ИмяРАК" : "info",
+ "Кластер" : true,
+ "ПараметрыКоманды" : [
+ {
+ "Шаблон" : "--connection=%1",
+ "Параметр" : "ИдентификаторСоединения",
+ "Обязательный" : true
+ }
+ ]
+ },
+ "Отключить":{
+ "ИмяРАК" : "disconnect",
+ "Кластер" : true,
+ "ПараметрыКоманды" : [
+ {
+ "Шаблон" : "--process=%1",
+ "Параметр" : "ИдентификаторПроцесса",
+ "Обязательный" : true
+ },
+ {
+ "Шаблон" : "--connection=%1",
+ "Параметр" : "ИдентификаторСоединения",
+ "Обязательный" : true
+ }
+ ]
+ }
+ }
+ },
+ "Сеансы":{
+ "Имя" : "Сеанс",
+ "РежимАдминистрирования" : "session",
+ "Свойства":{
+ "Ид":{
+ "ИмяРАК" : "session"
+ },
+ "НомерСеанса":{
+ "ИмяРАК" : "session-id"
+ },
+ "ИнформационнаяБаза_Ид":{
+ "ИмяРАК" : "infobase"
+ },
+ "Соединение_Ид":{
+ "ИмяРАК" : "connection"
+ },
+ "Процесс_Ид":{
+ "ИмяРАК" : "process"
+ },
+ "Пользователь":{
+ "ИмяРАК" : "user-name"
+ },
+ "Компьютер":{
+ "ИмяРАК" : "host"
+ },
+ "Приложение":{
+ "ИмяРАК" : "app-id"
+ },
+ "Язык":{
+ "ИмяРАК" : "locale"
+ },
+ "ВремяНачала":{
+ "ИмяРАК" : "started-at"
+ },
+ "ПоследняяАктивность":{
+ "ИмяРАК" : "last-active-at"
+ },
+ "Спящий":{
+ "ИмяРАК" : "hibernate"
+ },
+ "ЗаснутьЧерез":{
+ "ИмяРАК" : "passive-session-hibernate-time"
+ },
+ "ЗавершитьЧерез":{
+ "ИмяРАК" : "hibernate-session-terminate-time"
+ },
+ "ЗаблокированоСУБД":{
+ "ИмяРАК" : "blocked-by-dbms"
+ },
+ "ЗаблокированоУпр":{
+ "ИмяРАК" : "blocked-by-ls"
+ },
+ "ДанныхВсего":{
+ "ИмяРАК" : "bytes-all"
+ },
+ "Данных5мин":{
+ "ИмяРАК" : "bytes-last-5min"
+ },
+ "КоличествоВызововВсего":{
+ "ИмяРАК" : "calls-all"
+ },
+ "КоличествоВызовов5мин":{
+ "ИмяРАК" : "calls-last-5min"
+ },
+ "ДанныхСУБДВсего":{
+ "ИмяРАК" : "dbms-bytes-all"
+ },
+ "ДанныхСУБД5мин":{
+ "ИмяРАК" : "dbms-bytes-last-5min"
+ },
+ "СоединениеССУБД":{
+ "ИмяРАК" : "db-proc-info"
+ },
+ "ЗахваченоСУБД":{
+ "ИмяРАК" : "db-proc-took"
+ },
+ "ВремяЗахватаСУБД":{
+ "ИмяРАК" : "db-proc-took-at"
+ },
+ "ВремяВызововВсего":{
+ "ИмяРАК" : "duration-all"
+ },
+ "ВремяВызововСУБДВсего":{
+ "ИмяРАК" : "duration-all-dbms"
+ },
+ "ВремяВызововТекущее":{
+ "ИмяРАК" : "duration-current"
+ },
+ "ВремяВызововСУБДТекущее":{
+ "ИмяРАК" : "duration-current-dbms"
+ },
+ "ВремяВызовов5мин":{
+ "ИмяРАК" : "duration-last-5min"
+ },
+ "ВремяВызововСУБД5мин":{
+ "ИмяРАК" : "duration-last-5min-dbms"
+ },
+ "ВремяРаботыСервисаТекущее":{
+ "ИмяРАК" : "duration-current-service",
+ "МинВремя" : "8.3.12"
+ },
+ "ИмяИсполняемогоСервиса":{
+ "ИмяРАК" : "current-service-name",
+ "МинВремя" : "8.3.12"
+ },
+ "ВремяРаботыСервиса5мин":{
+ "ИмяРАК" : "duration-last-5min-service",
+ "МинВремя" : "8.3.12"
+ },
+ "ВремяРаботыСервисаВсего":{
+ "ИмяРАК" : "duration-all-service",
+ "МинВремя" : "8.3.12"
+ },
+ "ВремяПроцессораТекущее":{
+ "ИмяРАК" : "cpu-time-current",
+ "МинВремя" : "8.3.13"
+ },
+ "ВремяПроцессора5мин":{
+ "ИмяРАК" : "cpu-time-5min-last",
+ "МинВремя" : "8.3.13"
+ },
+ "ВремяПроцессораВсего":{
+ "ИмяРАК" : "cpu-time-total",
+ "МинВремя" : "8.3.13"
+ },
+ "Лицензии":{
+ "Имя" : "Лицензия",
+ "РежимАдминистрирования" : "license",
+ "Свойства":{
+ "Сеанс_Ид":{
+ "ИмяРАК" : "session"
+ },
+ "ИмяПользователя":{
+ "ИмяРАК" : "user-name"
+ },
+ "АдресМашины":{
+ "ИмяРАК" : "host"
+ },
+ "ТипПриложения":{
+ "ИмяРАК" : "app-id"
+ },
+ "ПолноеИмя":{
+ "ИмяРАК" : "full-name"
+ },
+ "Серия":{
+ "ИмяРАК" : "pwd"
+ },
+ "ВыданаСервером":{
+ "ИмяРАК" : "series"
+ },
+ "ТипЛицензии":{
+ "ИмяРАК" : "license-type"
+ },
+ "Сетевая":{
+ "ИмяРАК" : "net"
+ },
+ "МаксПользователей":{
+ "ИмяРАК" : "max-users-all"
+ },
+ "МаксПользователейТек":{
+ "ИмяРАК" : "max-users-cur"
+ },
+ "Менеджер_АдресСервера":{
+ "ИмяРАК" : "rmngr-address"
+ },
+ "Менеджер_ПортСервера":{
+ "ИмяРАК" : "rmngr-port"
+ },
+ "Менеджер_ИдОС":{
+ "ИмяРАК" : "rmngr-pid"
+ },
+ "КраткоеПредставление":{
+ "ИмяРАК" : "short-presentation"
+ },
+ "ПолноеПредставление":{
+ "ИмяРАК" : "full-presentation"
+ }
+ },
+ "Команды":{
+ "Список":{
+ "ИмяРАК" : "list",
+ "Кластер" : true,
+ "ПараметрыКоманды" : ["--license"]
+ },
+ "Описание":{
+ "ИмяРАК" : "info",
+ "Кластер" : true,
+ "ПараметрыКоманды" : [
+ "--license",
+ {
+ "Шаблон" : "--session=%1",
+ "Параметр" : "ИдентификаторСеанса",
+ "Обязательный" : true
+ }
+ ]
+ }
+ }
+ }
+ },
+ "Команды":{
+ "Список":{
+ "ИмяРАК" : "list",
+ "Кластер" : true,
+ "ПараметрыКоманды" : [
+ {
+ "Шаблон" : "--infobase=%1",
+ "Параметр" : "ИдентификаторИБ"
+ }
+ ]
+ },
+ "Описание":{
+ "ИмяРАК" : "info",
+ "Кластер" : true,
+ "ПараметрыКоманды" : [
+ {
+ "Шаблон" : "--session=%1",
+ "Параметр" : "ИдентификаторСеанса",
+ "Обязательный" : true
+ }
+ ]
+ },
+ "Удалить":{
+ "ИмяРАК" : "terminate",
+ "Кластер" : true,
+ "ПараметрыКоманды" : [
+ {
+ "Шаблон" : "--session=%1",
+ "Параметр" : "ИдентификаторСеанса",
+ "Обязательный" : true
+ }
+ ]
+ }
+ }
+ },
+ "Блокировки":{
+ "Имя" : "Блокировка",
+ "РежимАдминистрирования" : "lock",
+ "Свойства":{
+ "Соединение_Ид":{
+ "ИмяРАК" : "connection"
+ },
+ "Сеанс_Ид":{
+ "ИмяРАК" : "session"
+ },
+ "Объект_Ид":{
+ "ИмяРАК" : "object"
+ },
+ "НачалоБлокировки":{
+ "ИмяРАК" : "locked"
+ },
+ "Описание":{
+ "ИмяРАК" : "descr"
+ }
+ },
+ "Команды":{
+ "Список":{
+ "ИмяРАК" : "list",
+ "Кластер" : true,
+ "ПараметрыКоманды" : [
+ {
+ "Шаблон" : "--infobase=%1",
+ "Параметр" : "ИдентификаторИБ"
+ },
+ {
+ "Шаблон" : "--connection=%1",
+ "Параметр" : "ИдентификаторСоединения"
+ },
+ {
+ "Шаблон" : "--session=%1",
+ "Параметр" : "ИдентификаторСеанса"
+ }
+ ]
+ }
+ }
+ },
+ "НазначенияФункциональности":{
+ "Имя" : "НазначениеФункциональности",
+ "РежимАдминистрирования" : "rule",
+ "Свойства":{
+ "Ид":{
+ "ИмяРАК" : "rule"
+ },
+ "ТипОбъекта":{
+ "ИмяРАК" : "object-type",
+ "ПоУмолчанию" : "$Перечисления.ОбъектыНазначенияФункциональности.ЛюбойОбъект",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "ИмяИБ":{
+ "ИмяРАК" : "infobase-name",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "ТипНазначения":{
+ "ИмяРАК" : "rule-type",
+ "ПоУмолчанию" : "$Перечисления.ТипыНазначенияФункциональности.Авто",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "ДопПараметр":{
+ "ИмяРАК" : "application-ext",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "Приоритет":{
+ "ИмяРАК" : "priority",
+ "ПоУмолчанию" : 0,
+ "Использование" : "Чтение, Добавление, Изменение"
+ }
+ },
+ "Команды":{
+ "Список":{
+ "ИмяРАК" : "list",
+ "Кластер" : true,
+ "ПараметрыКоманды" : [
+ {
+ "Шаблон" : "--server=%1",
+ "Параметр" : "ИдентификаторСервера",
+ "Обязательный" : true
+ }
+ ]
+ },
+ "Описание":{
+ "ИмяРАК" : "info",
+ "Кластер" : true,
+ "ПараметрыКоманды" : [
+ {
+ "Шаблон" : "--server=%1",
+ "Параметр" : "ИдентификаторСервера",
+ "Обязательный" : true
+ },
+ {
+ "Шаблон" : "--rule=%1",
+ "Параметр" : "ИдентификаторТребования",
+ "Обязательный" : true
+ }
+ ]
+ },
+ "Добавить":{
+ "ИмяРАК" : "insert",
+ "Кластер" : true,
+ "ПараметрыКоманды" : [
+ {
+ "Шаблон" : "--server=%1",
+ "Параметр" : "ИдентификаторСервера",
+ "Обязательный" : true
+ },
+ {
+ "Шаблон" : "--position=%1",
+ "Параметр" : "Позиция",
+ "Обязательный" : true
+ }
+ ],
+ "Прочие" : true
+ },
+ "Изменить":{
+ "ИмяРАК" : "update",
+ "Кластер" : true,
+ "ПараметрыКоманды" : [
+ {
+ "Шаблон" : "--server=%1",
+ "Параметр" : "ИдентификаторСервера",
+ "Обязательный" : true
+ },
+ {
+ "Шаблон" : "--position=%1",
+ "Параметр" : "Позиция",
+ "Обязательный" : true
+ },
+ {
+ "Шаблон" : "--rule=%1",
+ "Параметр" : "ИдентификаторТребования",
+ "Обязательный" : true
+ }
+ ],
+ "Прочие" : true
+ },
+ "Удалить":{
+ "ИмяРАК" : "remove",
+ "Кластер" : true,
+ "ПараметрыКоманды" : [
+ {
+ "Шаблон" : "--server=%1",
+ "Параметр" : "ИдентификаторСервера",
+ "Обязательный" : true
+ },
+ {
+ "Шаблон" : "--rule=%1",
+ "Параметр" : "ИдентификаторТребования",
+ "Обязательный" : true
+ }
+ ]
+ },
+ "Применить":{
+ "ИмяРАК" : "apply",
+ "Кластер" : true,
+ "ПараметрыКоманды" : [
+ {
+ "Флаг" : "ПрименитьЧастично",
+ "Параметр" : "--partial"
+ },
+ {
+ "Флаг" : "ПрименитьПолностью",
+ "Параметр" : "--full"
+ }
+ ]
+ }
+ }
+ },
+ "ПрофилиБезопасности":{
+ "Имя" : "ПрофильБезопасности",
+ "РежимАдминистрирования" : "profile",
+ "МинВерсия" : "8.3.3",
+ "Свойства":{
+ "Имя":{
+ "ИмяРАК" : "name"
+ },
+ "Описание":{
+ "ИмяРАК" : "descr",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "Каталоги":{
+ "ИмяРАК" : "directory",
+ "ПоУмолчанию" : "$Перечисления.РежимыДоступа.Список"
+ },
+ "COMКлассы":{
+ "ИмяРАК" : "com",
+ "ПоУмолчанию" : "$Перечисления.РежимыДоступа.Список"
+ },
+ "ВнешниеКомпоненты":{
+ "ИмяРАК" : "addin",
+ "ПоУмолчанию" : "$Перечисления.РежимыДоступа.Список"
+ },
+ "Модули":{
+ "ИмяРАК" : "module",
+ "ПоУмолчанию" : "$Перечисления.РежимыДоступа.Список"
+ },
+ "Приложения":{
+ "ИмяРАК" : "app",
+ "ПоУмолчанию" : "$Перечисления.РежимыДоступа.Список"
+ },
+ "ИнтернетРесурсы":{
+ "ИмяРАК" : "inet",
+ "ПоУмолчанию" : "$Перечисления.РежимыДоступа.Список"
+ },
+ "Конфигуратор":{
+ "ИмяРАК" : "config",
+ "ПоУмолчанию" : "$Перечисления.ДаНет.Нет",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "ПривилегированныйРежим":{
+ "ИмяРАК" : "priv",
+ "ПоУмолчанию" : "$Перечисления.ДаНет.Нет",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "Криптография":{
+ "ИмяРАК" : "crypto",
+ "ПоУмолчанию" : "$Перечисления.ДаНет.Нет",
+ "Использование" : "Чтение, Добавление, Изменение",
+ "МинВремя" : "8.3.7"
+ },
+ "РасширениеПрав":{
+ "ИмяРАК" : "right-extension",
+ "ПоУмолчанию" : "$Перечисления.ДаНет.Нет",
+ "Использование" : "Чтение, Добавление, Изменение",
+ "МинВремя" : "8.3.9"
+ },
+ "ОграничивающиеРоли":{
+ "ИмяРАК" : "right-extension-definition-roles",
+ "Использование" : "Чтение, Добавление, Изменение",
+ "МинВремя" : "8.3.9"
+ },
+ "РасширениеВсехМодулей":{
+ "ИмяРАК" : "all-modules-extension",
+ "ПоУмолчанию" : "$Перечисления.ДаНет.Нет",
+ "Использование" : "Чтение, Добавление, Изменение",
+ "МинВремя" : "8.3.9"
+ },
+ "ДоступныеМодули":{
+ "ИмяРАК" : "modules-available-for-extension",
+ "Использование" : "Чтение, Добавление, Изменение",
+ "МинВремя" : "8.3.9"
+ },
+ "НедоступныеМодули":{
+ "ИмяРАК" : "modules-not-available-for-extension",
+ "Использование" : "Чтение, Добавление, Изменение",
+ "МинВремя" : "8.3.9"
+ },
+ "РолиПривилегированногоРежима":{
+ "ИмяРАК" : "privileged-mode-roles",
+ "Использование" : "Чтение, Добавление, Изменение",
+ "МинВерсия" : "8.3.16"
+ },
+ "ПолныйПривилегированныйРежим":{
+ "ИмяРАК" : "full–privileged-mode",
+ "Использование" : "Чтение, Добавление, Изменение",
+ "МинВерсия" : "8.3.16"
+ },
+ "КаталогиСписок":{
+ "Имя" : "Каталог",
+ "РежимАдминистрирования" : "directory",
+ "Свойства":{
+ "Имя":{
+ "ИмяРАК" : "alias"
+ },
+ "Описание":{
+ "ИмяРАК" : "descr",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "ПутьККаталогу":{
+ "ИмяРАК" : "physicalPath",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "Чтение":{
+ "ИмяРАК" : "allowedRead",
+ "ПоУмолчанию" : "$Перечисления.ДаНет.Нет",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "Запись":{
+ "ИмяРАК" : "allowedWrite",
+ "ПоУмолчанию" : "$Перечисления.ДаНет.Нет",
+ "Использование" : "Чтение, Добавление, Изменение"
+ }
+ },
+ "Команды":{
+ "Список":{
+ "ИмяРАК" : "list",
+ "Кластер" : true,
+ "ПараметрыОбщие" : [
+ "acl",
+ {
+ "Шаблон" : "--name=%1",
+ "Параметр" : "ИмяПрофиля",
+ "Обязательный" : true
+ },
+ {
+ "Параметр" : "ВидОбъектовПрофиля",
+ "Обязательный" : true
+ }
+ ]
+ },
+ "Изменить":{
+ "ИмяРАК" : "update",
+ "Кластер" : true,
+ "ПараметрыОбщие" : [
+ "acl",
+ {
+ "Шаблон" : "--name=%1",
+ "Параметр" : "ИмяПрофиля",
+ "Обязательный" : true
+ },
+ {
+ "Параметр" : "ВидОбъектовПрофиля",
+ "Обязательный" : true
+ }
+ ],
+ "ПараметрыКоманды" : [
+ {
+ "Шаблон" : "--alias=%1",
+ "Параметр" : "ИмяОбъектаПрофиля",
+ "Обязательный" : true
+ }
+ ],
+ "Прочие" : true
+ },
+ "Удалить":{
+ "ИмяРАК" : "remove",
+ "Кластер" : true
+ }
+ }
+ },
+ "COMКлассыСписок":{
+ "Имя" : "COMКласс",
+ "РежимАдминистрирования" : "com",
+ "Свойства":{
+ "Имя":{
+ "ИмяРАК" : "name"
+ },
+ "Описание":{
+ "ИмяРАК" : "descr",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "ИмяФайла":{
+ "ИмяРАК" : "fileName",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "ИдКласса":{
+ "ИмяРАК" : "id",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "Компьютер":{
+ "ИмяРАК" : "host",
+ "Использование" : "Чтение, Добавление, Изменение"
+ }
+ },
+ "Команды":{
+ "Список":{
+ "ИмяРАК" : "list",
+ "Кластер" : true,
+ "ПараметрыОбщие" : [
+ "acl",
+ {
+ "Шаблон" : "--name=%1",
+ "Параметр" : "ИмяПрофиля",
+ "Обязательный" : true
+ },
+ {
+ "Параметр" : "ВидОбъектовПрофиля",
+ "Обязательный" : true
+ }
+ ]
+ },
+ "Изменить":{
+ "ИмяРАК" : "update",
+ "Кластер" : true,
+ "ПараметрыОбщие" : [
+ "acl",
+ {
+ "Шаблон" : "--name=%1",
+ "Параметр" : "ИмяПрофиля",
+ "Обязательный" : true
+ },
+ {
+ "Параметр" : "ВидОбъектовПрофиля",
+ "Обязательный" : true
+ }
+ ],
+ "ПараметрыКоманды" : [
+ {
+ "Шаблон" : "--name=%1",
+ "Параметр" : "ИмяОбъектаПрофиля",
+ "Обязательный" : true
+ }
+ ],
+ "Прочие" : true
+ },
+ "Удалить":{
+ "ИмяРАК" : "remove",
+ "Кластер" : true
+ }
+ }
+ },
+ "ВнешниеКомпонентыСписок":{
+ "Имя" : "ВнешняяКомпонента",
+ "РежимАдминистрирования" : "addin",
+ "Свойства":{
+ "Имя":{
+ "ИмяРАК" : "name"
+ },
+ "Описание":{
+ "ИмяРАК" : "descr",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "Хэш":{
+ "ИмяРАК" : "hash",
+ "Использование" : "Чтение, Добавление, Изменение"
+ }
+ },
+ "Команды":{
+ "Список":{
+ "ИмяРАК" : "list",
+ "Кластер" : true,
+ "ПараметрыОбщие" : [
+ "acl",
+ {
+ "Шаблон" : "--name=%1",
+ "Параметр" : "ИмяПрофиля",
+ "Обязательный" : true
+ },
+ {
+ "Параметр" : "ВидОбъектовПрофиля",
+ "Обязательный" : true
+ }
+ ]
+ },
+ "Изменить":{
+ "ИмяРАК" : "update",
+ "Кластер" : true,
+ "ПараметрыОбщие" : [
+ "acl",
+ {
+ "Шаблон" : "--name=%1",
+ "Параметр" : "ИмяПрофиля",
+ "Обязательный" : true
+ },
+ {
+ "Параметр" : "ВидОбъектовПрофиля",
+ "Обязательный" : true
+ }
+ ],
+ "ПараметрыКоманды" : [
+ {
+ "Шаблон" : "--name=%1",
+ "Параметр" : "ИмяОбъектаПрофиля",
+ "Обязательный" : true
+ }
+ ],
+ "Прочие" : true
+ },
+ "Удалить":{
+ "ИмяРАК" : "remove",
+ "Кластер" : true
+ }
+ }
+ },
+ "МодулиСписок":{
+ "Имя" : "Модуль",
+ "РежимАдминистрирования" : "module",
+ "Свойства":{
+ "Имя":{
+ "ИмяРАК" : "name"
+ },
+ "Описание":{
+ "ИмяРАК" : "descr",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "Хэш":{
+ "ИмяРАК" : "hash",
+ "Использование" : "Чтение, Добавление, Изменение"
+ }
+ },
+ "Команды":{
+ "Список":{
+ "ИмяРАК" : "list",
+ "Кластер" : true,
+ "ПараметрыОбщие" : [
+ "acl",
+ {
+ "Шаблон" : "--name=%1",
+ "Параметр" : "ИмяПрофиля",
+ "Обязательный" : true
+ },
+ {
+ "Параметр" : "ВидОбъектовПрофиля",
+ "Обязательный" : true
+ }
+ ]
+ },
+ "Изменить":{
+ "ИмяРАК" : "update",
+ "Кластер" : true,
+ "ПараметрыОбщие" : [
+ "acl",
+ {
+ "Шаблон" : "--name=%1",
+ "Параметр" : "ИмяПрофиля",
+ "Обязательный" : true
+ },
+ {
+ "Параметр" : "ВидОбъектовПрофиля",
+ "Обязательный" : true
+ }
+ ],
+ "ПараметрыКоманды" : [
+ {
+ "Шаблон" : "--name=%1",
+ "Параметр" : "ИмяОбъектаПрофиля",
+ "Обязательный" : true
+ }
+ ],
+ "Прочие" : true
+ },
+ "Удалить":{
+ "ИмяРАК" : "remove",
+ "Кластер" : true
+ }
+ }
+ },
+ "ПриложенияСписок":{
+ "Имя" : "Приложение",
+ "РежимАдминистрирования" : "app",
+ "Свойства":{
+ "Имя":{
+ "ИмяРАК" : "name"
+ },
+ "Описание":{
+ "ИмяРАК" : "descr",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "Маска":{
+ "ИмяРАК" : "wild",
+ "ПоУмолчанию" : "*",
+ "Использование" : "Чтение, Добавление, Изменение"
+ }
+ },
+ "Команды":{
+ "Список":{
+ "ИмяРАК" : "list",
+ "Кластер" : true,
+ "ПараметрыОбщие" : [
+ "acl",
+ {
+ "Шаблон" : "--name=%1",
+ "Параметр" : "ИмяПрофиля",
+ "Обязательный" : true
+ },
+ {
+ "Параметр" : "ВидОбъектовПрофиля",
+ "Обязательный" : true
+ }
+ ]
+ },
+ "Изменить":{
+ "ИмяРАК" : "update",
+ "Кластер" : true,
+ "ПараметрыОбщие" : [
+ "acl",
+ {
+ "Шаблон" : "--name=%1",
+ "Параметр" : "ИмяПрофиля",
+ "Обязательный" : true
+ },
+ {
+ "Параметр" : "ВидОбъектовПрофиля",
+ "Обязательный" : true
+ }
+ ],
+ "ПараметрыКоманды" : [
+ {
+ "Шаблон" : "--name=%1",
+ "Параметр" : "ИмяОбъектаПрофиля",
+ "Обязательный" : true
+ }
+ ],
+ "Прочие" : true
+ },
+ "Удалить":{
+ "ИмяРАК" : "remove",
+ "Кластер" : true
+ }
+ }
+ },
+ "ИнтернетРесурсыСписок":{
+ "Имя" : "ИнтернетРесурс",
+ "РежимАдминистрирования" : "inet",
+ "Свойства":{
+ "Имя":{
+ "ИмяРАК" : "name"
+ },
+ "Описание":{
+ "ИмяРАК" : "descr",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "Протокол":{
+ "ИмяРАК" : "protocol",
+ "ПоУмолчанию" : "http",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "АдресРесурса":{
+ "ИмяРАК" : "url",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "ПортСервера":{
+ "ИмяРАК" : "port",
+ "ПоУмолчанию" : 80,
+ "Использование" : "Чтение, Добавление, Изменение"
+ }
+ },
+ "Команды":{
+ "Список":{
+ "ИмяРАК" : "list",
+ "Кластер" : true,
+ "ПараметрыОбщие" : [
+ "acl",
+ {
+ "Шаблон" : "--name=%1",
+ "Параметр" : "ИмяПрофиля",
+ "Обязательный" : true
+ },
+ {
+ "Параметр" : "ВидОбъектовПрофиля",
+ "Обязательный" : true
+ }
+ ]
+ },
+ "Изменить":{
+ "ИмяРАК" : "update",
+ "Кластер" : true,
+ "ПараметрыОбщие" : [
+ "acl",
+ {
+ "Шаблон" : "--name=%1",
+ "Параметр" : "ИмяПрофиля",
+ "Обязательный" : true
+ },
+ {
+ "Параметр" : "ВидОбъектовПрофиля",
+ "Обязательный" : true
+ }
+ ],
+ "ПараметрыКоманды" : [
+ {
+ "Шаблон" : "--name=%1",
+ "Параметр" : "ИмяОбъектаПрофиля",
+ "Обязательный" : true
+ }
+ ],
+ "Прочие" : true
+ },
+ "Удалить":{
+ "ИмяРАК" : "remove",
+ "Кластер" : true
+ }
+ }
+ }
+ },
+ "Команды":{
+ "Список":{
+ "ИмяРАК" : "list",
+ "Кластер" : true
+ },
+ "ИзменитьРежимДоступа":{
+ "ИмяРАК" : "acl",
+ "Кластер" : true,
+ "ПараметрыКоманды" : [
+ {
+ "Шаблон" : "--name=%1",
+ "Параметр" : "ИмяПрофиля",
+ "Обязательный" : true
+ },
+ {
+ "Шаблон" : "--access=%1",
+ "Параметр" : "РежимДоступа",
+ "Обязательный" : true
+ }
+ ]
+ },
+ "Изменить":{
+ "ИмяРАК" : "update",
+ "Кластер" : true,
+ "ПараметрыКоманды" : [
+ {
+ "Шаблон" : "--name=%1",
+ "Параметр" : "ИмяПрофиля",
+ "Обязательный" : true
+ }
+ ],
+ "Прочие" : true
+ },
+ "Удалить":{
+ "ИмяРАК" : "remove",
+ "Кластер" : true,
+ "ПараметрыКоманды" : [
+ {
+ "Шаблон" : "--name=%1",
+ "Параметр" : "ИмяПрофиля",
+ "Обязательный" : true
+ }
+ ]
+ }
+ }
+ },
+ "СчетчикиРесурсов":{
+ "Имя" : "СчетчикРесурсов",
+ "РежимАдминистрирования" : "counter",
+ "МинВерсия" : "8.3.13",
+ "Свойства":{
+ "Имя":{
+ "ИмяРАК" : "name",
+ "Использование" : "Чтение, Добавление"
+ },
+ "ДлительностьСбора":{
+ "ИмяРАК" : "collection-time",
+ "ПоУмолчанию" : "$Перечисления.ВремяНакопленияСчетчиковРесурсов.ТекущийВызов",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "Группировка":{
+ "ИмяРАК" : "group",
+ "ПоУмолчанию" : "$Перечисления.ТипыГруппировкиСчетчиковРесурсов.Пользователи",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "ТипОтбора":{
+ "ИмяРАК" : "filter-type",
+ "ПоУмолчанию" : "$Перечисления.ТипыОтбораСчетчиковРесурсов.Все",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "Отбор":{
+ "ИмяРАК" : "filter",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "ДлительностьСервереыхВызовов":{
+ "ИмяРАК" : "duration",
+ "ПоУмолчанию" : "$Перечисления.СостоянияСчетчиковРесурсов.Выключен",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "ПроцессорноеВремя":{
+ "ИмяРАК" : "cpu-time",
+ "ПоУмолчанию" : "$Перечисления.СостоянияСчетчиковРесурсов.Выключен",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "ПотреблениеПамяти":{
+ "ИмяРАК" : "memory",
+ "ПоУмолчанию" : "$Перечисления.СостоянияСчетчиковРесурсов.Выключен",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "ОбъемИнформацииСчитаннойСДиска":{
+ "ИмяРАК" : "read",
+ "ПоУмолчанию" : "$Перечисления.СостоянияСчетчиковРесурсов.Выключен",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "ОбъемИнформацииЗаписаннойНаДиск":{
+ "ИмяРАК" : "write",
+ "ПоУмолчанию" : "$Перечисления.СостоянияСчетчиковРесурсов.Выключен",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "ДлительностьВызововСУБД":{
+ "ИмяРАК" : "duration-dbms",
+ "ПоУмолчанию" : "$Перечисления.СостоянияСчетчиковРесурсов.Выключен",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "ОбъемИнформацииПереданнойСУБД":{
+ "ИмяРАК" : "dbms-bytes",
+ "ПоУмолчанию" : "$Перечисления.СостоянияСчетчиковРесурсов.Выключен",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "ДлительностьВызововСервисов":{
+ "ИмяРАК" : "service",
+ "ПоУмолчанию" : "$Перечисления.СостоянияСчетчиковРесурсов.Выключен",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "КоличествоСерверныхВызовов":{
+ "ИмяРАК" : "call",
+ "ПоУмолчанию" : "$Перечисления.СостоянияСчетчиковРесурсов.Выключен",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "КоличествоАктивныхСеансов":{
+ "ИмяРАК" : "number-of-active-sessions",
+ "ПоУмолчанию" : "$Перечисления.СостоянияСчетчиковРесурсов.Выключен",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "КоличествоСеансов":{
+ "ИмяРАК" : "number-of-sessions",
+ "ПоУмолчанию" : "$Перечисления.СостоянияСчетчиковРесурсов.Выключен",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "Описание":{
+ "ИмяРАК" : "descr",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "Значения":{
+ "Имя" : "Значения",
+ "РежимАдминистрирования" : "values",
+ "Свойства":{
+ "Отбор":{
+ "ИмяРАК" : "object"
+ },
+ "ДлительностьСбора":{
+ "ИмяРАК" : "collection-time"
+ },
+ "ДлительностьСбораМс":{
+ "ИмяРАК" : "duration"
+ },
+ "ПроцессорноеВремя":{
+ "ИмяРАК" : "cpu-time"
+ },
+ "ПотреблениеПамяти":{
+ "ИмяРАК" : "memory"
+ },
+ "ОбъемИнформацииСчитаннойСДиска":{
+ "ИмяРАК" : "read"
+ },
+ "ОбъемИнформацииЗаписаннойНаДиск":{
+ "ИмяРАК" : "write"
+ },
+ "ДлительностьВызововСУБД":{
+ "ИмяРАК" : "duration-dbms"
+ },
+ "ОбъемИнформацииПереданнойСУБД":{
+ "ИмяРАК" : "dbms-bytes"
+ },
+ "ДлительностьВызововСервисов":{
+ "ИмяРАК" : "service"
+ },
+ "КоличествоСерверныхВызовов":{
+ "ИмяРАК" : "call"
+ },
+ "КоличествоАктивныхСеансов":{
+ "ИмяРАК" : "number-of-active-sessions"
+ },
+ "КоличествоСеансов":{
+ "ИмяРАК" : "number-of-sessions"
+ },
+ "Время":{
+ "ИмяРАК" : "time",
+ "МинВерсия" : "8.3.15"
+ }
+ }
+ }
+ },
+ "Команды":{
+ "Список":{
+ "ИмяРАК" : "list",
+ "Кластер" : true
+ },
+ "Описание":{
+ "ИмяРАК" : "info",
+ "Кластер" : true,
+ "ПараметрыКоманды" : [
+ {
+ "Шаблон" : "--counter=%1",
+ "Параметр" : "ИмяСчетчика",
+ "Обязательный" : true
+ }
+ ]
+ },
+ "Изменить":{
+ "ИмяРАК" : "update",
+ "Кластер" : true,
+ "ПараметрыКоманды" : [
+ {
+ "Шаблон" : "--name=%1",
+ "Параметр" : "ИмяСчетчика",
+ "Обязательный" : true
+ },
+ {
+ "Шаблон" : "--collection-time=%1",
+ "Параметр" : "ДлительностьСбора",
+ "Обязательный" : true
+ },
+ {
+ "Шаблон" : "--group=%1",
+ "Параметр" : "Группировка",
+ "Обязательный" : true
+ },
+ {
+ "Шаблон" : "--filter-type=%1",
+ "Параметр" : "ТипОтбора",
+ "Обязательный" : true
+ },
+ {
+ "Шаблон" : "--filter=%1",
+ "Параметр" : "Отбор",
+ "Обязательный" : true
+ }
+ ],
+ "Прочие" : true
+ },
+ "Значения":{
+ "ИмяРАК" : "values",
+ "Кластер" : true,
+ "ПараметрыКоманды" : [
+ {
+ "Шаблон" : "--counter=%1",
+ "Параметр" : "ИмяСчетчика",
+ "Обязательный" : true
+ },
+ {
+ "Шаблон" : "--object=%1",
+ "Параметр" : "Отбор"
+ }
+ ],
+ "Прочие" : true
+ },
+ "Удалить":{
+ "ИмяРАК" : "remove",
+ "Кластер" : true,
+ "ПараметрыКоманды" : [
+ {
+ "Шаблон" : "--name=%1",
+ "Параметр" : "ИмяСчетчика",
+ "Обязательный" : true
+ }
+ ]
+ }
+ }
+ },
+ "ОграниченияРесурсов":{
+ "Имя" : "ОграничениеРесурсов",
+ "РежимАдминистрирования" : "limit",
+ "МинВерсия" : "8.3.13",
+ "Свойства":{
+ "Имя":{
+ "ИмяРАК" : "name",
+ "Использование" : "Чтение, Добавление"
+ },
+ "СчетчикРесурсов":{
+ "ИмяРАК" : "counter",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "Действие":{
+ "ИмяРАК" : "action",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "ПроцессорноеВремя":{
+ "ИмяРАК" : "cpu-time",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "ПотреблениеПамяти":{
+ "ИмяРАК" : "memory",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "ОбъемИнформацииСчитаннойСДиска":{
+ "ИмяРАК" : "read",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "ОбъемИнформацииЗаписаннойНаДиск":{
+ "ИмяРАК" : "write",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "ДлительностьВызововСУБД":{
+ "ИмяРАК" : "duration-dbms",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "ОбъемИнформацииПереданнойСУБД":{
+ "ИмяРАК" : "dbms-bytes",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "ДлительностьВызововСервисов":{
+ "ИмяРАК" : "service",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "КоличествоСерверныхВызовов":{
+ "ИмяРАК" : "call",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "КоличествоАктивныхСеансов":{
+ "ИмяРАК" : "number-of-active-sessions",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "КоличествоСеансов":{
+ "ИмяРАК" : "number-of-sessions",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "СообщениеОбОшибке":{
+ "ИмяРАК" : "error-message",
+ "Использование" : "Чтение, Добавление, Изменение"
+ },
+ "Описание":{
+ "ИмяРАК" : "descr",
+ "Использование" : "Чтение, Добавление, Изменение"
+ }
+ },
+ "Команды":{
+ "Список":{
+ "ИмяРАК" : "list",
+ "Кластер" : true
+ },
+ "Описание":{
+ "ИмяРАК" : "info",
+ "Кластер" : true
+ },
+ "Изменить":{
+ "ИмяРАК" : "update",
+ "Кластер" : true
+ },
+ "Удалить":{
+ "ИмяРАК" : "remove",
+ "Кластер" : true
+ }
+ }
+ }
+}
diff --git "a/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\265\321\200\320\265\321\207\320\270\321\201\320\273\320\265\320\275\320\270\321\217.os" "b/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\265\321\200\320\265\321\207\320\270\321\201\320\273\320\265\320\275\320\270\321\217.os"
index 49d5e6a..ca1502e 100644
--- "a/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\265\321\200\320\265\321\207\320\270\321\201\320\273\320\265\320\275\320\270\321\217.os"
+++ "b/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\265\321\200\320\265\321\207\320\270\321\201\320\273\320\265\320\275\320\270\321\217.os"
@@ -1,237 +1,56 @@
-Перем ВариантыИспользованияРабочегоСервера Экспорт; // Перечисление.ВариантыИспользованияРабочегоСервера
-Перем ВариантыИспользованияМенеджераКластера Экспорт; // Перечисление.ВариантыИспользованияМенеджераКластера
-Перем ВариантыРазмещенияСервисов Экспорт; // Перечисление.ВариантыРазмещенияСервисов
-Перем СостоянияВыключателя Экспорт; // Перечисление.СостоянияВыключателя
-Перем ДаНет Экспорт; // Перечисление.ДаНет
-Перем ПраваДоступа Экспорт; // Перечисление.ПраваДоступа
-Перем РежимыРаспределенияНагрузки Экспорт; // Перечисление.РежимыРаспределенияНагрузки
-Перем СпособыАвторизации Экспорт; // Перечисление.СпособыАвторизации
-Перем ТипыСУБД Экспорт; // Перечисление.ТипыСУБД
-Перем Использование Экспорт; // Перечисление.Использование
-Перем ТипыНазначенияФункциональности Экспорт; // Перечисление.ТипыНазначенияФункциональности
-Перем ОбъектыНазначенияФункциональности Экспорт; // Перечисление.ОбъектыНазначенияФункциональности
-Перем РежимыДоступа Экспорт; // Перечисление.РежимыДоступа
-Перем ВидыОбъектовПрофиляБезопасности Экспорт; // Перечисление.ВидыОбъектовПрофиляБезопасности
-
-// Процедура добавляет значение перечисления в структуру
-//
-// Параметры:
-// Перечисление - Структура - перечисление
-// Имя - Строка - имя значения перечисления
-// Значение - Строка - значение перечисления
-//
-Процедура ДобавитьЗначениеПеречисления(Перечисление, Знач Имя, Знач Значение)
-
- Если НЕ ТипЗнч(Перечисление) = Тип("Структура") Тогда
- Перечисление = Новый Структура();
- КонецЕсли;
-
- Перечисление.Вставить(Имя, Значение);
-
-КонецПроцедуры // ДобавитьЗначениеПеречисления()
+// ----------------------------------------------------------
+// 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/
+// ----------------------------------------------------------
+
+Перем РежимыАдминистрирования Экспорт;
+Перем ВариантыИспользованияРабочегоСервера Экспорт;
+Перем ВариантыИспользованияМенеджераКластера Экспорт;
+Перем ВариантыРазмещенияСервисов Экспорт;
+Перем СостоянияВыключателя Экспорт;
+Перем ДаНет Экспорт;
+Перем ПраваДоступа Экспорт;
+Перем РежимыРаспределенияНагрузки Экспорт;
+Перем СпособыАвторизации Экспорт;
+Перем ТипыСУБД Экспорт;
+Перем Использование Экспорт;
+Перем ТипыНазначенияФункциональности Экспорт;
+Перем ОбъектыНазначенияФункциональности Экспорт;
+Перем РежимыДоступа Экспорт;
+Перем ВидыОбъектовПрофиляБезопасности Экспорт;
+Перем ДействияСБазойСУБДПриУдалении Экспорт;
+Перем Приложения Экспорт;
+Перем ТипыГруппировкиСчетчиковРесурсов Экспорт;
+Перем ТипыОтбораСчетчиковРесурсов Экспорт;
+Перем ВремяНакопленияСчетчиковРесурсов Экспорт;
+Перем СостоянияСчетчиковРесурсов Экспорт;
+Перем ПоляОтбораСчетчиковРесурсов Экспорт;
+Перем ДействияОграниченияРесурсов Экспорт;
+
+Функция Значение(Знач ПутьКЗначению) Экспорт
+
+ Возврат Вычислить(ПутьКЗначению);
+
+КонецФункции // Значение()
// Процедура инициализирует значения перечислений
+// из данных макета Перечисления.json
//
Процедура Инициализация()
- ЗаполнитьВариантыИспользованияРабочегоСервера();
-
- ЗаполнитьВариантыИспользованияМенеджераКластера();
-
- ЗаполнитьВариантыРазмещенияСервисов();
-
- ЗаполнитьСостоянияВыключателя();
-
- ЗаполнитьДаНет();
-
- ЗаполнитьПраваДоступа();
-
- ЗаполнитьРежимыРаспределенияНагрузки();
-
- ЗаполнитьСпособыАвторизации();
+ ДанныеМакета = Служебный.ПрочитатьДанныеИзМакетаJSON("Перечисления");
- ЗаполнитьТипыСУБД();
-
- ЗаполнитьИспользование();
-
- ЗаполнитьТипыНазначенияФункциональности();
-
- ЗаполнитьОбъектыНазначенияФункциональности();
-
- ЗаполнитьРежимыДоступа();
-
- ЗаполнитьВидыОбъектовПрофиляБезопасности();
+ Для Каждого ТекПеречисление Из ДанныеМакета Цикл
+ Выполнить(СтрШаблон("%1 = Новый Структура();", ТекПеречисление.Ключ));
+ Для Каждого ТекЗначение Из ТекПеречисление.Значение Цикл
+ Выполнить(СтрШаблон("%1.Вставить(""%2"", ""%3"");", ТекПеречисление.Ключ, ТекЗначение.Ключ, ТекЗначение.Значение));
+ КонецЦикла;
+ КонецЦикла;
КонецПроцедуры // Инициализация()
-// Процедура - заполняет значения перечисления ВариантыИспользованияРабочегоСервера
-//
-Процедура ЗаполнитьВариантыИспользованияРабочегоСервера()
-
- ДобавитьЗначениеПеречисления(ВариантыИспользованияРабочегоСервера, "Главный", "main");
- ДобавитьЗначениеПеречисления(ВариантыИспользованияРабочегоСервера, "Обычный", "normal");
-
-КонецПроцедуры // ЗаполнитьВариантыИспользованияРабочегоСервера()
-
-// Процедура - заполняет значения перечисления ВариантыИспользованияМенеджераКластера
-//
-Процедура ЗаполнитьВариантыИспользованияМенеджераКластера()
-
- ДобавитьЗначениеПеречисления(ВариантыИспользованияМенеджераКластера, "Обычный", "normal");
-
-КонецПроцедуры // ЗаполнитьВариантыИспользованияМенеджераКластера()
-
-// Процедура - заполняет значения перечисления ВариантыРазмещенияСервисов
-//
-Процедура ЗаполнитьВариантыРазмещенияСервисов()
-
- ДобавитьЗначениеПеречисления(ВариантыРазмещенияСервисов, "ВОтдельныхМенеджерах" , "all");
- ДобавитьЗначениеПеречисления(ВариантыРазмещенияСервисов, "ВОдномМенеджере" , "none");
-
-КонецПроцедуры // ЗаполнитьВариантыРазмещенияСервисов()
-
-// Процедура - заполняет значения перечисления СостоянияВыключателя
-//
-Процедура ЗаполнитьСостоянияВыключателя()
-
- ДобавитьЗначениеПеречисления(СостоянияВыключателя, "Включено" , "on");
- ДобавитьЗначениеПеречисления(СостоянияВыключателя, "Выключено" , "off");
-
-КонецПроцедуры // ЗаполнитьСостоянияВыключателя()
-
-// Процедура - заполняет значения перечисления ДаНет
-//
-Процедура ЗаполнитьДаНет()
-
- ДобавитьЗначениеПеречисления(ДаНет, "Да" , "yes");
- ДобавитьЗначениеПеречисления(ДаНет, "Нет" , "no");
-
-КонецПроцедуры // ЗаполнитьДаНет()
-
-// Процедура - заполняет значения перечисления ПраваДоступа
-//
-Процедура ЗаполнитьПраваДоступа()
-
- ДобавитьЗначениеПеречисления(ПраваДоступа, "Разрешено", "allow");
- ДобавитьЗначениеПеречисления(ПраваДоступа, "Запрещено", "deny");
-
-КонецПроцедуры // ЗаполнитьПраваДоступа()
-
-// Процедура - заполняет значения перечисления РежимыРаспределенияНагрузки
-//
-Процедура ЗаполнитьРежимыРаспределенияНагрузки()
-
- ДобавитьЗначениеПеречисления(РежимыРаспределенияНагрузки, "ПоПамяти" , "memory");
- ДобавитьЗначениеПеречисления(РежимыРаспределенияНагрузки, "ПоПроизводительности", "performance");
-
-КонецПроцедуры // ЗаполнитьРежимыРаспределенияНагрузки()
-
-// Процедура - заполняет значения перечисления СпособыАвторизации
-//
-Процедура ЗаполнитьСпособыАвторизации()
-
- ДобавитьЗначениеПеречисления(СпособыАвторизации, "Пароль" , "pwd");
- ДобавитьЗначениеПеречисления(СпособыАвторизации, "ОС" , "os");
- ДобавитьЗначениеПеречисления(СпособыАвторизации, "ПарольИОС", "pwd|os");
-
-КонецПроцедуры // ЗаполнитьСпособыАвторизации()
-
-// Процедура - заполняет значения перечисления ТипыСУБД
-//
-Процедура ЗаполнитьТипыСУБД()
-
- ДобавитьЗначениеПеречисления(ТипыСУБД, "MSSQLServer" , "MSSQLServer");
- ДобавитьЗначениеПеречисления(ТипыСУБД, "PostgreSQL" , "PostgreSQL");
- ДобавитьЗначениеПеречисления(ТипыСУБД, "IBMDB2" , "IBMDB2");
- ДобавитьЗначениеПеречисления(ТипыСУБД, "OracleDatabase" , "OracleDatabase");
-
-КонецПроцедуры // ЗаполнитьТипыСУБД()
-
-// Процедура - заполняет значения перечисления Использование
-//
-Процедура ЗаполнитьИспользование()
-
- ДобавитьЗначениеПеречисления(Использование, "Использовать" , "use");
-
-КонецПроцедуры // ЗаполнитьИспользование()
-
-// Процедура - заполняет значения перечисления ТипыНазначенияФункциональности
-//
-Процедура ЗаполнитьТипыНазначенияФункциональности()
-
- ДобавитьЗначениеПеречисления(ТипыНазначенияФункциональности, "Авто" , "auto");
- ДобавитьЗначениеПеречисления(ТипыНазначенияФункциональности, "Назначать" , "always");
- ДобавитьЗначениеПеречисления(ТипыНазначенияФункциональности, "НеНазначать" , "never");
-
-КонецПроцедуры // ЗаполнитьТипыНазначенияФункциональности()
-
-// Процедура - заполняет значения перечисления ОбъектыНазначенияФункциональности
-//
-Процедура ЗаполнитьОбъектыНазначенияФункциональности()
-
- ДобавитьЗначениеПеречисления(ОбъектыНазначенияФункциональности,
- "ЛюбойОбъект" , "");
- ДобавитьЗначениеПеречисления(ОбъектыНазначенияФункциональности,
- "КлиентскиеСоединения" , "Connection");
- ДобавитьЗначениеПеречисления(ОбъектыНазначенияФункциональности,
- "ОбновлениеКонфигураций" , "DataBaseConfigurationUpdateService");
- ДобавитьЗначениеПеречисления(ОбъектыНазначенияФункциональности,
- "ЖурналРегистрации" , "EventLogService");
- ДобавитьЗначениеПеречисления(ОбъектыНазначенияФункциональности,
- "ПровайдерOpenID" , "OpenID2ProviderContextService");
- ДобавитьЗначениеПеречисления(ОбъектыНазначенияФункциональности,
- "ПолнотекстовыйПоиск" , "FulltextSearchService");
- ДобавитьЗначениеПеречисления(ОбъектыНазначенияФункциональности,
- "ПользовательскиеНастройки" , "SettingsService");
- ДобавитьЗначениеПеречисления(ОбъектыНазначенияФункциональности,
- "ТранзакционныеБлокировки" , "TransactionLockService");
- ДобавитьЗначениеПеречисления(ОбъектыНазначенияФункциональности,
- "ВнешнееУправлениеСеансами" , "ExternalSessionManagerService");
- ДобавитьЗначениеПеречисления(ОбъектыНазначенияФункциональности,
- "ВнешниеИсточникиXML" , "ExternalDataSourceXMLAService");
- ДобавитьЗначениеПеречисления(ОбъектыНазначенияФункциональности,
- "Тестирование" , "ClientTestingService");
- ДобавитьЗначениеПеречисления(ОбъектыНазначенияФункциональности,
- "Лицензирование" , "LicenseService");
- ДобавитьЗначениеПеречисления(ОбъектыНазначенияФункциональности,
- "ДопФункцииКластера" , "AuxiliaryService");
- ДобавитьЗначениеПеречисления(ОбъектыНазначенияФункциональности,
- "Время" , "TimestampService");
- ДобавитьЗначениеПеречисления(ОбъектыНазначенияФункциональности,
- "БлокировкиОбъектов" , "DataEditLockService");
- ДобавитьЗначениеПеречисления(ОбъектыНазначенияФункциональности,
- "СеансовыеДанные" , "SessionDataService");
- ДобавитьЗначениеПеречисления(ОбъектыНазначенияФункциональности,
- "Задания" , "JobService");
- ДобавитьЗначениеПеречисления(ОбъектыНазначенияФункциональности,
- "Нумерация" , "NumerationService");
- ДобавитьЗначениеПеречисления(ОбъектыНазначенияФункциональности,
- "ПовторноеИспользованиеСеансов" , "SessionReuseService");
- ДобавитьЗначениеПеречисления(ОбъектыНазначенияФункциональности,
- "ВнешниеИсточникиODBC" , "ExternalDataSourceODBCService");
-
-КонецПроцедуры // ЗаполнитьОбъектыНазначенияФункциональности()
-
-// Процедура - заполняет значения перечисления РежимыДоступа
-//
-Процедура ЗаполнитьРежимыДоступа()
-
- ДобавитьЗначениеПеречисления(РежимыДоступа , "Список" , "list");
- ДобавитьЗначениеПеречисления(РежимыДоступа , "ПолныйДоступ" , "full");
-
-КонецПроцедуры // ЗаполнитьРежимыДоступа()
-
-// Процедура - заполняет значения перечисления ВидыОбъектовПрофиляБезопасности
-//
-Процедура ЗаполнитьВидыОбъектовПрофиляБезопасности()
-
- ДобавитьЗначениеПеречисления(ВидыОбъектовПрофиляБезопасности , "Каталог" , "directory");
- ДобавитьЗначениеПеречисления(ВидыОбъектовПрофиляБезопасности , "COMКласс" , "com");
- ДобавитьЗначениеПеречисления(ВидыОбъектовПрофиляБезопасности , "Компонент" , "addin");
- ДобавитьЗначениеПеречисления(ВидыОбъектовПрофиляБезопасности , "Модуль" , "module");
- ДобавитьЗначениеПеречисления(ВидыОбъектовПрофиляБезопасности , "Приложение" , "app");
- ДобавитьЗначениеПеречисления(ВидыОбъектовПрофиляБезопасности , "ИнтернетРесурс" , "inet");
-
-КонецПроцедуры // ЗаполнитьВидыОбъектовПрофиляБезопасности()
-
Инициализация();
\ 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 40fe48c..bf84644 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"
@@ -1,3 +1,12 @@
+// ----------------------------------------------------------
+// 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/
+// ----------------------------------------------------------
+
#Использовать logos
#Использовать tempfiles
#Использовать asserts
@@ -7,13 +16,32 @@
Перем Лог;
+// Функция - читает указанный макет JSON и возвращает содержимое в виде структуры/массива
+//
+// Параметры:
+// ИмяМакета - Строка - имя макета (файла) json
+//
+// Возвращаемое значение:
+// Структура, Массив - прочитанные данные из макета
+//
+Функция ПрочитатьДанныеИзМакетаJSON(ИмяМакета) Экспорт
+
+ Чтение = Новый ЧтениеJSON();
+
+ Чтение.ОткрытьФайл(СтрШаблон("%1/../Макеты/%2.json", ТекущийСценарий().Каталог, ИмяМакета),
+ КодировкаТекста.UTF8);
+
+ Возврат ПрочитатьJSON(Чтение, Ложь);
+
+КонецФункции // ПрочитатьДанныеИзМакетаJSON()
+
// Функция добавляет кавычки в начале и в конце переданной строки
//
// Параметры:
-// Строка - Строка - Строка для добавления кавычек
+// Строка - Строка - Строка для добавления кавычек
//
// Возвращаемое значение:
-// Строка - строка с добавленными кавычками
+// Строка - строка с добавленными кавычками
//
Функция ОбернутьВКавычки(Знач Строка) Экспорт
Если Лев(Строка, 1) = """" И Прав(Строка, 1) = """" Тогда
@@ -26,9 +54,9 @@
// Процедура заполняет параметры объекта кластера 1С
//
// Параметры:
-// ОбъектКластера - Произвольный - объект, параметры которого будут заполнены
-// Параметры - Соответствие - переменная, которая будет заполнена параметрами объекта
-// ДанныеЗаполнения - Соответствие - данные, из которых будут заполнены параметры объекта
+// ОбъектКластера - Произвольный - объект, параметры которого будут заполнены
+// Параметры - Соответствие - переменная, которая будет заполнена параметрами объекта
+// ДанныеЗаполнения - Соответствие - данные, из которых будут заполнены параметры объекта
//
Процедура ЗаполнитьПараметрыОбъекта(ОбъектКластера, Параметры, ДанныеЗаполнения) Экспорт
@@ -38,8 +66,8 @@
Для Каждого ТекЭлемент Из СтруктураПараметров Цикл
ЗначениеПараметра = Служебный.ПолучитьЗначениеИзСтруктуры(ДанныеЗаполнения,
- ТекЭлемент.Значение.ИмяПоляРАК,
- ТекЭлемент.Значение.ЗначениеПоУмолчанию);
+ ТекЭлемент.Значение.ИмяРАК,
+ ТекЭлемент.Значение.ПоУмолчанию);
Параметры.Вставить(ТекЭлемент.Ключ, ЗначениеПараметра);
КонецЦикла;
@@ -48,15 +76,15 @@
// Функция возвращает значение указанного поля структуры/соответствия или значение по умолчанию
//
// Параметры:
-// ПарамСтруктура - Структура, Соответствие - коллекция из которой возвращается значение
-// Ключ - Произвольный - значение ключа коллекции для получения значения
-// ЗначениеПоУмолчанию - Произвольный - значение, возвращаемое в случае,
-// когда ключ отсутствует в коллекции
+// ПарамСтруктура - Структура, Соответствие - коллекция из которой возвращается значение
+// Ключ - Произвольный - значение ключа коллекции для получения значения
+// ПоУмолчанию - Произвольный - значение, возвращаемое в случае,
+// когда ключ отсутствует в коллекции
//
// Возвращаемое значение:
-// Произвольный - значение элемента коллекции или значение по умолчанию
+// Произвольный - значение элемента коллекции или значение по умолчанию
//
-Функция ПолучитьЗначениеИзСтруктуры(ПарамСтруктура, Ключ, ЗначениеПоУмолчанию = Неопределено) Экспорт
+Функция ПолучитьЗначениеИзСтруктуры(ПарамСтруктура, Ключ, ПоУмолчанию = Неопределено) Экспорт
Если ТипЗнч(ПарамСтруктура) = Тип("Структура") Тогда
Если ПарамСтруктура.Свойство(Ключ) Тогда
@@ -66,26 +94,26 @@
Если НЕ ПарамСтруктура.Получить(Ключ) = Неопределено Тогда
Возврат ПарамСтруктура.Получить(Ключ);
КонецЕсли;
+ Иначе
+ Возврат ПоУмолчанию;
КонецЕсли;
- Возврат ЗначениеПоУмолчанию;
-
КонецФункции // ПолучитьЗначениеИзСтруктуры()
// Функция преобразует массив соответствий в иерархию соответствий в соответствии с указанным порядком полей
// копирования данных не происходят, в результирующее соответствие помещаются исходные элементы массива
//
// Параметры:
-// МассивСоответствий - Массив(Соответствие) - Данные для преобразования
-// <имя поля> - Произвольный - Значение элемента соответствия
-// ПоляИерархии - Строка - Поля для построения иерархии списка объектов, разделенные ","
+// МассивСоответствий - Массив(Соответствие) - Данные для преобразования
+// <имя поля> - Произвольный - Значение элемента соответствия
+// ПоляИерархии - Строка - Поля для построения иерархии списка объектов, разделенные ","
//
// Возвращаемое значение:
-// Соответствие - иерархия соответствий по значениям полей упорядочивания
-// <значение поля упорядочивания> - Соответствие, - подчиненные данные по значениям
-// Массив(Соответствие) следующего поля упорядочивания
-// или элементы исходного массива
-// на последнем уровне иерархии
+// Соответствие - иерархия соответствий по значениям полей упорядочивания
+// <значение поля упорядочивания> - Соответствие, - подчиненные данные по значениям
+// Массив(Соответствие) следующего поля упорядочивания
+// или элементы исходного массива
+// на последнем уровне иерархии
//
Функция ИерархическоеПредставлениеМассиваСоответствий(МассивСоответствий, ПоляИерархии) Экспорт
@@ -124,11 +152,11 @@
// Функция возвращает массив элементов (соответствий), отвечающих заданному отбору
//
// Параметры:
-// МассивСоответствий - Массив(Соответствие) - Обрабатываемый массив
-// Отбор - Соответствие - Структура отбора вида <поле>:<значение>
+// МассивСоответствий - Массив(Соответствие) - Обрабатываемый массив
+// Отбор - Соответствие - Структура отбора вида <поле>:<значение>
//
// Возвращаемое значение:
-// Массив(Соответствие) - массив соответствий, соответствующих отбору
+// Массив(Соответствие) - массив соответствий, соответствующих отбору
//
Функция ПолучитьЭлементыИзМассиваСоответствий(МассивСоответствий, Отбор) Экспорт
@@ -164,13 +192,13 @@
// Функция признак необходимости обновления данных
//
// Параметры:
-// ОбъектДанных - Произвольный - данные для обновления
-// МоментАктуальности - Число - момент актуальности данных (мсек)
-// ПериодОбновления - Число - периодичность обновления (мсек)
-// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
+// ОбъектДанных - Произвольный - данные для обновления
+// МоментАктуальности - Число - момент актуальности данных (мсек)
+// ПериодОбновления - Число - периодичность обновления (мсек)
+// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
//
// Возвращаемое значение:
-// Булево - Истина - требуется обновитьданные
+// Булево - Истина - требуется обновитьданные
//
Функция ТребуетсяОбновление(ОбъектДанных, МоментАктуальности, ПериодОбновления, ОбновитьПринудительно = Ложь) Экспорт
@@ -183,7 +211,7 @@
// Диагностическая процедура для вывода списка полей объекта
//
// Параметры:
-// ОбъектДанных - Произвольный - объект, поля которого требуется вывести
+// ОбъектДанных - Произвольный - объект, поля которого требуется вывести
//
Процедура ВывестиПоляОбъекта(Знач ОбъектДанных) Экспорт
@@ -205,4 +233,4 @@
КонецПроцедуры // ВывестиПоляОбъекта()
-Лог = Логирование.ПолучитьЛог("ktb.lib.irac");
+Лог = Логирование.ПолучитьЛог("oscript.lib.irac");
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"
new file mode 100644
index 0000000..25df847
--- /dev/null
+++ "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"
@@ -0,0 +1,483 @@
+// ----------------------------------------------------------
+// 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/
+// ----------------------------------------------------------
+
+Перем ТипыОбъектов;
+Перем СвойстваОбъектов;
+Перем КомандыОбъектов;
+
+Перем Лог;
+
+#Область ПрограммныйИнтерфейс
+
+// Функция возвращает описания свойств для указанного имени типа объектов
+//
+// Параметры:
+// ТипОбъектов - Строка - имя типа объектов
+//
+// Возвращаемое значение:
+// Массив(Структура) - описания свойств для типа объектов
+// *Имя - Строка - имя свойства объекта
+// *ИмяРАК - Строка - имя свойства, как оно возвращается утилитой RAC
+// *ПоУмолчанию - Произвольный - значение свойства объекта по умолчанию
+// *Чтение - Булево - Истина - значение свойства может быть прочитано;
+// *Добавление - Булево - Истина - значение свойства может быть установлено при добавлении;
+// *Изменение - Булево - Истина - значение свойства может быть установлено при изменении;
+// *ПараметрКоманды - Строка - строка параметра команды, как она будет использована
+// при вызове команды (по умолчанию: "--<ИмяРАК>")
+//
+Функция СвойстваОбъекта(Знач ТипОбъектов) Экспорт
+
+ Свойства = СвойстваОбъектов.Получить(ВРег(ТипОбъектов));
+
+ Если Свойства = Неопределено Тогда
+ ВызватьИсключение СтрШаблон("Не найдено описание свойств для объектов ""%1""", ТипОбъектов);
+ КонецЕсли;
+
+ Возврат Свойства;
+
+КонецФункции // СвойстваОбъекта()
+
+// Функция возвращает описания команд для указанного имени типа объектов
+//
+// Параметры:
+// ТипОбъектов - Строка - имя типа объектов
+//
+// Возвращаемое значение:
+// Структура - описания команд для типа объектов
+// *<Имя команды> - Строка - Имя команды RAC
+//
+Функция КомандыОбъекта(Знач ТипОбъектов) Экспорт
+
+ Команды = КомандыОбъектов.Получить(ВРег(ТипОбъектов));
+
+ Если Команды = Неопределено Тогда
+ ВызватьИсключение СтрШаблон("Не найдено описание команд для объектов ""%1""", ТипОбъектов);
+ КонецЕсли;
+
+ Возврат Команды;
+
+КонецФункции // КомандыОбъекта()
+
+// Функция возвращает описание типа объектов для указанного имени типа объектов
+//
+// Параметры:
+// ТипОбъектов - Строка - имя типа объектов
+//
+// Возвращаемое значение:
+// Структура - описание типа объектов
+// *Имя - Строка - имя типа объектов
+// *РежимАдминистрирования - Строка - режим утилиты RAC (agent, cluster, infobase и т.п.)
+// *Владелец - Струткура - описание типа объекта, владельца
+// (например: для типа "Кластер.Администратор"
+// будет содержать описание типа "Кластер")
+//
+Функция ТипОбъекта(Знач ТипОбъектов) Экспорт
+
+ ИмяТипа = ТипыОбъектов.Получить(ВРег(ТипОбъектов));
+
+ Если ИмяТипа = Неопределено Тогда
+ ВызватьИсключение СтрШаблон("Не найден тип объектов ""%1""", ТипОбъектов);
+ КонецЕсли;
+
+ Возврат ИмяТипа;
+
+КонецФункции // ТипОбъекта()
+
+#КонецОбласти // ПрограммныйИнтерфейс
+
+#Область ПроцедурыЗаполненияОписаний
+
+// Функция создает структуру описания свойства
+//
+// Возвращаемое значение:
+// Структура - структура описания свойства типа объектов
+//
+Функция ПолучитьСтруктуруОписанияСвойства()
+
+ ОписаниеСвойства = Новый Структура();
+ ОписаниеСвойства.Вставить("Имя" , "");
+ ОписаниеСвойства.Вставить("ИмяРАК" , "");
+ ОписаниеСвойства.Вставить("ПараметрКоманды", "");
+ ОписаниеСвойства.Вставить("ПоУмолчанию" , "");
+ ОписаниеСвойства.Вставить("Чтение" , Ложь);
+ ОписаниеСвойства.Вставить("Добавление" , Ложь);
+ ОписаниеСвойства.Вставить("Изменение" , Ложь);
+ ОписаниеСвойства.Вставить("ПараметрКоманды", "");
+
+ Возврат ОписаниеСвойства;
+
+КонецФункции // ПолучитьСтруктуруОписанияСвойств()
+
+// Функция заполняет и возвращает описание свойства типа объектов
+//
+// Параметры:
+// Имя - Строка - имя свойства объекта
+// ИмяРАК - Строка - имя свойства, как оно возвращается утилитой RAC
+// ПоУмолчанию - Произвольный - значение свойства объекта по умолчанию
+// Использование - Строка, Структура - строка содержащая флаги использования, разделенные ","
+// (Чтение, Добавление, Изменение)
+// если указана структура, то в значении можно переопределить
+// имя параметра утилиты RAC
+// Возвращаемое значение:
+// Структура - описание свойства типа объектов
+// *Имя - Строка - имя свойства объекта
+// *ИмяРАК - Строка - имя свойства, как оно возвращается утилитой RAC
+// *ПоУмолчанию - Произвольный - значение свойства объекта по умолчанию
+// *Чтение - Булево - Истина - значение свойства может быть прочитано;
+// *Добавление - Булево - Истина - значение свойства может быть установлено при добавлении;
+// *Изменение - Булево - Истина - значение свойства может быть установлено при изменении;
+// *ПараметрКоманды - Строка - строка параметра команды, как она будет использована
+// при вызове команды (по умолчанию: "--<ИмяРАК>")
+//
+Функция ПолучитьОписаниеСвойства(Знач Имя
+ , Знач ИмяРАК
+ , Знач ПоУмолчанию = ""
+ , Знач Использование = "Чтение")
+
+ Если ТипЗнч(Использование) = Тип("Строка") Тогда
+ Использование = Новый Структура(Использование);
+ Для Каждого ТекЭлемент Из Использование Цикл
+ Использование[ТекЭлемент.Ключ] = Истина;
+ КонецЦикла;
+ КонецЕсли;
+
+ Если НЕ ТипЗнч(Использование) = Тип("Структура") Тогда
+ Использование = Новый Структура();
+ КонецЕсли;
+
+ // Если значение начинается со спец. символа "$", то вычисляем как код
+ // используется для получения значений перечислений
+ Если ВРег(Лев(ПоУмолчанию, 14)) = ВРег("$Перечисления.") Тогда
+ ПоУмолчанию = Перечисления.Значение(Сред(ПоУмолчанию, 15));
+ КонецЕсли;
+
+ ОписаниеСвойства = ПолучитьСтруктуруОписанияСвойства();
+ ОписаниеСвойства.Имя = Имя;
+ ОписаниеСвойства.ИмяРАК = ИмяРАК;
+ ОписаниеСвойства.ПоУмолчанию = ПоУмолчанию;
+ ОписаниеСвойства.Чтение = Использование.Свойство("Чтение");
+ ОписаниеСвойства.Добавление = Использование.Свойство("Добавление");
+ ОписаниеСвойства.Изменение = Использование.Свойство("Изменение");
+
+ Если Использование.Свойство("ПараметрКоманды") Тогда
+ ОписаниеСвойства.ПараметрКоманды = Использование.ПараметрКоманды;
+ Иначе
+ Если ОписаниеСвойства.Добавление ИЛИ ОписаниеСвойства.Изменение Тогда
+ ОписаниеСвойства.ПараметрКоманды = "--" + ОписаниеСвойства.ИмяРАК;
+ КонецЕсли;
+ КонецЕсли;
+
+ Возврат ОписаниеСвойства;
+
+КонецФункции // ПолучитьОписаниеСвойства()
+
+// Процедура добавляет описание свойства в массив описаний свойств
+//
+// Параметры:
+// ОписаниеСвойствОбъекта - Массив - массив описаний свойств для добавления нового описания
+// Имя - Строка - имя свойства объекта
+// СтруктураСвойства - Структура - структура с описанием свойства типа объектов
+// *ИмяРАК - Строка - имя свойства, как оно возвращается утилитой RAC
+// *ПоУмолчанию - Произвольный - значение свойства объекта по умолчанию
+// *Использование - Строка, Структура - строка содержащая флаги использования, разделенные ","
+// (Чтение, Добавление, Изменение)
+// если указана структура, то в значении можно переопределить
+// имя параметра утилиты RAC
+//
+Процедура ДобавитьОписаниеСвойстваОбъекта(ОписаниеСвойствОбъекта, Знач Имя, Знач СтруктураСвойства)
+
+ Если НЕ ТипЗнч(ОписаниеСвойствОбъекта) = Тип("Массив") Тогда
+ ОписаниеСвойствОбъекта = Новый Массив();
+ КонецЕсли;
+
+ Если НЕ СтруктураСвойства.Свойство("ПоУмолчанию") Тогда
+ СтруктураСвойства.Вставить("ПоУмолчанию", "");
+ КонецЕсли;
+
+ Если НЕ СтруктураСвойства.Свойство("Использование") Тогда
+ СтруктураСвойства.Вставить("Использование", "Чтение");
+ КонецЕсли;
+
+ ОписаниеСвойства = ПолучитьОписаниеСвойства(Имя,
+ СтруктураСвойства.ИмяРАК,
+ СтруктураСвойства.ПоУмолчанию,
+ СтруктураСвойства.Использование);
+
+ ОписаниеСвойствОбъекта.Добавить(ОписаниеСвойства);
+
+КонецПроцедуры // ДобавитьОписаниеСвойстваОбъекта()
+
+// Процедура добавляет описания свойств указанного типа объектов в соответствие описаний свойств
+// для каждого типа объектов будут добавлены записи с ключами:
+// - <ИмяТипа>
+// - <Имя> из описания типа
+// - <РежимАдминистрирования> из описания типа
+// если указаны имена родетелей, то для каждого имени родителя и типа объектов будут добавлены записи с ключами:
+// - <имя родителя>.<ИмяТипа>
+// - <имя родителя>.<Имя>
+// - <имя родителя>.<РежимАдминистрирования>
+//
+// Параметры:
+// ОписаниеТипаОбъектов - КлючИЗначение - Ключ - имя типа объектов, как оно было загружено из макета;
+// Значение - описание типа объектов, как оно было загружено из макета
+// *Имя - Строка - имя типа объектов
+// *РежимАдминистрирования - Строка - имя режима утилиты RAC (agent, cluster, infobase и т.п.)
+// *МинВерсия - Строка - версия 1С, с которой доступен указанный режим RAC
+// *Свойства - Структура - структура описаний свойств типа объектов
+// *Команды - Структура - структура описаний команд типа объектов
+// ИмяТипа - Строка - имя типа, для которого получаем свойства
+// ИменаРодителя - Массив(Строка) - имена родительского типа
+//
+Процедура ДобавитьСвойстваТипаОбъектов(Знач ОписаниеТипаОбъектов
+ , Знач ИмяТипа
+ , Знач ИменаРодителя = Неопределено)
+
+ // Соберем все возможные комбинации имен типов объектов
+ ИменаТипа = Новый Массив();
+ ИменаТипа.Добавить(ИмяТипа);
+ ИменаТипа.Добавить(ОписаниеТипаОбъектов.Имя);
+ ИменаТипа.Добавить(ОписаниеТипаОбъектов.РежимАдминистрирования);
+ ИменаТипа = ПолучитьВозможныеИменаТипа(ИменаТипа, ИменаРодителя);
+
+ ОписаниеСвойств = Новый Массив();
+
+ Если НЕ ОписаниеТипаОбъектов.Свойство("Свойства") Тогда
+ ОписаниеТипаОбъектов.Вставить("Свойства", Новый Структура());
+ КонецЕсли;
+
+ Для Каждого ТекСвойство Из ОписаниеТипаОбъектов.Свойства Цикл
+ Если ТекСвойство.Значение.Свойство("РежимАдминистрирования") Тогда
+ ДобавитьСвойстваТипаОбъектов(ТекСвойство.Значение, ТекСвойство.Ключ, ИменаТипа);
+ Иначе
+ ДобавитьОписаниеСвойстваОбъекта(ОписаниеСвойств,
+ ТекСвойство.Ключ,
+ ТекСвойство.Значение);
+ КонецЕсли;
+ КонецЦикла;
+
+ Для Каждого ТекИмя Из ИменаТипа Цикл
+ Если НЕ СвойстваОбъектов.Получить(ВРег(ТекИмя)) = Неопределено Тогда
+ Продолжить;
+ КонецЕсли;
+ СвойстваОбъектов.Вставить(ВРег(ТекИмя), ОписаниеСвойств);
+ Лог.Отладка("Добавлено описание свойств типа объектов: %1", ТекИмя);
+ КонецЦикла;
+
+КонецПроцедуры // ДобавитьСвойстваТипаОбъектов()
+
+// Функция создает структуру описания команды
+//
+// Возвращаемое значение:
+// Структура - структура описания команды типа объектов
+//
+Функция ПолучитьСтруктуруОписанияКоманды()
+
+ ОписанияКоманды = Новый Структура();
+ ОписанияКоманды.Вставить("Имя" , "");
+ ОписанияКоманды.Вставить("ИмяРАК" , "");
+ ОписанияКоманды.Вставить("АвторизацияАгента", Ложь);
+ ОписанияКоманды.Вставить("Кластер" , Ложь);
+ ОписанияКоманды.Вставить("ОбщиеПараметры" , Новый Массив());
+ ОписанияКоманды.Вставить("ПараметрыКоманды" , Новый Массив());
+ ОписанияКоманды.Вставить("ЗначенияПолей" , Ложь);
+
+ Возврат ОписанияКоманды;
+
+КонецФункции // ПолучитьСтруктуруОписанияКоманды()
+
+// Процедура добавляет описания команд указанного типа объектов в соответствие описаний команд
+// для каждого типа объектов будут добавлены записи с ключами:
+// - <ИмяТипа>
+// - <Имя> из описания типа
+// - <РежимАдминистрирования> из описания типа
+// если указаны имена родителей, то для каждого имени родителя и типа объектов будут добавлены записи с ключами:
+// - <имя родителя>.<ИмяТипа>
+// - <имя родителя>.<Имя>
+// - <имя родителя>.<РежимАдминистрирования>
+//
+// Параметры:
+// ОписаниеТипаОбъектов - КлючИЗначение - Ключ - имя типа объектов, как оно было загружено из макета;
+// Значение - описание типа объектов, как оно было загружено из макета
+// *Имя - Строка - имя типа объектов
+// *РежимАдминистрирования - Строка - имя режима утилиты RAC (agent, cluster, infobase и т.п.)
+// *МинВерсия - Строка - версия 1С, с которой доступен указанный режим RAC
+// *Свойства - Структура - структура описаний свойств типа объектов
+// *Команды - Структура - структура описаний команд типа объектов
+// ИмяТипа - Строка - имя типа, для которого получаем команды
+// ИменаРодителя - Массив(Строка) - имена родительского типа
+//
+Процедура ДобавитьКомандыТипаОбъектов(Знач ОписаниеТипаОбъектов
+ , Знач ИмяТипа
+ , Знач ИменаРодителя = Неопределено)
+
+ // Соберем все возможные комбинации имен типов объектов
+ ИменаТипа = Новый Массив();
+ ИменаТипа.Добавить(ИмяТипа);
+ ИменаТипа.Добавить(ОписаниеТипаОбъектов.Имя);
+ ИменаТипа.Добавить(ОписаниеТипаОбъектов.РежимАдминистрирования);
+ ИменаТипа = ПолучитьВозможныеИменаТипа(ИменаТипа, ИменаРодителя);
+
+ Если НЕ ОписаниеТипаОбъектов.Свойство("Свойства") Тогда
+ ОписаниеТипаОбъектов.Вставить("Свойства", Новый Структура());
+ КонецЕсли;
+
+ Для Каждого ТекСвойство Из ОписаниеТипаОбъектов.Свойства Цикл
+ Если ТекСвойство.Значение.Свойство("РежимАдминистрирования") Тогда
+ ДобавитьКомандыТипаОбъектов(ТекСвойство.Значение, ТекСвойство.Ключ, ИменаТипа);
+ КонецЕсли;
+ КонецЦикла;
+
+ ОписаниеКоманд = Новый Структура();
+
+ Если НЕ ОписаниеТипаОбъектов.Свойство("Команды") Тогда
+ ОписаниеТипаОбъектов.Вставить("Команды", Новый Структура());
+ КонецЕсли;
+
+ Для Каждого ТекКоманда Из ОписаниеТипаОбъектов.Команды Цикл
+ ОписаниеКоманды = ПолучитьСтруктуруОписанияКоманды();
+ ЗаполнитьЗначенияСвойств(ОписаниеКоманды, ТекКоманда.Значение);
+ ОписаниеКоманд.Вставить(ТекКоманда.Ключ, ОписаниеКоманды);
+ КонецЦикла;
+
+ Для Каждого ТекИмя Из ИменаТипа Цикл
+ Если НЕ КомандыОбъектов.Получить(ВРег(ТекИмя)) = Неопределено Тогда
+ Продолжить;
+ КонецЕсли;
+ КомандыОбъектов.Вставить(ВРег(ТекИмя), ОписаниеКоманд);
+ Лог.Отладка("Добавлено описание команд типа объектов: %1", ТекИмя);
+ КонецЦикла;
+
+КонецПроцедуры // ДобавитьКомандыТипаОбъектов()
+
+// Процедура добавляет описания указанного типа объектов в соответствие описаний типов объектов
+// для каждого типа объектов будут добавлены записи с ключами:
+// - <ИмяТипа>
+// - <Имя> из описания типа
+// - <РежимАдминистрирования> из описания типа
+// если указаны имена родителей, то для каждого имени родителя и типа объектов будут добавлены записи с ключами:
+// - <имя родителя>.<ИмяТипа>
+// - <имя родителя>.<Имя>
+// - <имя родителя>.<РежимАдминистрирования>
+//
+// Параметры:
+// ОписаниеТипаОбъектов - КлючИЗначение - Ключ - имя типа объектов, как оно было загружено из макета;
+// Значение - описание типа объектов, как оно было загружено из макета
+// *Имя - Строка - имя типа объектов
+// *РежимАдминистрирования - Строка - имя режима утилиты RAC (agent, cluster, infobase и т.п.)
+// *МинВерсия - Строка - версия 1С, с которой доступен указанный режим RAC
+// *Свойства - Структура - структура описаний свойств типа объектов
+// *Команды - Структура - структура описаний команд типа объектов
+// ИмяТипа - Строка - имя типа, для которого получаем описание
+// ИменаРодителя - Массив(Строка) - имена родительского типа
+//
+Процедура ДобавитьОписаниеТипаОбъектов(Знач ОписаниеТипаОбъектов
+ , Знач ИмяТипа
+ , Знач ИменаРодителя = Неопределено)
+
+ // Соберем все возможные комбинации имен типов объектов
+ ИменаТипа = Новый Массив();
+ ИменаТипа.Добавить(ОписаниеТипаОбъектов.Имя);
+ ИменаТипа.Добавить(ОписаниеТипаОбъектов.РежимАдминистрирования);
+ ИменаТипа.Добавить(ИмяТипа);
+ ИменаТипа = ПолучитьВозможныеИменаТипа(ИменаТипа, ИменаРодителя);
+
+ Если НЕ ОписаниеТипаОбъектов.Свойство("Свойства") Тогда
+ ОписаниеТипаОбъектов.Вставить("Свойства", Новый Структура());
+ КонецЕсли;
+
+ ОписаниеТипа = Новый Структура();
+ ОписаниеТипа.Вставить("Имя" , ИменаТипа[0]);
+ ОписаниеТипа.Вставить("РежимАдминистрирования", ОписаниеТипаОбъектов.РежимАдминистрирования);
+ Если ТипЗнч(ИменаРодителя) = Тип("Массив") И ИменаРодителя.Количество() > 0 Тогда
+ ОписаниеТипа.Вставить("Владелец" , ТипОбъекта(ИменаРодителя[0]));
+ КонецЕсли;
+
+ Для Каждого ТекИмя Из ИменаТипа Цикл
+ Если НЕ ТипыОбъектов.Получить(ВРег(ТекИмя)) = Неопределено Тогда
+ Продолжить;
+ КонецЕсли;
+
+ ТипыОбъектов.Вставить(ВРег(ТекИмя), ОписаниеТипа);
+ Лог.Отладка("Добавлено имя типа объектов %1: %2", ИменаТипа[0], ТекИмя);
+ КонецЦикла;
+
+ Для Каждого ТекСвойство Из ОписаниеТипаОбъектов.Свойства Цикл
+ Если ТекСвойство.Значение.Свойство("РежимАдминистрирования") Тогда
+ ДобавитьОписаниеТипаОбъектов(ТекСвойство.Значение, ТекСвойство.Ключ, ИменаТипа);
+ КонецЕсли;
+ КонецЦикла;
+
+КонецПроцедуры // ДобавитьОписаниеТипаОбъектов()
+
+#КонецОбласти // ПроцедурыЗаполненияОписаний
+
+#Область Служебные
+
+// Функция возвращает массив всех возможныех имена типа с учетом иерархии типов и альтернативных имен
+// для каждого имени типа объектов и каждого имени родительского типа будут добавлены имена вида:
+// - <имя родителя>.<ИмяТипа>
+// если имена родительских типов не указаны, то будет возвращен массив имен типов без изменений
+//
+// Параметры:
+// ИменаТипа - Строка - имена типа
+// ИменаРодителя - Массив(Строка) - имена родительского типа
+//
+Функция ПолучитьВозможныеИменаТипа(ИменаТипа, ИменаРодителя = Неопределено)
+
+ Если НЕ (ТипЗнч(ИменаРодителя) = Тип("Массив") И ИменаРодителя.Количество() > 0) Тогда
+ Возврат ИменаТипа;
+ КонецЕсли;
+
+ ИменаСРодителями = Новый Массив();
+ Для Каждого ТекИмяРодителя Из ИменаРодителя Цикл
+ Для Каждого ТекИмя Из ИменаТипа Цикл
+ ИменаСРодителями.Добавить(СтрШаблон("%1.%2", ТекИмяРодителя, ТекИмя));
+ КонецЦикла;
+ КонецЦикла;
+
+ Возврат ИменаСРодителями;
+
+КонецФункции // ПолучитьВозможныеИменаТипа
+
+// Процедура заполняет описания типов объектов из макета JSON ("ТипыОбъектовКластера")
+// выполняется при инициализации модуля
+//
+Процедура Инициализация()
+
+ Лог = Логирование.ПолучитьЛог("oscript.lib.irac");
+
+ ДанныеМакета = Служебный.ПрочитатьДанныеИзМакетаJSON("ТипыОбъектовКластера");
+
+ ТипыОбъектов = Новый Соответствие();
+ СвойстваОбъектов = Новый Соответствие();
+ КомандыОбъектов = Новый Соответствие();
+
+ Для Каждого ТекТип Из ДанныеМакета Цикл
+
+ Если НЕ ТекТип.Значение.Свойство("Свойства") Тогда
+ ТекТип.Значение.Вставить("Свойства", Новый Структура());
+ КонецЕсли;
+
+ Если НЕ ТекТип.Значение.Свойство("Команды") Тогда
+ ТекТип.Значение.Вставить("Команды", Новый Структура());
+ КонецЕсли;
+
+ ДобавитьОписаниеТипаОбъектов(ТекТип.Значение, ТекТип.Ключ);
+
+ ДобавитьСвойстваТипаОбъектов(ТекТип.Значение, ТекТип.Ключ);
+
+ ДобавитьКомандыТипаОбъектов(ТекТип.Значение, ТекТип.Ключ);
+
+ КонецЦикла;
+
+КонецПроцедуры // Инициализация()
+
+#КонецОбласти // Служебные
+
+Инициализация();
\ No newline at end of file
diff --git a/tasks/coverage.os b/tasks/coverage.os
index 1172b88..9e66f9f 100644
--- a/tasks/coverage.os
+++ b/tasks/coverage.os
@@ -1,73 +1,82 @@
-#Использовать 1commands
-#Использовать asserts
-#Использовать fs
-#Использовать json
-
-СистемнаяИнформация = Новый СистемнаяИнформация;
-ЭтоWindows = Найти(НРег(СистемнаяИнформация.ВерсияОС), "windows") > 0;
-
-ФС.ОбеспечитьПустойКаталог("coverage");
-ПутьКСтат = "coverage/stat.json";
-
-Команда = Новый Команда;
-Команда.УстановитьКоманду("oscript");
-Если НЕ ЭтоWindows Тогда
- Команда.ДобавитьПараметр("-encoding=utf-8");
-КонецЕсли;
-Команда.ДобавитьПараметр(СтрШаблон("-codestat=%1", ПутьКСтат));
-Команда.ДобавитьПараметр("tasks/test.os");
-Команда.ПоказыватьВыводНемедленно(Истина);
-
-КодВозврата = Команда.Исполнить();
-
-Файл_Стат = Новый Файл(ПутьКСтат);
-Ожидаем.Что(Файл_Стат.Существует(), СтрШаблон("Файл <%1> с результатами покрытия не существует!", Файл_Стат.ПолноеИмя)).ЭтоИстина();
-
-ЧтениеТекста = Новый ЧтениеТекста(ПутьКСтат, КодировкаТекста.UTF8);
-
-СтрокаJSON = ЧтениеТекста.Прочитать();
-ЧтениеТекста.Закрыть();
-
-Парсер = Новый ПарсерJSON();
-ДанныеПокрытия = Парсер.ПрочитатьJSON(СтрокаJSON);
-
-ЗаписьXML = Новый ЗаписьXML;
-ЗаписьXML.ОткрытьФайл("coverage/genericCoverage.xml");
-ЗаписьXML.ЗаписатьОбъявлениеXML();
-ЗаписьXML.ЗаписатьНачалоЭлемента("coverage");
-ЗаписьXML.ЗаписатьАтрибут("version", "1");
-
-Для Каждого Файл Из ДанныеПокрытия Цикл
-
- ДанныеФайла = Файл.Значение;
-
- ЗаписьXML.ЗаписатьНачалоЭлемента("file");
- ЗаписьXML.ЗаписатьАтрибут("path", ДанныеФайла.Получить("#path"));
-
- Для Каждого КлючИЗначение Из ДанныеФайла Цикл
-
- Если КлючИЗначение.Ключ = "#path" Тогда
- Продолжить;
- КонецЕсли;
-
- ДанныеПроцедуры = КлючИЗначение.Значение;
- Для Каждого ДанныеСтроки Из ДанныеПроцедуры Цикл
-
- ЗаписьXML.ЗаписатьНачалоЭлемента("lineToCover");
-
- ЗаписьXML.ЗаписатьАтрибут("lineNumber", ДанныеСтроки.Ключ);
- Покрыто = Число(ДанныеСтроки.Значение.Получить("count")) > 0;
- ЗаписьXML.ЗаписатьАтрибут("covered", Формат(Покрыто, "БИ=true; БЛ=false"));
-
- ЗаписьXML.ЗаписатьКонецЭлемента(); // lineToCover
- КонецЦикла;
- КонецЦикла;
-
- ЗаписьXML.ЗаписатьКонецЭлемента(); // file
-
-КонецЦикла;
-
-ЗаписьXML.ЗаписатьКонецЭлемента(); // coverage
-ЗаписьXML.Закрыть();
-
+// ----------------------------------------------------------
+// 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/
+// ----------------------------------------------------------
+
+#Использовать 1commands
+#Использовать asserts
+#Использовать fs
+#Использовать json
+
+СистемнаяИнформация = Новый СистемнаяИнформация;
+ЭтоWindows = Найти(НРег(СистемнаяИнформация.ВерсияОС), "windows") > 0;
+
+ФС.ОбеспечитьПустойКаталог("coverage");
+ПутьКСтат = "coverage/stat.json";
+
+Команда = Новый Команда;
+Команда.УстановитьКоманду("oscript");
+Если НЕ ЭтоWindows Тогда
+ Команда.ДобавитьПараметр("-encoding=utf-8");
+КонецЕсли;
+Команда.ДобавитьПараметр(СтрШаблон("-codestat=%1", ПутьКСтат));
+Команда.ДобавитьПараметр("tasks/test.os");
+Команда.ПоказыватьВыводНемедленно(Истина);
+
+КодВозврата = Команда.Исполнить();
+
+Файл_Стат = Новый Файл(ПутьКСтат);
+Ожидаем.Что(Файл_Стат.Существует(), СтрШаблон("Файл <%1> с результатами покрытия не существует!", Файл_Стат.ПолноеИмя)).ЭтоИстина();
+
+ЧтениеТекста = Новый ЧтениеТекста(ПутьКСтат, КодировкаТекста.UTF8);
+
+СтрокаJSON = ЧтениеТекста.Прочитать();
+ЧтениеТекста.Закрыть();
+
+Парсер = Новый ПарсерJSON();
+ДанныеПокрытия = Парсер.ПрочитатьJSON(СтрокаJSON);
+
+ЗаписьXML = Новый ЗаписьXML;
+ЗаписьXML.ОткрытьФайл("coverage/genericCoverage.xml");
+ЗаписьXML.ЗаписатьОбъявлениеXML();
+ЗаписьXML.ЗаписатьНачалоЭлемента("coverage");
+ЗаписьXML.ЗаписатьАтрибут("version", "1");
+
+Для Каждого Файл Из ДанныеПокрытия Цикл
+
+ ДанныеФайла = Файл.Значение;
+
+ ЗаписьXML.ЗаписатьНачалоЭлемента("file");
+ ЗаписьXML.ЗаписатьАтрибут("path", ДанныеФайла.Получить("#path"));
+
+ Для Каждого КлючИЗначение Из ДанныеФайла Цикл
+
+ Если КлючИЗначение.Ключ = "#path" Тогда
+ Продолжить;
+ КонецЕсли;
+
+ ДанныеПроцедуры = КлючИЗначение.Значение;
+ Для Каждого ДанныеСтроки Из ДанныеПроцедуры Цикл
+
+ ЗаписьXML.ЗаписатьНачалоЭлемента("lineToCover");
+
+ ЗаписьXML.ЗаписатьАтрибут("lineNumber", ДанныеСтроки.Ключ);
+ Покрыто = Число(ДанныеСтроки.Значение.Получить("count")) > 0;
+ ЗаписьXML.ЗаписатьАтрибут("covered", Формат(Покрыто, "БИ=true; БЛ=false"));
+
+ ЗаписьXML.ЗаписатьКонецЭлемента(); // lineToCover
+ КонецЦикла;
+ КонецЦикла;
+
+ ЗаписьXML.ЗаписатьКонецЭлемента(); // file
+
+КонецЦикла;
+
+ЗаписьXML.ЗаписатьКонецЭлемента(); // coverage
+ЗаписьXML.Закрыть();
+
ЗавершитьРаботу(КодВозврата);
\ No newline at end of file
diff --git a/tasks/test.os b/tasks/test.os
index 9eba8a7..4e62e93 100644
--- a/tasks/test.os
+++ b/tasks/test.os
@@ -1,3 +1,12 @@
+// ----------------------------------------------------------
+// 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/
+// ----------------------------------------------------------
+
#Использовать 1testrunner
Процедура ПровестиТестирование()
diff --git "a/tests/fixtures/\320\234\320\260\320\272\320\265\321\202_\320\241\321\207\320\265\321\202\321\207\320\270\320\272\320\270\320\237\320\276\321\202\321\200\320\265\320\261\320\273\320\265\320\275\320\270\321\217\320\240\320\265\321\201\321\203\321\200\321\201\320\276\320\262.txt" "b/tests/fixtures/\320\234\320\260\320\272\320\265\321\202_\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.txt"
similarity index 100%
rename from "tests/fixtures/\320\234\320\260\320\272\320\265\321\202_\320\241\321\207\320\265\321\202\321\207\320\270\320\272\320\270\320\237\320\276\321\202\321\200\320\265\320\261\320\273\320\265\320\275\320\270\321\217\320\240\320\265\321\201\321\203\321\200\321\201\320\276\320\262.txt"
rename to "tests/fixtures/\320\234\320\260\320\272\320\265\321\202_\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.txt"
diff --git "a/tests/fixtures/\320\234\320\260\320\272\320\265\321\202_\320\241\321\207\320\265\321\202\321\207\320\270\320\272\320\270\320\237\320\276\321\202\321\200\320\265\320\261\320\273\320\265\320\275\320\270\321\217\320\240\320\265\321\201\321\203\321\200\321\201\320\276\320\262.\320\227\320\275\320\260\321\207\320\265\320\275\320\270\321\217.txt" "b/tests/fixtures/\320\234\320\260\320\272\320\265\321\202_\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.\320\227\320\275\320\260\321\207\320\265\320\275\320\270\321\217.txt"
similarity index 100%
rename from "tests/fixtures/\320\234\320\260\320\272\320\265\321\202_\320\241\321\207\320\265\321\202\321\207\320\270\320\272\320\270\320\237\320\276\321\202\321\200\320\265\320\261\320\273\320\265\320\275\320\270\321\217\320\240\320\265\321\201\321\203\321\200\321\201\320\276\320\262.\320\227\320\275\320\260\321\207\320\265\320\275\320\270\321\217.txt"
rename to "tests/fixtures/\320\234\320\260\320\272\320\265\321\202_\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.\320\227\320\275\320\260\321\207\320\265\320\275\320\270\321\217.txt"
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 ddbc00e..90becb0 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"
@@ -1,3 +1,12 @@
+// ----------------------------------------------------------
+// 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/
+// ----------------------------------------------------------
+
Перем ПараметрыКластера;
Перем ПараметрыТестирования;
Перем ВозвращаемыеЗначения;
@@ -6,9 +15,9 @@
// Процедура устанавливает вывод функции ВыполнитьКоманду мок-исполнителя команд
//
// Параметры:
-// ИсполнительКоманд - МокИсполнительКоманд - мок-объект исполнитель команд
-// ПутьКДанным - Строка - Путь к параметрам в структуре параметров кластера
-//
+// ИсполнительКоманд - МокИсполнительКоманд - мок-объект исполнитель команд
+// ПутьКДанным - Строка - Путь к параметрам в структуре параметров кластера
+//
Процедура УстановитьВыводИсполнителяКоманд(ИсполнительКоманд, ПутьКДанным) Экспорт
Если ТипЗнч(ИсполнительКоманд) = Тип("ИсполнительКоманд") Тогда
@@ -161,7 +170,7 @@
ПараметрыКоманды = Новый Соответствие();
ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Агент_СтрокаПодключения());
- ПараметрыОбъекта = Новый КомандыОбъекта("cluster", ПараметрыКоманды);
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.Кластеры, ПараметрыКоманды);
ВыводКоманды = ВозвращаемыеЗначения["Кластеры"];
@@ -181,13 +190,13 @@
ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Агент_СтрокаПодключения());
ПараметрыКоманды.Вставить("ИдентификаторКластера" , ТекКластер["cluster"]);
- ПараметрыОбъекта = Новый КомандыОбъекта("cluster", ПараметрыКоманды);
-
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.Кластеры, ПараметрыКоманды);
+
ВыводКоманды = ТекКластер["ТекстОбъекта"];
Результат.Добавить(Новый Структура("ПараметрыКоманды, ВыводКоманды",
- ПараметрыОбъекта.ПараметрыКоманды("Описание"),
- ВыводКоманды));
+ ПараметрыОбъекта.ПараметрыКоманды("Описание"),
+ ВыводКоманды));
КонецЦикла;
@@ -235,7 +244,7 @@
ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Ид());
ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_СтрокаАвторизации());
- ПараметрыОбъекта = Новый КомандыОбъекта("manager", ПараметрыКоманды);
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.Менеджеры, ПараметрыКоманды);
ВыводКоманды = ВозвращаемыеЗначения["Менеджеры"];
@@ -250,7 +259,7 @@
ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Ид());
ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_СтрокаАвторизации());
- ПараметрыОбъекта = Новый КомандыОбъекта("server", ПараметрыКоманды);
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.Серверы, ПараметрыКоманды);
ВыводКоманды = ВозвращаемыеЗначения["Серверы"];
@@ -271,14 +280,14 @@
ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Ид());
ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_СтрокаАвторизации());
ПараметрыКоманды.Вставить("ИдентификаторСервера" , ТекСервер["server"]);
-
- ПараметрыОбъекта = Новый КомандыОбъекта("server", ПараметрыКоманды);
+
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.Серверы, ПараметрыКоманды);
ВыводКоманды = ТекСервер["ТекстОбъекта"];
Результат.Добавить(Новый Структура("ПараметрыКоманды, ВыводКоманды",
- ПараметрыОбъекта.ПараметрыКоманды("Описание"),
- ВыводКоманды));
+ ПараметрыОбъекта.ПараметрыКоманды("Описание"),
+ ВыводКоманды));
КонецЦикла;
@@ -293,12 +302,12 @@
ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Ид());
ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_СтрокаАвторизации());
- ПараметрыОбъекта = Новый КомандыОбъекта("server", ПараметрыКоманды);
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.Серверы, ПараметрыКоманды);
ВыводКоманды = "";
ВыводКоманды = ВозвращаемыеЗначения["Серверы"] +
- ВозвращаемыеЗначения["Серверы.Добавление"];
+ ВозвращаемыеЗначения["Серверы.Добавление"];
Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыОбъекта.ПараметрыКоманды("Список"), ВыводКоманды);
@@ -332,7 +341,7 @@
Серверы[0].Получить("safe-working-processes-memory-limit"));
ПараметрыКоманды.Вставить("БезопасныйРасходПамятиЗаОдинВызов" , Серверы[0].Получить("safe-call-memory-limit"));
- ПараметрыОбъекта = Новый КомандыОбъекта("server", ПараметрыКоманды);
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.Серверы, ПараметрыКоманды);
ВремТекст = Новый ТекстовыйДокумент();
ВремТекст.УстановитьТекст(ВозвращаемыеЗначения["Серверы.Добавление"]);
@@ -349,7 +358,7 @@
ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Ид());
ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_СтрокаАвторизации());
- ПараметрыОбъекта = Новый КомандыОбъекта("process", ПараметрыКоманды);
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.РабочиеПроцессы, ПараметрыКоманды);
ВыводКоманды = ВозвращаемыеЗначения["РабочиеПроцессы"];
@@ -370,14 +379,14 @@
ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Ид());
ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_СтрокаАвторизации());
ПараметрыКоманды.Вставить("ИдентификаторПроцесса" , ТекПроцесс["process"]);
-
- ПараметрыОбъекта = Новый КомандыОбъекта("process", ПараметрыКоманды);
+
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.РабочиеПроцессы, ПараметрыКоманды);
ВыводКоманды = ТекПроцесс["ТекстОбъекта"];
Результат.Добавить(Новый Структура("ПараметрыКоманды, ВыводКоманды",
- ПараметрыОбъекта.ПараметрыКоманды("Описание"),
- ВыводКоманды));
+ ПараметрыОбъекта.ПараметрыКоманды("Описание"),
+ ВыводКоманды));
КонецЦикла;
@@ -385,45 +394,49 @@
КонецФункции // Вывод_РабочиеПроцессыПараметры()
-Функция Вывод_РабочиеПроцессыЛицензииСписок()
+Функция Вывод_РабочиеПроцессыСписокЛицензии()
- Процессы = РазобратьВыводКоманды(ВозвращаемыеЗначения["РабочиеПроцессы"]);
-
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Агент_СтрокаПодключения());
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Агент_СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_СтрокаАвторизации());
+
+ ПараметрыОбъекта = Новый КомандыОбъекта("process.license", ПараметрыКоманды);
- ПараметрыЗапуска.Добавить("process");
- ПараметрыЗапуска.Добавить("info");
+ ВыводКоманды = ВозвращаемыеЗначения["РабочиеПроцессы.Лицензии"];
- ПараметрыЗапуска.Добавить("--licenses");
+ Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыОбъекта.ПараметрыКоманды("Список"), ВыводКоманды);
- ПараметрыЗапуска.Добавить(СтрШаблон("--process=%1", Процессы[0]["process"]));
+КонецФункции // Вывод_РабочиеПроцессыСписокЛицензии()
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Ид()));
- ПараметрыЗапуска.Добавить(Кластер_СтрокаАвторизации());
+Функция Вывод_РабочиеПроцессыПараметрыЛицензии()
+
+ Результат = Новый Массив();
- ВыводКоманды = ВозвращаемыеЗначения["РабочиеПроцессы.Лицензии"];
+ ПроцессыЛицензии = РазобратьВыводКоманды(ВозвращаемыеЗначения["РабочиеПроцессы.Лицензии"]);
- Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыЗапуска, ВыводКоманды);
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Агент_СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_СтрокаАвторизации());
-КонецФункции // Вывод_РабочиеПроцессыЛицензииСписок()
+ Для Каждого ТекПроцесс Из ПроцессыЛицензии Цикл
-Функция Вывод_СервисыСписок()
+ ПараметрыКоманды.Вставить("ИдентификаторПроцесса" , ТекПроцесс["process"]);
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Агент_СтрокаПодключения());
-
- ПараметрыЗапуска.Добавить("service");
- ПараметрыЗапуска.Добавить("list");
-
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Ид()));
- ПараметрыЗапуска.Добавить(Кластер_СтрокаАвторизации());
+ ПараметрыОбъекта = Новый КомандыОбъекта("process.license", ПараметрыКоманды);
- ВыводКоманды = ВозвращаемыеЗначения["Сервисы"];
+ ВыводКоманды = ТекПроцесс["ТекстОбъекта"];
+
+ Результат.Добавить(Новый Структура("ПараметрыКоманды, ВыводКоманды",
+ ПараметрыОбъекта.ПараметрыКоманды("Описание"),
+ ВыводКоманды));
+
+ КонецЦикла;
- Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыЗапуска, ВыводКоманды);
+ Возврат Результат;
-КонецФункции // Вывод_СервисыСписок()
+КонецФункции // Вывод_РабочиеПроцессыПараметрыЛицензии()
Функция СокращенныйТекстОписанияИБ(ТекстОписания)
@@ -456,7 +469,7 @@
ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Ид());
ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_СтрокаАвторизации());
- ПараметрыОбъекта = Новый КомандыОбъекта("infobase", ПараметрыКоманды);
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.ИБ, ПараметрыКоманды);
ВыводКоманды = "";
@@ -465,7 +478,7 @@
Для Каждого ТекИб Из ИБ Цикл
ВыводКоманды = ВыводКоманды + СокращенныйТекстОписанияИБ(ТекИБ["ТекстОбъекта"]);
-
+
КонецЦикла;
Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыОбъекта.ПараметрыКоманды("Список"), ВыводКоманды);
@@ -486,13 +499,13 @@
ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_СтрокаАвторизации());
ПараметрыКоманды.Вставить("ИдентификаторИБ" , ТекИБ["infobase"]);
- ПараметрыОбъекта = Новый КомандыОбъекта("infobase", ПараметрыКоманды);
-
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.ИБ, ПараметрыКоманды);
+
ВыводКоманды = СокращенныйТекстОписанияИБ(ТекИБ["ТекстОбъекта"]);
Результат.Добавить(Новый Структура("ПараметрыКоманды, ВыводКоманды",
- ПараметрыОбъекта.ПараметрыКоманды("Описание"),
- ВыводКоманды));
+ ПараметрыОбъекта.ПараметрыКоманды("Описание"),
+ ВыводКоманды));
КонецЦикла;
@@ -515,13 +528,13 @@
ПараметрыКоманды.Вставить("ИдентификаторИБ" , ТекИБ["infobase"]);
ПараметрыКоманды.Вставить("СтрокаАвторизацииИБ" , ИБ_СтрокаАвторизации());
- ПараметрыОбъекта = Новый КомандыОбъекта("infobase", ПараметрыКоманды);
-
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.ИБ, ПараметрыКоманды);
+
ВыводКоманды = ТекИБ["ТекстОбъекта"];
Результат.Добавить(Новый Структура("ПараметрыКоманды, ВыводКоманды",
- ПараметрыОбъекта.ПараметрыКоманды("ПолноеОписание"),
- ВыводКоманды));
+ ПараметрыОбъекта.ПараметрыКоманды("ПолноеОписание"),
+ ВыводКоманды));
КонецЦикла;
@@ -544,13 +557,13 @@
ПараметрыКоманды.Вставить("ИдентификаторИБ" , ТекИБ["infobase"]);
ПараметрыКоманды.Вставить("СтрокаАвторизацииИБ" , "");
- ПараметрыОбъекта = Новый КомандыОбъекта("infobase", ПараметрыКоманды);
-
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.ИБ, ПараметрыКоманды);
+
ВыводКоманды = СтрШаблон("Недостаточно прав пользователя для доступа к базе %1", ТекИБ["name"]);
Результат.Добавить(Новый Структура("ПараметрыКоманды, ВыводКоманды",
- ПараметрыОбъекта.ПараметрыКоманды("ПолноеОписание"),
- ВыводКоманды));
+ ПараметрыОбъекта.ПараметрыКоманды("ПолноеОписание"),
+ ВыводКоманды));
КонецЦикла;
@@ -565,17 +578,17 @@
ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Ид());
ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_СтрокаАвторизации());
- ПараметрыОбъекта = Новый КомандыОбъекта("infobase", ПараметрыКоманды);
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.ИБ, ПараметрыКоманды);
ВыводКоманды = "";
ИБ = РазобратьВыводКоманды(ВозвращаемыеЗначения["ИнформационныеБазы"] +
- ВозвращаемыеЗначения["ИнформационныеБазы.Добавление"]);
+ ВозвращаемыеЗначения["ИнформационныеБазы.Добавление"]);
Для Каждого ТекИб Из ИБ Цикл
ВыводКоманды = ВыводКоманды + СокращенныйТекстОписанияИБ(ТекИБ["ТекстОбъекта"]);
-
+
КонецЦикла;
Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыОбъекта.ПараметрыКоманды("Список"), ВыводКоманды);
@@ -605,7 +618,7 @@
ПараметрыКоманды.Вставить("БлокировкаРегламентныхЗаданийВключена", Перечисления.СостоянияВыключателя.Выключено);
ПараметрыКоманды.Вставить("ВыдачаЛицензийСервером" , Перечисления.ПраваДоступа.Разрешено);
- ПараметрыОбъекта = Новый КомандыОбъекта("infobase", ПараметрыКоманды);
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.ИБ, ПараметрыКоманды);
ВремТекст = Новый ТекстовыйДокумент();
ВремТекст.УстановитьТекст(ВозвращаемыеЗначения["ИнформационныеБазы.Добавление"]);
@@ -617,114 +630,192 @@
Функция Вывод_СеансыСписок()
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Агент_СтрокаПодключения());
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Агент_СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_СтрокаАвторизации());
+
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.Сеансы, ПараметрыКоманды);
- ПараметрыЗапуска.Добавить("session");
- ПараметрыЗапуска.Добавить("list");
+ ВыводКоманды = "";
+
+ Сеансы = РазобратьВыводКоманды(ВозвращаемыеЗначения["Сеансы"]);
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Ид()));
- ПараметрыЗапуска.Добавить(Кластер_СтрокаАвторизации());
+ Для Каждого ТекСеанс Из Сеансы Цикл
- ВыводКоманды = ВозвращаемыеЗначения["Сеансы"];
+ ВыводКоманды = ВыводКоманды + ТекСеанс["ТекстОбъекта"];
+
+ КонецЦикла;
- Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыЗапуска, ВыводКоманды);
+ Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыОбъекта.ПараметрыКоманды("Список"), ВыводКоманды);
КонецФункции // Вывод_СеансыСписок()
Функция Вывод_СеансыПараметры()
- Сеансы = РазобратьВыводКоманды(ВозвращаемыеЗначения["Сеансы"]);
+ Результат = Новый Массив();
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Агент_СтрокаПодключения());
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Агент_СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_СтрокаАвторизации());
- ПараметрыЗапуска.Добавить("session");
- ПараметрыЗапуска.Добавить("info");
+ Сеансы = РазобратьВыводКоманды(ВозвращаемыеЗначения["Сеансы"]);
- ПараметрыЗапуска.Добавить(СтрШаблон("--session=%1", Сеансы[0]["session"]));
+ Для Каждого ТекСеанс Из Сеансы Цикл
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Ид()));
- ПараметрыЗапуска.Добавить(Кластер_СтрокаАвторизации());
+ ПараметрыКоманды.Вставить("ИдентификаторСеанса" , ТекСеанс["session"]);
+
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.Сеансы, ПараметрыКоманды);
+
+ ВыводКоманды = ТекСеанс["ТекстОбъекта"];
- ВыводКоманды = Сеансы[0]["ТекстОбъекта"];
+ Результат.Добавить(Новый Структура("ПараметрыКоманды, ВыводКоманды",
+ ПараметрыОбъекта.ПараметрыКоманды("Описание"),
+ ВыводКоманды));
- Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыЗапуска, ВыводКоманды);
+ КонецЦикла;
+
+ Возврат Результат;
КонецФункции // Вывод_СеансыПараметры()
-Функция Вывод_СеансыЛицензииСписок()
+Функция Вывод_СеансыСписокЛицензии()
- Сеансы = РазобратьВыводКоманды(ВозвращаемыеЗначения["Сеансы"]);
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Агент_СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_СтрокаАвторизации());
+
+ ПараметрыОбъекта = Новый КомандыОбъекта("session.license", ПараметрыКоманды);
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Агент_СтрокаПодключения());
+ ВыводКоманды = ВозвращаемыеЗначения["Сеансы.Лицензии"];
- ПараметрыЗапуска.Добавить("session");
- ПараметрыЗапуска.Добавить("info");
+ Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыОбъекта.ПараметрыКоманды("Список"), ВыводКоманды);
- ПараметрыЗапуска.Добавить("--licenses");
+КонецФункции // Вывод_СеансыСписокЛицензии()
- ПараметрыЗапуска.Добавить(СтрШаблон("--session=%1", Сеансы[0]["session"]));
+Функция Вывод_СеансыПараметрыЛицензии()
+
+ Результат = Новый Массив();
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Ид()));
- ПараметрыЗапуска.Добавить(Кластер_СтрокаАвторизации());
+ СеансыЛицензии = РазобратьВыводКоманды(ВозвращаемыеЗначения["Сеансы.Лицензии"]);
- ВыводКоманды = ВозвращаемыеЗначения["Сеансы.Лицензии"];
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Агент_СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_СтрокаАвторизации());
- Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыЗапуска, ВыводКоманды);
+ Для Каждого ТекСеанс Из СеансыЛицензии Цикл
-КонецФункции // Вывод_СеансыЛицензииСписок()
+ ПараметрыКоманды.Вставить("ИдентификаторСеанса" , ТекСеанс["session"]);
+
+ ПараметрыОбъекта = Новый КомандыОбъекта("session.license", ПараметрыКоманды);
+
+ ВыводКоманды = ТекСеанс["ТекстОбъекта"];
+
+ Результат.Добавить(Новый Структура("ПараметрыКоманды, ВыводКоманды",
+ ПараметрыОбъекта.ПараметрыКоманды("Описание"),
+ ВыводКоманды));
+
+ КонецЦикла;
+
+ Возврат Результат;
+
+КонецФункции // Вывод_СеансыПараметрыЛицензии()
Функция Вывод_СоединенияСписок()
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Агент_СтрокаПодключения());
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Агент_СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_СтрокаАвторизации());
+
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.Соединения, ПараметрыКоманды);
- ПараметрыЗапуска.Добавить("connection");
- ПараметрыЗапуска.Добавить("list");
+ ВыводКоманды = "";
+
+ Соединения = РазобратьВыводКоманды(ВозвращаемыеЗначения["Соединения"]);
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Ид()));
- ПараметрыЗапуска.Добавить(Кластер_СтрокаАвторизации());
+ Для Каждого ТекСоединение Из Соединения Цикл
- ВыводКоманды = ВозвращаемыеЗначения["Соединения"];
+ ВыводКоманды = ВыводКоманды + ТекСоединение["ТекстОбъекта"];
+
+ КонецЦикла;
- Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыЗапуска, ВыводКоманды);
+ Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыОбъекта.ПараметрыКоманды("Список"), ВыводКоманды);
КонецФункции // Вывод_СоединенияСписок()
Функция Вывод_БлокировкиСписок()
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Агент_СтрокаПодключения());
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Агент_СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_СтрокаАвторизации());
+
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.Блокировки, ПараметрыКоманды);
- ПараметрыЗапуска.Добавить("lock");
- ПараметрыЗапуска.Добавить("list");
+ ВыводКоманды = "";
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Ид()));
- ПараметрыЗапуска.Добавить(Кластер_СтрокаАвторизации());
+ Блокировки = РазобратьВыводКоманды(ВозвращаемыеЗначения["Блокировки"]);
- ВыводКоманды = ВозвращаемыеЗначения["Блокировки"];
+ Для Каждого ТекБлокировка Из Блокировки Цикл
- Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыЗапуска, ВыводКоманды);
+ ВыводКоманды = ВыводКоманды + ТекБлокировка["ТекстОбъекта"];
+
+ КонецЦикла;
-КонецФункции // Вывод_СоединенияСписок()
+ Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыОбъекта.ПараметрыКоманды("Список"), ВыводКоманды);
+
+КонецФункции // Вывод_БлокировкиСписок()
+
+Функция Вывод_СервисыСписок()
+
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Агент_СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_СтрокаАвторизации());
+
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.Сервисы, ПараметрыКоманды);
+
+ ВыводКоманды = "";
+
+ Сервисы = РазобратьВыводКоманды(ВозвращаемыеЗначения["Сервисы"]);
+
+ Для Каждого ТекСервис Из Сервисы Цикл
+
+ ВыводКоманды = ВыводКоманды + ТекСервис["ТекстОбъекта"];
+
+ КонецЦикла;
+
+ Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыОбъекта.ПараметрыКоманды("Список"), ВыводКоманды);
+
+КонецФункции // Вывод_СервисыСписок()
Функция Вывод_НазначенияФункциональностиСписок()
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Агент_СтрокаПодключения());
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Агент_СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_СтрокаАвторизации());
+
+ ПараметрыКоманды.Вставить("ИдентификаторСервера" , Сервер_Ид());
- ПараметрыЗапуска.Добавить("rule");
- ПараметрыЗапуска.Добавить("list");
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.НазначенияФункциональности,
+ ПараметрыКоманды);
- ПараметрыЗапуска.Добавить(СтрШаблон("--server=%1", Сервер_Ид()));
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Ид()));
- ПараметрыЗапуска.Добавить(Кластер_СтрокаАвторизации());
+ ВыводКоманды = "";
+
+ Требования = РазобратьВыводКоманды(ВозвращаемыеЗначения["НазначенияФункциональности"]);
- ВыводКоманды = ВозвращаемыеЗначения["НазначенияФункциональности"];
+ Для Каждого ТекТребование Из Требования Цикл
- Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыЗапуска, ВыводКоманды);
+ ВыводКоманды = ВыводКоманды + ТекТребование["ТекстОбъекта"];
+
+ КонецЦикла;
+
+ Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыОбъекта.ПараметрыКоманды("Список"), ВыводКоманды);
КонецФункции // Вывод_НазначенияФункциональностиСписок()
@@ -732,224 +823,278 @@
Назначения = РазобратьВыводКоманды(ВозвращаемыеЗначения["НазначенияФункциональности"]);
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Агент_СтрокаПодключения());
-
- ПараметрыЗапуска.Добавить("rule");
- ПараметрыЗапуска.Добавить("info");
-
- ПараметрыЗапуска.Добавить(СтрШаблон("--server=%1", Сервер_Ид()));
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Агент_СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_СтрокаАвторизации());
- ПараметрыЗапуска.Добавить(СтрШаблон("--rule=%1", Назначения[0]["rule"]));
+ ПараметрыКоманды.Вставить("ИдентификаторСервера" , Сервер_Ид());
+ ПараметрыКоманды.Вставить("ИдентификаторТребования" , Назначения[0]["rule"]);
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Ид()));
- ПараметрыЗапуска.Добавить(Кластер_СтрокаАвторизации());
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.НазначенияФункциональности,
+ ПараметрыКоманды);
+
+ ВыводКоманды = "";
ВыводКоманды = Назначения[0]["ТекстОбъекта"];
- Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыЗапуска, ВыводКоманды);
+ Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыОбъекта.ПараметрыКоманды("Описание"), ВыводКоманды);
КонецФункции // Вывод_НазначенияФункциональностиПараметры()
Функция Вывод_ПрофилиБезопасностиСписок()
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Агент_СтрокаПодключения());
-
- ПараметрыЗапуска.Добавить("profile");
- ПараметрыЗапуска.Добавить("list");
-
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Ид()));
- ПараметрыЗапуска.Добавить(Кластер_СтрокаАвторизации());
-
- ВыводКоманды = ВозвращаемыеЗначения["ПрофилиБезопасности"];
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Агент_СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_СтрокаАвторизации());
- Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыЗапуска, ВыводКоманды);
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.ПрофилиБезопасности,
+ ПараметрыКоманды);
-КонецФункции // Вывод_ПрофилиБезопасностиСписок()
+ ВыводКоманды = "";
-Функция Вывод_ПрофилиБезопасностиПараметры()
-
Профили = РазобратьВыводКоманды(ВозвращаемыеЗначения["ПрофилиБезопасности"]);
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Агент_СтрокаПодключения());
-
- ПараметрыЗапуска.Добавить("profile");
- ПараметрыЗапуска.Добавить("info");
-
- ПараметрыЗапуска.Добавить(СтрШаблон("--name=%1", ПрофильБезопасности_Имя()));
+ Для Каждого ТекПрофиль Из Профили Цикл
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Ид()));
- ПараметрыЗапуска.Добавить(Кластер_СтрокаАвторизации());
-
- ВыводКоманды = Профили[0]["ТекстОбъекта"];
+ ВыводКоманды = ВыводКоманды + ТекПрофиль["ТекстОбъекта"];
+
+ КонецЦикла;
- Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыЗапуска, ВыводКоманды);
+ Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыОбъекта.ПараметрыКоманды("Список"), ВыводКоманды);
КонецФункции // Вывод_ПрофилиБезопасностиСписок()
Функция Вывод_ПрофилиБезопасностиКаталогиСписок()
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Агент_СтрокаПодключения());
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Агент_СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_СтрокаАвторизации());
+ ПараметрыКоманды.Вставить("ИмяПрофиля" , ПрофильБезопасности_Имя());
+ ПараметрыКоманды.Вставить("ВидОбъектовПрофиля",
+ Перечисления.ВидыОбъектовПрофиляБезопасности.Каталог);
+
+ ПараметрыОбъекта = Новый КомандыОбъекта("profile.directory",
+ ПараметрыКоманды);
+
+ ВыводКоманды = "";
- ПараметрыЗапуска.Добавить("profile");
- ПараметрыЗапуска.Добавить("acl");
- ПараметрыЗапуска.Добавить(Перечисления.ВидыОбъектовПрофиляБезопасности.Каталог);
- ПараметрыЗапуска.Добавить("list");
+ ОбъектыПрофиля = РазобратьВыводКоманды(ВозвращаемыеЗначения["ПрофилиБезопасности.Каталоги"]);
- ПараметрыЗапуска.Добавить(СтрШаблон("--name=%1", ПрофильБезопасности_Имя()));
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Ид()));
- ПараметрыЗапуска.Добавить(Кластер_СтрокаАвторизации());
+ Для Каждого ТекОбъект Из ОбъектыПрофиля Цикл
- ВыводКоманды = ВозвращаемыеЗначения["ПрофилиБезопасности.Каталоги"];
-
- Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыЗапуска, ВыводКоманды);
+ ВыводКоманды = ВыводКоманды + ТекОбъект["ТекстОбъекта"];
+
+ КонецЦикла;
+
+ Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыОбъекта.ПараметрыКоманды("Список"), ВыводКоманды);
КонецФункции // Вывод_ПрофилиБезопасностиКаталогиСписок()
Функция Вывод_ПрофилиБезопасностиCOMКлассыСписок()
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Агент_СтрокаПодключения());
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Агент_СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_СтрокаАвторизации());
+ ПараметрыКоманды.Вставить("ИмяПрофиля" , ПрофильБезопасности_Имя());
+ ПараметрыКоманды.Вставить("ВидОбъектовПрофиля",
+ Перечисления.ВидыОбъектовПрофиляБезопасности.COMКласс);
+
+ ПараметрыОбъекта = Новый КомандыОбъекта("profile.com",
+ ПараметрыКоманды);
- ПараметрыЗапуска.Добавить("profile");
- ПараметрыЗапуска.Добавить("acl");
- ПараметрыЗапуска.Добавить(Перечисления.ВидыОбъектовПрофиляБезопасности.COMКласс);
- ПараметрыЗапуска.Добавить("list");
+ ВыводКоманды = "";
- ПараметрыЗапуска.Добавить(СтрШаблон("--name=%1", ПрофильБезопасности_Имя()));
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Ид()));
- ПараметрыЗапуска.Добавить(Кластер_СтрокаАвторизации());
+ ОбъектыПрофиля = РазобратьВыводКоманды(ВозвращаемыеЗначения["ПрофилиБезопасности.COMКлассы"]);
- ВыводКоманды = ВозвращаемыеЗначения["ПрофилиБезопасности.COMКлассы"];
-
- Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыЗапуска, ВыводКоманды);
+ Для Каждого ТекОбъект Из ОбъектыПрофиля Цикл
+
+ ВыводКоманды = ВыводКоманды + ТекОбъект["ТекстОбъекта"];
+
+ КонецЦикла;
+
+ Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыОбъекта.ПараметрыКоманды("Список"), ВыводКоманды);
КонецФункции // Вывод_ПрофилиБезопасностиCOMКлассыСписок()
Функция Вывод_ПрофилиБезопасностиКомпонентыСписок()
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Агент_СтрокаПодключения());
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Агент_СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_СтрокаАвторизации());
+ ПараметрыКоманды.Вставить("ИмяПрофиля" , ПрофильБезопасности_Имя());
+ ПараметрыКоманды.Вставить("ВидОбъектовПрофиля",
+ Перечисления.ВидыОбъектовПрофиляБезопасности.Компонент);
+
+ ПараметрыОбъекта = Новый КомандыОбъекта("profile.addin",
+ ПараметрыКоманды);
+
+ ВыводКоманды = "";
- ПараметрыЗапуска.Добавить("profile");
- ПараметрыЗапуска.Добавить("acl");
- ПараметрыЗапуска.Добавить(Перечисления.ВидыОбъектовПрофиляБезопасности.Компонент);
- ПараметрыЗапуска.Добавить("list");
+ ОбъектыПрофиля = РазобратьВыводКоманды(ВозвращаемыеЗначения["ПрофилиБезопасности.Компоненты"]);
- ПараметрыЗапуска.Добавить(СтрШаблон("--name=%1", ПрофильБезопасности_Имя()));
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Ид()));
- ПараметрыЗапуска.Добавить(Кластер_СтрокаАвторизации());
+ Для Каждого ТекОбъект Из ОбъектыПрофиля Цикл
- ВыводКоманды = ВозвращаемыеЗначения["ПрофилиБезопасности.Компоненты"];
-
- Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыЗапуска, ВыводКоманды);
+ ВыводКоманды = ВыводКоманды + ТекОбъект["ТекстОбъекта"];
+
+ КонецЦикла;
+
+ Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыОбъекта.ПараметрыКоманды("Список"), ВыводКоманды);
КонецФункции // Вывод_ПрофилиБезопасностиКаталогиСписок()
Функция Вывод_ПрофилиБезопасностиМодулиСписок()
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Агент_СтрокаПодключения());
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Агент_СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_СтрокаАвторизации());
+ ПараметрыКоманды.Вставить("ИмяПрофиля" , ПрофильБезопасности_Имя());
+ ПараметрыКоманды.Вставить("ВидОбъектовПрофиля",
+ Перечисления.ВидыОбъектовПрофиляБезопасности.Модуль);
+
+ ПараметрыОбъекта = Новый КомандыОбъекта("profile.module",
+ ПараметрыКоманды);
- ПараметрыЗапуска.Добавить("profile");
- ПараметрыЗапуска.Добавить("acl");
- ПараметрыЗапуска.Добавить(Перечисления.ВидыОбъектовПрофиляБезопасности.Модуль);
- ПараметрыЗапуска.Добавить("list");
+ ВыводКоманды = "";
- ПараметрыЗапуска.Добавить(СтрШаблон("--name=%1", ПрофильБезопасности_Имя()));
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Ид()));
- ПараметрыЗапуска.Добавить(Кластер_СтрокаАвторизации());
+ ОбъектыПрофиля = РазобратьВыводКоманды(ВозвращаемыеЗначения["ПрофилиБезопасности.Модули"]);
- ВыводКоманды = ВозвращаемыеЗначения["ПрофилиБезопасности.Модули"];
-
- Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыЗапуска, ВыводКоманды);
+ Для Каждого ТекОбъект Из ОбъектыПрофиля Цикл
+
+ ВыводКоманды = ВыводКоманды + ТекОбъект["ТекстОбъекта"];
+
+ КонецЦикла;
+
+ Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыОбъекта.ПараметрыКоманды("Список"), ВыводКоманды);
КонецФункции // Вывод_ПрофилиБезопасностиМодулиСписок()
Функция Вывод_ПрофилиБезопасностиПриложенияСписок()
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Агент_СтрокаПодключения());
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Агент_СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_СтрокаАвторизации());
+ ПараметрыКоманды.Вставить("ИмяПрофиля" , ПрофильБезопасности_Имя());
+ ПараметрыКоманды.Вставить("ВидОбъектовПрофиля",
+ Перечисления.ВидыОбъектовПрофиляБезопасности.Приложение);
+
+ ПараметрыОбъекта = Новый КомандыОбъекта("profile.app",
+ ПараметрыКоманды);
+
+ ВыводКоманды = "";
- ПараметрыЗапуска.Добавить("profile");
- ПараметрыЗапуска.Добавить("acl");
- ПараметрыЗапуска.Добавить(Перечисления.ВидыОбъектовПрофиляБезопасности.Приложение);
- ПараметрыЗапуска.Добавить("list");
+ ОбъектыПрофиля = РазобратьВыводКоманды(ВозвращаемыеЗначения["ПрофилиБезопасности.Приложения"]);
- ПараметрыЗапуска.Добавить(СтрШаблон("--name=%1", ПрофильБезопасности_Имя()));
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Ид()));
- ПараметрыЗапуска.Добавить(Кластер_СтрокаАвторизации());
+ Для Каждого ТекОбъект Из ОбъектыПрофиля Цикл
- ВыводКоманды = ВозвращаемыеЗначения["ПрофилиБезопасности.Приложения"];
-
- Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыЗапуска, ВыводКоманды);
+ ВыводКоманды = ВыводКоманды + ТекОбъект["ТекстОбъекта"];
+
+ КонецЦикла;
+
+ Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыОбъекта.ПараметрыКоманды("Список"), ВыводКоманды);
КонецФункции // Вывод_ПрофилиБезопасностиПриложенияСписок()
Функция Вывод_ПрофилиБезопасностиИнтернетРесурсыСписок()
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Агент_СтрокаПодключения());
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Агент_СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_СтрокаАвторизации());
+ ПараметрыКоманды.Вставить("ИмяПрофиля" , ПрофильБезопасности_Имя());
+ ПараметрыКоманды.Вставить("ВидОбъектовПрофиля",
+ Перечисления.ВидыОбъектовПрофиляБезопасности.ИнтернетРесурс);
+
+ ПараметрыОбъекта = Новый КомандыОбъекта("profile.inet",
+ ПараметрыКоманды);
- ПараметрыЗапуска.Добавить("profile");
- ПараметрыЗапуска.Добавить("acl");
- ПараметрыЗапуска.Добавить(Перечисления.ВидыОбъектовПрофиляБезопасности.ИнтернетРесурс);
- ПараметрыЗапуска.Добавить("list");
+ ВыводКоманды = "";
- ПараметрыЗапуска.Добавить(СтрШаблон("--name=%1", ПрофильБезопасности_Имя()));
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Ид()));
- ПараметрыЗапуска.Добавить(Кластер_СтрокаАвторизации());
+ ОбъектыПрофиля = РазобратьВыводКоманды(ВозвращаемыеЗначения["ПрофилиБезопасности.ИнтернетРесурсы"]);
- ВыводКоманды = ВозвращаемыеЗначения["ПрофилиБезопасности.ИнтернетРесурсы"];
-
- Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыЗапуска, ВыводКоманды);
+ Для Каждого ТекОбъект Из ОбъектыПрофиля Цикл
+
+ ВыводКоманды = ВыводКоманды + ТекОбъект["ТекстОбъекта"];
+
+ КонецЦикла;
+
+ Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыОбъекта.ПараметрыКоманды("Список"), ВыводКоманды);
КонецФункции // Вывод_ПрофилиБезопасностиИнтернетРесурсыСписок()
-Функция Вывод_СчетчикиПотребленияРесурсовСписок()
+Функция Вывод_СчетчикиРесурсовСписок()
ПараметрыКоманды = Новый Соответствие();
ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Агент_СтрокаПодключения());
ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Ид());
ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_СтрокаАвторизации());
- ПараметрыОбъекта = Новый КомандыОбъекта("counter", ПараметрыКоманды);
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.СчетчикиРесурсов, ПараметрыКоманды);
- ВыводКоманды = ВозвращаемыеЗначения["СчетчикиПотребленияРесурсов"];
+ ВыводКоманды = ВозвращаемыеЗначения["СчетчикиРесурсов"];
Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыОбъекта.ПараметрыКоманды("Список"), ВыводКоманды);
-КонецФункции // Вывод_СчетчикиПотребленияРесурсовСписок()
+КонецФункции // Вывод_СчетчикиРесурсовСписок()
+Функция Вывод_СчетчикиРесурсовПараметры()
+
+ Результат = Новый Массив();
-Функция Вывод_СчетчикиПотребленияРесурсовЗначения()
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Агент_СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_СтрокаАвторизации());
- Счетчики = РазобратьВыводКоманды(ВозвращаемыеЗначения["СчетчикиПотребленияРесурсов"]);
+ Счетчики = РазобратьВыводКоманды(ВозвращаемыеЗначения["СчетчикиРесурсов"]);
+
+ Для Каждого ТекСчетчик Из Счетчики Цикл
+
+ ПараметрыКоманды.Вставить("ИмяСчетчика", ТекСчетчик["name"]);
+
+ ПараметрыОбъекта = Новый КомандыОбъекта(Перечисления.РежимыАдминистрирования.СчетчикиРесурсов,
+ ПараметрыКоманды);
+
+ ВыводКоманды = ТекСчетчик["ТекстОбъекта"];
+
+ Результат.Добавить(Новый Структура("ПараметрыКоманды, ВыводКоманды",
+ ПараметрыОбъекта.ПараметрыКоманды("Описание"),
+ ВыводКоманды));
+
+ КонецЦикла;
- ПараметрыЗапуска = Новый Массив();
- ПараметрыЗапуска.Добавить(Агент_СтрокаПодключения());
+ Возврат Результат;
+
+КонецФункции // Вывод_СчетчикиРесурсовПараметрыЗначения()
- ПараметрыЗапуска.Добавить("counter");
+Функция Вывод_СчетчикиРесурсовПараметрыЗначения()
- ПараметрыЗапуска.Добавить(СтрШаблон("--counter=%1", Счетчики[0]["name"]));
+ Счетчики = РазобратьВыводКоманды(ВозвращаемыеЗначения["СчетчикиРесурсов"]);
- ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Ид()));
- ПараметрыЗапуска.Добавить(Кластер_СтрокаАвторизации());
+ ПараметрыКоманды = Новый Соответствие();
+ ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Агент_СтрокаПодключения());
+ ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Ид());
+ ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_СтрокаАвторизации());
+
+ ПараметрыКоманды.Вставить("ИмяСчетчика", Счетчики[0]["name"]);
- ПараметрыЗапуска.Добавить("values");
+ ПараметрыОбъекта = Новый КомандыОбъекта("counter", ПараметрыКоманды);
- ВыводКоманды = ВозвращаемыеЗначения["СчетчикиПотребленияРесурсов.Значения"];
+ ВыводКоманды = ВозвращаемыеЗначения["СчетчикиРесурсов.Значения"];
- Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыЗапуска, ВыводКоманды);
+ Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыОбъекта.ПараметрыКоманды("Значения"), ВыводКоманды);
-КонецФункции // Вывод_СчетчикиПотребленияРесурсовЗначения()
+КонецФункции // Вывод_СчетчикиРесурсовПараметрыЗначения()
Процедура Инициализация()
- Лог = Логирование.ПолучитьЛог("ktb.lib.irac");
+ Лог = Логирование.ПолучитьЛог("oscript.lib.irac");
КаталогФикстур = ТекущийСценарий().Каталог;
@@ -958,67 +1103,71 @@
ПараметрыКластера = Новый Структура();
ПараметрыКластера.Вставить("Администраторы",
- Новый Структура("Список, СписокПослеДобавления, Параметры, Добавить, Изменить, Удалить"));
+ Новый Структура("Список, СписокПослеДобавления, Параметры, Добавить, Изменить, Удалить"));
ПараметрыКластера.Администраторы.Список = Вывод_АдминистраторыСписок();
ПараметрыКластера.Администраторы.СписокПослеДобавления = Вывод_АдминистраторыСписокПослеДобавления();
ПараметрыКластера.Вставить("Кластеры",
- Новый Структура("Список, Параметры, Администраторы, Добавить, Изменить, Удалить"));
- ПараметрыКластера.Кластеры.Список = Вывод_КластерыСписок();
- ПараметрыКластера.Кластеры.Параметры = Вывод_КластерыПараметры();
- ПараметрыКластера.Кластеры.Администраторы = Новый Структура("Список,
+ Новый Структура("Список, Параметры, Администраторы, Добавить, Изменить, Удалить"));
+ ПараметрыКластера.Кластеры.Список = Вывод_КластерыСписок();
+ ПараметрыКластера.Кластеры.Параметры = Вывод_КластерыПараметры();
+ ПараметрыКластера.Кластеры.Администраторы = Новый Структура("Список,
|СписокПослеДобавления,
- |Параметры,
- |Добавить,
- |Изменить,
- |Удалить");
+ |Параметры,
+ |Добавить,
+ |Изменить,
+ |Удалить");
ПараметрыКластера.Кластеры.Администраторы.Список = Вывод_КластерыАдминистраторыСписок();
ПараметрыКластера.Кластеры.Администраторы.СписокПослеДобавления = Вывод_КластерыАдминистраторыСписокПослеДобавления();
ПараметрыКластера.Вставить("Менеджеры",
Новый Структура("Список, Параметры"));
- ПараметрыКластера.Менеджеры.Список = Вывод_МенеджерыСписок();
+ ПараметрыКластера.Менеджеры.Список = Вывод_МенеджерыСписок();
ПараметрыКластера.Вставить("Серверы",
- Новый Структура("Список, СписокПослеДобавления, Параметры, Добавить, Изменить, Удалить"));
- ПараметрыКластера.Серверы.Список = Вывод_СерверыСписок();
- ПараметрыКластера.Серверы.СписокПослеДобавления = Вывод_СерверыСписокПослеДобавления();
+ Новый Структура("Список, СписокПослеДобавления, Параметры, Добавить, Изменить, Удалить"));
+ ПараметрыКластера.Серверы.Список = Вывод_СерверыСписок();
+ ПараметрыКластера.Серверы.СписокПослеДобавления = Вывод_СерверыСписокПослеДобавления();
ПараметрыКластера.Серверы.Добавить = Вывод_СерверыДобавить();
- ПараметрыКластера.Серверы.Параметры = Вывод_СерверыПараметры();
+ ПараметрыКластера.Серверы.Параметры = Вывод_СерверыПараметры();
ПараметрыКластера.Вставить("РабочиеПроцессы",
- Новый Структура("Список, Параметры, Лицензии"));
- ПараметрыКластера.РабочиеПроцессы.Список = Вывод_РабочиеПроцессыСписок();
- ПараметрыКластера.РабочиеПроцессы.Параметры = Вывод_РабочиеПроцессыПараметры();
- ПараметрыКластера.РабочиеПроцессы.Лицензии = Новый Структура("Список", Вывод_РабочиеПроцессыЛицензииСписок());
+ Новый Структура("Список, Параметры, Лицензии"));
+ ПараметрыКластера.РабочиеПроцессы.Список = Вывод_РабочиеПроцессыСписок();
+ ПараметрыКластера.РабочиеПроцессы.Параметры = Вывод_РабочиеПроцессыПараметры();
+ ПараметрыКластера.РабочиеПроцессы.Лицензии = Новый Структура("Список, Описание");
+ ПараметрыКластера.РабочиеПроцессы.Лицензии.Список = Вывод_РабочиеПроцессыСписокЛицензии();
+ ПараметрыКластера.РабочиеПроцессы.Лицензии.Описание = Вывод_РабочиеПроцессыПараметрыЛицензии();
ПараметрыКластера.Вставить("Сервисы",
- Новый Структура("Список, Параметры"));
- ПараметрыКластера.Сервисы.Список = Вывод_СервисыСписок();
+ Новый Структура("Список, Параметры"));
+ ПараметрыКластера.Сервисы.Список = Вывод_СервисыСписок();
ПараметрыКластера.Вставить("Сеансы",
- Новый Структура("Список, Параметры, Лицензии"));
- ПараметрыКластера.Сеансы.Список = Вывод_СеансыСписок();
- ПараметрыКластера.Сеансы.Параметры = Вывод_СеансыПараметры();
- ПараметрыКластера.Сеансы.Лицензии = Новый Структура("Список", Вывод_СеансыЛицензииСписок());
+ Новый Структура("Список, Параметры, Лицензии"));
+ ПараметрыКластера.Сеансы.Список = Вывод_СеансыСписок();
+ ПараметрыКластера.Сеансы.Параметры = Вывод_СеансыПараметры();
+ ПараметрыКластера.Сеансы.Лицензии = Новый Структура("Список, Описание");
+ ПараметрыКластера.Сеансы.Лицензии.Список = Вывод_СеансыСписокЛицензии();
+ ПараметрыКластера.Сеансы.Лицензии.Описание = Вывод_СеансыПараметрыЛицензии();
ПараметрыКластера.Вставить("Соединения",
- Новый Структура("Список, Параметры"));
- ПараметрыКластера.Соединения.Список = Вывод_СоединенияСписок();
+ Новый Структура("Список, Параметры"));
+ ПараметрыКластера.Соединения.Список = Вывод_СоединенияСписок();
ПараметрыКластера.Вставить("Блокировки",
- Новый Структура("Список, Параметры"));
- ПараметрыКластера.Блокировки.Список = Вывод_БлокировкиСписок();
+ Новый Структура("Список, Параметры"));
+ ПараметрыКластера.Блокировки.Список = Вывод_БлокировкиСписок();
ПараметрыКластера.Вставить("ИБ",
- Новый Структура("Список,
- |СписокПослеДобавления,
- |СокращенныеПараметры,
- |ПолныеПараметры,
- |НедостаточноПрав,
- |Добавить,
- |Изменить,
- |Удалить"));
+ Новый Структура("Список,
+ |СписокПослеДобавления,
+ |СокращенныеПараметры,
+ |ПолныеПараметры,
+ |НедостаточноПрав,
+ |Добавить,
+ |Изменить,
+ |Удалить"));
ПараметрыКластера.ИБ.Список = Вывод_ИБСписок();
ПараметрыКластера.ИБ.СписокПослеДобавления = Вывод_ИБСписокПослеДобавления();
ПараметрыКластера.ИБ.Добавить = Вывод_ИБДобавить();
@@ -1027,43 +1176,43 @@
ПараметрыКластера.ИБ.НедостаточноПрав = Вывод_ИБНедостаточноПрав();
ПараметрыКластера.Вставить("НазначенияФункциональности",
- Новый Структура("Список, Параметры, Добавить, Изменить, Удалить"));
- ПараметрыКластера.НазначенияФункциональности.Список = Вывод_НазначенияФункциональностиСписок();
- ПараметрыКластера.НазначенияФункциональности.Параметры = Вывод_НазначенияФункциональностиПараметры();
+ Новый Структура("Список, Параметры, Добавить, Изменить, Удалить"));
+ ПараметрыКластера.НазначенияФункциональности.Список = Вывод_НазначенияФункциональностиСписок();
+ ПараметрыКластера.НазначенияФункциональности.Параметры = Вывод_НазначенияФункциональностиПараметры();
СтруктураПрофилей = Новый Структура("Список,
- |Параметры,
- |Добавить,
- |Изменить,
- |Удалить,
- |Каталоги,
- |COMКлассы,
- |Компоненты,
- |Модули,
- |Приложения,
- |ИнтернетРесурсы");
-
- СтруктураПрофилей.Список = Вывод_ПрофилиБезопасностиСписок();
- СтруктураПрофилей.Параметры = Вывод_ПрофилиБезопасностиПараметры();
- СтруктураПрофилей.Каталоги = Новый Структура("Список, Параметры",
- Вывод_ПрофилиБезопасностиКаталогиСписок());
- СтруктураПрофилей.COMКлассы = Новый Структура("Список, Параметры",
- Вывод_ПрофилиБезопасностиCOMКлассыСписок());
- СтруктураПрофилей.Компоненты = Новый Структура("Список, Параметры",
- Вывод_ПрофилиБезопасностиКомпонентыСписок());
- СтруктураПрофилей.Модули = Новый Структура("Список, Параметры",
- Вывод_ПрофилиБезопасностиМодулиСписок());
- СтруктураПрофилей.Приложения = Новый Структура("Список, Параметры",
- Вывод_ПрофилиБезопасностиПриложенияСписок());
- СтруктураПрофилей.ИнтернетРесурсы = Новый Структура("Список, Параметры",
- Вывод_ПрофилиБезопасностиИнтернетРесурсыСписок());
+ |Добавить,
+ |Изменить,
+ |Удалить,
+ |Каталоги,
+ |COMКлассы,
+ |Компоненты,
+ |Модули,
+ |Приложения,
+ |ИнтернетРесурсы");
+
+ СтруктураПрофилей.Список = Вывод_ПрофилиБезопасностиСписок();
+ СтруктураПрофилей.Каталоги = Новый Структура("Список, Параметры",
+ Вывод_ПрофилиБезопасностиКаталогиСписок());
+ СтруктураПрофилей.COMКлассы = Новый Структура("Список, Параметры",
+ Вывод_ПрофилиБезопасностиCOMКлассыСписок());
+ СтруктураПрофилей.Компоненты = Новый Структура("Список, Параметры",
+ Вывод_ПрофилиБезопасностиКомпонентыСписок());
+ СтруктураПрофилей.Модули = Новый Структура("Список, Параметры",
+ Вывод_ПрофилиБезопасностиМодулиСписок());
+ СтруктураПрофилей.Приложения = Новый Структура("Список, Параметры",
+ Вывод_ПрофилиБезопасностиПриложенияСписок());
+ СтруктураПрофилей.ИнтернетРесурсы = Новый Структура("Список, Параметры",
+ Вывод_ПрофилиБезопасностиИнтернетРесурсыСписок());
ПараметрыКластера.Вставить("ПрофилиБезопасности", СтруктураПрофилей);
- ПараметрыКластера.Вставить("СчетчикиПотребленияРесурсов",
- Новый Структура("Список, Значения"));
- ПараметрыКластера.СчетчикиПотребленияРесурсов.Список = Вывод_СчетчикиПотребленияРесурсовСписок();
- ПараметрыКластера.СчетчикиПотребленияРесурсов.Значения = Вывод_СчетчикиПотребленияРесурсовЗначения();
+ ПараметрыКластера.Вставить("СчетчикиРесурсов",
+ Новый Структура("Список, Параметры, Значения"));
+ ПараметрыКластера.СчетчикиРесурсов.Список = Вывод_СчетчикиРесурсовСписок();
+ ПараметрыКластера.СчетчикиРесурсов.Параметры = Вывод_СчетчикиРесурсовПараметры();
+ ПараметрыКластера.СчетчикиРесурсов.Значения = Новый Структура("Список",
+ Вывод_СчетчикиРесурсовПараметрыЗначения());
КонецПроцедуры // Инициализация()
@@ -1089,10 +1238,10 @@
// Возвращает текущие параметры тестового окружения
//
// Параметры:
-// Обновить - Булево - Истина - обновить параметры тестирования принудительно
+// Обновить - Булево - Истина - обновить параметры тестирования принудительно
//
// Возвращаемое значение:
-// Структура - параметры тестового окружения
+// Структура - параметры тестового окружения
//
Функция Параметры(Обновить = Ложь) Экспорт
@@ -1122,7 +1271,7 @@
Если МакетПараметров.Существует() Тогда
ПараметрыПоУмолчанию = ПрочитатьПараметрыТестированияИзФайла(ПутьКФайлуПараметров);
-
+
Для Каждого ТекПараметр Из ПараметрыПоУмолчанию Цикл
Параметры.Вставить(ТекПараметр.Ключ, ТекПараметр.Значение);
КонецЦикла;
@@ -1154,7 +1303,9 @@
Если МассивПараметр.Количество() = 0 Тогда
Продолжить;
- ИначеЕсли МассивПараметр.Количество() = 1 Тогда
+ КонецЕсли;
+
+ Если МассивПараметр.Количество() = 1 Тогда
МассивПараметр.Добавить("");
КонецЕсли;
@@ -1175,10 +1326,10 @@
// пары <ключ, значение> структуры получаются для каждой строки с учетом разделителя ":"
//
// Параметры:
-// ВыводКоманды - Строка - текст для разбора
+// ВыводКоманды - Строка - текст для разбора
//
// Возвращаемое значение:
-// Массив (Соответствие) - результат разбора
+// Массив (Соответствие) - результат разбора
//
Функция РазобратьВыводКоманды(Знач ВыводКоманды)
@@ -1193,7 +1344,7 @@
Для й = 1 По Текст.КоличествоСтрок() Цикл
ТекстСтроки = Текст.ПолучитьСтроку(й);
-
+
ПозРазделителя = СтрНайти(ТекстСтроки, ":");
Если НЕ ЗначениеЗаполнено(ТекстСтроки) Тогда
@@ -1208,7 +1359,7 @@
ИначеЕсли ПозРазделителя = 0 Тогда
Продолжить;
КонецЕсли;
-
+
Описание.Вставить(СокрЛП(Лев(ТекстСтроки, ПозРазделителя - 1)), СокрЛП(Сред(ТекстСтроки, ПозРазделителя + 1)));
ТекстОбъекта = ТекстОбъекта + ТекстСтроки + Символы.ПС;
diff --git a/tests/irac-test.os b/tests/irac-test.os
index 722a37a..4caa3ba 100644
--- a/tests/irac-test.os
+++ b/tests/irac-test.os
@@ -1,4 +1,13 @@
-#Использовать "../src"
+// ----------------------------------------------------------
+// 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/
+// ----------------------------------------------------------
+
+#Использовать "../src"
#Использовать "./fixtures"
#Использовать asserts
#Использовать fs
@@ -15,7 +24,7 @@
//
Процедура ПередЗапускомТеста() Экспорт
- Лог = Логирование.ПолучитьЛог("ktb.lib.irac");
+ Лог = Логирование.ПолучитьЛог("oscript.lib.irac");
Лог.УстановитьУровень(УровниЛога.Отладка);
АдресСервера = ПараметрыТестирования.Параметры().Агент_Адрес;
@@ -23,7 +32,7 @@
Если АгентКластера = Неопределено Тогда
АгентКластера = Новый АдминистрированиеКластера(АдресСервера, ПортСервера, "");
- КонецЕсли;
+ КонецЕсли;
Если ИсполнительКоманд = Неопределено Тогда
ИспользоватьМок = Истина;
@@ -34,7 +43,7 @@
ИсполнительКоманд = Мок.Получить(Новый ИсполнительКоманд(""));
Иначе
ИсполнительКоманд = Новый ИсполнительКоманд("8.3");
- КонецЕсли;
+ КонецЕсли;
КонецЕсли;
АгентКластера.УстановитьИсполнительКоманд(ИсполнительКоманд);
@@ -44,11 +53,11 @@
// Функция возвращает список тестов для выполнения
//
// Параметры:
-// Тестирование - Тестер - Объект Тестер (1testrunner)
-//
+// Тестирование - Тестер - Объект Тестер (1testrunner)
+//
// Возвращаемое значение:
-// Массив - Массив имен процедур-тестов
-//
+// Массив - Массив имен процедур-тестов
+//
Функция ПолучитьСписокТестов(Тестирование) Экспорт
ЮнитТест = Тестирование;
@@ -76,8 +85,6 @@
СписокТестов.Добавить("ТестДолжен_ПолучитьПараметрыРабочегоПроцесса");
СписокТестов.Добавить("ТестДолжен_ПолучитьСписокЛицензийПроцесса");
- СписокТестов.Добавить("ТестДолжен_ПолучитьСписокСервисов");
-
СписокТестов.Добавить("ТестДолжен_ПолучитьСписокБазНаСервере");
СписокТестов.Добавить("ТестДолжен_ПолучитьСокращенныеПараметрыБазыНаСервере");
СписокТестов.Добавить("ТестДолжен_ПолучитьПолныеПараметрыБазыНаСервере");
@@ -92,8 +99,9 @@
СписокТестов.Добавить("ТестДолжен_ПолучитьСписокБлокировокКластера");
- СписокТестов.Добавить("ТестДолжен_ПолучитьСписокНазначенийФункциональностиСервера");
+ СписокТестов.Добавить("ТестДолжен_ПолучитьСписокСервисовКластера");
+ СписокТестов.Добавить("ТестДолжен_ПолучитьСписокНазначенийФункциональностиСервера");
СписокТестов.Добавить("ТестДолжен_ПолучитьПараметрыНазначенияФункциональностиСервера");
СписокТестов.Добавить("ТестДолжен_ПолучитьСписокПрофилейБезопасностиКластера");
@@ -106,9 +114,9 @@
СписокТестов.Добавить("ТестДолжен_ПолучитьСписокПриложенийПрофиля");
СписокТестов.Добавить("ТестДолжен_ПолучитьСписокИнтернетРесурсовПрофиля");
- СписокТестов.Добавить("ТестДолжен_ПолучитьСписокСчетчиковПотребленияРесурсов");
- СписокТестов.Добавить("ТестДолжен_ПолучитьПараметрыСчетчиковПотребленияРесурсов");
- СписокТестов.Добавить("ТестДолжен_ПолучитьЗначенияСчетчикаПотребленияРесурсов");
+ СписокТестов.Добавить("ТестДолжен_ПолучитьСписокСчетчиковРесурсов");
+ СписокТестов.Добавить("ТестДолжен_ПолучитьПараметрыСчетчиковРесурсов");
+ СписокТестов.Добавить("ТестДолжен_ПолучитьЗначенияСчетчикаРесурсов");
Возврат СписокТестов;
@@ -118,7 +126,6 @@
//
Процедура ПослеЗапускаТеста() Экспорт
-
КонецПроцедуры // ПослеЗапускаТеста()
// Процедура - тест
@@ -136,7 +143,7 @@
// Процедура - тест
//
Процедура ТестДолжен_ПолучитьСписокАдминистраторовАгента() Экспорт
-
+
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(), "Администраторы.Список");
АгентКластера.УстановитьАдминистратора(ПараметрыТестирования.Параметры().Агент_Администратор,
@@ -151,7 +158,7 @@
// Процедура - тест
//
Процедура ТестДолжен_ДобавитьАдминистратораАгента() Экспорт
-
+
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(), "Администраторы.Список");
АгентКластера.УстановитьАдминистратора(ПараметрыТестирования.Параметры().Агент_Администратор,
@@ -169,15 +176,15 @@
НовоеКоличество = Администраторы.Количество();
Утверждения.ПроверитьБольше(НовоеКоличество,
- ТекущееКоличество,
- "Не удалось проверить добавление администратора агента");
+ ТекущееКоличество,
+ "Не удалось проверить добавление администратора агента");
КонецПроцедуры // ТестДолжен_ДобавитьАдминистратораАгента()
// Процедура - тест
//
Процедура ТестДолжен_УдалитьАдминистратораАгента() Экспорт
-
+
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
"Администраторы.СписокПослеДобавления");
@@ -193,15 +200,15 @@
Администраторы.Удалить("НовыйАдминистратор");
Утверждения.ПроверитьБольше(ТекущееКоличество,
- Администраторы.Количество(),
- "Не удалось проверить удаление администратора агента");
+ Администраторы.Количество(),
+ "Не удалось проверить удаление администратора агента");
КонецПроцедуры // ТестДолжен_УдалитьАдминистратораАгента()
// Процедура - тест
//
Процедура ТестДолжен_ПолучитьСписокКластеров() Экспорт
-
+
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(), "Кластеры.Список");
Кластеры = АгентКластера.Кластеры();
@@ -213,7 +220,7 @@
// Процедура - тест
//
Процедура ТестДолжен_ПолучитьПараметрыКластера() Экспорт
-
+
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(), "Кластеры.Список");
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(), "Кластеры.Параметры");
@@ -234,15 +241,15 @@
Утверждения.ПроверитьРавенство(Сервер, "Sport1", "Ошибка проверки сервера кластера");
Утверждения.ПроверитьРавенство(Порт, "1541", "Ошибка проверки порта кластера");
Утверждения.ПроверитьРавенство(РежимРаспределенияНагрузки
- , Перечисления.РежимыРаспределенияНагрузки.ПоПроизводительности
- , "Ошибка проверки режима распределения нагрузки кластера");
+ , Перечисления.РежимыРаспределенияНагрузки.ПоПроизводительности
+ , "Ошибка проверки режима распределения нагрузки кластера");
КонецПроцедуры // ТестДолжен_ПолучитьПараметрыКластера()
// Процедура - тест
//
Процедура ТестДолжен_ПолучитьСписокАдминистраторовКластера() Экспорт
-
+
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(), "Кластеры.Список");
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
@@ -264,7 +271,7 @@
// Процедура - тест
//
Процедура ТестДолжен_ДобавитьАдминистратораКластера() Экспорт
-
+
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(), "Кластеры.Список");
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
@@ -289,15 +296,15 @@
НовоеКоличество = Администраторы.Количество();
Утверждения.ПроверитьБольше(НовоеКоличество,
- ТекущееКоличество,
- "Не удалось проверить добавление администратора кластера");
+ ТекущееКоличество,
+ "Не удалось проверить добавление администратора кластера");
КонецПроцедуры // ТестДолжен_ДобавитьАдминистратораКластера()
// Процедура - тест
//
Процедура ТестДолжен_УдалитьАдминистратораКластера() Экспорт
-
+
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(), "Кластеры.Список");
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
@@ -320,15 +327,15 @@
Администраторы.Удалить("НовыйАдминистратор");
Утверждения.ПроверитьБольше(ТекущееКоличество,
- Администраторы.Количество(),
- "Не удалось проверить удаление администратора кластера");
+ Администраторы.Количество(),
+ "Не удалось проверить удаление администратора кластера");
КонецПроцедуры // ТестДолжен_УдалитьАдминистратораКластера()
// Процедура - тест
//
Процедура ТестДолжен_ПолучитьСписокМенеджеров() Экспорт
-
+
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(), "Кластеры.Список");
Кластеры = АгентКластера.Кластеры();
@@ -401,7 +408,7 @@
// Процедура - тест
//
Процедура ТестДолжен_ДобавитьСерверКластера() Экспорт
-
+
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(), "Кластеры.Список");
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
@@ -436,15 +443,15 @@
НовоеКоличество = Серверы.Количество();
Утверждения.ПроверитьБольше(НовоеКоличество,
- ТекущееКоличество,
- "Не удалось проверить добавление сервера в кластер");
+ ТекущееКоличество,
+ "Не удалось проверить добавление сервера в кластер");
КонецПроцедуры // ТестДолжен_ДобавитьСерверКластера()
// Процедура - тест
//
Процедура ТестДолжен_УдалитьСерверКластера() Экспорт
-
+
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(), "Кластеры.Список");
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
@@ -467,8 +474,8 @@
Серверы.Удалить("Sport2:1540");
Утверждения.ПроверитьБольше(ТекущееКоличество,
- Серверы.Количество(),
- "Не удалось проверить удаление сервера из кластера");
+ Серверы.Количество(),
+ "Не удалось проверить удаление сервера из кластера");
КонецПроцедуры // ТестДолжен_УдалитьСерверКластера()
@@ -507,14 +514,16 @@
ПараметрыТестирования.Параметры().Кластер_Пароль);
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
- "РабочиеПроцессы.Список");
+ "РабочиеПроцессы.Список");
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
- "РабочиеПроцессы.Параметры");
+ "РабочиеПроцессы.Параметры");
Процессы = Кластер.РабочиеПроцессы();
Процесс = Процессы.Получить("Sport1:5428");
+ Процесс.ОбновитьДанные(Истина);
+
АдресСервера = Процесс.Получить("АдресСервера");
ИдПроцессаОС = Процесс.Получить("ИдПроцессаОС");
КоличествоСоединений = Процесс.Получить("КоличествоСоединений");
@@ -539,46 +548,28 @@
ПараметрыТестирования.Параметры().Кластер_Пароль);
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
- "РабочиеПроцессы.Список");
+ "РабочиеПроцессы.Список");
+ ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
+ "РабочиеПроцессы.Параметры");
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
- "РабочиеПроцессы.Параметры");
+ "РабочиеПроцессы.Лицензии.Описание");
Процессы = Кластер.РабочиеПроцессы();
Процесс = Процессы.Получить("Sport1:5428");
- ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
- "РабочиеПроцессы.Лицензии.Список");
-
+ Процесс.ОбновитьДанные(Истина);
+
Лицензии = Процесс.Лицензии();
Утверждения.ПроверитьБольше(Лицензии.Количество(), 0, "Не удалось получить список лицензий рабочего процесса");
КонецПроцедуры // ТестДолжен_ПолучитьСписокЛицензийПроцесса()
-// Процедура - тест
-//
-Процедура ТестДолжен_ПолучитьСписокСервисов() Экспорт
-
- Кластеры = АгентКластера.Кластеры();
-
- Кластер = Кластеры.Получить(ПараметрыТестирования.Параметры().Кластер_АдресПорт);
-
- Кластер.УстановитьАдминистратора(ПараметрыТестирования.Параметры().Кластер_Администратор,
- ПараметрыТестирования.Параметры().Кластер_Пароль);
-
- ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(), "Сервисы.Список");
-
- Сервисы = Кластер.Сервисы();
-
- Утверждения.ПроверитьБольше(Сервисы.Количество(), 0, "Не удалось получить список сервисов");
-
-КонецПроцедуры // ТестДолжен_ПолучитьСписокСервисов()
-
// Процедура - тест
//
Процедура ТестДолжен_ПолучитьСписокБазНаСервере() Экспорт
-
+
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(), "Кластеры.Список");
Кластеры = АгентКластера.Кластеры();
@@ -599,7 +590,7 @@
// Процедура - тест
//
Процедура ТестДолжен_ПолучитьСокращенныеПараметрыБазыНаСервере() Экспорт
-
+
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(), "Кластеры.Список");
Кластеры = АгентКластера.Кластеры();
@@ -660,8 +651,8 @@
Имя = База.Получить("Имя", Истина);
Описание = База.Получить("Описание");
ПолноеОписание = База.Получить("ПолноеОписание");
- ТипСУБД = База.Получить("ТипСУБД");
- ИмяБазыСУБД = База.Получить("ИмяБазыСУБД");
+ ТипСУБД = База.Получить("ТипСУБД");
+ ИмяБазыСУБД = База.Получить("ИмяБазыСУБД");
Утверждения.ПроверитьРавенство(Имя, ИБ_Имя, "Ошибка проверки имени базы");
Утверждения.ПроверитьРавенство(Описание, "", "Ошибка проверки описания базы");
@@ -674,7 +665,7 @@
// Процедура - тест
//
Процедура ТестДолжен_ДобавитьИнформационнуюБазу() Экспорт
-
+
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(), "Кластеры.Список");
Кластеры = АгентКластера.Кластеры();
@@ -688,13 +679,13 @@
ПараметрыИБ = Новый Структура();
- ПараметрыИБ.Вставить("ТипСУБД" , Перечисления.ТипыСУБД.MSSQLServer);
- ПараметрыИБ.Вставить("АдресСервераСУБД" , "localhost");
- ПараметрыИБ.Вставить("ИмяБазыСУБД" , ИБ_Имя);
- ПараметрыИБ.Вставить("ИмяПользователяБазыСУБД" , "_1CSrvUsr1");
- ПараметрыИБ.Вставить("ПарольПользователяБазыСУБД" , "q2w3e4r5");
+ ПараметрыИБ.Вставить("ТипСУБД" , Перечисления.ТипыСУБД.MSSQLServer);
+ ПараметрыИБ.Вставить("АдресСервераСУБД" , "localhost");
+ ПараметрыИБ.Вставить("ИмяБазыСУБД" , ИБ_Имя);
+ ПараметрыИБ.Вставить("ИмяПользователяБазыСУБД" , "_1CSrvUsr1");
+ ПараметрыИБ.Вставить("ПарольПользователяБазыСУБД" , "q2w3e4r5");
ПараметрыИБ.Вставить("БлокировкаРегламентныхЗаданийВключена", Перечисления.СостоянияВыключателя.Выключено);
- ПараметрыИБ.Вставить("ВыдачаЛицензийСервером" , Перечисления.ПраваДоступа.Разрешено);
+ ПараметрыИБ.Вставить("ВыдачаЛицензийСервером" , Перечисления.ПраваДоступа.Разрешено);
ИБ = Кластер.ИнформационныеБазы();
ИБ.ОбновитьДанные(Истина);
@@ -722,7 +713,7 @@
// Процедура - тест
//
Процедура ТестДолжен_ПолучитьСписокСеансовКластера() Экспорт
-
+
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(), "Кластеры.Список");
Кластеры = АгентКластера.Кластеры();
@@ -743,7 +734,7 @@
// Процедура - тест
//
Процедура ТестДолжен_ПолучитьИерархическийСписокСеансовКластера() Экспорт
-
+
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(), "Кластеры.Список");
Кластеры = АгентКластера.Кластеры();
@@ -766,7 +757,7 @@
// Процедура - тест
//
Процедура ТестДолжен_ПолучитьПараметрыСеансаКластера() Экспорт
-
+
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(), "Кластеры.Список");
Кластеры = АгентКластера.Кластеры();
@@ -812,8 +803,10 @@
Сеансы = Кластер.Сеансы().Список();
Для Каждого Сеанс Из Сеансы Цикл
- ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(), "Сеансы.Лицензии.Список");
-
+ ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(), "Сеансы.Лицензии.Описание");
+
+ Сеанс.ОбновитьДанные(Истина);
+
Лицензии = Сеанс.Лицензии();
Прервать;
КонецЦикла;
@@ -825,7 +818,7 @@
// Процедура - тест
//
Процедура ТестДолжен_ПолучитьСписокСоединенийКластера() Экспорт
-
+
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(), "Кластеры.Список");
Кластеры = АгентКластера.Кластеры();
@@ -836,7 +829,7 @@
ПараметрыТестирования.Параметры().Кластер_Пароль);
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
- "Соединения.Список");
+ "Соединения.Список");
Соединения = Кластер.Соединения();
@@ -858,7 +851,7 @@
ПараметрыТестирования.Параметры().Кластер_Пароль);
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
- "Блокировки.Список");
+ "Блокировки.Список");
Блокировки = Кластер.Блокировки();
@@ -866,12 +859,34 @@
КонецПроцедуры // ТестДолжен_ПолучитьСписокБлокировокКластера()
+// Процедура - тест
+//
+Процедура ТестДолжен_ПолучитьСписокСервисовКластера() Экспорт
+
+ ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(), "Кластеры.Список");
+
+ Кластеры = АгентКластера.Кластеры();
+
+ Кластер = Кластеры.Получить(ПараметрыТестирования.Параметры().Кластер_АдресПорт);
+
+ Кластер.УстановитьАдминистратора(ПараметрыТестирования.Параметры().Кластер_Администратор,
+ ПараметрыТестирования.Параметры().Кластер_Пароль);
+
+ ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
+ "Сервисы.Список");
+
+ Сервисы = Кластер.Сервисы();
+
+ Утверждения.ПроверитьБольше(Сервисы.Количество(), 0, "Не удалось получить список сервисов");
+
+КонецПроцедуры // ТестДолжен_ПолучитьСписокСервисовКластера()
+
// Процедура - тест
//
Процедура ТестДолжен_ПолучитьСписокНазначенийФункциональностиСервера() Экспорт
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
- "Кластеры.Список");
+ "Кластеры.Список");
Кластеры = АгентКластера.Кластеры();
@@ -881,33 +896,33 @@
ПараметрыТестирования.Параметры().Кластер_Пароль);
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
- "Серверы.Список");
+ "Серверы.Список");
Серверы = Кластер.Серверы().Список();
Для Каждого Сервер Из Серверы Цикл
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
- "Серверы.Параметры");
+ "Серверы.Параметры");
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
- "НазначенияФункциональности.Список");
+ "НазначенияФункциональности.Список");
НазначенияФункциональности = Сервер.НазначенияФункциональности();
Прервать;
КонецЦикла;
Утверждения.ПроверитьБольше(НазначенияФункциональности.Количество(),
- 0,
- "Не удалось получить список назначений функциональности");
+ 0,
+ "Не удалось получить список назначений функциональности");
КонецПроцедуры // ТестДолжен_ПолучитьСписокНазначенийФункциональностиСервера()
// Процедура - тест
//
Процедура ТестДолжен_ПолучитьПараметрыНазначенияФункциональностиСервера() Экспорт
-
+
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
- "Кластеры.Список");
+ "Кластеры.Список");
Кластеры = АгентКластера.Кластеры();
@@ -917,16 +932,16 @@
ПараметрыТестирования.Параметры().Кластер_Пароль);
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
- "Серверы.Список");
+ "Серверы.Список");
Серверы = Кластер.Серверы().Список();
Для Каждого Сервер Из Серверы Цикл
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
- "Серверы.Параметры");
+ "Серверы.Параметры");
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
- "НазначенияФункциональности.Параметры");
+ "НазначенияФункциональности.Параметры");
НазначенияФункциональности = Сервер.НазначенияФункциональности().Список();
Прервать;
@@ -940,20 +955,20 @@
Утверждения.ПроверитьРавенство(ИмяИБ, "DEV_User1_TRADE_Cust1", "Ошибка проверки имени ИБ назначения функциональности");
Утверждения.ПроверитьРавенство(ТипОбъекта
- , """" + Перечисления.ОбъектыНазначенияФункциональности.КлиентскиеСоединения + """"
- , "Ошибка проверки типа объекта назначения функциональности");
+ , """" + Перечисления.ОбъектыНазначенияФункциональности.КлиентскиеСоединения + """"
+ , "Ошибка проверки типа объекта назначения функциональности");
Утверждения.ПроверитьРавенство(ТипНазначения
- , Перечисления.ТипыНазначенияФункциональности.Назначать
- , "Ошибка проверки типа назначения функциональности");
+ , Перечисления.ТипыНазначенияФункциональности.Назначать
+ , "Ошибка проверки типа назначения функциональности");
КонецПроцедуры // ТестДолжен_ПолучитьПараметрыНазначенияФункциональностиСервера()
// Процедура - тест
//
Процедура ТестДолжен_ПолучитьСписокПрофилейБезопасностиКластера() Экспорт
-
+
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
- "Кластеры.Список");
+ "Кластеры.Список");
Кластеры = АгентКластера.Кластеры();
@@ -963,7 +978,7 @@
ПараметрыТестирования.Параметры().Кластер_Пароль);
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
- "ПрофилиБезопасности.Список");
+ "ПрофилиБезопасности.Список");
Профили = Кластер.ПрофилиБезопасности();
@@ -974,9 +989,9 @@
// Процедура - тест
//
Процедура ТестДолжен_ПолучитьПараметрыПрофиляБезопасностиКластера() Экспорт
-
+
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
- "Кластеры.Список");
+ "Кластеры.Список");
Кластеры = АгентКластера.Кластеры();
@@ -986,7 +1001,7 @@
ПараметрыТестирования.Параметры().Кластер_Пароль);
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
- "ПрофилиБезопасности.Параметры");
+ "ПрофилиБезопасности.Список");
Профили = Кластер.ПрофилиБезопасности();
@@ -998,20 +1013,20 @@
Утверждения.ПроверитьРавенство(Имя, "ОсновнойПрофиль", "Ошибка проверки имени профиля безопасности");
Утверждения.ПроверитьРавенство(Каталоги
- , Перечисления.РежимыДоступа.Список
- , "Ошибка проверки режима доступа к каталогам");
+ , Перечисления.РежимыДоступа.Список
+ , "Ошибка проверки режима доступа к каталогам");
Утверждения.ПроверитьРавенство(Конфигуратор
- , Перечисления.ДаНет.Нет
- , "Ошибка проверки разрешения доступа к конфигуратору");
+ , Перечисления.ДаНет.Нет
+ , "Ошибка проверки разрешения доступа к конфигуратору");
КонецПроцедуры // ТестДолжен_ПолучитьПараметрыПрофиляБезопасностиКластера()
// Процедура - тест
//
Процедура ТестДолжен_ПолучитьСписокКаталоговПрофиля() Экспорт
-
+
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
- "Кластеры.Список");
+ "Кластеры.Список");
Кластеры = АгентКластера.Кластеры();
@@ -1021,30 +1036,30 @@
ПараметрыТестирования.Параметры().Кластер_Пароль);
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
- "ПрофилиБезопасности.Список");
+ "ПрофилиБезопасности.Список");
Профили = Кластер.ПрофилиБезопасности().Список(, Истина);
Для Каждого Профиль Из Профили Цикл
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
- "ПрофилиБезопасности.Каталоги.Список");
+ "ПрофилиБезопасности.Каталоги.Список");
Каталоги = Профиль.Каталоги();
Прервать;
КонецЦикла;
Утверждения.ПроверитьБольше(Каталоги.Количество(),
- 0,
- "Не удалось получить список каталогов профилей безопасности");
+ 0,
+ "Не удалось получить список каталогов профилей безопасности");
КонецПроцедуры // ТестДолжен_ПолучитьСписокКаталоговПрофиля()
// Процедура - тест
//
Процедура ТестДолжен_ПолучитьСписокCOMКлассовПрофиля() Экспорт
-
+
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
- "Кластеры.Список");
+ "Кластеры.Список");
Кластеры = АгентКластера.Кластеры();
@@ -1054,30 +1069,30 @@
ПараметрыТестирования.Параметры().Кластер_Пароль);
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
- "ПрофилиБезопасности.Список");
+ "ПрофилиБезопасности.Список");
Профили = Кластер.ПрофилиБезопасности().Список(, Истина);
Для Каждого Профиль Из Профили Цикл
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
- "ПрофилиБезопасности.COMКлассы.Список");
+ "ПрофилиБезопасности.COMКлассы.Список");
COMКлассы = Профиль.COMКлассы();
Прервать;
КонецЦикла;
Утверждения.ПроверитьБольше(COMКлассы.Количество(),
- 0,
- "Не удалось получить список COM-классов профилей безопасности");
+ 0,
+ "Не удалось получить список COM-классов профилей безопасности");
КонецПроцедуры // ТестДолжен_ПолучитьСписокCOMКлассовПрофиля()
// Процедура - тест
//
Процедура ТестДолжен_ПолучитьСписокКомпонентПрофиля() Экспорт
-
+
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
- "Кластеры.Список");
+ "Кластеры.Список");
Кластеры = АгентКластера.Кластеры();
@@ -1087,30 +1102,30 @@
ПараметрыТестирования.Параметры().Кластер_Пароль);
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
- "ПрофилиБезопасности.Список");
+ "ПрофилиБезопасности.Список");
Профили = Кластер.ПрофилиБезопасности().Список(, Истина);
Для Каждого Профиль Из Профили Цикл
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
- "ПрофилиБезопасности.Компоненты.Список");
+ "ПрофилиБезопасности.Компоненты.Список");
ВнешниеКомпоненты = Профиль.ВнешниеКомпоненты().Список();
Прервать;
КонецЦикла;
Утверждения.ПроверитьБольше(ВнешниеКомпоненты.Количество(),
- 0,
- "Не удалось получить список внешних компонент профилей безопасности");
+ 0,
+ "Не удалось получить список внешних компонент профилей безопасности");
КонецПроцедуры // ТестДолжен_ПолучитьСписокКомпонентПрофиля()
// Процедура - тест
//
Процедура ТестДолжен_ПолучитьСписокМодулейПрофиля() Экспорт
-
+
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
- "Кластеры.Список");
+ "Кластеры.Список");
Кластеры = АгентКластера.Кластеры();
@@ -1120,30 +1135,30 @@
ПараметрыТестирования.Параметры().Кластер_Пароль);
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
- "ПрофилиБезопасности.Список");
+ "ПрофилиБезопасности.Список");
Профили = Кластер.ПрофилиБезопасности().Список(, Истина);
Для Каждого Профиль Из Профили Цикл
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
- "ПрофилиБезопасности.Модули.Список");
+ "ПрофилиБезопасности.Модули.Список");
ВнешниеМодули = Профиль.ВнешниеМодули();
Прервать;
КонецЦикла;
Утверждения.ПроверитьБольше(ВнешниеМодули.Количество(),
- 0,
- "Не удалось получить список внешних модулей профилей безопасности");
+ 0,
+ "Не удалось получить список внешних модулей профилей безопасности");
КонецПроцедуры // ТестДолжен_ПолучитьСписокМодулейПрофиля()
// Процедура - тест
//
Процедура ТестДолжен_ПолучитьСписокПриложенийПрофиля() Экспорт
-
+
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
- "Кластеры.Список");
+ "Кластеры.Список");
Кластеры = АгентКластера.Кластеры();
@@ -1153,30 +1168,30 @@
ПараметрыТестирования.Параметры().Кластер_Пароль);
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
- "ПрофилиБезопасности.Список");
+ "ПрофилиБезопасности.Список");
Профили = Кластер.ПрофилиБезопасности().Список(, Истина);
Для Каждого Профиль Из Профили Цикл
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
- "ПрофилиБезопасности.Приложения.Список");
+ "ПрофилиБезопасности.Приложения.Список");
Приложения = Профиль.Приложения();
Прервать;
КонецЦикла;
Утверждения.ПроверитьБольше(Приложения.Количество(),
- 0,
- "Не удалось получить список приложений профилей безопасности");
+ 0,
+ "Не удалось получить список приложений профилей безопасности");
КонецПроцедуры // ТестДолжен_ПолучитьСписокПриложенийПрофиля()
// Процедура - тест
//
Процедура ТестДолжен_ПолучитьСписокИнтернетРесурсовПрофиля() Экспорт
-
+
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
- "Кластеры.Список");
+ "Кластеры.Список");
Кластеры = АгентКластера.Кластеры();
@@ -1186,45 +1201,48 @@
ПараметрыТестирования.Параметры().Кластер_Пароль);
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
- "ПрофилиБезопасности.Список");
+ "ПрофилиБезопасности.Список");
Профили = Кластер.ПрофилиБезопасности().Список(, Истина);
Для Каждого Профиль Из Профили Цикл
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
- "ПрофилиБезопасности.ИнтернетРесурсы.Список");
+ "ПрофилиБезопасности.ИнтернетРесурсы.Список");
ИнтернетРесурсы = Профиль.ИнтернетРесурсы();
Прервать;
КонецЦикла;
Утверждения.ПроверитьБольше(ИнтернетРесурсы.Количество(),
- 0,
- "Не удалось получить список интернет ресурсов профилей безопасности");
+ 0,
+ "Не удалось получить список интернет ресурсов профилей безопасности");
КонецПроцедуры // ТестДолжен_ПолучитьСписокИнтернетРесурсовПрофиля()
-Процедура ТестДолжен_ПолучитьСписокСчетчиковПотребленияРесурсов() Экспорт
+Процедура ТестДолжен_ПолучитьСписокСчетчиковРесурсов() Экспорт
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(), "Кластеры.Список");
- Кластеры = АгентКластера.Кластеры();
+ Кластеры = АгентКластера.Кластеры();
Кластер = Кластеры.Получить(ПараметрыТестирования.Параметры().Кластер_АдресПорт);
Кластер.УстановитьАдминистратора(ПараметрыТестирования.Параметры().Кластер_Администратор,
- ПараметрыТестирования.Параметры().Кластер_Пароль);
+ ПараметрыТестирования.Параметры().Кластер_Пароль);
- ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(), "СчетчикиПотребленияРесурсов.Список");
+ ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
+ "СчетчикиРесурсов.Список");
- СчетчикиПотребленияРесурсов = Кластер.СчетчикиПотребленияРесурсов().Список();
+ СчетчикиРесурсов = Кластер.СчетчикиРесурсов().Список();
- Утверждения.ПроверитьБольше(СчетчикиПотребленияРесурсов.Количество(), 0, "Не удалось получить список счетчиков потребления ресурсов");
+ Утверждения.ПроверитьБольше(СчетчикиРесурсов.Количество(),
+ 0,
+ "Не удалось получить список счетчиков потребления ресурсов");
-КонецПроцедуры // ТестДолжен_ПолучитьСписокСчетчиковПотребленияРесурсов()
+КонецПроцедуры // ТестДолжен_ПолучитьСписокСчетчиковРесурсов()
// Процедура - тест
//
-Процедура ТестДолжен_ПолучитьПараметрыСчетчиковПотребленияРесурсов() Экспорт
+Процедура ТестДолжен_ПолучитьПараметрыСчетчиковРесурсов() Экспорт
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(), "Кластеры.Список");
@@ -1233,28 +1251,34 @@
Кластер = Кластеры.Получить(ПараметрыТестирования.Параметры().Кластер_АдресПорт);
Кластер.УстановитьАдминистратора(ПараметрыТестирования.Параметры().Кластер_Администратор,
- ПараметрыТестирования.Параметры().Кластер_Пароль);
+ ПараметрыТестирования.Параметры().Кластер_Пароль);
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
- "СчетчикиПотребленияРесурсов.Список");
+ "СчетчикиРесурсов.Список");
+ ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
+ "СчетчикиРесурсов.Параметры");
- СчетчикиПотребленияРесурсов = Кластер.СчетчикиПотребленияРесурсов();
+ СчетчикиРесурсов = Кластер.СчетчикиРесурсов();
- Счетчик = СчетчикиПотребленияРесурсов.Получить("CounterAll");
+ Счетчик = СчетчикиРесурсов.Получить("CounterAll");
ИмяСчетчика = Счетчик.Получить("Имя");
ДлительностьСбора = Счетчик.Получить("ДлительностьСбора");
ПотреблениеПамяти = Счетчик.Получить("ПотреблениеПамяти");
Утверждения.ПроверитьРавенство(ИмяСчетчика, "CounterAll", "Ошибка проверки имени счетчика потребления ресурсов");
- Утверждения.ПроверитьРавенство(ДлительностьСбора, "3600000", "Ошибка проверки длительности сбора счетчика потребления ресурсов");
- Утверждения.ПроверитьРавенство(ПотреблениеПамяти, "analyze", "Ошибка проверки анализа потребления памяти счетчика потребления ресурсов");
+ Утверждения.ПроверитьРавенство(ДлительностьСбора,
+ "3600000",
+ "Ошибка проверки длительности сбора счетчика потребления ресурсов");
+ Утверждения.ПроверитьРавенство(ПотреблениеПамяти,
+ "analyze",
+ "Ошибка проверки анализа потребления памяти счетчика потребления ресурсов");
-КонецПроцедуры // ТестДолжен_ПолучитьПараметрыСчетчиковПотребленияРесурсов()
+КонецПроцедуры // ТестДолжен_ПолучитьПараметрыСчетчиковРесурсов()
// Процедура - тест
//
-Процедура ТестДолжен_ПолучитьЗначенияСчетчикаПотребленияРесурсов() Экспорт
+Процедура ТестДолжен_ПолучитьЗначенияСчетчикаРесурсов() Экспорт
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(), "Кластеры.Список");
@@ -1263,20 +1287,26 @@
Кластер = Кластеры.Получить(ПараметрыТестирования.Параметры().Кластер_АдресПорт);
Кластер.УстановитьАдминистратора(ПараметрыТестирования.Параметры().Кластер_Администратор,
- ПараметрыТестирования.Параметры().Кластер_Пароль);
+ ПараметрыТестирования.Параметры().Кластер_Пароль);
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
- "СчетчикиПотребленияРесурсов.Список");
+ "СчетчикиРесурсов.Список");
+ ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
+ "СчетчикиРесурсов.Параметры");
- СчетчикиПотребленияРесурсов = Кластер.СчетчикиПотребленияРесурсов();
+ СчетчикиРесурсов = Кластер.СчетчикиРесурсов();
- Счетчик = СчетчикиПотребленияРесурсов.Получить("CounterAll");
+ Счетчик = СчетчикиРесурсов.Получить("CounterAll");
ПараметрыТестирования.УстановитьВыводИсполнителяКоманд(АгентКластера.ИсполнительКоманд(),
- "СчетчикиПотребленияРесурсов.Значения");
+ "СчетчикиРесурсов.Значения.Список");
+ Счетчик.ОбновитьДанные(Истина);
+
ЗначенияСчетчика = Счетчик.Значения();
- Утверждения.ПроверитьБольше(ЗначенияСчетчика.Количество(), 0, "Не удалось получить значения счетчика потребления ресурсов");
+ Утверждения.ПроверитьБольше(ЗначенияСчетчика.Количество(),
+ 0,
+ "Не удалось получить значения счетчика потребления ресурсов");
-КонецПроцедуры // ТестДолжен_ПолучитьЗначенияСчетчикаПотребленияРесурсов()
\ No newline at end of file
+КонецПроцедуры // ТестДолжен_ПолучитьЗначенияСчетчикаРесурсов()
\ No newline at end of file