diff --git "a/epf/\320\227\320\260\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\222\320\240\320\265\320\266\320\270\320\274\320\265\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\222\320\240\320\265\320\266\320\270\320\274\320\265\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/\320\227\320\260\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\222\320\240\320\265\320\266\320\270\320\274\320\265\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\222\320\240\320\265\320\266\320\270\320\274\320\265\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 809570bd..61f7956a 100644 --- "a/epf/\320\227\320\260\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\222\320\240\320\265\320\266\320\270\320\274\320\265\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\222\320\240\320\265\320\266\320\270\320\274\320\265\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/\320\227\320\260\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\222\320\240\320\265\320\266\320\270\320\274\320\265\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\222\320\240\320\265\320\266\320\270\320\274\320\265\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -11,50 +11,50 @@ Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) УбратьПодтверждениеПриЗавершенииПрограммы(); - + КонецПроцедуры &НаКлиенте Процедура ПриОткрытии(Отказ) СтрокаЗапуска = СокрЛП(ПараметрЗапуска); - + Если СтрокаЗапуска = "" Тогда ПоказатьСправкуВЛоге(); Возврат; КонецЕсли; ЗавершитьРаботуСистемы = Истина; - + Попытка ПутьКОбработке = ПолучитьПутьОбработки(); ПараметрыКоманднойСтроки = ПолучитьСтруктуруПараметров(СтрокаЗапуска); ПреобразоватьПараметрыКоторыеНачинаютсяСТочкиКНормальнымПутям(ПараметрыКоманднойСтроки); - - ПутьРасширения = ЗначениеПараметра("Путь", ПараметрыКоманднойСтроки, + + ПутьРасширения = ЗначениеПараметра("Путь", ПараметрыКоманднойСтроки, "Не задан путь расширения - формат Путь=НужныйПутьФайлаРасширения"); - ИмяРасширения = ЗначениеПараметра("Имя", ПараметрыКоманднойСтроки, + ИмяРасширения = ЗначениеПараметра("Имя", ПараметрыКоманднойСтроки, "Не задано имя расширения - формат Имя=МоеИмя", Ложь); - + Перезаписывать = ЗначениеПараметраБулево("Перезаписывать", ПараметрыКоманднойСтроки); БезопасныйРежимРасширения = ЗначениеПараметраБулево("БезопасныйРежим", ПараметрыКоманднойСтроки); ЗащитаОтОпасныхДействийРасширения = ЗначениеПараметраБулево("ЗащитаОтОпасныхДействий", ПараметрыКоманднойСтроки); ЗавершитьРаботуСистемы = ЗначениеПараметраБулево("ЗавершитьРаботуСистемы", ПараметрыКоманднойСтроки, Истина); - ОтключитьЛогикуНачалаРаботыСистемы = ЗначениеПараметраБулево("ОтключитьЛогикуНачалаРаботыСистемы", + ОтключитьЛогикуНачалаРаботыСистемы = ЗначениеПараметраБулево("ОтключитьЛогикуНачалаРаботыСистемы", ПараметрыКоманднойСтроки); - ИспользоватьОсновныеРолиДляВсехПользователей = ЗначениеПараметраБулево("ИспользоватьОсновныеРолиДляВсехПользователей", + ИспользоватьОсновныеРолиДляВсехПользователей = ЗначениеПараметраБулево("ИспользоватьОсновныеРолиДляВсехПользователей", ПараметрыКоманднойСтроки, Истина); ПараметрыРасширения = Новый Структура; ПараметрыРасширения.Вставить("БезопасныйРежим", БезопасныйРежимРасширения); ПараметрыРасширения.Вставить("ЗащитаОтОпасныхДействий", ЗащитаОтОпасныхДействийРасширения); - ПараметрыРасширения.Вставить("ИспользоватьОсновныеРолиДляВсехПользователей", + ПараметрыРасширения.Вставить("ИспользоватьОсновныеРолиДляВсехПользователей", ИспользоватьОсновныеРолиДляВсехПользователей); Исключение ОписаниеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - + Ошибка = СтрШаблон("Неудача при обработке параметров запуска %1Параметры: %2 %1%3 %1", Символы.ПС, СтрокаЗапуска, ОписаниеОшибки); Лог(Ошибка); @@ -68,14 +68,14 @@ КонецПопытки; Попытка - - ЗагрузитьРасширения(ПутьРасширения, ИмяРасширения, Перезаписывать, + + ЗагрузитьРасширения(ПутьРасширения, ИмяРасширения, Перезаписывать, ПараметрыРасширения, ЗавершитьРаботуСистемы, ОтключитьЛогикуНачалаРаботыСистемы); Исключение ОписаниеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - + Ошибка = СтрШаблон("Неудача при выполнении основного кода %1%2 %1", Символы.ПС, ОписаниеОшибки); Лог(Ошибка); @@ -84,7 +84,7 @@ ЗавершитьРаботу(); КонецЕсли; КонецПопытки; - + КонецПроцедуры #КонецОбласти @@ -95,7 +95,7 @@ &НаКлиенте Процедура ПоказатьСправкуВЛоге() - + Лог(" |Помощь: |Формат параметров Путь=КаталогФайлов;Имя=ИмяРасширения;Перезаписывать;БезопасныйРежим;ЗащитаОтОпасныхДействий;ЗавершитьРаботуСистемы; @@ -113,13 +113,13 @@ |Для платформы 8.3.15 и выше по умолчанию расширение загружается с использованим основных ролей расширения для всех пользователей. | |Пример запуска через vanessa-runner - vrunner run --command ""Путь=./МоеРасширение.cfe;ЗавершитьРаботуСистемы"" --execute $runnerRoot/epf/ЗагрузитьРасширениеВРежимеПредприятия.epf", - + "Информация"); КонецПроцедуры &НаКлиенте -Процедура ЗагрузитьРасширения(ПутьРасширения, Знач ИмяРасширения, Перезаписывать, +Процедура ЗагрузитьРасширения(ПутьРасширения, Знач ИмяРасширения, Перезаписывать, ПараметрыРасширения, ЗавершитьРаботуСистемы, ОтключитьЛогикуНачалаРаботыСистемы) @@ -130,17 +130,17 @@ ДопПараметры.Вставить("ЗавершитьРаботуСистемы", ЗавершитьРаботуСистемы); ДопПараметры.Вставить("ОтключитьЛогикуНачалаРаботыСистемы", ОтключитьЛогикуНачалаРаботыСистемы); ДопПараметры.Вставить("ПараметрыРасширения", ПараметрыРасширения); - + Обработчик = Новый ОписаниеОповещения("ОбработкаПоискаРасширенийВКаталоге", ЭтаФорма, ДопПараметры); НачатьПоискФайлов(Обработчик, ПутьРасширения, "*.cfe", Истина); - + КонецПроцедуры &НаКлиенте Процедура ОбработкаПоискаРасширенийВКаталоге(Знач НайденныеФайлы, Знач ДопПараметры) Экспорт - + Попытка - + ПутьРасширения = ДопПараметры.ПутьРасширения; ИмяРасширения = ДопПараметры.ИмяРасширения; Перезаписывать = ДопПараметры.Перезаписывать; @@ -157,134 +157,134 @@ Если Не ЗначениеЗаполнено(НайденныеФайлы) Тогда ВызватьИсключение "Не найдено файлов-расширений для пути " + ПутьРасширения; КонецЕсли; - + Для Каждого Файл Из НайденныеФайлы Цикл ПутьФайла = Файл.ПолноеИмя; ДвоичныеДанные = Новый ДвоичныеДанные(ПутьФайла); - + Если ПустаяСтрока(ИмяРасширения) Тогда ИмяРасширения = Файл.ИмяБезРасширения; КонецЕсли; - + Попытка УстановитьРасширение(ИмяРасширения, ДвоичныеДанные, Перезаписывать, ПараметрыРасширения); Исключение ВызватьИсключение ПутьФайла + Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); КонецПопытки; - + КонецЦикла; - + ОбновитьПараметрыРаботыВерсийРасширений(ОтключитьЛогикуНачалаРаботыСистемы); Исключение ОписаниеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - + Ошибка = СтрШаблон("Неудача при выполнении основного кода %1%2 %1", Символы.ПС, ОписаниеОшибки); Лог(Ошибка); КонецПопытки; - + Если ЗавершитьРаботуСистемы Тогда ЗавершитьРаботу(); КонецЕсли; - + КонецПроцедуры &НаСервере -Процедура УстановитьРасширение(Имя, ДвоичныеДанныеРасширения, Перезаписывать, - ПараметрыРасширения, +Процедура УстановитьРасширение(Имя, ДвоичныеДанныеРасширения, Перезаписывать, + ПараметрыРасширения, ПовторнаяУстановка = Ложь) - + РасширенияДо = РасширенияКонфигурации.Получить(); - + ОписаниеЗащиты = Новый("ОписаниеЗащитыОтОпасныхДействий"); ОписаниеЗащиты.ПредупреждатьОбОпасныхДействиях = ПараметрыРасширения.ЗащитаОтОпасныхДействий; - + Расширение = РасширенияКонфигурации.Создать(); Расширение.БезопасныйРежим = ПараметрыРасширения.БезопасныйРежим; Расширение.ЗащитаОтОпасныхДействий = ОписаниеЗащиты; Если Версия8315ИлиВыше() Тогда - Расширение.ИспользоватьОсновныеРолиДляВсехПользователей = + Расширение.ИспользоватьОсновныеРолиДляВсехПользователей = ПараметрыРасширения.ИспользоватьОсновныеРолиДляВсехПользователей; КонецЕсли; - + Попытка Расширение.Записать(ДвоичныеДанныеРасширения); Исключение ИнфоОшибки = ИнформацияОбОшибке(); ОписаниеОшибки = ПодробноеПредставлениеОшибки(ИнфоОшибки); - + Если ПовторнаяУстановка Тогда ВызватьИсключение; КонецЕсли; - + ЛогСервер("Расширение не удалось установить. Пытаюсь удалить существующее расширение по имени и повторно установить |Проблема: |" + ОписаниеОшибки, ""); УдалитьРасширение(Имя); УстановитьРасширение(Имя, ДвоичныеДанныеРасширения, Перезаписывать, ПараметрыРасширения, Истина); - + Возврат; - + КонецПопытки; - + РасширенияПосле = РасширенияКонфигурации.Получить(); НовыеЭлементы = РазностьМассивов(РасширенияПосле, РасширенияДо); - + Если Не ЗначениеЗаполнено(НовыеЭлементы) Тогда ЛогСервер("Не найдено новых установленных расширений после установки расширения"); Возврат; КонецЕсли; - + ВнутреннееИмя = НовыеЭлементы[0].Имя; - + СообщитьОбУспешнойУстановке(ПараметрыРасширения, ВнутреннееИмя); - + КонецПроцедуры &НаСервере Процедура УдалитьРасширение(Имя) - + Расширение = РасширениеПоИмени(Имя); Расширение.Удалить(); - + ЛогСервер("Расширение удалено: " + Имя, ""); - + КонецПроцедуры &НаСервере Функция РасширениеПоИмени(Знач Имя) - + Отбор = Новый Структура("Имя", Имя); Расширения = РасширенияКонфигурации.Получить(Отбор); Если Не ЗначениеЗаполнено(Расширения) Тогда ВызватьИсключение "Не удалось найти расширение по имени " + Имя; КонецЕсли; - + Возврат Расширения[0]; КонецФункции &НаСервере Процедура СообщитьОбУспешнойУстановке(Знач ПараметрыРасширения, Знач Имя) - + Перем Расширение, Сообщение, Уровень; - + Уровень = "Информация"; - + Расширение = РасширениеПоИмени(Имя); ЛогСервер(СтрШаблон("Установлено расширение %1, версия %2", Расширение.Имя , Расширение.Версия), Уровень); - + Если ПараметрыРасширения.БезопасныйРежим Тогда Сообщение = "Безопасный режим установлен!"; Иначе Сообщение = "Безопасный режим снят!"; КонецЕсли; ЛогСервер(Сообщение, Уровень); - + Если ПараметрыРасширения.ЗащитаОтОпасныхДействий Тогда Сообщение = "Защита от опасных действий установлена!"; Иначе @@ -293,42 +293,42 @@ ЛогСервер(Сообщение, Уровень); Если Версия8315ИлиВыше() Тогда - - Если ПараметрыРасширения.ИспользоватьОсновныеРолиДляВсехПользователей Тогда + + Если ПараметрыРасширения.ИспользоватьОсновныеРолиДляВсехПользователей Тогда Сообщение = "Установлен режим использования основных ролей расширения!"; Иначе Сообщение = "Режим использования основных ролей расширения снят!"; КонецЕсли; ЛогСервер(Сообщение, Уровень); - + КонецЕсли; КонецПроцедуры &НаСервере Функция РазностьМассивов(Знач Массив, Знач МассивВычитания) - + Результат = Новый Массив; Для Каждого Элемент Из Массив Цикл Если МассивВычитания.Найти(Элемент) = Неопределено Тогда Результат.Добавить(Элемент); КонецЕсли; КонецЦикла; - + Возврат Результат; - + КонецФункции &НаСервере Процедура ОбновитьПараметрыРаботыВерсийРасширений(ОтключитьЛогикуНачалаРаботыСистемы) - - Если Не ОтключитьЛогикуНачалаРаботыСистемы + + Если Не ОтключитьЛогикуНачалаРаботыСистемы И Метаданные.Подсистемы.Найти("СтандартныеПодсистемы") <> Неопределено Тогда - + МодульРегистрыСведенийПараметрыРаботыВерсийРасширений = Вычислить("РегистрыСведений.ПараметрыРаботыВерсийРасширений"); МодульРегистрыСведенийПараметрыРаботыВерсийРасширений.ОбновитьПараметрыРаботыРасширений(); КонецЕсли; - + КонецПроцедуры #КонецОбласти @@ -338,7 +338,7 @@ &НаСервере Процедура УбратьПодтверждениеПриЗавершенииПрограммы() - Если Метаданные.Подсистемы.Найти("СтандартныеПодсистемы") <> Неопределено Тогда + Если Метаданные.Подсистемы.Найти("СтандартныеПодсистемы") <> Неопределено Тогда МодульОбщегоНазначения = Вычислить("ОбщегоНазначения"); Попытка МодульОбщегоНазначения.ХранилищеОбщихНастроекСохранить("ОбщиеНастройкиПользователя", @@ -417,34 +417,34 @@ КонецФункции &НаКлиенте -Функция ЗначениеПараметра(Знач ИмяПараметра, Знач ПараметрыКоманднойСтроки, Знач ТекстОшибки, +Функция ЗначениеПараметра(Знач ИмяПараметра, Знач ПараметрыКоманднойСтроки, Знач ТекстОшибки, Знач ВыбрасыватьИсключение = Истина) - + Результат = ""; Если Не ПараметрыКоманднойСтроки.Свойство(ИмяПараметра, Результат) Или Не ЗначениеЗаполнено(Результат) Тогда - + Если ВыбрасыватьИсключение Тогда ВызватьИсключение ТекстОшибки; КонецЕсли; КонецЕсли; - + Возврат Результат; - + КонецФункции &НаКлиенте Функция ЗначениеПараметраБулево(Знач ИмяПараметра, Знач ПараметрыКоманднойСтроки, Знач ПоУмолчанию = Ложь) - + Результат = Ложь; Если Не ПараметрыКоманднойСтроки.Свойство(ИмяПараметра, Результат) Или Не ЗначениеЗаполнено(Результат) Тогда - + Возврат ПоУмолчанию; КонецЕсли; - - Возврат Результат; - + + Возврат Булево(Результат); + КонецФункции // портировано из Vanessa-ADD @@ -503,7 +503,7 @@ Было = СтруктураПараметров[Ключ]; Стало = ПреобразоватьПутьСТочкамиКНормальномуПути(СтруктураПараметров[Ключ]); Стало = ЗаменитьСлеши(Стало); - + СтруктураПараметров.Вставить(Ключ, Стало); КонецЦикла; КонецПроцедуры @@ -544,8 +544,8 @@ КонецФункции &НаКлиенте -Процедура ЗавершитьРаботу() - // в таком варианте 1С не отдает лог в файл своего лога ( -- ПрекратитьРаботуСистемы(Ложь); +Процедура ЗавершитьРаботу() + // в таком варианте 1С не отдает лог в файл своего лога ( -- ПрекратитьРаботуСистемы(Ложь); ЗавершитьРаботуСистемы(Ложь); КонецПроцедуры diff --git "a/features/\320\222\320\275\320\265\321\210\320\275\320\270\320\265 \320\276\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270/\320\227\320\260\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\230\320\267\320\244\320\260\320\271\320\273\320\260\320\222\320\240\320\265\320\266\320\270\320\274\320\265\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\321\217.feature" "b/features/\320\222\320\275\320\265\321\210\320\275\320\270\320\265 \320\276\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270/\320\227\320\260\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\230\320\267\320\244\320\260\320\271\320\273\320\260\320\222\320\240\320\265\320\266\320\270\320\274\320\265\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\321\217.feature" index 7f6b9a92..879daed8 100644 --- "a/features/\320\222\320\275\320\265\321\210\320\275\320\270\320\265 \320\276\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270/\320\227\320\260\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\230\320\267\320\244\320\260\320\271\320\273\320\260\320\222\320\240\320\265\320\266\320\270\320\274\320\265\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\321\217.feature" +++ "b/features/\320\222\320\275\320\265\321\210\320\275\320\270\320\265 \320\276\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270/\320\227\320\260\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\230\320\267\320\244\320\260\320\271\320\273\320\260\320\222\320\240\320\265\320\266\320\270\320\274\320\265\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\321\217.feature" @@ -41,6 +41,39 @@ | Ошибка: Неудача при выполнении основного кода | И Код возврата команды "oscript" равен 0 +Сценарий: Загрузка расширения из файла - явная установка всех ключей - с отключением безопасного режима и защиты от опасных действий + + Дано я подготовил репозиторий и рабочий каталог проекта + И я подготовил рабочую базу проекта "./build/ib" по умолчанию + Дано Я копирую файл "Extension1.cfe" из каталога "tests/fixtures" проекта в рабочий каталог + И Я очищаю параметры команды "oscript" в контексте + + Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os compileepf $runnerRoot\epf\ЗагрузитьРасширениеВРежимеПредприятия ЗагрузитьРасширениеВРежимеПредприятия.epf --nocacheuse --language ru" + И Я показываю вывод команды + И Код возврата команды "oscript" равен 0 + И Я очищаю параметры команды "oscript" в контексте + + Когда Я добавляю параметр "<КаталогПроекта>/src/main.os run" для команды "oscript" + И Я добавляю параметр "--command" для команды "oscript" + И Я добавляю параметр "Путь=Extension1.cfe;Имя=Расширение1;Перезаписывать;БезопасныйРежим=Ложь;ЗащитаОтОпасныхДействий=Ложь;ИспользоватьОсновныеРолиДляВсехПользователей=Ложь;ЗавершитьРаботуСистемы" для команды "oscript" + И Я добавляю параметр "--execute ЗагрузитьРасширениеВРежимеПредприятия.epf" для команды "oscript" + И Я добавляю параметр " --ibconnection /Fbuild/ib" для команды "oscript" + И Я добавляю параметр "--language ru" для команды "oscript" + Когда Я выполняю команду "oscript" + + И Я показываю вывод команды + + Тогда Вывод команды "oscript" содержит + | ИНФОРМАЦИЯ - Выполняю команду/действие в режиме 1С:Предприятие | + | Информация: Установлено расширение Расширение1, версия | + | Информация: Безопасный режим снят! | + | Информация: Защита от опасных действий снята! | + | ИНФОРМАЦИЯ - Выполнение команды/действия в режиме 1С:Предприятие завершено | + Тогда Вывод команды "oscript" не содержит + | Ошибка: Неудача при обработке параметров запуска | + | Ошибка: Неудача при выполнении основного кода | + И Код возврата команды "oscript" равен 0 + Сценарий: Повторная загрузка расширения из файла с отключением безопасного режима и защиты от опасных действий Дано я подготовил репозиторий и рабочий каталог проекта @@ -126,7 +159,6 @@ Когда Я добавляю параметр "<КаталогПроекта>/src/main.os run" для команды "oscript" И Я добавляю параметр "--command" для команды "oscript" И Я добавляю параметр "Путь=.;Перезаписывать" для команды "oscript" - # И Я добавляю параметр "--execute $runnerRoot\epf\ЗагрузитьРасширениеВРежимеПредприятия.epf" для команды "oscript" И Я добавляю параметр "--execute ЗагрузитьРасширениеВРежимеПредприятия.epf" для команды "oscript" И Я добавляю параметр " --ibconnection /Fbuild/ib" для команды "oscript" И Я добавляю параметр "--language ru" для команды "oscript"