Skip to content

Commit

Permalink
feat: Обнаружение каталога ЕДТ
Browse files Browse the repository at this point in the history
  • Loading branch information
Daabramov committed Jan 2, 2025
1 parent 613baf7 commit 88813fd
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -504,17 +504,20 @@
.ТСтрока()
.ВОкружении("YARD_IB_CONNECTION");

Команда.Опция("edt convert-to-edt", Ложь, "конвертировать в едт")
Команда.Опция("edt convert-to-edt", Ложь, "конвертировать в формат 1С:EDT")
.Флаг();

Команда.Опция("edtp edt-path", "", "путь к установленной EDT, при указании параметр версии EDT игнорируется")
.ТСтрока()
.ВОкружении("YARD_EDT_PATH");

Команда.Опция("ev edt-version", "", "верcия среды 1С:Enterprise development tools для конвертации")
Команда.Опция(
"ev edt-version", "",
"верcия 1С:EDT для конвертации, при указании параметра пути к EDT значение игнорируется.
| Для версий ЕДТ от 2024.0 требуется указывать версию до 2 знаков (2024.2), ниже - до 3 знаков (2023.3.4)")
.ТСтрока()
.ВОкружении("YARD_EDT_VERSION");


Команда.Опция("edtp edt-path", "", "путь к установленной EDT")
.ТСтрока()
.ВОкружении("YARD_EDT_PATH");

Команда.Опция("rs remove-support", Ложь, "снять конфигруцию с поддержки")
.Флаг();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -358,8 +358,8 @@
КаталогВыгрузки = ОбъединитьПути(РепозитарийГит, ОтносительныйПуть);
КонецЕсли;

Если КонвертироватьВФорматЕДТ И Не ЗначениеЗаполнено(ВерсияЕДТ) Тогда
ВызватьИсключение "Требуется указать версию ЕДТ для конвертации в параметрах запуска";
Если КонвертироватьВФорматЕДТ И Не ЗначениеЗаполнено(ВерсияЕДТ) И Не ЗначениеЗаполнено(ПутьКЕДТ) Тогда
ВызватьИсключение "Требуется указать версию или путь к 1C:EDT в параметрах запуска";
КонецЕсли;

ВремФайл = Новый Файл(КаталогВыгрузки);
Expand Down Expand Up @@ -468,6 +468,7 @@
ГитРепозитарий.ПерейтиВВетку(ИмяВеткиГит, Истина);
КонецЕсли;

Лог.Информация("[%1]: Начало удаления временных файлов", ТипЗнч(ЭтотОбъект));
МенеджерВР.Удалить();

ПродолжениеОбработкиДанныхВызовМенеджера(КаталогВыгрузки);
Expand Down Expand Up @@ -552,10 +553,13 @@
.ТСтрока()
.ВОкружении("YARD_IB_CONNECTION");

Команда.Опция("edt convert-to-edt", Ложь, "конвертацировать в формат 1С:Enterprise development tools")
Команда.Опция("edt convert-to-edt", Ложь, "конвертировать в формат 1С:EDT")
.Флаг();

Команда.Опция("ev edt-version", "", "верия среды 1С:Enterprise development tools для конвертации, при указании параметра пути к EDT значение игнорируется")
Команда.Опция(
"ev edt-version", "",
"верcия 1С:EDT для конвертации, при указании параметра пути к EDT значение игнорируется.
| Для версий ЕДТ от 2024.0 требуется указывать версию до 2 знаков (2024.2), ниже - до 3 знаков (2023.3.4)")
.ТСтрока()
.ВОкружении("YARD_EDT_VERSION");

Expand Down Expand Up @@ -724,14 +728,11 @@
// в формате 1С:Enterprise development tools
// ВерсияЕДТ - Строка - верия среды 1С:Enterprise development tools для конвертации
//
Процедура СконвертироватьВФорматЕДТ(КаталогВФорматеКонфигуратора, КаталогВФорматеЕДТ, ВерсияЕДТ = Неопределено, ПутьКЕДТ = Неопределено)
Процедура СконвертироватьВФорматЕДТ(КаталогВФорматеКонфигуратора, КаталогВФорматеЕДТ, ВерсияЕДТ = Неопределено)

Лог.Информация("[%1]: Начало конвертации в формат ЕДТ", ТипЗнч(ЭтотОбъект));

ИспользоватьНовуюВерсиюCLI = Ложь;
Если ЗначениеЗаполнено(ВерсияЕДТ) Тогда
ИспользоватьНовуюВерсиюCLI = Версии.СравнитьВерсии("2023.3.5", ВерсияЕДТ) <= 0;
КонецЕсли;
ИспользоватьНовуюВерсиюCLI = ЗначениеЗаполнено(ПутьКЕДТ) Или Версии.СравнитьВерсии("2023.3.5", ВерсияЕДТ) <= 0;

Если ИспользоватьНовуюВерсиюCLI Тогда
КонвертироватьВФорматЕДТ_НоваяВерсияCLI(КаталогВФорматеКонфигуратора, КаталогВФорматеЕДТ);
Expand Down Expand Up @@ -818,10 +819,15 @@

Функция НайтиКаталогУстановкиЕДТ()
КаталогиПоУмолчанию = КаталогиУстановкиЕДТПоУмолчанию();
МаскаФайлаЗапуска = ?(ПараметрыПриложения.ЭтоWindows(), "**edtcli.exe", "**edtcli");

Для каждого Каталог Из КаталогиПоУмолчанию Цикл
Файл = Новый Файл(Каталог);
Если Не Файл.существует() Тогда
Продолжить;
КонецЕсли;
НайденныеКаталоги = НайтиФайлы(Каталог, СтрШаблон("*%1*", ВерсияЕДТ));
Если ЗначениеЗаполнено(НайденныеКаталоги) Тогда
МаскаФайлаЗапуска = ?(ПараметрыПриложения.ЭтоWindows(), "**edtcli.exe", "**edtcli");
ФайлыЗапуска = НайтиФайлы(НайденныеКаталоги[0].ПолноеИмя, МаскаФайлаЗапуска, Истина);
Если ЗначениеЗаполнено(ФайлыЗапуска) Тогда
Лог.Информация("[%1]: Найдена установленная версия ЕДТ: %2", ТипЗнч(ЭтотОбъект), ФайлыЗапуска[0].Путь);
Expand All @@ -838,7 +844,6 @@
СистемнаяИнформация = Новый СистемнаяИнформация();
Массив = Новый Массив();
Если ПараметрыПриложения.ЭтоWindows() Тогда

Массив.Добавить(ОбъединитьПути(СистемнаяИнформация.ПолучитьПутьПапки(СпециальнаяПапка.ЛокальныйКаталогДанныхПриложений), "1C\1cedtstart\installations"));
Массив.Добавить("C:\Program Files\1C\1CE\components");
Иначе
Expand Down

0 comments on commit 88813fd

Please sign in to comment.