Skip to content

Commit

Permalink
Merge branch 'release/v.0.9.1'
Browse files Browse the repository at this point in the history
  • Loading branch information
arkuznetsov committed Sep 24, 2019
2 parents 59c0fb9 + 399cfae commit 1882637
Show file tree
Hide file tree
Showing 11 changed files with 77 additions and 54 deletions.
50 changes: 33 additions & 17 deletions readme.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
# Библиотека управления кластером 1С

[![GitHub release](https://img.shields.io/github/release/ArKuznetsov/irac.svg?style=flat-square)](https://github.com/ArKuznetsov/irac/releases)
[![GitHub license](https://img.shields.io/github/license/ArKuznetsov/irac.svg?style=flat-square)](https://github.com/ArKuznetsov/irac/blob/develop/LICENSE.md)
[![GitHub license](https://img.shields.io/github/license/ArKuznetsov/irac.svg?style=flat-square)](https://github.com/ArKuznetsov/irac/blob/develop/LICENSE)
[![Build Status](https://travis-ci.org/arkuznetsov/irac.svg?branch=develop)](https://travis-ci.org/arkuznetsov/irac)
[![Quality Gate](https://oskk-sonar.1solution.ru/api/badges/gate?key=irac)](https://sonar.silverbulleters.org/dashboard/index/irac)
[![Quality Gate](https://oskk-sonar.1solution.ru/api/badges/gate?key=irac)](oskk-sonar.1solution.ru/dashboard/index/irac)
[![Coverage](https://oskk-sonar.1solution.ru/api/badges/measure?key=irac&metric=coverage)](https://oskk-sonar.1solution.ru/dashboard/index/irac)
[![Tech debt](https://oskk-sonar.1solution.ru/api/badges/measure?key=irac&metric=sqale_debt_ratio)](https://oskk-sonar.1solution.ru/dashboard/index/irac)

## Назначение

Библиотека (oscript) irac предоставляет интерфейс управления кластером серверов 1С:Предприятие 8 с использованием утилиты администрирования кластера (RAC).


## Принцип работы

Библиотека подключается, как отдельный класс и используется для вызова команд утилиты RAC для взаимодействия с одним экземпляром сервера администрирования кластера 1С.
Expand Down Expand Up @@ -57,31 +57,40 @@
КонецЦикла;
```

## Структура основных объектов

АдминистрированиеКластера


```txt
|-Администраторы
|-Кластеры
| |-Администраторы
| |-МенеджерыКластера
| |-Серверы
| | |-ТребованияНазначения
| |-РабочиеПроцессы
| | |-Лицензии
| |-ИнформационныеБазы
| |-Сервисы
| |-Сеансы
| |-Соединения
| | |-Лицензии
| |-Блокировки
| |-ПрофилиБезопасности
|-Администраторы
|-МенеджерыКластера
|-Серверы
| |-ТребованияНазначения
|-РабочиеПроцессы
| |-Лицензии
|-ИнформационныеБазы
|-Сервисы
|-Сеансы
|-Соединения
| |-Лицензии
|-Блокировки
|-ПрофилиБезопасности
|-СчетчикиПотребленияРесурсов
```

## Объекты и методы

### АдминистрированиеКластера

Основной класс библиотеки. Предоставляет интерфейс управления серверами 1С.

```bsl
АдминистрированиеКластера = Новый АдминистрированиеКластера("localhost", 1545, "8.3.10", "admin", "P@ssw0rd");
```

| Параметры конструктора |||
|-|-|-|
| **АдресСервера** |Строка|имя сервера агента администрирования (RAS)|
Expand All @@ -104,11 +113,14 @@
| **ВыводКоманды()** |Массив(Соответствие)|возвращает вывод команды из объекта-исполнитель команд|

### ИсполнительКоманд

Вспомогательный объект для выполнения команд. Непосредственно вызывает утилиту RAC.

```bsl
АдминистрированиеКластера = Новый АдминистрированиеКластера("localhost", 1545, "8.3.10", "admin", "P@ssw0rd");
АдминистрированиеКластера.УстановитьИсполнительКоманд(Новый ИсполнительКоманд("8.3"));
```

| Параметры конструктора |||
|-|-|-|
| **ВерсияИлиПутьКРАК** |Строка|маска версии 1С или путь к утилите RAC|
Expand All @@ -123,15 +135,19 @@
| **КодВозврата()** |Число|возвращает код возврата выполнения команды|

### Кластеры

Объект предоставляет доступ к списку кластеров, доступных для администрирования.

```bsl
АдминистрированиеКластера = Новый АдминистрированиеКластера("localhost", 1545, "8.3.10", "admin", "P@ssw0rd");
СписокКластеров = Новый Кластеры(АдминистрированиеКластера);
```

```bsl
АдминистрированиеКластера = Новый АдминистрированиеКластера("localhost", 1545, "8.3.10", "admin", "P@ssw0rd");
СписокКластеров = АдминистрированиеКластера.Кластеры();
```

| Параметры конструктора |||
|-|-|-|
| **АгентКластера** |АдминистрированиеКластера|ссылка на родительский объект агент кластера|
Expand Down
9 changes: 6 additions & 3 deletions src/Классы/ИнформационнаяБаза.os
Original file line number Diff line number Diff line change
Expand Up @@ -344,6 +344,8 @@

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

ЗначениеПоля = Неопределено;

Если НЕ Найти(ВРЕг("Ид, infobase"), ВРег(ИмяПоля)) = 0 Тогда
Возврат ИБ_Ид;
ИначеЕсли НЕ Найти(ВРЕг("Имя, name"), ВРег(ИмяПоля)) = 0 Тогда
Expand All @@ -352,10 +354,10 @@
Возврат ИБ_Описание;
ИначеЕсли НЕ Найти(ВРЕг("ПолноеОписание"), ВРег(ИмяПоля)) = 0 Тогда
Возврат ИБ_ПолноеОписание;
Иначе
ЗначениеПоля = ИБ_Параметры.Получить(ИмяПоля);
КонецЕсли;

ЗначениеПоля = ИБ_Параметры.Получить(ИмяПоля);

Если ЗначениеПоля = Неопределено Тогда

ОписаниеПараметра = ПараметрыОбъекта("ИмяРАК").Получить(ИмяПоля);
Expand Down Expand Up @@ -426,7 +428,8 @@

Если ДействияСБазойСУБД = Перечисления.ДействияСБазойСУБДПриУдалении.Очистить Тогда
ПараметрыКоманды.Вставить("ОчиститьБД", Истина);
ИначеЕсли ДействияСБазойСУБД = Перечисления.ДействияСБазойСУБДПриУдалении.Удалить Тогда
КонецЕсли;
Если ДействияСБазойСУБД = Перечисления.ДействияСБазойСУБДПриУдалении.Удалить Тогда
ПараметрыКоманды.Вставить("УдалитьБД", Истина);
КонецЕсли;

Expand Down
5 changes: 1 addition & 4 deletions src/Классы/ИсполнительКоманд.os
Original file line number Diff line number Diff line change
Expand Up @@ -444,10 +444,7 @@
СтрокаДляЛога = "";
Для Каждого Параметр Из Параметры Цикл

Если Найти(Параметр, "--agent-pwd") = 0
И Найти(Параметр, "--cluster-pwd") = 0
И Найти(Параметр, "--infobase-pwd") = 0
И Найти(Параметр, "--pwd") = 0 Тогда
Если Найти(Параметр, "-pwd") = 0 Тогда
СтрокаДляЛога = СтрокаДляЛога + " " + Параметр;
КонецЕсли;

Expand Down
6 changes: 4 additions & 2 deletions src/Классы/Кластер.os
Original file line number Diff line number Diff line change
Expand Up @@ -418,6 +418,8 @@

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

ЗначениеПоля = Неопределено;

Если НЕ Найти(ВРЕг("Ид, cluster"), ВРег(ИмяПоля)) = 0 Тогда
Возврат Кластер_Ид;
ИначеЕсли НЕ Найти(ВРЕг("Имя, name"), ВРег(ИмяПоля)) = 0 Тогда
Expand All @@ -426,10 +428,10 @@
Возврат Кластер_АдресСервера;
ИначеЕсли НЕ Найти(ВРЕг("ПортСервера, port"), ВРег(ИмяПоля)) = 0 Тогда
Возврат Кластер_ПортСервера;
Иначе
ЗначениеПоля = Кластер_Параметры.Получить(ИмяПоля);
КонецЕсли;

ЗначениеПоля = Кластер_Параметры.Получить(ИмяПоля);

Если ЗначениеПоля = Неопределено Тогда

ОписаниеПараметра = ПараметрыОбъекта("ИмяРАК").Получить(ИмяПоля);
Expand Down
2 changes: 1 addition & 1 deletion src/Классы/КомандыОбъекта.os
Original file line number Diff line number Diff line change
Expand Up @@ -244,7 +244,7 @@
Продолжить;
КонецЕсли;

Если НЕ ТекЭлемент.Значение[ИмяФлагаРазрешения] Тогда
Если ЗначениеЗаполнено(ИмяФлагаРазрешения) И НЕ ТекЭлемент.Значение[ИмяФлагаРазрешения] Тогда
Продолжить;
КонецЕсли;

Expand Down
4 changes: 2 additions & 2 deletions src/Классы/ОбъектыПрофиля.os
Original file line number Diff line number Diff line change
Expand Up @@ -192,8 +192,8 @@
// Процедура добавляет новый или изменяет существующий объект профиля безопасности
//
// Параметры:
// Имя - Строка - имя объекта профиля безопасности 1С
// ПараметрыОбъекта - Структура - параметры объекта профиля безопасности 1С
// Имя - Строка - имя объекта профиля безопасности 1С
// ПараметрыОбъектаПрофиля - Структура - параметры объекта профиля безопасности 1С
//
Процедура Изменить(Имя, ПараметрыОбъектаПрофиля = Неопределено) Экспорт

Expand Down
6 changes: 4 additions & 2 deletions src/Классы/Сервер.os
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,8 @@

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

ЗначениеПоля = Неопределено;

Если НЕ Найти(ВРЕг("Ид, server"), ВРег(ИмяПоля)) = 0 Тогда
Возврат Сервер_Ид;
ИначеЕсли НЕ Найти(ВРЕг("Имя, name"), ВРег(ИмяПоля)) = 0 Тогда
Expand All @@ -223,10 +225,10 @@
Возврат Сервер_АдресАгента;
ИначеЕсли НЕ Найти(ВРЕг("ПортАгента, agent-port"), ВРег(ИмяПоля)) = 0 Тогда
Возврат Сервер_ПортАгента;
Иначе
ЗначениеПоля = Сервер_Параметры.Получить(ИмяПоля);
КонецЕсли;

ЗначениеПоля = Сервер_Параметры.Получить(ИмяПоля);

Если ЗначениеПоля = Неопределено Тогда

ОписаниеПараметра = ПараметрыОбъекта("ИмяРАК").Получить(ИмяПоля);
Expand Down
38 changes: 19 additions & 19 deletions src/Макеты/ТипыОбъектовКластера.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
"Добавить":{
"ИмяРАК" : "register",
"АвторизацияАгента" : true,
"Прочие" : true
"ЗначенияПолей" : true
},
"Удалить":{
"ИмяРАК" : "remove",
Expand Down Expand Up @@ -159,7 +159,7 @@
"Добавить":{
"ИмяРАК" : "register",
"Кластер" : true,
"Прочие" : true
"ЗначенияПолей" : true
},
"Удалить":{
"ИмяРАК" : "remove",
Expand Down Expand Up @@ -193,7 +193,7 @@
"Параметр" : "Имя"
}
],
"Прочие" : true
"ЗначенияПолей" : true
},
"Изменить":{
"ИмяРАК" : "update",
Expand All @@ -205,7 +205,7 @@
"Параметр" : "Имя"
}
],
"Прочие" : true
"ЗначенияПолей" : true
},
"Удалить":{
"ИмяРАК" : "remove",
Expand Down Expand Up @@ -363,7 +363,7 @@
"Параметр" : "Локализация"
}
],
"Прочие" : true
"ЗначенияПолей" : true
},
"Изменить":{
"ИмяРАК" : "update",
Expand All @@ -375,7 +375,7 @@
"Обязательный" : true
}
],
"Прочие" : true
"ЗначенияПолей" : true
},
"Удалить":{
"ИмяРАК" : "remove",
Expand Down Expand Up @@ -713,7 +713,7 @@
"Параметр" : "Локализация"
}
],
"Прочие" : true
"ЗначенияПолей" : true
},
"Изменить":{
"ИмяРАК" : "update",
Expand All @@ -725,7 +725,7 @@
"Обязательный" : true
}
],
"Прочие" : true
"ЗначенияПолей" : true
},
"Удалить":{
"ИмяРАК" : "drop",
Expand Down Expand Up @@ -1185,7 +1185,7 @@
"Обязательный" : true
}
],
"Прочие" : true
"ЗначенияПолей" : true
},
"Изменить":{
"ИмяРАК" : "update",
Expand All @@ -1207,7 +1207,7 @@
"Обязательный" : true
}
],
"Прочие" : true
"ЗначенияПолей" : true
},
"Удалить":{
"ИмяРАК" : "remove",
Expand Down Expand Up @@ -1395,7 +1395,7 @@
"Обязательный" : true
}
],
"Прочие" : true
"ЗначенияПолей" : true
},
"Удалить":{
"ИмяРАК" : "remove",
Expand Down Expand Up @@ -1466,7 +1466,7 @@
"Обязательный" : true
}
],
"Прочие" : true
"ЗначенияПолей" : true
},
"Удалить":{
"ИмяРАК" : "remove",
Expand Down Expand Up @@ -1529,7 +1529,7 @@
"Обязательный" : true
}
],
"Прочие" : true
"ЗначенияПолей" : true
},
"Удалить":{
"ИмяРАК" : "remove",
Expand Down Expand Up @@ -1592,7 +1592,7 @@
"Обязательный" : true
}
],
"Прочие" : true
"ЗначенияПолей" : true
},
"Удалить":{
"ИмяРАК" : "remove",
Expand Down Expand Up @@ -1656,7 +1656,7 @@
"Обязательный" : true
}
],
"Прочие" : true
"ЗначенияПолей" : true
},
"Удалить":{
"ИмяРАК" : "remove",
Expand Down Expand Up @@ -1729,7 +1729,7 @@
"Обязательный" : true
}
],
"Прочие" : true
"ЗначенияПолей" : true
},
"Удалить":{
"ИмяРАК" : "remove",
Expand Down Expand Up @@ -1769,7 +1769,7 @@
"Обязательный" : true
}
],
"Прочие" : true
"ЗначенияПолей" : true
},
"Удалить":{
"ИмяРАК" : "remove",
Expand Down Expand Up @@ -1967,7 +1967,7 @@
"Обязательный" : true
}
],
"Прочие" : true
"ЗначенияПолей" : true
},
"Значения":{
"ИмяРАК" : "values",
Expand All @@ -1983,7 +1983,7 @@
"Параметр" : "Отбор"
}
],
"Прочие" : true
"ЗначенияПолей" : true
},
"Удалить":{
"ИмяРАК" : "remove",
Expand Down
3 changes: 2 additions & 1 deletion tasks/coverage.os
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@
КодВозврата = Команда.Исполнить();

Файл_Стат = Новый Файл(ПутьКСтат);
Ожидаем.Что(Файл_Стат.Существует(), СтрШаблон("Файл <%1> с результатами покрытия не существует!", Файл_Стат.ПолноеИмя)).ЭтоИстина();
Ожидаем.Что(Файл_Стат.Существует(),
СтрШаблон("Файл <%1> с результатами покрытия не существует!", Файл_Стат.ПолноеИмя)).ЭтоИстина();

ЧтениеТекста = Новый ЧтениеТекста(ПутьКСтат, КодировкаТекста.UTF8);

Expand Down
Loading

0 comments on commit 1882637

Please sign in to comment.