1
0
mirror of https://github.com/1C-Company/GitConverter.git synced 2025-03-29 21:47:04 +02:00

Выбор версии EDT CLI

This commit is contained in:
KovAlexey 2024-12-13 15:34:26 +10:00
parent 32f0e306a8
commit c6db7363b0
5 changed files with 118 additions and 30 deletions

View File

@ -569,6 +569,60 @@
</inputHint>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>ВерсияEDTCLI</name>
<id>220</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Объект.ВерсияEDTCLI</segments>
</dataPath>
<extendedTooltip>
<name>ВерсияEDTCLIРасширеннаяПодсказка</name>
<id>222</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ВерсияEDTCLIКонтекстноеМеню</name>
<id>221</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<inputHint>
<key>ru</key>
<value>Текущая</value>
</inputHint>
</extInfo>
</items>
<items xsi:type="form:Button">
<name>ПроверитьДоступнуюВерсиюEDT</name>
<id>168</id>

View File

@ -159,7 +159,6 @@
КонецПроцедуры
&НаКлиенте
Процедура ТипХранилищаПриИзменении(Элемент)
@ -167,6 +166,11 @@
КонецПроцедуры
&НаКлиенте
Процедура ИспользуетсяCLIПриИзменении(Элемент)
УстановитьВидимостьВерсииEDT();
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
@ -440,18 +444,24 @@
КонецПроцедуры
&НаКлиенте
Процедура ИспользуетсяCLIПриИзменении(Элемент)
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьВидимостьВерсииEDT(Форма)
&НаСервере
Процедура УстановитьВидимостьВерсииEDT()
Если Не ПолучитьФункциональнуюОпцию("ИспользоватьНесколькоВерсийEDT") Тогда
Возврат;
КонецЕсли;
Если Объект.ИспользуетсяCLI Тогда
ПоказыватьВыборВерсииEDTCLI = Истина;
Иначе
ПоказыватьВыборВерсииEDTCLI = Ложь;
КонецЕсли;
Элементы.ВерсияEDTCLI.Видимость = ПоказыватьВыборВерсииEDTCLI;
Элементы.ВерсияEDT.Видимость = НЕ ПоказыватьВыборВерсииEDTCLI;
КонецПроцедуры
@ -710,6 +720,7 @@
Элементы.ВерсияПлатформы.ПодсказкаВвода = СисИнфо.ВерсияПриложения;
УстановитьДоступность(ЭтаФорма);
УстановитьВидимостьВерсииEDT();
КонецПроцедуры

View File

@ -862,6 +862,21 @@
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="cd5d26c1-db61-44fa-b213-bf32fc489f2b">
<name>ВерсияEDTCLI</name>
<synonym>
<key>ru</key>
<value>Версия EDTCLI</value>
</synonym>
<type>
<types>CatalogRef.ВерсииEDT</types>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<forms uuid="6cc206d4-d733-4a4a-8ed2-adf76440f6af">
<name>ФормаЭлемента</name>
<synonym>

View File

@ -1080,6 +1080,9 @@
// * ФайлПараметровПакетнойОперации - Строка -
// * ИмяФайлаЛога - Строка -
// * ИмяФайлаРезультатов - Строка -
// * ИспользуетсяCLI - Булево
// * ВерсияEDTCLI - СправочникСсылка.ВерсииEDT -
// * ПутьКCLI - Строка -
//
Функция ПолучитьПараметрыОбработкиВерсии(Знач ВерсияХранилища) Экспорт
@ -1091,9 +1094,17 @@
Параметры = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Хранилище, "КаталогВыгрузкиВерсий, ВерсияПлатформы,
|МинимальноеКоличествоМетаданных, УдалятьКонфигурацииПоставщиков, ВыгружатьИзменения,
|КонвертироватьВФорматEDT, ИмяПроектаEDT, ВерсияEDT, ОтключитьЛогирование");
|КонвертироватьВФорматEDT, ИмяПроектаEDT, ВерсияEDT, ОтключитьЛогирование,
|ИспользуетсяCLI, ВерсияEDTCLI");
ОбщегоНазначенияКлиентСервер.ДополнитьСтруктуру(Параметры, РеквизитыВерсии);
Если ЗначениеЗаполнено(Параметры.ВерсияEDTCLI) Тогда
ПутьКCLI = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Параметры.ВерсияEDTCLI, "ПутьКCLI");
Иначе
ПутьКCLI = "";
КонецЕсли;
Параметры.Вставить("ПутьКCLI", ПутьКCLI);
КлючОперации = Строка(Хранилище.УникальныйИдентификатор()) + "_"
+ Строка(ВерсияХранилища.УникальныйИдентификатор()) + "_2";
@ -1460,22 +1471,11 @@
НомераВерсии = СтрРазделить(Параметры.ВерсияПлатформы, ".");
НомераВерсии.Удалить(НомераВерсии.ВГраница());
ВерсияПроектаEDT = СтрСоединить(НомераВерсии, ".");
НомераВерсииEDT = СтрРазделить(Параметры.ВерсияEDT, ".");
Если НомераВерсииEDT.Количество() = 0 Тогда
ВызватьИсключение "Не указана версия EDT";
КонецЕсли;
Попытка
МажорнаяВерсияEDTЧислом = Число(НомераВерсииEDT[0]);
Исключение
ВызватьИсключение;
КонецПопытки;
Если МажорнаяВерсияEDTЧислом <= 2023 Тогда
ИмпортироватьВерсиюВEDTRing(Параметры, ВерсияПроектаEDT, ЭтоWindowsСервер);
Иначе
Если Параметры.ИспользуетсяCLI Тогда
ИмпортироватьВерсиюВEDTCLI(Параметры, ВерсияПроектаEDT, ЭтоWindowsСервер);
Иначе
ИмпортироватьВерсиюВEDTRing(Параметры, ВерсияПроектаEDT, ЭтоWindowsСервер);
КонецЕсли;
@ -1509,30 +1509,37 @@
// ЭтоWindowsСервер - Булево - Это windows сервер
Процедура ИмпортироватьВерсиюВEDTCLI(Параметры, ВерсияПроектаEDT, ЭтоWindowsСервер)
СтрокаКоманды = "1cedtcli.exe -data %РабочийКаталог% -command import %БазовыйПроект% --project ""%КаталогПроектаEDT%"" --configuration-files ""%КаталогФайловКонфигурации%"" ";
СтрокаКоманды = "1cedtcli -data %РабочийКаталог% -command import %БазовыйПроект% --project ""%КаталогПроектаEDT%"" --configuration-files ""%КаталогФайловКонфигурации%"" ";
УстановитьВерсиюEDT(СтрокаКоманды, Параметры.ВерсияEDT);
Если Не ПустаяСтрока(Параметры.ПутьКCLI) Тогда
СтрокаКоманды = СтрЗаменить(СтрокаКоманды, "1cedtcli", Параметры.ПутьКCLI);
КонецЕсли;
Если Параметры.Свойство("ИмяФайлаЛога") И ЗначениеЗаполнено(Параметры.ИмяФайлаЛога) Тогда
СтрокаКоманды = СтрокаКоманды + " >> ""%ИмяФайлаЛога%"" 2>&1";
СтрокаКоманды = СтрЗаменить(СтрокаКоманды, "%ИмяФайлаЛога%", Параметры.ИмяФайлаЛога);
КонецЕсли;
Если Прав(Параметры.РабочийКаталогEDT, 1) = ПолучитьРазделительПути() Тогда
СтрокаКоманды = СтрЗаменить(СтрокаКоманды, "%РабочийКаталог%", Лев(Параметры.РабочийКаталогEDT, СтрДлина(Параметры.РабочийКаталогEDT)-1));
Иначе
СтрокаКоманды = СтрЗаменить(СтрокаКоманды, "%РабочийКаталог%", Параметры.РабочийКаталогEDT);
КонецЕсли;
Если Прав(Параметры.КаталогФайловКонфигурации, 1) = ПолучитьРазделительПути() Тогда
СтрокаКоманды = СтрЗаменить(СтрокаКоманды, "%КаталогФайловКонфигурации%", Лев(Параметры.КаталогФайловКонфигурации, СтрДлина(Параметры.КаталогФайловКонфигурации)-1));
Иначе
СтрокаКоманды = СтрЗаменить(СтрокаКоманды, "%КаталогФайловКонфигурации%", Параметры.КаталогФайловКонфигурации);
КонецЕсли;
Если Прав(Параметры.КаталогПроекта, 1) = ПолучитьРазделительПути() Тогда
СтрокаКоманды = СтрЗаменить(СтрокаКоманды, "%КаталогПроектаEDT%", Лев(Параметры.КаталогПроекта, СтрДлина(Параметры.КаталогПроекта)-1));
Иначе
СтрокаКоманды = СтрЗаменить(СтрокаКоманды, "%КаталогПроектаEDT%", Параметры.КаталогПроекта);
КонецЕсли;
СтрокаКоманды = СтрЗаменить(СтрокаКоманды, "%ВерсияПроектаEDT%", ВерсияПроектаEDT);
Если Параметры.Свойство("ТипХранилища") И Параметры.ТипХранилища = Перечисления.ТипыХранилищаКонфигураций.Расширение Тогда
СтрокаКоманды = СтрЗаменить(СтрокаКоманды, "%БазовыйПроект%", "--base-project-name """ + Параметры.БазовыйПроект + """");
Иначе
@ -1549,8 +1556,8 @@
КонецЕсли;
КодВозврата = Неопределено;
ЗапуститьПриложение(?(ЭтоWindowsСервер, "cmd /C ", "")
+ СтрокаКоманды, Параметры.КаталогВременныхФайлов, Истина, КодВозврата);
СтрокаКоманды = ?(ЭтоWindowsСервер, "cmd /C ", "") + СтрокаКоманды;
ЗапуститьПриложение(СтрокаКоманды, Параметры.КаталогВременныхФайлов, Истина, КодВозврата);
ДобавитьЗаписьВЛог(Параметры, НСтр("ru='Окончание импорта в 1C:EDT'"), "Код возврата: "
+ ?(КодВозврата = Неопределено, "Неопределено", КодВозврата));

View File

@ -9,4 +9,5 @@
<privilegedGetMode>true</privilegedGetMode>
<content>Catalog.ХранилищаКонфигураций.Attribute.ВерсияEDT</content>
<content>DataProcessor.КонвертацияВФорматEDT.Attribute.ВерсияEDT</content>
<content>Catalog.ХранилищаКонфигураций.Attribute.ВерсияEDTCLI</content>
</mdclass:FunctionalOption>