Closed
Description
Есть расширение применяемое на разных проектах (конфигурациях). Код расширения ведется в Гите в самостоятельном репозитарии. Обновление основных конфигураций идет через скрипты, обновление расширений, пока, остается в полу-ручном режиме.
Предлагаю добавить в методы ВыгрузитьКонфигурациюВФайл и ЗагрузитьКонфигурациюИзФайлов объекта v8runner параметр указывающий расширение для Загрузки и Выгрузки.
Мне видится так:
Процедура ВыгрузитьКонфигурациюВФайл(Знач ФайлКонфигурации, Знач ИмяРасширения) Экспорт
Параметры = СтандартныеПараметрыЗапускаКонфигуратора();
Параметры.Добавить("/DumpCfg """ + ФайлКонфигурации + """");
Если ЗначениеЗаполнено(ИмяРасширения) Тогда
Параметры.Добавить(СтрШаблон("-Extension %1", ИмяРасширения));
КонецЕсли;
ВыполнитьКоманду(Параметры);
КонецПроцедуры
Процедура ЗагрузитьКонфигурациюИзФайлов(Знач КаталогЗагрузки, Знач ПутьКСпискуФайловЗагрузки = "", Знач ФорматВыгрузки = "", Знач ОбновитьФайлВерсий = Истина, Знач ИмяРасширения = "") Экспорт
Если НЕ ЗначениеЗаполнено(ФорматВыгрузки) Тогда
ФорматВыгрузки = РежимВыгрузкиКонфигурации.Иерархический;
КонецЕсли;
Параметры = СтандартныеПараметрыЗапускаКонфигуратора();
Параметры.Добавить(СтрШаблон("/LoadConfigFromFiles %1", ОбернутьВКавычки(КаталогЗагрузки)));
Если ИспользуемаяВерсияПлатформыСтаршеИлиРавна("8.3.10") Тогда
Если ОбновитьФайлВерсий Тогда
Параметры.Добавить("-updateConfigDumpInfo");
КонецЕсли;
Если ЗначениеЗаполнено(ИмяРасширения) Тогда
Параметры.Добавить(СтрШаблон("-Extension %1", ИмяРасширения));
КонецЕсли;
Если ЗначениеЗаполнено(ПутьКСпискуФайловЗагрузки) Тогда
Параметры.Добавить(СтрШаблон("-listFile %1", ОбернутьВКавычки(ПутьКСпискуФайловЗагрузки)));
Параметры.Добавить(СтрШаблон("-format %1", ФорматВыгрузки));
КонецЕсли;
КонецЕслИ;
ВыполнитьКоманду(Параметры);
КонецПроцедуры
используем следующий код для преобразования xml->cf
#использовать fs
#использовать 1commands
#использовать gitrunner
#использовать v8runner
Перем путь_к_ИБ;
Процедура ОбновитьРепозитарий(путь_к_файлам_конфигурации, ветка)
ГитРепозиторий = Новый ГитРепозиторий();
ГитРепозиторий.УстановитьРабочийКаталог(путь_к_файлам_конфигурации);
ГитРепозиторий.ПерейтиВВетку(ветка);
ГитРепозиторий.Получить();
ГитРепозиторий.ОбновитьПодмодули(Истина, Истина);
КонецПроцедуры
Процедура СоздатьФайлКонфигурации(путь_к_файлам_конфигурации, файл_конфигурации)
УправлениеКонфигуратором = Новый УправлениеКонфигуратором();
УправлениеКонфигуратором.СоздатьФайловуюБазу(путь_к_ИБ);
Сообщить(УправлениеКонфигуратором.ВыводКоманды());
// контекст может быть и не задан, тогда работа выполняется в базе, созданной в каталоге временных файлов
УправлениеКонфигуратором.УстановитьКонтекст("/F" + путь_к_ИБ, "", "");
УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайлов(путь_к_файлам_конфигурации,,,Ложь,"Сов_ОбменныйФормат");
Сообщить(УправлениеКонфигуратором.ВыводКоманды());
УправлениеКонфигуратором.ВыгрузитьКонфигурациюВФайл(файл_конфигурации,"Сов_ОбменныйФормат");
Сообщить(УправлениеКонфигуратором.ВыводКоманды());
КонецПроцедуры
путь_к_ИБ = "C:\Base\upd";
ОбновитьРепозитарий("C:\repo\sov_exchange", "dev");
СоздатьФайлКонфигурации("C:\repo\sov_exchange", "C:\repo\sov_exchange.dev.cfe");
Metadata
Metadata
Assignees
Labels
No labels