-
Notifications
You must be signed in to change notification settings - Fork 110
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
Добавлен параметр для обновления расширения из хранилища #310
base: develop
Are you sure you want to change the base?
Changes from 11 commits
aae9081
8d1f66f
080bf75
097a2b9
c6ac261
542daa0
9bc1ff5
c9a8c85
cf5f546
eb121b4
0a9c2f6
f7ea41a
9b601c6
ea00993
f71a85f
bba6879
609c4bb
c9fe26a
2dcbbdf
faf0245
b620602
00d0b07
6a4c806
f772bbe
45eb22c
b5693cb
10ea207
66fee34
837c4f2
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -25,18 +25,17 @@ | |
|
||
ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, | ||
ТекстОписания); | ||
|
||
Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "ПутьПодключаемогоХранилища", | ||
"Строка подключения к хранилищу | ||
| (возможно указание как файлового пути, так и пути через http или tcp)"); | ||
Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "Логин", "Логин пользователя хранилища 1С"); | ||
Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "Пароль", "Пароль пользователя хранилища 1С"); | ||
|
||
|
||
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--storage-name", "Строка подключения к хранилищу"); | ||
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--storage-user", "Пользователь хранилища"); | ||
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--storage-pwd", "Пароль"); | ||
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--extension", "Имя расширения, которое нужно подключить"); | ||
|
||
Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "--BindAlreadyBindedUser", | ||
" Флаг игнорирования наличия уже у пользователя уже подключенной базы данных."); | ||
Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "--NotReplaceCfg", | ||
"Флаг запрета замены конфигурации БД на конфигурацию хранилища."); | ||
|
||
Парсер.ДобавитьКоманду(ОписаниеКоманды); | ||
|
||
КонецПроцедуры // ЗарегистрироватьКоманду | ||
|
@@ -67,12 +66,17 @@ | |
|
||
ИгнорироватьНаличиеПодключеннойБД = ПараметрыКоманды["--BindAlreadyBindedUser"]; | ||
ЗаменитьКонфигурациюБД = Не ПараметрыКоманды["--NotReplaceCfg"]; | ||
|
||
ДопПараметры = ""; | ||
ИмяРасширения = ПараметрыКоманды["--extension"]; | ||
Если Не ПустаяСтрока(ИмяРасширения) Тогда | ||
ДопПараметры = "-Extension """+ИмяРасширения+""""; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. использование спрятанных доп.параметров в виде строки считаю нехорошим кодом для передачи в АПИ-функции МенеджераКонфигуратора. Предлагаю к методам
это же АПИ, его удобнее разделять. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Т.к. не сильно разбираюсь, то и не понимаю полезности разделения методов, т.к. из-за одного параметра добавленного, потом поддерживать надо уже 2 метода одного направления.
Либо, когда в командах встречается параметр ИмяРасширения, то можно вызывать в МенеджерКонфигуратора метод для Расширения. Ты это имел в виду? |
||
КонецЕсли; | ||
|
||
Попытка | ||
МенеджерКонфигуратора.ПодключитьсяКХранилищу( | ||
ПараметрыКоманды["ПутьПодключаемогоХранилища"], ПараметрыКоманды["Логин"], | ||
ПараметрыКоманды["Пароль"], | ||
ИгнорироватьНаличиеПодключеннойБД, ЗаменитьКонфигурациюБД); | ||
ПараметрыКоманды["--storage-name"], ПараметрыКоманды["--storage-user"], ПараметрыКоманды["--storage-pwd"], | ||
ИгнорироватьНаличиеПодключеннойБД, ЗаменитьКонфигурациюБД, ДопПараметры); | ||
Исключение | ||
МенеджерКонфигуратора.Деструктор(); | ||
ВызватьИсключение ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -502,36 +502,52 @@ | |
// Создать хранилище 1С | ||
// | ||
// Параметры: | ||
// ПутьХранилища - <Строка> - <описание параметра> | ||
// ЛогинАдминистратора - <Строка> - <описание параметра> | ||
// ПарольАдминистратора - <Строка> - <описание параметра> | ||
// СтрокаПодключенияХранилище - <Строка> - <описание параметра> | ||
// ПользовательХранилища - <Строка> - <описание параметра> | ||
// ПарольХранилища - <Строка> - <описание параметра> | ||
// ДополнительныеКлючиЗапуска (необязательно) - Строка - дополнительные ключи запуска Конфигуратора | ||
// | ||
Процедура ПодключитьсяКХранилищу(Знач ПутьХранилища, Знач Логин, Знач Пароль, | ||
Знач ИгнорироватьНаличиеПодключеннойБД = Ложь, | ||
Знач ЗаменитьКонфигурациюБД = Истина) Экспорт | ||
Процедура ПодключитьсяКХранилищу( | ||
Знач СтрокаПодключенияХранилище = "", Знач ПользовательХранилища="", Знач ПарольХранилища="", | ||
Знач ИгнорироватьНаличиеПодключеннойБД = Ложь, Знач ЗаменитьКонфигурациюБД = Истина, Знач ДополнительныеКлючиЗапуска = "") Экспорт | ||
|
||
Лог.Информация("Выполняю подключение к хранилищу конфигурации"); | ||
|
||
ТекущаяПроцедура = "ПодключитьсяКХранилищу"; | ||
|
||
// Ожидаем.Что(ПутьХранилища, ТекущаяПроцедура+" не задана строка подключения к хранилищу").Заполнено(); | ||
// Ожидаем.Что(ЛогинАдминистратора, ТекущаяПроцедура+" не задан пользователь хранилища").Заполнено(); | ||
Ожидаем.Что(СтрокаПодключенияХранилище, ТекущаяПроцедура+" не задана строка подключения к хранилищу").Заполнено(); | ||
Ожидаем.Что(ПользовательХранилища, ТекущаяПроцедура+" не задан пользователь хранилища").Заполнено(); | ||
|
||
Параметры = УправлениеКонфигуратором.ПолучитьПараметрыЗапуска(); | ||
|
||
КонтекстБД = УправлениеКонфигуратором.ПолучитьКонтекст(); | ||
Если Не ЗначениеЗаполнено(КонтекстБД.КлючСоединенияСБазой) Тогда | ||
Лог.Предупреждение("При подключении к хранилищу не определена БД, подключаем временную БД"); | ||
УправлениеКонфигуратором.СоздатьФайловуюБазу(КаталогВременнойИБ); | ||
УправлениеКонфигуратором.УстановитьКонтекст("/F " + КаталогВременнойИБ, "", ""); | ||
КонецЕсли; | ||
Параметры.Добавить("/ConfigurationRepositoryF """+СтрокаПодключенияХранилище+""""); | ||
Параметры.Добавить("/ConfigurationRepositoryN """+ПользовательХранилища+""""); | ||
|
||
ХранилищеКонфигурации = Новый МенеджерХранилищаКонфигурации(); | ||
ХранилищеКонфигурации.УстановитьУправлениеКонфигуратором(УправлениеКонфигуратором); | ||
ХранилищеКонфигурации.УстановитьПараметрыАвторизации(Логин, Пароль); | ||
Если Не ПустаяСтрока(ПарольХранилища) Тогда | ||
Параметры.Добавить("/ConfigurationRepositoryP """+ПарольХранилища+""""); | ||
КонецЕсли; | ||
|
||
Параметры.Добавить("/ConfigurationRepositoryBindCfg "); | ||
|
||
ХранилищеКонфигурации.УстановитьПутьКХранилищу(ПутьХранилища); | ||
Если ИгнорироватьНаличиеПодключеннойБД Тогда | ||
Параметры.Добавить("-forceBindAlreadyBindedUser "); | ||
КонецЕсли; | ||
Если ЗаменитьКонфигурациюБД Тогда | ||
Параметры.Добавить("-forceReplaceCfg "); | ||
КонецЕсли; | ||
|
||
Если Не ПустаяСтрока(ДополнительныеКлючиЗапуска) Тогда | ||
Параметры.Добавить(ДополнительныеКлючиЗапуска); | ||
Лог.Информация("Выполняю подключение к хранилищу расширения"); | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. и здесь считаю неверной проверку на хранилище расширения выполнять через закладываем мину на будущее. |
||
Иначе | ||
Лог.Информация("Выполняю подключение к хранилищу конфигурации"); | ||
КонецЕсли; | ||
|
||
Попытка | ||
ХранилищеКонфигурации.ПодключитьсяКХранилищу(ИгнорироватьНаличиеПодключеннойБД, ЗаменитьКонфигурациюБД); | ||
|
||
УправлениеКонфигуратором.ВыполнитьКоманду(Параметры); | ||
Текст = УправлениеКонфигуратором.ВыводКоманды(); | ||
Если Не ПустаяСтрока(Текст) Тогда | ||
Лог.Информация(Текст); | ||
КонецЕсли; | ||
|
||
Лог.Информация("Подключение к хранилищу конфигурации завершено"); | ||
Исключение | ||
|
@@ -551,15 +567,17 @@ | |
Процедура ОтключитьсяОтХранилища(Знач ДополнительныеКлючиЗапуска = "") Экспорт | ||
|
||
ТекущаяПроцедура = "ОтключитьсяОтХранилища"; | ||
Лог.Информация("Выполняю отключение от хранилища конфигурации"); | ||
|
||
Параметры = УправлениеКонфигуратором.ПолучитьПараметрыЗапуска(); | ||
|
||
Параметры.Добавить("/ConfigurationRepositoryUnbindCfg"); | ||
Параметры.Добавить("-force"); | ||
Параметры.Добавить("/ConfigurationRepositoryUnbindCfg "); | ||
Параметры.Добавить("-force "); | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. зачем нужны доп.пробелы в конце 2х ключей ??
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Тут перемудрил и пробелы, действительно, лишние There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Почему в МенеджерКонфигуратора.ПодключитьсяКХранилищу для подключения используется МенеджерХранилищаКонфигурации, а не сразу УправлениеКонфигуратором? |
||
|
||
Если Не ПустаяСтрока(ДополнительныеКлючиЗапуска) Тогда | ||
Параметры.Добавить(ДополнительныеКлючиЗапуска); | ||
Лог.Информация("Выполняю отключение от хранилища расширения"); | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. считаю неверной проверку на хранилище расширения выполнять через закладываем мину на будущее. |
||
Иначе | ||
Лог.Информация("Выполняю отключение от хранилища конфигурации"); | ||
КонецЕсли; | ||
|
||
Попытка | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
вот эти изменения поломают существующие команды и CI (
т.к. уходим от позиционных параметров к указанию имен.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
пока предлагаю параметры логина и пароля оставить позиционными, а имя расширения указать как именованный параметр.