Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion packagedef
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
.Автор("Alexey Bobylkin")
.АдресАвтора("alex_bob@lipetsk.ru")
.Описание("Библиотека для упрощения работы с утилитами ibcmd и ibsrv из oscript.")
.ВерсияСреды("1.9.0")
.ВерсияСреды("1.9.2")
.ВключитьФайл("lib.config")
.ВключитьФайл("Readme.md")
.ВключитьФайл("src")
Expand Down
96 changes: 58 additions & 38 deletions src/Классы/ibcmdrunner.os
Original file line number Diff line number Diff line change
Expand Up @@ -194,57 +194,77 @@
КонецФункции

// ИзменитьСвойстваРасширения
// Изменить свойства расширения
// Изменить свойства расширения
// Параметры:
// ИмяРасширения - Строка - Имя расширения, у которого будем изменять свойства
// Активность - Булево - Активность
// БезопасныйРежим - Булево - Безопасный режим
// ИмяПрофиляБезопасности -Булево - включить/выключить
// ЗащитаОтОпасныхДействий -Булево - защита от опасных действий
// ИспользуетсяВ_РИБ - Булево - расширение используется в РИБ
// ОбластьДействия_ИБ - Булево - если Истина - область действия ИБ, иначе - разделитель данных
// Активность - Булево, Неопределено - Активность
// БезопасныйРежим - Булево, Неопределено - Безопасный режим
// ИмяПрофиляБезопасности - Строка - Имя Профиля безопасности
// ЗащитаОтОпасныхДействий - Булево, Неопределено - защита от опасных действий
// ИспользуетсяВ_РИБ - Булево, Неопределено - расширение используется в РИБ
// ОбластьДействия_ИБ - Булево, Неопределено - если Истина - область действия ИБ, иначе - разделитель данных
// Возвращаемое значение:
//
//
// BSLLS:NumberOfOptionalParams-off
Процедура ИзменитьСвойстваРасширения(
Знач ИмяРасширения,
Знач Активность,
Знач БезопасныйРежим,
Знач ИмяПрофиляБезопасности,
Знач ЗащитаОтОпасныхДействий,
Знач ИспользуетсяВ_РИБ,
Знач ОбластьДействия_ИБ
) Экспорт

Знач Активность = Неопределено,
Знач БезопасныйРежим = Неопределено,
Знач ИмяПрофиляБезопасности = "",
Знач ЗащитаОтОпасныхДействий = Неопределено,
Знач ИспользуетсяВ_РИБ = Неопределено,
Знач ОбластьДействия_ИБ = Неопределено) Экспорт

ТипБулево = "Булево";
Ожидаем.Что(СравнитьВерсии(Версия, "8.3.20") > 0,
"Версия платформы 1С должна быть старше, чем 8.3.20")
.ЭтоИстина();
"Версия платформы 1С должна быть старше, чем 8.3.20")
.ЭтоИстина();
Ожидаем.Что(ЯвляетсяИменем(ИмяРасширения),
"Параметром должна быть строка, удовлетворяющая требованиям к имени переменной")
"Параметром должна быть строка, удовлетворяющая требованиям к имени переменной")
.ЭтоИстина();
Ожидаем.Что(Активность).ИмеетТип(ТипБулево);
Ожидаем.Что(БезопасныйРежим).ИмеетТип(ТипБулево);
Ожидаем.Что(ИмяПрофиляБезопасности).ИмеетТип(ТипБулево);
Ожидаем.Что(ЗащитаОтОпасныхДействий).ИмеетТип(ТипБулево);
Ожидаем.Что(ИспользуетсяВ_РИБ).ИмеетТип(ТипБулево);
Ожидаем.Что(ОбластьДействия_ИБ).ИмеетТип(ТипБулево);


НачатьЗаполнениеПараметровЗапуска("infobase config extension update");
ДобавитьПараметрЕслиЗаполнен("--name", ИмяРасширения);

ПараметрыЗапуска.Добавить("--active=" + БулевоВСтроку(Активность));
ПараметрыЗапуска.Добавить("--safe-mode=" + БулевоВСтроку(БезопасныйРежим));
ПараметрыЗапуска.Добавить("--security-profile-name=" + БулевоВСтроку(ИмяПрофиляБезопасности));
ПараметрыЗапуска.Добавить("--unsafe-action-protection=" + БулевоВСтроку(ЗащитаОтОпасныхДействий));
ПараметрыЗапуска.Добавить("--used-in-distributed-infobase=" + БулевоВСтроку(ИспользуетсяВ_РИБ));
Если ОбластьДействия_ИБ Тогда
ПараметрыЗапуска.Добавить("--scope=infobase");
Иначе
ПараметрыЗапуска.Добавить("--scope=data-separation");
КонецЕсли;

Если Активность <> Неопределено Тогда
Ожидаем.Что(Активность).ИмеетТип(ТипБулево);
ПараметрыЗапуска.Добавить("--active=" + БулевоВСтроку(Активность));
КонецЕсли;

Если БезопасныйРежим <> Неопределено Тогда
Ожидаем.Что(БезопасныйРежим).ИмеетТип(ТипБулево);
ПараметрыЗапуска.Добавить("--safe-mode=" + БулевоВСтроку(БезопасныйРежим));
КонецЕсли;

Ожидаем.Что(ИмяПрофиляБезопасности).ИмеетТип("Строка");
Если НЕ ПустаяСтрока(ИмяПрофиляБезопасности) Тогда
ПараметрыЗапуска.Добавить("--security-profile-name=" + ОбернутьВКавычки(ИмяПрофиляБезопасности));
КонецЕсли;

Если ЗащитаОтОпасныхДействий <> Неопределено Тогда
Ожидаем.Что(ЗащитаОтОпасныхДействий).ИмеетТип(ТипБулево);
ПараметрыЗапуска.Добавить("--unsafe-action-protection=" + БулевоВСтроку(ЗащитаОтОпасныхДействий));
КонецЕсли;

Если ИспользуетсяВ_РИБ <> Неопределено Тогда
Ожидаем.Что(ИспользуетсяВ_РИБ).ИмеетТип(ТипБулево);
ПараметрыЗапуска.Добавить("--used-in-distributed-infobase=" + БулевоВСтроку(ИспользуетсяВ_РИБ));
КонецЕсли;

Если ОбластьДействия_ИБ <> Неопределено Тогда
Ожидаем.Что(ОбластьДействия_ИБ).ИмеетТип(ТипБулево);

Если ОбластьДействия_ИБ Тогда
ПараметрыЗапуска.Добавить("--scope=infobase");
Иначе
ПараметрыЗапуска.Добавить("--scope=data-separation");
КонецЕсли;

КонецЕсли;

ВыполнитьКоманду();
КонецПроцедуры

КонецПроцедуры

// УдалитьРасширение
// Удалить расширение
Expand Down
Loading