diff --git a/src/v8runner.os b/src/v8runner.os index 3fba92c..4c9a5a2 100644 --- a/src/v8runner.os +++ b/src/v8runner.os @@ -416,7 +416,7 @@ КонецПроцедуры // УстановитьМеткуДляВерсииВХранилище() -// Выполняет подключение ранее неподключенной информационной базы к хранилищу конфигурации. +// Выполняет подключение ранее неподключенной информационной базы (конфигурации/расширения) к хранилищу конфигурации/расширения. // // Параметры: // СтрокаСоединения - Строка - Строка соединения с хранилищем конфигурации @@ -426,13 +426,15 @@ // Выполняет подключение даже в том случае, если для данного пользователя уже есть конфигурация, связанная с данным хранилищем.. // ЗаменитьКонфигурациюБД - Булево - Флаг замены конфигурации БД на конфигурацию хранилища (По умолчанию Истина) // Если конфигурация непустая, данный ключ подтверждает замену конфигурации на конфигурацию из хранилища. +// ИмяРасширения - Строка - Имя расширения // Процедура ПодключитьсяКХранилищу(Знач СтрокаСоединения, Знач ПользовательХранилища, Знач ПарольХранилища = "", Знач ИгнорироватьНаличиеПодключеннойБД = Ложь, - Знач ЗаменитьКонфигурациюБД = Истина - ) Экспорт + Знач ЗаменитьКонфигурациюБД = Истина, + Знач ИмяРасширения = Неопределено + ) Экспорт Параметры = СтандартныеПараметрыЗапускаКонфигуратора(); Параметры.Добавить("/ConfigurationRepositoryF """+СтрокаСоединения + """"); @@ -450,14 +452,19 @@ Если ЗаменитьКонфигурациюБД Тогда Параметры.Добавить("-forceReplaceCfg "); КонецЕсли; + Если ЗначениеЗаполнено(ИмяРасширения) Тогда + Параметры.Добавить("-Extension " + ИмяРасширения); + КонецЕсли; ВыполнитьКоманду(Параметры); КонецПроцедуры -Процедура ОтключитьсяОтХранилища() Экспорт +Процедура ОтключитьсяОтХранилища(Знач ИмяРасширения = Неопределено) Экспорт Параметры = СтандартныеПараметрыЗапускаКонфигуратора(); Параметры.Добавить("/ConfigurationRepositoryUnbindCfg -force "); - + Если ЗначениеЗаполнено(ИмяРасширения) Тогда + Параметры.Добавить("-Extension " + ИмяРасширения); + КонецЕсли; ВыполнитьКоманду(Параметры); КонецПроцедуры @@ -974,8 +981,14 @@ ПараметрыСвязиСБазой = СтандартныеПараметрыЗапускаКонфигуратора(); ПараметрыСвязиСБазой.Добавить("/UpdateDBCfg"); - Если Не ДинамическоеОбновление И Не ЗначениеЗаполнено(ИмяРасширения) Тогда - ПараметрыСвязиСБазой.Добавить("-Dynamic-"); + Если ЗначениеЗаполнено(ИмяРасширения) Тогда + ПараметрыСвязиСБазой.Добавить("-Dynamic+"); + Иначе + Если Не ДинамическоеОбновление Тогда + ПараметрыСвязиСБазой.Добавить("-Dynamic-"); + Иначе + ПараметрыСвязиСБазой.Добавить("-Dynamic+"); + КонецЕсли; КонецЕсли; Если ПредупрежденияКакОшибки Тогда @@ -985,7 +998,7 @@ ПараметрыСвязиСБазой.Добавить("-Server"); КонецЕсли; Если ЗначениеЗаполнено(ИмяРасширения) Тогда - ПараметрыСвязиСБазой.Добавить("-Extension " + ИмяРасширения); + ПараметрыСвязиСБазой.Добавить("-Extension """ + ИмяРасширения + """"); КонецЕсли; ВыполнитьКоманду(ПараметрыСвязиСБазой); @@ -1001,18 +1014,19 @@ // РежимРеструктуризации - Строка, Неопределено - рекомендуем использовать значения из РежимыРеструктуризации(). // Например, РежимыРеструктуризации().Второй // Необязательно. По Умолчанию - Неопределено. т.е. использовать режим 1С по умолчанию -// ИмяРасширения - Строка - имя расширения. Необязательно. // Процедура ОбновитьКонфигурациюБазыДанныхНаСервере( ПредупрежденияКакОшибки = Ложь, ДинамическоеОбновление = Ложь, - РежимРеструктуризации = Неопределено, - ИмяРасширения = "") Экспорт + РежимРеструктуризации = Неопределено + ) Экспорт ПараметрыСвязиСБазой = СтандартныеПараметрыЗапускаКонфигуратора(); ПараметрыСвязиСБазой.Добавить("/UpdateDBCfg"); Если Не ДинамическоеОбновление Тогда ПараметрыСвязиСБазой.Добавить("-Dynamic-"); + Иначе + ПараметрыСвязиСБазой.Добавить("-Dynamic"); КонецЕсли; Если ПредупрежденияКакОшибки Тогда @@ -1022,9 +1036,6 @@ Если ЗначениеЗаполнено(РежимРеструктуризации) Тогда ПараметрыСвязиСБазой.Добавить(РежимРеструктуризации); КонецЕсли; - Если ЗначениеЗаполнено(ИмяРасширения) Тогда - ПараметрыСвязиСБазой.Добавить("-Extension " + ИмяРасширения); - КонецЕсли; ВыполнитьКоманду(ПараметрыСвязиСБазой); @@ -2404,6 +2415,36 @@ КонецФункции +// Выполняет загрузку конфигурации расширения из хранилища, указанной версии. +// +// Параметры: +// СтрокаСоединения - Строка - Строка соединения с хранилищем расширения +// ПользовательХранилища - строка - Пользователь для подключения к хранилищу расширения +// ПарольХранилища - Строка - Пароль пользователь для подключения к хранилищу расширения +// ИмяРасширения - Строка - Имя расширения +// НомерВерсии - Число - Номер версии в истории в хранилище расширения, если 0 или меньше, то берется последняя версия. +// + +Процедура РасширениеПолучитьИзХранилища(СтрокаСоединения, ПользовательХранилища, ПарольХранилища, ИмяРасширения, НомерВерсииХранилища = 0) Экспорт + + ПараметрыСвязиСБазой = СтандартныеПараметрыЗапускаКонфигуратора(); + ПараметрыСвязиСБазой.Добавить("/ConfigurationRepositoryF """ + СтрокаСоединения + """"); + ПараметрыСвязиСБазой.Добавить("/ConfigurationRepositoryN """ + ПользовательХранилища + """"); + + Если Не ПустаяСтрока(ПарольХранилища) Тогда + ПараметрыСвязиСБазой.Добавить("/ConfigurationRepositoryP """ + ПарольХранилища + """"); + КонецЕсли; + + ПараметрыСвязиСБазой.Добавить("/ConfigurationRepositoryUpdateCfg"); + Если НомерВерсииХранилища > 0 Тогда + ПараметрыСвязиСБазой.Добавить("-v " + НомерВерсииХранилища); + КонецЕсли; + ПараметрыСвязиСБазой.Добавить("-Extension """ + ИмяРасширения + """"); + ПараметрыСвязиСБазой.Добавить("-force"); + ВыполнитьКоманду(ПараметрыСвязиСБазой); + +КонецПроцедуры + Функция ВариантОбработкиНесуществующихСсылок() Экспорт Варианты = Новый Структура;