mirror of
https://github.com/1C-Company/GitConverter.git
synced 2025-02-11 13:25:40 +02:00
Добавлена команда установки состояния "Версия помещена" с
предупреждением
This commit is contained in:
parent
70f5fe0235
commit
6d63bbf06e
@ -724,6 +724,35 @@
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
</items>
|
||||
<items xsi:type="form:Button">
|
||||
<name>СписокКонтекстноеМенюУстановитьСостояниеВерсияПомещена</name>
|
||||
<id>89</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>СписокКонтекстноеМенюУстановитьСостояниеВерсияПомещенаРасширеннаяПодсказка</name>
|
||||
<id>90</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>
|
||||
<commandName>Form.Command.УстановитьСостояниеВерсияПомещена</commandName>
|
||||
<representation>Auto</representation>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
</items>
|
||||
<items xsi:type="form:Button">
|
||||
<name>СписокКонтекстноеМенюСброситьСостояние</name>
|
||||
<id>87</id>
|
||||
@ -1444,6 +1473,23 @@
|
||||
</action>
|
||||
<currentRowUse>DontUse</currentRowUse>
|
||||
</formCommands>
|
||||
<formCommands>
|
||||
<name>УстановитьСостояниеВерсияПомещена</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Установить состояние "Версия помещена"</value>
|
||||
</title>
|
||||
<id>5</id>
|
||||
<use>
|
||||
<common>true</common>
|
||||
</use>
|
||||
<action xsi:type="form:FormCommandHandlerContainer">
|
||||
<handler>
|
||||
<name>УстановитьСостояниеВерсияПомещена</name>
|
||||
</handler>
|
||||
</action>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
</formCommands>
|
||||
<commandInterface>
|
||||
<navigationPanel/>
|
||||
<commandBar/>
|
||||
|
@ -1,143 +1,172 @@
|
||||
|
||||
#Область ОбработчикиСобытийФормы
|
||||
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
Если Параметры.Отбор.Свойство("Владелец") Тогда
|
||||
|
||||
Элементы.Владелец.Видимость = Ложь;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Состав.Параметры.УстановитьЗначениеПараметра("Ссылки", Справочники.ВерсииХранилища.ПустаяСсылка());
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиСобытийЭлементовШапкиФормы
|
||||
|
||||
&НаКлиенте
|
||||
Процедура СписокПриАктивизацииСтроки(Элемент)
|
||||
|
||||
Состав.Параметры.УстановитьЗначениеПараметра("Ссылки", Элементы.Список.ВыделенныеСтроки);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиКомандФормы
|
||||
|
||||
&НаКлиенте
|
||||
Процедура УстановитьСостояниеВерсияПолучена(Команда)
|
||||
|
||||
УстановитьСостояниеНаСервере(Элементы.Список.ВыделенныеСтроки, "ВерсияПолучена");
|
||||
ОповеститьОбИзмененииВыделенныеСтроки();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура УстановитьСостояниеВерсияВыгружена(Команда)
|
||||
|
||||
УстановитьСостояниеНаСервере(Элементы.Список.ВыделенныеСтроки, "ВерсияВыгружена");
|
||||
ОповеститьОбИзмененииВыделенныеСтроки();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура УстановитьСостояниеМетаданныеЗагружены(Команда)
|
||||
|
||||
УстановитьСостояниеНаСервере(Элементы.Список.ВыделенныеСтроки, "МетаданныеЗагружены");
|
||||
ОповеститьОбИзмененииВыделенныеСтроки();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура СброситьСостояние(Команда)
|
||||
|
||||
УстановитьСостояниеНаСервере(Элементы.Список.ВыделенныеСтроки, "ПустаяСсылка");
|
||||
ОповеститьОбИзмененииВыделенныеСтроки();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Процедура УстановитьСостояниеНаСервере(Знач ВыделенныеСтроки, Знач Состояние)
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(Состояние) ИЛИ ВыделенныеСтроки.Количество() = 0 Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если Состояние = "ПустаяСсылка" Тогда
|
||||
|
||||
СостояниеСсылка = Перечисления.СостоянияВерсии.ПустаяСсылка();
|
||||
|
||||
Иначе
|
||||
|
||||
СостояниеСсылка = Перечисления.СостоянияВерсии[Состояние];
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
СистемнаяИнформация = Новый СистемнаяИнформация;
|
||||
ЭтоWindowsСервер = (СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Windows_x86
|
||||
Или СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Windows_x86_64);
|
||||
|
||||
Для Каждого Ссылка Из ВыделенныеСтроки Цикл
|
||||
ВерсияОбъект = Ссылка.ПолучитьОбъект();
|
||||
УдалятьФайлы = ПроверитьНеобходимостьУдалятьФайлыВерсии(ВерсияОбъект, СостояниеСсылка);
|
||||
|
||||
ВерсияОбъект.Состояние = СостояниеСсылка;
|
||||
ВерсияОбъект.ВыгрузкаИзменений = Ложь;
|
||||
ВерсияОбъект.Записать();
|
||||
|
||||
// Зачистка файлов команд, если уже были сформированы
|
||||
Если УдалятьФайлы Тогда
|
||||
КаталогВыгрузкиВерсий = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ВерсияОбъект.Владелец, "КаталогВыгрузкиВерсий");
|
||||
КаталогВыгрузкиВерсий = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(КаталогВыгрузкиВерсий);
|
||||
|
||||
#Область ОбработчикиСобытийФормы
|
||||
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
Если Параметры.Отбор.Свойство("Владелец") Тогда
|
||||
|
||||
Элементы.Владелец.Видимость = Ложь;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Состав.Параметры.УстановитьЗначениеПараметра("Ссылки", Справочники.ВерсииХранилища.ПустаяСсылка());
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиСобытийЭлементовШапкиФормы
|
||||
|
||||
&НаКлиенте
|
||||
Процедура СписокПриАктивизацииСтроки(Элемент)
|
||||
|
||||
Состав.Параметры.УстановитьЗначениеПараметра("Ссылки", Элементы.Список.ВыделенныеСтроки);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиКомандФормы
|
||||
|
||||
&НаКлиенте
|
||||
Процедура УстановитьСостояниеВерсияПолучена(Команда)
|
||||
|
||||
УстановитьСостояниеНаСервере(Элементы.Список.ВыделенныеСтроки, "ВерсияПолучена");
|
||||
ОповеститьОбИзмененииВыделенныеСтроки();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура УстановитьСостояниеВерсияВыгружена(Команда)
|
||||
|
||||
УстановитьСостояниеНаСервере(Элементы.Список.ВыделенныеСтроки, "ВерсияВыгружена");
|
||||
ОповеститьОбИзмененииВыделенныеСтроки();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура УстановитьСостояниеМетаданныеЗагружены(Команда)
|
||||
|
||||
УстановитьСостояниеНаСервере(Элементы.Список.ВыделенныеСтроки, "МетаданныеЗагружены");
|
||||
ОповеститьОбИзмененииВыделенныеСтроки();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура УстановитьСостояниеВерсияПомещена(Команда)
|
||||
|
||||
ТекстВопроса = НСтр("ru = 'Изменения по версиям не будут отражены в репозитории.
|
||||
|Вы уверены, что необходимо установить состояние ""Версия помещена""?'");
|
||||
|
||||
ОписаниеОповещенияОЗавершении = Новый ОписаниеОповещения("УстановитьСостояниеВерсияПомещенаЗавершение", ЭтотОбъект, Неопределено);
|
||||
|
||||
Кнопки = Новый СписокЗначений();
|
||||
Кнопки.Добавить(КодВозвратаДиалога.Да, НСтр("ru = 'Уверен, установить ""Версия помещена""'"));
|
||||
Кнопки.Добавить(КодВозвратаДиалога.Отмена);
|
||||
|
||||
ПоказатьВопрос(ОписаниеОповещенияОЗавершении, ТекстВопроса, Кнопки);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
&НаКлиенте
|
||||
Процедура СброситьСостояние(Команда)
|
||||
|
||||
УстановитьСостояниеНаСервере(Элементы.Список.ВыделенныеСтроки, "ПустаяСсылка");
|
||||
ОповеститьОбИзмененииВыделенныеСтроки();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Процедура УстановитьСостояниеНаСервере(Знач ВыделенныеСтроки, Знач Состояние)
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(Состояние) ИЛИ ВыделенныеСтроки.Количество() = 0 Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если Состояние = "ПустаяСсылка" Тогда
|
||||
|
||||
СостояниеСсылка = Перечисления.СостоянияВерсии.ПустаяСсылка();
|
||||
|
||||
Иначе
|
||||
|
||||
СостояниеСсылка = Перечисления.СостоянияВерсии[Состояние];
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
СистемнаяИнформация = Новый СистемнаяИнформация;
|
||||
ЭтоWindowsСервер = (СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Windows_x86
|
||||
Или СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Windows_x86_64);
|
||||
|
||||
Для Каждого Ссылка Из ВыделенныеСтроки Цикл
|
||||
ВерсияОбъект = Ссылка.ПолучитьОбъект();
|
||||
УдалятьФайлы = ПроверитьНеобходимостьУдалятьФайлыВерсии(ВерсияОбъект, СостояниеСсылка);
|
||||
|
||||
ВерсияОбъект.Состояние = СостояниеСсылка;
|
||||
ВерсияОбъект.ВыгрузкаИзменений = Ложь;
|
||||
ВерсияОбъект.Записать();
|
||||
|
||||
// Зачистка файлов команд, если уже были сформированы
|
||||
Если УдалятьФайлы Тогда
|
||||
КаталогВыгрузкиВерсий = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ВерсияОбъект.Владелец, "КаталогВыгрузкиВерсий");
|
||||
КаталогВыгрузкиВерсий = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(КаталогВыгрузкиВерсий);
|
||||
|
||||
ИмяФайлаКомандыGit = "git_command_" + Формат(ВерсияОбъект.Код, "ЧДЦ=; ЧГ=0") + ?(ЭтоWindowsСервер, ".bat", ".sh");
|
||||
ИмяФайлКомментария = "git_comment_" + Формат(ВерсияОбъект.Код, "ЧДЦ=; ЧГ=0") + ".txt";
|
||||
Файл = Новый Файл(ИмяФайлаКомандыGit);
|
||||
ИмяФайлКомментария = "git_comment_" + Формат(ВерсияОбъект.Код, "ЧДЦ=; ЧГ=0") + ".txt";
|
||||
Файл = Новый Файл(ИмяФайлаКомандыGit);
|
||||
Если Файл.Существует() Тогда
|
||||
УдалитьФайлы(ИмяФайлаКомандыGit);
|
||||
КонецЕсли;
|
||||
Файл = Новый Файл(ИмяФайлКомментария);
|
||||
Если Файл.Существует() Тогда
|
||||
УдалитьФайлы(ИмяФайлКомментария);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОповеститьОбИзмененииВыделенныеСтроки()
|
||||
|
||||
Для Каждого Ссылка Из Элементы.Список.ВыделенныеСтроки Цикл
|
||||
ОповеститьОбИзменении(Ссылка);
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Функция ПроверитьНеобходимостьУдалятьФайлыВерсии(ВерсияОбъект, НовоеСостояние)
|
||||
|
||||
КонецЕсли;
|
||||
Файл = Новый Файл(ИмяФайлКомментария);
|
||||
Если Файл.Существует() Тогда
|
||||
УдалитьФайлы(ИмяФайлКомментария);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОповеститьОбИзмененииВыделенныеСтроки()
|
||||
|
||||
Для Каждого Ссылка Из Элементы.Список.ВыделенныеСтроки Цикл
|
||||
ОповеститьОбИзменении(Ссылка);
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Функция ПроверитьНеобходимостьУдалятьФайлыВерсии(ВерсияОбъект, НовоеСостояние)
|
||||
|
||||
Если НовоеСостояние = Перечисления.СостоянияВерсии.ПустаяСсылка() Тогда
|
||||
Возврат Истина;
|
||||
ИначеЕсли (ВерсияОбъект.Состояние = Перечисления.СостоянияВерсии.МетаданныеЗагружены
|
||||
ИЛИ ВерсияОбъект.Состояние = Перечисления.СостоянияВерсии.НачалоКоммита
|
||||
ИЛИ ВерсияОбъект.Состояние = Перечисления.СостоянияВерсии.ВерсияПомещена)
|
||||
И НовоеСостояние <> Перечисления.СостоянияВерсии.МетаданныеЗагружены Тогда
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Ложь;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
ИначеЕсли (ВерсияОбъект.Состояние = Перечисления.СостоянияВерсии.МетаданныеЗагружены
|
||||
ИЛИ ВерсияОбъект.Состояние = Перечисления.СостоянияВерсии.НачалоКоммита
|
||||
ИЛИ ВерсияОбъект.Состояние = Перечисления.СостоянияВерсии.ВерсияПомещена)
|
||||
И НовоеСостояние <> Перечисления.СостоянияВерсии.МетаданныеЗагружены Тогда
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Ложь;
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Процедура УстановитьСостояниеВерсияПомещенаЗавершение(Ответ, ДополнительныеПараметры) Экспорт
|
||||
|
||||
Если Ответ <> КодВозвратаДиалога.Да Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
УстановитьСостояниеНаСервере(Элементы.Список.ВыделенныеСтроки, "ВерсияПомещена");
|
||||
ОповеститьОбИзмененииВыделенныеСтроки();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user