diff --git a/packagedef b/packagedef index 34549ad..6286b3f 100644 --- a/packagedef +++ b/packagedef @@ -3,7 +3,7 @@ .Автор("Alexey Bobylkin") .АдресАвтора("alex_bob@lipetsk.ru") .Описание("Библиотека для упрощения работы с утилитами ibcmd и ibsrv из oscript.") - .ВерсияСреды("1.9.0") + .ВерсияСреды("1.9.2") .ВключитьФайл("lib.config") .ВключитьФайл("Readme.md") .ВключитьФайл("src") diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/ibcmdrunner.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/ibcmdrunner.os" index 9b6537b..604380c 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/ibcmdrunner.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/ibcmdrunner.os" @@ -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"); + КонецЕсли; + + КонецЕсли; + ВыполнитьКоманду(); -КонецПроцедуры + +КонецПроцедуры // УдалитьРасширение // Удалить расширение