Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Работа с хранилищем расширения #148 #150

Merged
merged 5 commits into from
Dec 1, 2022
Merged
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
69 changes: 55 additions & 14 deletions src/v8runner.os
Original file line number Diff line number Diff line change
Expand Up @@ -416,7 +416,7 @@
КонецПроцедуры // УстановитьМеткуДляВерсииВХранилище()


// Выполняет подключение ранее неподключенной информационной базы к хранилищу конфигурации.
// Выполняет подключение ранее неподключенной информационной базы (конфигурации/расширения) к хранилищу конфигурации/расширения.
//
// Параметры:
// СтрокаСоединения - Строка - Строка соединения с хранилищем конфигурации
Expand All @@ -426,13 +426,15 @@
// Выполняет подключение даже в том случае, если для данного пользователя уже есть конфигурация, связанная с данным хранилищем..
// ЗаменитьКонфигурациюБД - Булево - Флаг замены конфигурации БД на конфигурацию хранилища (По умолчанию Истина)
// Если конфигурация непустая, данный ключ подтверждает замену конфигурации на конфигурацию из хранилища.
// ИмяРасширения - Строка - Имя расширения
//
Процедура ПодключитьсяКХранилищу(Знач СтрокаСоединения,
Знач ПользовательХранилища,
Знач ПарольХранилища = "",
Знач ИгнорироватьНаличиеПодключеннойБД = Ложь,
Знач ЗаменитьКонфигурациюБД = Истина
) Экспорт
Знач ЗаменитьКонфигурациюБД = Истина,
Знач ИмяРасширения = Неопределено
) Экспорт
Параметры = СтандартныеПараметрыЗапускаКонфигуратора();

Параметры.Добавить("/ConfigurationRepositoryF """+СтрокаСоединения + """");
Expand All @@ -450,14 +452,19 @@
Если ЗаменитьКонфигурациюБД Тогда
Параметры.Добавить("-forceReplaceCfg ");
КонецЕсли;
Если ЗначениеЗаполнено(ИмяРасширения) Тогда
Параметры.Добавить("-Extension " + ИмяРасширения);
КонецЕсли;

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

Процедура ОтключитьсяОтХранилища() Экспорт
Процедура ОтключитьсяОтХранилища(Знач ИмяРасширения = Неопределено) Экспорт
Параметры = СтандартныеПараметрыЗапускаКонфигуратора();
Параметры.Добавить("/ConfigurationRepositoryUnbindCfg -force ");

Если ЗначениеЗаполнено(ИмяРасширения) Тогда
Параметры.Добавить("-Extension " + ИмяРасширения);
КонецЕсли;
ВыполнитьКоманду(Параметры);
КонецПроцедуры

Expand Down Expand Up @@ -974,8 +981,14 @@

ПараметрыСвязиСБазой = СтандартныеПараметрыЗапускаКонфигуратора();
ПараметрыСвязиСБазой.Добавить("/UpdateDBCfg");
Если Не ДинамическоеОбновление И Не ЗначениеЗаполнено(ИмяРасширения) Тогда
ПараметрыСвязиСБазой.Добавить("-Dynamic-");
Если ЗначениеЗаполнено(ИмяРасширения) Тогда
ПараметрыСвязиСБазой.Добавить("-Dynamic+");
Иначе
Если Не ДинамическоеОбновление Тогда
ПараметрыСвязиСБазой.Добавить("-Dynamic-");
Иначе
ПараметрыСвязиСБазой.Добавить("-Dynamic+");
КонецЕсли;
КонецЕсли;

Если ПредупрежденияКакОшибки Тогда
Expand All @@ -985,7 +998,7 @@
ПараметрыСвязиСБазой.Добавить("-Server");
КонецЕсли;
Если ЗначениеЗаполнено(ИмяРасширения) Тогда
ПараметрыСвязиСБазой.Добавить("-Extension " + ИмяРасширения);
ПараметрыСвязиСБазой.Добавить("-Extension """ + ИмяРасширения + """");
КонецЕсли;

ВыполнитьКоманду(ПараметрыСвязиСБазой);
Expand All @@ -1001,18 +1014,19 @@
// РежимРеструктуризации - Строка, Неопределено - рекомендуем использовать значения из РежимыРеструктуризации().
// Например, РежимыРеструктуризации().Второй
// Необязательно. По Умолчанию - Неопределено. т.е. использовать режим 1С по умолчанию
// ИмяРасширения - Строка - имя расширения. Необязательно.
//
Процедура ОбновитьКонфигурациюБазыДанныхНаСервере(
ПредупрежденияКакОшибки = Ложь,
ДинамическоеОбновление = Ложь,
РежимРеструктуризации = Неопределено,
ИмяРасширения = "") Экспорт
РежимРеструктуризации = Неопределено
) Экспорт

ПараметрыСвязиСБазой = СтандартныеПараметрыЗапускаКонфигуратора();
ПараметрыСвязиСБазой.Добавить("/UpdateDBCfg");
Если Не ДинамическоеОбновление Тогда
ПараметрыСвязиСБазой.Добавить("-Dynamic-");
Иначе
ПараметрыСвязиСБазой.Добавить("-Dynamic");
КонецЕсли;

Если ПредупрежденияКакОшибки Тогда
Expand All @@ -1022,9 +1036,6 @@
Если ЗначениеЗаполнено(РежимРеструктуризации) Тогда
ПараметрыСвязиСБазой.Добавить(РежимРеструктуризации);
КонецЕсли;
Если ЗначениеЗаполнено(ИмяРасширения) Тогда
ПараметрыСвязиСБазой.Добавить("-Extension " + ИмяРасширения);
КонецЕсли;

ВыполнитьКоманду(ПараметрыСвязиСБазой);

Expand Down Expand Up @@ -2404,6 +2415,36 @@

КонецФункции

// Выполняет загрузку конфигурации расширения из хранилища, указанной версии.
//
// Параметры:
// СтрокаСоединения - Строка - Строка соединения с хранилищем расширения
// ПользовательХранилища - строка - Пользователь для подключения к хранилищу расширения
// ПарольХранилища - Строка - Пароль пользователь для подключения к хранилищу расширения
// ИмяРасширения - Строка - Имя расширения
// НомерВерсии - Число - Номер версии в истории в хранилище расширения, если 0 или меньше, то берется последняя версия.
//

Процедура РасширениеПолучитьИзХранилища(СтрокаСоединения, ПользовательХранилища, ПарольХранилища, ИмяРасширения, НомерВерсииХранилища = 0) Экспорт

ПараметрыСвязиСБазой = СтандартныеПараметрыЗапускаКонфигуратора();
ПараметрыСвязиСБазой.Добавить("/ConfigurationRepositoryF """ + СтрокаСоединения + """");
ПараметрыСвязиСБазой.Добавить("/ConfigurationRepositoryN """ + ПользовательХранилища + """");

Если Не ПустаяСтрока(ПарольХранилища) Тогда
ПараметрыСвязиСБазой.Добавить("/ConfigurationRepositoryP """ + ПарольХранилища + """");
КонецЕсли;

ПараметрыСвязиСБазой.Добавить("/ConfigurationRepositoryUpdateCfg");
Если НомерВерсииХранилища > 0 Тогда
ПараметрыСвязиСБазой.Добавить("-v " + НомерВерсииХранилища);
КонецЕсли;
ПараметрыСвязиСБазой.Добавить("-Extension """ + ИмяРасширения + """");
ПараметрыСвязиСБазой.Добавить("-force");
laptev-av marked this conversation as resolved.
Show resolved Hide resolved
ВыполнитьКоманду(ПараметрыСвязиСБазой);

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

Функция ВариантОбработкиНесуществующихСсылок() Экспорт

Варианты = Новый Структура;
Expand Down