Skip to content

Commit

Permalink
feat: Для метода "Получить" коллекций объектов, реализован параметр "…
Browse files Browse the repository at this point in the history
…КакСоответствие", позволяющий сразу преобразовывать результат в соответствие.
  • Loading branch information
arkuznetsov committed Sep 27, 2019
1 parent ad5b2c8 commit 0318937
Show file tree
Hide file tree
Showing 14 changed files with 64 additions and 44 deletions.
5 changes: 3 additions & 2 deletions src/Классы/АдминистраторыАгента.os
Original file line number Diff line number Diff line change
Expand Up @@ -136,16 +136,17 @@
// Параметры:
// Имя - Строка - Имя администраторов агента
// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
// КакСоответствие - Булево - Истина - результат будет преобразован в соответствие
//
// Возвращаемое значение:
// Соответствие - описание администратора агента кластеров 1С
//
Функция Получить(Знач Имя, Знач ОбновитьПринудительно = Ложь) Экспорт
Функция Получить(Знач Имя, Знач ОбновитьПринудительно = Ложь, КакСоответствие = Ложь) Экспорт

Отбор = Новый Соответствие();
Отбор.Вставить("name", Имя);

АдминистраторыАгента = Элементы.Список(Отбор, ОбновитьПринудительно);
АдминистраторыАгента = Элементы.Список(Отбор, ОбновитьПринудительно, КакСоответствие);

Если АдминистраторыАгента.Количество() = 0 Тогда
Возврат Неопределено;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -139,17 +139,18 @@
//
// Параметры:
// Имя - Строка - Имя администраторов кластера
// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
// КакСоответствие - Булево - Истина - результат будет преобразован в соответствие
//
// Возвращаемое значение:
// Соответствие - описание администратора кластера 1С
//
Функция Получить(Знач Имя, Знач ОбновитьПринудительно = Ложь) Экспорт
Функция Получить(Знач Имя, Знач ОбновитьПринудительно = Ложь, КакСоответствие = Ложь) Экспорт

Отбор = Новый Соответствие();
Отбор.Вставить("name", Имя);

АдминистраторыКластера = Элементы.Список(Отбор, ОбновитьПринудительно);
АдминистраторыКластера = Элементы.Список(Отбор, ОбновитьПринудительно, КакСоответствие);

Если АдминистраторыКластера.Количество() = 0 Тогда
Возврат Неопределено;
Expand Down
7 changes: 4 additions & 3 deletions src/Классы/ИнформационныеБазы.os
Original file line number Diff line number Diff line change
Expand Up @@ -146,17 +146,18 @@
//
// Параметры:
// Имя - Строка - Имя информационной базы 1С
// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
// КакСоответствие - Булево - Истина - результат будет преобразован в соответствие
//
// Возвращаемое значение:
// Соответствие - описание информационной базы 1С
//
Функция Получить(Знач Имя, Знач ОбновитьПринудительно = Ложь) Экспорт
Функция Получить(Знач Имя, Знач ОбновитьПринудительно = Ложь, КакСоответствие = Ложь) Экспорт

Отбор = Новый Соответствие();
Отбор.Вставить("name", Имя);

СписокИБ = Элементы.Список(Отбор, ОбновитьПринудительно);
СписокИБ = Элементы.Список(Отбор, ОбновитьПринудительно, КакСоответствие);

Если СписокИБ.Количество() = 0 Тогда
Возврат Неопределено;
Expand Down
5 changes: 3 additions & 2 deletions src/Классы/Кластеры.os
Original file line number Diff line number Diff line change
Expand Up @@ -136,11 +136,12 @@
// Параметры:
// Кластер - Строка - Адрес кластера в виде <сервер>:<порт>
// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
// КакСоответствие - Булево - Истина - результат будет преобразован в соответствие
//
// Возвращаемое значение:
// Соответствие - описание кластера 1С
//
Функция Получить(Знач Кластер, Знач ОбновитьПринудительно = Ложь) Экспорт
Функция Получить(Знач Кластер, Знач ОбновитьПринудительно = Ложь, КакСоответствие = Ложь) Экспорт

АдресКластера = СтрРазделить(Кластер, ":");

Expand All @@ -153,7 +154,7 @@
Отбор.Вставить("host", АдресКластера[0]);
Отбор.Вставить("port", АдресКластера[1]);

СписокКластеров = Элементы.Список(Отбор, ОбновитьПринудительно);
СписокКластеров = Элементы.Список(Отбор, ОбновитьПринудительно, КакСоответствие);

Если СписокКластеров.Количество() = 0 Тогда
Возврат Неопределено;
Expand Down
9 changes: 5 additions & 4 deletions src/Классы/МенеджерыКластера.os
Original file line number Diff line number Diff line change
Expand Up @@ -145,13 +145,14 @@
// Функция возвращает описание менеджера кластера 1С
//
// Параметры:
// Менеджер - Строка - Номер менеджер в виде <адрес сервера>:<номер процесса ОС (pid))>
// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
// Менеджер - Строка - Номер менеджер в виде <адрес сервера>:<номер процесса ОС (pid))>
// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
// КакСоответствие - Булево - Истина - результат будет преобразован в соответствие
//
// Возвращаемое значение:
// Соответствие - описание менеджера кластера 1С
//
Функция Получить(Знач Менеджер, Знач ОбновитьПринудительно = Ложь) Экспорт
Функция Получить(Знач Менеджер, Знач ОбновитьПринудительно = Ложь, КакСоответствие = Ложь) Экспорт

Менеджер = СтрРазделить(Менеджер, ":");

Expand All @@ -163,7 +164,7 @@
Отбор.Вставить("host", Менеджер[0]);
Отбор.Вставить("pid", Менеджер[1]);

МенеджерыКластера = Элементы.Список(Отбор, ОбновитьПринудительно);
МенеджерыКластера = Элементы.Список(Отбор, ОбновитьПринудительно, КакСоответствие);

Если МенеджерыКластера.Количество() = 0 Тогда
Возврат Неопределено;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -156,18 +156,19 @@
// Функция возвращает описание требования назначения функциональности сервера 1С
//
// Параметры:
// Ид - Строка - Идентификатор требований назначения функциональности
// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
// Ид - Строка - Идентификатор требований назначения функциональности
// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
// КакСоответствие - Булево - Истина - результат будет преобразован в соответствие
//
// Возвращаемое значение:
// Соответствие - описание требования назначения функциональности сервера 1С
//
Функция Получить(Знач Ид, Знач ОбновитьПринудительно = Ложь) Экспорт
Функция Получить(Знач Ид, Знач ОбновитьПринудительно = Ложь, КакСоответствие = Ложь) Экспорт

Отбор = Новый Соответствие();
Отбор.Вставить("rule", Ид);

СписокТребований = Элементы.Список(Отбор, ОбновитьПринудительно);
СписокТребований = Элементы.Список(Отбор, ОбновитьПринудительно, КакСоответствие);

Если СписокТребований.Количество() = 0 Тогда
Возврат Неопределено;
Expand Down
7 changes: 3 additions & 4 deletions src/Классы/ОбъектыКластера.os
Original file line number Diff line number Diff line change
Expand Up @@ -95,14 +95,13 @@

Владелец.ОбновитьДанные(ОбновитьПринудительно);

ЭлементыДляОбработки = Элементы;
Результат = Служебный.ПолучитьЭлементыИзМассиваСоответствий(Элементы, Отбор);

Если ЭлементыКакСоответствия Тогда
ПоляЭлемента = Владелец.ПараметрыОбъекта();
ЭлементыДляОбработки = Служебный.МассивОбъектовВМассивСоответствий(Элементы, ПоляЭлемента);
Результат = Служебный.МассивОбъектовВМассивСоответствий(Результат, ПоляЭлемента);
КонецЕсли;

Результат = Служебный.ПолучитьЭлементыИзМассиваСоответствий(ЭлементыДляОбработки, Отбор);

Возврат Результат;

КонецФункции // Список()
Expand Down
7 changes: 4 additions & 3 deletions src/Классы/ПрофилиБезопасности.os
Original file line number Diff line number Diff line change
Expand Up @@ -148,17 +148,18 @@
//
// Параметры:
// Имя - Строка - Имя профиля безопасности
// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
// КакСоответствие - Булево - Истина - результат будет преобразован в соответствие
//
// Возвращаемое значение:
// Соответствие - описание профиля безопасности кластера 1С
//
Функция Получить(Знач Имя, Знач ОбновитьПринудительно = Ложь) Экспорт
Функция Получить(Знач Имя, Знач ОбновитьПринудительно = Ложь, КакСоответствие = Ложь) Экспорт

Отбор = Новый Соответствие();
Отбор.Вставить("name", Имя);

СписокПрофилей = Элементы.Список(Отбор, ОбновитьПринудительно);
СписокПрофилей = Элементы.Список(Отбор, ОбновитьПринудительно, КакСоответствие);

Если СписокПрофилей.Количество() = 0 Тогда
Возврат Неопределено;
Expand Down
7 changes: 4 additions & 3 deletions src/Классы/РабочиеПроцессы.os
Original file line number Diff line number Diff line change
Expand Up @@ -189,12 +189,13 @@
//
// Параметры:
// Процесс - Строка - Номер процесса в виде <адрес сервера>:<номер процесса ОС (pid))>
// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
// КакСоответствие - Булево - Истина - результат будет преобразован в соответствие
//
// Возвращаемое значение:
// Соответствие - описание рабочего процесса кластера 1С
//
Функция Получить(Знач Процесс, Знач ОбновитьПринудительно = Ложь) Экспорт
Функция Получить(Знач Процесс, Знач ОбновитьПринудительно = Ложь, КакСоответствие = Ложь) Экспорт

Процесс = СтрРазделить(Процесс, ":");

Expand All @@ -206,7 +207,7 @@
Отбор.Вставить("host", Процесс[0]);
Отбор.Вставить("pid", Процесс[1]);

РабочиеПроцессы = Элементы.Список(Отбор, ОбновитьПринудительно);
РабочиеПроцессы = Элементы.Список(Отбор, ОбновитьПринудительно, КакСоответствие);

Если РабочиеПроцессы.Количество() = 0 Тогда
Возврат Неопределено;
Expand Down
9 changes: 7 additions & 2 deletions src/Классы/Сеансы.os
Original file line number Diff line number Diff line change
Expand Up @@ -201,11 +201,12 @@
// Параметры:
// Сеанс - Строка - Номер сеанса в виде <имя информационной базы>:<номер сеанса>
// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
// КакСоответствие - Булево - Истина - результат будет преобразован в соответствие
//
// Возвращаемое значение:
// Соответствие - описание сеанса 1С
//
Функция Получить(Знач Сеанс, Знач ОбновитьПринудительно = Ложь) Экспорт
Функция Получить(Знач Сеанс, Знач ОбновитьПринудительно = Ложь, КакСоответствие = Ложь) Экспорт

Сеанс = СтрРазделить(Сеанс, ":");

Expand All @@ -228,8 +229,12 @@
Отбор.Вставить("infobase", ИБ.Получить("infobase"));
Отбор.Вставить("session-id", Сеанс[1]);

Сеансы = Элементы.Список(Отбор, ОбновитьПринудительно);
Сеансы = Элементы.Список(Отбор, ОбновитьПринудительно, КакСоответствие);

Если Сеансы.Количество() = 0 Тогда
Возврат Неопределено;
КонецЕсли;

Возврат Сеансы[0];

КонецФункции // Получить()
Expand Down
5 changes: 3 additions & 2 deletions src/Классы/СерверыКластера.os
Original file line number Diff line number Diff line change
Expand Up @@ -147,11 +147,12 @@
// Параметры:
// СерверПорт - Строка - Адрес сервера в виде <сервер>:<порт>
// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
// КакСоответствие - Булево - Истина - результат будет преобразован в соответствие
//
// Возвращаемое значение:
// Соответствие - описание сервера кластера 1С
//
Функция Получить(Знач СерверПорт, Знач ОбновитьПринудительно = Ложь) Экспорт
Функция Получить(Знач СерверПорт, Знач ОбновитьПринудительно = Ложь, КакСоответствие = Ложь) Экспорт

МассивОтбора = СтрРазделить(СерверПорт, ":");

Expand All @@ -164,7 +165,7 @@
Отбор.Вставить("agent-port", СокрЛП(МассивОтбора[1]));
КонецЕсли;

СписокСерверов = Элементы.Список(Отбор, ОбновитьПринудительно);
СписокСерверов = Элементы.Список(Отбор, ОбновитьПринудительно, КакСоответствие);

Если СписокСерверов.Количество() = 0 Тогда
Возврат Неопределено;
Expand Down
9 changes: 5 additions & 4 deletions src/Классы/Сервисы.os
Original file line number Diff line number Diff line change
Expand Up @@ -139,18 +139,19 @@
// Функция возвращает описание сервиса кластера 1С
//
// Параметры:
// Имя - Строка - имя сервиса
// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
// Имя - Строка - имя сервиса
// ОбновитьПринудительно - Булево - Истина - принудительно обновить данные (вызов RAC)
// КакСоответствие - Булево - Истина - результат будет преобразован в соответствие
//
// Возвращаемое значение:
// Соответствие - описание менеджера кластера 1С
//
Функция Получить(Знач Имя, Знач ОбновитьПринудительно = Ложь) Экспорт
Функция Получить(Знач Имя, Знач ОбновитьПринудительно = Ложь, КакСоответствие = Ложь) Экспорт

Отбор = Новый Соответствие();
Отбор.Вставить("name", Имя);

Сервисы = Элементы.Список(Отбор, ОбновитьПринудительно);
Сервисы = Элементы.Список(Отбор, ОбновитьПринудительно, КакСоответствие);

Если Сервисы.Количество() = 0 Тогда
Возврат Неопределено;
Expand Down
Loading

0 comments on commit 0318937

Please sign in to comment.