From 29f421e04b24e04f74a8223fc524fd39e827bfb4 Mon Sep 17 00:00:00 2001 From: Artem Kuznetsov Date: Fri, 15 Apr 2022 10:33:08 +0300 Subject: [PATCH 01/10] =?UTF-8?q?fix:=20=D0=BF=D1=80=D0=B8=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=BB=D1=83=D1=87=D0=B5=D0=BD=D0=B8=D0=B8=20=D0=BA=D0=BE=D0=BB?= =?UTF-8?q?=D0=BB=D0=B5=D0=BA=D1=86=D0=B8=D0=B9=20=D0=BE=D0=B1=D1=8A=D0=B5?= =?UTF-8?q?=D0=BA=D1=82=D0=BE=D0=B2=20=D0=BA=D0=BB=D0=B0=D1=81=D1=82=D0=B5?= =?UTF-8?q?=D1=80=D0=B0=20=D1=82=D0=B5=D0=BF=D0=B5=D1=80=D1=8C=20=D0=B2?= =?UTF-8?q?=D1=81=D0=B5=D0=B3=D0=B4=D0=B0=20=D0=B2=D0=BE=D0=B7=D0=B2=D1=80?= =?UTF-8?q?=D0=B0=D1=89=D0=B0=D0=B5=D1=82=D1=81=D1=8F=20=D0=BA=D0=BE=D0=BF?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=BA=D0=BE=D0=BB=D0=BB=D0=B5=D0=BA=D1=86=D0=B8?= =?UTF-8?q?=D0=B8.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\265\320\261\320\275\321\213\320\271.os" | 102 +++++++++++++++--- 1 file changed, 88 insertions(+), 14 deletions(-) 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 2942f1a..bb2186d 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" @@ -278,20 +278,20 @@ // Функция возвращает массив элементов (соответствий), отвечающих заданному отбору // // Параметры: -// МассивСоответствий - Массив(Соответствие) - Обрабатываемый массив -// Отбор - Соответствие - Структура отбора вида <поле>:<значение> +// МассивСоответствий - Массив Из Соответствие - Обрабатываемый массив +// Отбор - Соответствие - Структура отбора вида <поле>:<значение> // // Возвращаемое значение: -// Массив(Соответствие) - массив соответствий, соответствующих отбору +// Массив из Соответствие - массив соответствий, соответствующих отбору // Функция ПолучитьЭлементыИзМассиваСоответствий(МассивСоответствий, Отбор) Экспорт Если НЕ ТипЗнч(Отбор) = Тип("Соответствие") Тогда - Возврат МассивСоответствий; + Возврат КопияМассива(МассивСоответствий); КонецЕсли; Если НЕ ЗначениеЗаполнено(Отбор) Тогда - Возврат МассивСоответствий; + Возврат КопияМассива(МассивСоответствий); КонецЕсли; Результат = Новый Массив(); @@ -330,20 +330,20 @@ // Функция преобразует все элементы-объекты массива в соответствия с аналогичным набором полей // // Параметры: -// МассивЭлементов - Массив(Произвольный) - Обрабатываемый массив -// ПоляЭлемента - Соответствие - Описания полей элементов +// МассивЭлементов - Массив Из Произвольный - Обрабатываемый массив +// ПоляЭлемента - Соответствие - Описания полей элементов // // Возвращаемое значение: -// Массив(Соответствие) - массив элементов-соответствий +// Массив Из Соответствие - массив элементов-соответствий // Функция МассивОбъектовВМассивСоответствий(МассивЭлементов, ПоляЭлемента) Экспорт Если НЕ ТипЗнч(МассивЭлементов) = Тип("Массив") Тогда - Возврат МассивЭлементов; + Возврат КопияМассива(МассивЭлементов); КонецЕсли; Если НЕ ЗначениеЗаполнено(МассивЭлементов) Тогда - Возврат МассивЭлементов; + Возврат КопияМассива(МассивЭлементов); КонецЕсли; Если ТипЗнч(МассивЭлементов[0]) = Тип("Соответствие") Тогда @@ -365,16 +365,16 @@ // Функция преобразует все объект кластера в соответствия с аналогичным набором полей // // Параметры: -// Объект - Произвольный - Обрабатываемый объект -// ПоляОбъекта - Соответствие - Описания полей объекта +// Объект - Произвольный - Обрабатываемый объект +// ПоляОбъекта - Соответствие - Описания полей объекта // // Возвращаемое значение: -// Соответствие - объект для преобразования +// Соответствие - объект для преобразования // Функция ОбъектВСоответствие(Объект, ПоляОбъекта) Экспорт Если ТипЗнч(Объект) = Тип("Соответствие") Тогда - Возврат Объект; + Возврат КопияСоответствия(Объект); КонецЕсли; Результат = Новый Соответствие(); @@ -388,6 +388,80 @@ КонецФункции // ОбъектВСоответствие() +// Функция возвращает копию переданного массива +// +// Параметры: +// Источник - Массив - копируемый массив +// +// Возвращаемое значение: +// Массив - копия массива +// +Функция КопияМассива(Знач Источник) Экспорт + + Если НЕ ТипЗнч(Источник) = Тип("Массив") Тогда + Возврат Новый Массив(); + КонецЕсли; + + Результат = Новый Массив(); + + Для Каждого ТекЭлемент Из Источник Цикл + Результат.Добавить(ТекЭлемент); + КонецЦикла; + + Возврат Результат; + +КонецФункции // КопияМассива() + +// Функция возвращает копию переданной структуры +// +// Параметры: +// Источник - Структура - копируемая структура +// +// Возвращаемое значение: +// Структура - копия структуры +// +Функция КопияСтруктуры(Знач Источник) Экспорт + + Если НЕ (ТипЗнч(Источник) = Тип("Структура") + ИЛИ ТипЗнч(Источник) = Тип("ФиксированнаяСтруктура")) Тогда + Возврат Новый Соответствие(); + КонецЕсли; + + Результат = Новый Структура(); + + Для Каждого ТекЭлемент Из Источник Цикл + Результат.Вставить(ТекЭлемент.Ключ, ТекЭлемент.Значение); + КонецЦикла; + + Возврат Результат; + +КонецФункции // КопияСтруктуры() + +// Функция возвращает копию переданного соответствия +// +// Параметры: +// Источник - Соответствие - копируемое соответствие +// +// Возвращаемое значение: +// Соответствие - копия соответствия +// +Функция КопияСоответствия(Знач Источник) Экспорт + + Если НЕ (ТипЗнч(Источник) = Тип("Соответствие") + ИЛИ ТипЗнч(Источник) = Тип("ФиксированноеСоответствие")) Тогда + Возврат Новый Соответствие(); + КонецЕсли; + + Результат = Новый Соответствие(); + + Для Каждого ТекЭлемент Из Источник Цикл + Результат.Вставить(ТекЭлемент.Ключ, ТекЭлемент.Значение); + КонецЦикла; + + Возврат Результат; + +КонецФункции // КопияСоответствия() + // Функция возвращает строку параметров запуска команды с заменой значений "приватных" параметров // на символы подстановки и соответствие параметров подстановки и значений // From 04e2c7cc00eb9a9b3ca91722c46b2558f1817a51 Mon Sep 17 00:00:00 2001 From: Artem Kuznetsov Date: Fri, 15 Apr 2022 10:34:00 +0300 Subject: [PATCH 02/10] =?UTF-8?q?fix:=20=D0=9D=D0=B0=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=BE=D0=B9=D0=BA=D0=B0=20=D0=BA=D0=BE=D0=B4=D0=B8=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=BA=D0=B8=20=D0=B2=D1=8B=D0=B2=D0=BE=D0=B4=D0=B0=20RAC?= =?UTF-8?q?,=20=D0=B2=D1=8B=D0=BD=D0=B5=D1=81=D0=B5=D0=BD=D0=B0=20=D0=B2?= =?UTF-8?q?=20=D0=BF=D0=B5=D1=80=D0=B5=D0=BC=D0=B5=D0=BD=D0=BD=D1=83=D1=8E?= =?UTF-8?q?=20=D1=81=D1=80=D0=B5=D0=B4=D1=8B=20"RAC=5FENCODING".?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0\232\320\276\320\274\320\260\320\275\320\264.os" | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) 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 4f3320f..456ecdd 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" @@ -194,8 +194,16 @@ Приложение = Служебный.ОбернутьВКавычки(ПутьКУтилитеАдминистрирования()); КодировкаВывода = КодировкаТекста.UTF8; - Если ЭтоWindows Тогда - КодировкаВывода = КодировкаТекста.OEM; + + НастройкаКодировки = ПолучитьПеременнуюСреды("RAC_ENCODING"); + Если ЗначениеЗаполнено(НастройкаКодировки) Тогда + Попытка + КодировкаВывода = КодировкаТекста[НастройкаКодировки]; + Исключение + Лог.Ошибка("В переменной среды ""RAC_ENCODING"" указана некорректная + | кодировка ""%1"", ожидается ""UTF8"", ""OEM"", ""ANSI"".", + НастройкаКодировки); + КонецПопытки; КонецЕсли; Команда = Новый Команда; From b9dfbea224005bca5487a941ae232cd2706e3f9f Mon Sep 17 00:00:00 2001 From: Artem Kuznetsov Date: Fri, 15 Apr 2022 11:00:37 +0300 Subject: [PATCH 03/10] =?UTF-8?q?fix:=20=D0=BF=D0=BE=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=D0=BE=20=D1=81=D0=BE=D0=BE=D0=B1=D1=89?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BE=D0=B1=20=D0=BE=D1=88=D0=B8?= =?UTF-8?q?=D0=B1=D0=BA=D0=B5.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...320\270\321\206\320\265\320\275\320\267\320\270\320\270.os" | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\233\320\270\321\206\320\265\320\275\320\267\320\270\320\270.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\233\320\270\321\206\320\265\320\275\320\267\320\270\320\270.os" index 1c27eb5..a4ff540 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\233\320\270\321\206\320\265\320\275\320\267\320\270\320\270.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\233\320\270\321\206\320\265\320\275\320\267\320\270\320\270.os" @@ -142,7 +142,8 @@ Возврат Перечисления.РежимыАдминистрирования.ЛицензииСеансов; Иначе ВызватьИсключение СтрШаблон("Некорректный тип ""%1"" владельца лицензий, - |ожидались ""РабочиеПроцессы"" или ""Сеансы""!"); + | ожидались ""РабочиеПроцессы"" или ""Сеансы""!", + Владелец); КонецЕсли; КонецФункции // ТипЛицензий() From 27530012579a82dff2529821c27d5e34185dae96 Mon Sep 17 00:00:00 2001 From: Artem Kuznetsov Date: Fri, 15 Apr 2022 11:01:26 +0300 Subject: [PATCH 04/10] =?UTF-8?q?refactor:=20=D0=92=20=D0=BC=D0=BE=D0=B4?= =?UTF-8?q?=D1=83=D0=BB=D0=B5=20"=D0=9E=D0=B1=D1=8A=D0=B5=D0=BA=D1=82?= =?UTF-8?q?=D0=9A=D0=BB=D0=B0=D1=81=D1=82=D0=B5=D1=80=D0=B0"=20=D1=83?= =?UTF-8?q?=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD=D1=8B=20=D0=BD=D0=B5=D0=B8=D1=81?= =?UTF-8?q?=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D1=83=D0=B5=D0=BC=D1=8B=D0=B5=20?= =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=B5=D0=BC=D0=B5=D0=BD=D0=BD=D1=8B=D0=B5=20?= =?UTF-8?q?=D0=B8=20=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82=D1=80=D1=8B?= =?UTF-8?q?=20=D0=BC=D0=B5=D1=82=D0=BE=D0=B4=D0=BE=D0=B2.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...21\201\321\202\320\265\321\200\320\260.os" | 27 ++++--------------- 1 file changed, 5 insertions(+), 22 deletions(-) diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\261\321\212\320\265\320\272\321\202\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\261\321\212\320\265\320\272\321\202\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os" index eb38faf..343d7dc 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\261\321\212\320\265\320\272\321\202\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\261\321\212\320\265\320\272\321\202\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os" @@ -11,48 +11,34 @@ Перем Объект_Свойства; Перем Кластер_Агент; -Перем Кластер_Владелец; Перем ПараметрыОбъекта; -Перем ПериодОбновления; -Перем МоментАктуальности; - -Перем Лог; - // Конструктор // // Параметры: // АгентКластера - АгентКластера - ссылка на родительский объект агента кластера // Кластер - Кластер - ссылка на родительский объект кластера -// ТипОбъекта - Перечисления. - имя типа объекта кластера -// РежимыАдминистрирования +// ТипОбъекта - Перечисления - имя типа объекта кластера +// .РежимыАдминистрирования // ОбъектКластера - Строка, Соответствие - идентификатор объекта в кластере 1С или параметры объекта // Процедура ПриСозданииОбъекта(АгентКластера, Кластер, ТипОбъекта, ОбъектКластера) - Лог = Служебный.Лог(); - Если НЕ ЗначениеЗаполнено(ОбъектКластера) Тогда Возврат; КонецЕсли; Объект_Тип = ТипОбъекта; - ПараметрыОбъекта = Новый КомандыОбъекта(Кластер_Агент, Объект_Тип); - Кластер_Агент = АгентКластера; - Кластер_Владелец = Кластер; + + ПараметрыОбъекта = Новый КомандыОбъекта(Кластер_Агент, Объект_Тип); Если ТипЗнч(ОбъектКластера) = Тип("Соответствие") Тогда Служебный.ЗаполнитьСвойстваОбъекта(ЭтотОбъект, Объект_Свойства, ОбъектКластера); - МоментАктуальности = ТекущаяУниверсальнаяДатаВМиллисекундах(); - Иначе - МоментАктуальности = 0; КонецЕсли; - ПериодОбновления = Служебный.ПериодОбновленияДанныхОбъекта(ЭтотОбъект); - КонецПроцедуры // ПриСозданииОбъекта() // Функция возвращает описание параметров объекта @@ -81,14 +67,11 @@ // // Параметры: // ИмяПоля - Строка - Имя параметра кластера -// РежимОбновления - Число - 1 - обновить данные принудительно (вызов RAC) -// 0 - обновить данные только по таймеру -// -1 - не обновлять данные // // Возвращаемое значение: // Произвольный - значение параметра объекта кластера 1С // -Функция Получить(ИмяПоля, РежимОбновления = 0) Экспорт +Функция Получить(ИмяПоля) Экспорт ЗначениеПоля = Неопределено; From 4c6a5aea94f202db5e58c187083a19a44f2f1cb7 Mon Sep 17 00:00:00 2001 From: Artem Kuznetsov Date: Fri, 15 Apr 2022 11:18:06 +0300 Subject: [PATCH 05/10] =?UTF-8?q?refactor:=20=D0=98=D1=81=D0=BF=D1=80?= =?UTF-8?q?=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BF=D0=BE=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=BC=D0=B5=D1=87=D0=B0=D0=BD=D0=B8=D1=8F=D0=BC=20?= =?UTF-8?q?SonarQube.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...73\320\260\321\201\321\202\320\265\321\200\320\260.os" | 8 ++++---- ...65\321\201\321\203\321\200\321\201\320\276\320\262.os" | 6 +++--- ...00\320\276\321\206\320\265\321\201\321\201\321\213.os" | 7 +------ .../\320\241\320\265\320\260\320\275\321\201\321\213.os" | 7 +------ ...65\321\201\321\203\321\200\321\201\320\276\320\262.os" | 8 ++------ ...03\320\266\320\265\320\261\320\275\321\213\320\271.os" | 6 ++++-- 6 files changed, 15 insertions(+), 27 deletions(-) diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os" index d71563b..1bcb7e7 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\260.os" @@ -211,13 +211,13 @@ ЗначениеПоля = Неопределено; Если НЕ Найти("ИД, MANAGER", ВРег(ИмяПоля)) = 0 Тогда - Возврат Менеджер_Ид; + ЗначениеПоля = Менеджер_Ид; ИначеЕсли НЕ Найти("ИДПРОЦЕССА, PID", ВРег(ИмяПоля)) = 0 Тогда - Возврат Менеджер_ИдПроцесса; + ЗначениеПоля = Менеджер_ИдПроцесса; ИначеЕсли НЕ Найти("СЕРВЕР, HOST", ВРег(ИмяПоля)) = 0 Тогда - Возврат Менеджер_Адрес; + ЗначениеПоля = Менеджер_Адрес; ИначеЕсли НЕ Найти("ПОРТ, PORT", ВРег(ИмяПоля)) = 0 Тогда - Возврат Менеджер_Порт; + ЗначениеПоля = Менеджер_Порт; Иначе ЗначениеПоля = Менеджер_Свойства.Получить(ИмяПоля); КонецЕсли; diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\263\321\200\320\260\320\275\320\270\321\207\320\265\320\275\320\270\321\217\320\240\320\265\321\201\321\203\321\200\321\201\320\276\320\262.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\263\321\200\320\260\320\275\320\270\321\207\320\265\320\275\320\270\321\217\320\240\320\265\321\201\321\203\321\200\321\201\320\276\320\262.os" index 8d8096c..a761114 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\263\321\200\320\260\320\275\320\270\321\207\320\265\320\275\320\270\321\217\320\240\320\265\321\201\321\203\321\200\321\201\320\276\320\262.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\263\321\200\320\260\320\275\320\270\321\207\320\265\320\275\320\270\321\217\320\240\320\265\321\201\321\203\321\200\321\201\320\276\320\262.os" @@ -186,13 +186,13 @@ Отбор.Вставить("name", ИмяИлиИд); КонецЕсли; - Списокограничений = Элементы.Список(Отбор, РежимОбновления, КакСоответствие); + СписокОграничений = Элементы.Список(Отбор, РежимОбновления, КакСоответствие); - Если НЕ ЗначениеЗаполнено(Списокограничений) Тогда + Если НЕ ЗначениеЗаполнено(СписокОграничений) Тогда Возврат Неопределено; КонецЕсли; - Возврат Списокограничений[0]; + Возврат СписокОграничений[0]; КонецФункции // Получить() diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\240\320\260\320\261\320\276\321\207\320\270\320\265\320\237\321\200\320\276\321\206\320\265\321\201\321\201\321\213.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\240\320\260\320\261\320\276\321\207\320\270\320\265\320\237\321\200\320\276\321\206\320\265\321\201\321\201\321\213.os" index 60ba357..cd17e91 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\240\320\260\320\261\320\276\321\207\320\270\320\265\320\237\321\200\320\276\321\206\320\265\321\201\321\201\321\213.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\240\320\260\320\261\320\276\321\207\320\270\320\265\320\237\321\200\320\276\321\206\320\265\321\201\321\201\321\213.os" @@ -205,16 +205,11 @@ КонецФункции // Получить() // Функция возвращает список лицензий рабочих процессов 1С -// -// Параметры: -// РежимОбновления - Число - 1 - обновить данные принудительно (вызов RAC) -// 0 - обновить данные только по таймеру -// -1 - не обновлять данные // // Возвращаемое значение: // ОбъектыКластера - список лицензий рабочих процессов 1С // -Функция Лицензии(РежимОбновления = 0) Экспорт +Функция Лицензии() Экспорт Возврат Лицензии; 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 d4327c5..b47b0db 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" @@ -246,16 +246,11 @@ КонецПроцедуры // Удалить() // Функция возвращает список лицензий сеансов 1С -// -// Параметры: -// РежимОбновления - Число - 1 - обновить данные принудительно (вызов RAC) -// 0 - обновить данные только по таймеру -// -1 - не обновлять данные // // Возвращаемое значение: // ОбъектыКластера - список лицензий сеансов 1С // -Функция Лицензии(РежимОбновления = 0) Экспорт +Функция Лицензии() Экспорт Возврат Лицензии; 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" index 6d6809a..0b37b34 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\321\207\320\265\321\202\321\207\320\270\320\272\320\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" @@ -279,17 +279,13 @@ // Процедура удаляет счетчик потребления ресурсов из кластера 1С // -// Параметры: -// Имя - Строка - Имя счетчик потребления ресурсов -// -Процедура Удалить(Имя) Экспорт +Процедура Удалить() Экспорт ПараметрыКоманды = Новый Соответствие(); ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения()); ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид()); ПараметрыКоманды.Вставить("ПараметрыАвторизацииКластера", Кластер_Владелец.ПараметрыАвторизации()); - - ПараметрыКоманды.Вставить("ИмяСчетчика" , Имя()); + ПараметрыКоманды.Вставить("ИмяСчетчика" , Имя()); ПараметрыОбъекта.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды); diff --git "a/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.os" "b/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.os" index bb2186d..7ffece3 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" @@ -219,6 +219,8 @@ Возврат ПоУмолчанию; КонецЕсли; + Возврат ПоУмолчанию; + КонецФункции // ПолучитьЗначениеИзСтруктуры() // Функция преобразует массив соответствий в иерархию соответствий в соответствии с указанным порядком полей @@ -347,7 +349,7 @@ КонецЕсли; Если ТипЗнч(МассивЭлементов[0]) = Тип("Соответствие") Тогда - Возврат МассивЭлементов; + Возврат КопияМассива(МассивЭлементов); КонецЕсли; Результат = Новый Массив(); @@ -666,7 +668,7 @@ Лог.Информация("Поля объекта ""%1%2"":", Коллекция, СокрЛП(ТипЗнч(ОбъектДанных))); Для Каждого ТекПоле Из ОбъектДанных Цикл - Сообщить(СокрЛП(ТекПоле.Ключ) + ":" + СокрЛП(ТекПоле.Значение)); + Сообщить(СтрШаблон("%1:%2", СокрЛП(ТекПоле.Ключ), СокрЛП(ТекПоле.Значение)); КонецЦикла; КонецПроцедуры // ВывестиПоляОбъекта() From a4ca2b87d3591dcc9f80624456e246f79a2caa6c Mon Sep 17 00:00:00 2001 From: Artem Kuznetsov Date: Fri, 15 Apr 2022 11:19:00 +0300 Subject: [PATCH 06/10] =?UTF-8?q?fix:=20=D0=98=D1=81=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA?= =?UTF-8?q?=D0=B0=20=D0=B2=D1=8B=D0=B7=D0=BE=D0=B2=D0=B0=20=D0=BA=D0=BE?= =?UTF-8?q?=D0=BC=D0=B0=D0=BD=D0=B4=D1=8B=20=D1=83=D0=B4=D0=B0=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D0=BE=D0=B3=D1=80=D0=B0=D0=BD=D0=B8=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F.=20=D0=BF=D1=80=D0=B0=D0=B2=D0=BA?= =?UTF-8?q?=D0=B8=20=D0=BF=D0=BE=20=D0=B7=D0=B0=D0=BC=D0=B5=D1=87=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=D0=BC=20SonarQube.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...65\321\201\321\203\321\200\321\201\320\276\320\262.os" | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\263\321\200\320\260\320\275\320\270\321\207\320\265\320\275\320\270\320\265\320\240\320\265\321\201\321\203\321\200\321\201\320\276\320\262.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\263\321\200\320\260\320\275\320\270\321\207\320\265\320\275\320\270\320\265\320\240\320\265\321\201\321\203\321\200\321\201\320\276\320\262.os" index 5c8d29e..4f50072 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\263\321\200\320\260\320\275\320\270\321\207\320\265\320\275\320\270\320\265\320\240\320\265\321\201\321\203\321\200\321\201\320\276\320\262.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\263\321\200\320\260\320\275\320\270\321\207\320\265\320\275\320\270\320\265\320\240\320\265\321\201\321\203\321\200\321\201\320\276\320\262.os" @@ -225,18 +225,14 @@ КонецПроцедуры // Изменить() // Процедура удаляет ограничение потребления ресурсов из кластера 1С -// -// Параметры: -// Имя - Строка - Имя ограничения потребления ресурсов // -Процедура Удалить(Имя) Экспорт +Процедура Удалить() Экспорт ПараметрыКоманды = Новый Соответствие(); ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения()); ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид()); ПараметрыКоманды.Вставить("ПараметрыАвторизацииКластера", Кластер_Владелец.ПараметрыАвторизации()); - - ПараметрыКоманды.Вставить("ИмОграничения" , Имя()); + ПараметрыКоманды.Вставить("ИмяОграничения" , Имя()); ПараметрыОбъекта.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды); From d16baf852543056d3f29c8357c939b093e88f834 Mon Sep 17 00:00:00 2001 From: Artem Kuznetsov Date: Fri, 15 Apr 2022 11:19:55 +0300 Subject: [PATCH 07/10] =?UTF-8?q?fix:=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA?= =?UTF-8?q?=D0=B0=20=D0=B8=D0=B3=D0=BD=D0=BE=D1=80=D0=B8=D1=80=D0=BE=D0=B2?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D1=8F=20=D1=83=D0=BA=D0=B0=D0=B7=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=BF=D0=BE=D0=BB=D1=8F=20=D0=BA=D0=BB=D1=8E?= =?UTF-8?q?=D1=87=D0=B0,=20=D0=BF=D1=80=D0=B8=20=D0=BF=D0=BE=D0=BB=D1=83?= =?UTF-8?q?=D1=87=D0=B5=D0=BD=D0=B8=D0=B8=20=D1=81=D0=BF=D0=B8=D1=81=D0=BA?= =?UTF-8?q?=D0=B0=20=D0=B2=D1=81=D0=B5=D1=85=20=D1=81=D0=B5=D0=B0=D0=BD?= =?UTF-8?q?=D1=81=D0=BE=D0=B2/=D1=81=D0=BE=D0=B5=D0=B4=D0=B8=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B9.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0\265\321\200\320\276\320\2741\320\241.os" | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\276\320\2741\320\241.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\276\320\2741\320\241.os" index 7aed61a..d60dc80 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\276\320\2741\320\241.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\276\320\2741\320\241.os" @@ -635,7 +635,7 @@ // в качестве ключа возвращаемого соответствия // // Возвращаемое значение: -// Массив (Соответствие) - список сеансов +// Массив Из Соответствие - список сеансов // Функция ВсеСеансы(Знач ИмяПоляКлюча = "Имя") Экспорт @@ -644,7 +644,7 @@ ВсеСеансы = Новый Массив(); Для Каждого ТекКластер Из ВсеКластеры Цикл - СеансыКластера = СеансыКластера(ТекКластер); + СеансыКластера = СеансыКластера(ТекКластер, ИмяПоляКлюча); Для Каждого ТекСеанс Из СеансыКластера Цикл ВсеСеансы.Добавить(ТекСеанс); @@ -658,12 +658,12 @@ // Функция возвращает список сеансов кластера 1С в виде массива // // Параметры: -// КластерИлиАдрес - Кластер, Строка - объект или адрес кластера 1С -// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано +// КластерИлиАдрес - Кластер, Строка - объект или адрес кластера 1С +// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано // в качестве ключа возвращаемого соответствия // // Возвращаемое значение: -// Массив (Соответствие) - список сеансов кластера 1С +// Массив Из Соответствие - список сеансов кластера 1С // Функция СеансыКластера(Знач КластерИлиАдрес = Неопределено, Знач ИмяПоляКлюча = "Имя") Экспорт @@ -688,7 +688,7 @@ // в качестве ключа возвращаемого соответствия // // Возвращаемое значение: -// Массив (Соответствие) - список соединений +// Массив Из Соответствие - список соединений // Функция ВсеСоединения(Знач ИмяПоляКлюча = "Имя") Экспорт @@ -697,7 +697,7 @@ ВсеСоединения = Новый Массив(); Для Каждого ТекКластер Из ВсеКластеры Цикл - СоединенияКластера = СоединенияКластера(ТекКластер); + СоединенияКластера = СоединенияКластера(ТекКластер, ИмяПоляКлюча); Для Каждого ТекСеанс Из СоединенияКластера Цикл ВсеСоединения.Добавить(ТекСеанс); @@ -711,12 +711,12 @@ // Функция возвращает список соединений кластера 1С в виде массива // // Параметры: -// КластерИлиАдрес - Кластер, Строка - объект или адрес кластера 1С -// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано +// КластерИлиАдрес - Кластер, Строка - объект или адрес кластера 1С +// ИмяПоляКлюча - Строка - имя поля, значение которого будет использовано // в качестве ключа возвращаемого соответствия // // Возвращаемое значение: -// Массив (Соответствие) - список соединений кластера 1С +// Массив Из Соответствие - список соединений кластера 1С // Функция СоединенияКластера(Знач КластерИлиАдрес = Неопределено, Знач ИмяПоляКлюча = "Имя") Экспорт From 902a740a3a7d42f9aebe87e5d7b1bc5affe2e760 Mon Sep 17 00:00:00 2001 From: Artem Kuznetsov Date: Fri, 15 Apr 2022 11:34:02 +0300 Subject: [PATCH 08/10] =?UTF-8?q?fix:=20=D0=9E=D1=88=D0=B8=D0=B1=D0=BA?= =?UTF-8?q?=D0=B0=20=D1=81=D0=B8=D0=BD=D1=82=D0=B0=D0=BA=D1=81=D0=B8=D1=81?= =?UTF-8?q?=D0=B0.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\321\203\320\266\320\265\320\261\320\275\321\213\320\271.os" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 7ffece3..ec047c5 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" @@ -668,7 +668,7 @@ Лог.Информация("Поля объекта ""%1%2"":", Коллекция, СокрЛП(ТипЗнч(ОбъектДанных))); Для Каждого ТекПоле Из ОбъектДанных Цикл - Сообщить(СтрШаблон("%1:%2", СокрЛП(ТекПоле.Ключ), СокрЛП(ТекПоле.Значение)); + Сообщить(СтрШаблон("%1:%2", СокрЛП(ТекПоле.Ключ), СокрЛП(ТекПоле.Значение))); КонецЦикла; КонецПроцедуры // ВывестиПоляОбъекта() From 5c3924b7b4ea290e16bbbb60dada07c751771550 Mon Sep 17 00:00:00 2001 From: Artem Kuznetsov Date: Fri, 15 Apr 2022 11:50:24 +0300 Subject: [PATCH 09/10] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=20=D0=BD=D0=BE=D0=BC=D0=B5=D1=80=20=D0=B2=D0=B5=D1=80?= =?UTF-8?q?=D1=81=D0=B8=D0=B8.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packagedef | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packagedef b/packagedef index bb84037..5397ab0 100644 --- a/packagedef +++ b/packagedef @@ -1,6 +1,6 @@  Описание.Имя("irac") - .Версия("1.2.0") + .Версия("1.2.1") .Автор("Artem Kuznetsov") .АдресАвтора("ArKuznetsov@gmail.com") .Описание("Библиотека администрирования кластера серверов 1С") From 70e1851f38579b8ebcb9251cbfa209a57411bfcf Mon Sep 17 00:00:00 2001 From: Artem Kuznetsov Date: Fri, 15 Apr 2022 11:51:30 +0300 Subject: [PATCH 10/10] =?UTF-8?q?docs:=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=BE=20=D0=BE=D0=BF=D0=B8=D1=81=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=20=D0=BA=D0=BE=D0=B4=D0=B8=D1=80=D0=BE=D0=B2=D0=BA=D0=B8?= =?UTF-8?q?=20=D0=B2=D1=8B=D0=B2=D0=BE=D0=B4=D0=B0=20=D1=83=D1=82=D0=B8?= =?UTF-8?q?=D0=BB=D0=B8=D1=82=D1=8B=20RAC.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- readme.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/readme.md b/readme.md index 70ab230..18d6a24 100644 --- a/readme.md +++ b/readme.md @@ -15,6 +15,14 @@ Библиотека подключается, как отдельный класс и используется для вызова команд утилиты RAC для взаимодействия с одним экземпляром сервера администрирования кластера 1С. +## Используемая кодировка + +В некоторых случаях консольная утилита RAC может выводить результат в некорректной кодировке. + +Для указания кодировки можно использовать переменную среды **RAC_ENCODING**. Возможные значения _OEM_, _ANSI_, _UTF8_. По умолчанию используется кодировка **UTF8**. + +В известных случаях для **Windows** проблему устраняет установка кодировки в значение **OEM**. + ### Пример получения списка кластеров, параметров серверов и информационных баз ```bsl