#Использовать "../../lib/Помощник" Перем ПутьДляЗапуска; Перем ОпцииВызова; &Команда( Псевдоним = "make-workbase", Раздел = "Композитные команды", Подсказка = " Создание рабочей информационной базы, с получение cf из хранилища или из файла конфигурации | | Опции: | *--commit[-c] - номер закладки хранилища от которой выполняется формирование рабочей базы. | Перегружает переменную среды ```target.repo_commit``` на время вызова | *--file[-f] - путь к файлу конфиуграции, на основе которого нужно создать базу. | Если параметр указан, он перегружает переменную среды ```srt.cf.path```", Пример = "auto make-workbase", СОпциями = Истина, ИспользуетКонтекстПриложения = Истина ) Процедура Выполнение(Опции = Неопределено, ПриложениеКоманднойСтроки = Неопределено) Экспорт ПутьКПлатформе = ПолучитьПеременнуюСреды("env.platform.root"); ВерсияПлатформы = ПолучитьПеременнуюСреды("env.platform.ver"); ПутьДляЗапуска = ОбъединитьПути(ПутьКПлатформе, ВерсияПлатформы, "bin\1cv8.exe"); Хранилище = ПолучитьПеременнуюСреды("src.repo.connection"); ВерсияХранилища = ПолучитьПеременнуюСреды("target.repo_commit"); Если НЕ ЗначениеЗаполнено(ВерсияХранилища) Тогда ВерсияХранилища = 0; КонецЕсли; ВерсияХранилища = Помощник.ОдноИзЗначений( Опции, "--commit | -c", ВерсияХранилища ); ФайлКонфигурации = ПолучитьПеременнуюСреды("src.cf.path"); ФайлКонфигурации = Помощник.ОдноИзЗначений( Опции, "--file | -f", ФайлКонфигурации ); ЗагрузитьКонфигурациюИзФайла = ЗначениеЗаполнено(ФайлКонфигурации); КонвейерКоманд = Новый Массив(); КонвейерКоманд.Добавить( "create-db work.database -f" ); Если ЗагрузитьКонфигурациюИзФайла Тогда КонвейерКоманд.Добавить( СтрШаблон( "load-cf work.database ""%1"" -upd", ФайлКонфигурации ) ); Иначе КонвейерКоманд.Добавить( СтрШаблон( "load-repo work.database ""%1"" -rap=src.repo. -c=%2 -upd", Хранилище, ВерсияХранилища ) ); КонецЕсли; ПриложениеКоманднойСтроки.Интерпретировать( СтрСоединить(КонвейерКоманд, Символы.ПС) ); КонецПроцедуры