1
0
mirror of https://github.com/1C-Company/GitConverter.git synced 2025-03-17 20:57:48 +02:00

Рефакторинг формы настройки хранилища

This commit is contained in:
Dmitriy Marmyshev 2020-11-16 13:39:58 +03:00
parent fcd2eb6e9d
commit 24dba04af0
12 changed files with 4138 additions and 2760 deletions

View File

@ -0,0 +1,3 @@
#Translations for: src/Catalogs/ХранилищаКонфигураций/Forms/ФормаЭлемента/Attributes/ПользователиХранилища/ExtInfo/ListSettings.dcss
ConditionalAppearance.Items.0.Presentation.Content=Not filled email

View File

@ -1,6 +1,7 @@
#Translations for: src/Catalogs/ХранилищаКонфигураций/Forms/ФормаЭлемента/Form.form
Attribute.АвтообновлениеСостоянияЗадания.Title=Auto-update job status
Attribute.ВариантGit.Title=Git repository on
Attribute.ВсегоВерсий.Title=All versions
Attribute.ИмяФайлаЛога.Title=Log file name
Attribute.КоличествоВерсийОбработано.Title=The number of versions processed
@ -26,13 +27,23 @@ Command.ОбновлятьСостояниеАвтоматически.ToolTip=R
Command.ПроверитьДоступКРепозиториюGit.Title=Check access to Git repository
Command.ПроверитьДоступКРепозиториюGit.ToolTip=Check access to the git server repository on the 1C enterprise server on behalf of the user running the 1C server.
Command.ПроверитьДоступнуюВерсиюEDT.Title=Check available version of 1C\:EDT
Command.СоздатьРепозиторийGit.Title=Create git repository
Command.СоздатьРепозиторийGit.Title=Create Git repository
Command.СоздатьРепозиторийGit.ToolTip=Create git repository and set initial settings
Command.УстановитьАдресРепозиторияGit.Title=Set address of Git repository
Command.УстановитьАдресРепозиторияGit.ToolTip=Set the address of the server Git repository to the local copy of repository. This will get data from the server (git fetch) and attempt to set up tracking of the local branch to the server/remote branch.
Item.Адрес.InputHint=Address or directory of the file system
Item.АдресРепозиторияGit.InputHint=http, https or ssh address for the repository on the Git server
Item.ВерсияEDT.InputHint=1.9.4
Item.БазовыйПроект.InputHint=Project name in EDT
Item.ВариантGit.ChoiceList.0.Presentation=Server
Item.ВариантGit.ChoiceList.1.Presentation=Local disk
Item.ВариантИспользованияОчередей.ToolTip=Will be used only for the current store. Shared queue handle of the versions of the repository in order of creation date.
Item.ВариантРасписания.ChoiceList.0.Presentation=Disabled
Item.ВариантРасписания.ChoiceList.1.Presentation=Every 5 min
Item.ВариантРасписания.ChoiceList.2.Presentation=Every 30 min
Item.ВариантРасписания.ChoiceList.3.Presentation=Every 60 min
Item.ВариантРасписания.ChoiceList.4.Presentation=Every 2 hours
Item.ВариантРасписания.ChoiceList.5.Presentation=Preriodically\:
Item.ВерсияEDT.InputHint=2020.6.0
Item.ВерсияВGit.Title=Version
Item.ВерсияВGitКоличествоМетаданных.Title=Quantity in curr. version
Item.ВсегоВерсий.Title=Total
@ -54,8 +65,10 @@ Item.ИмяВетки.InputHint=Load branches from the server or create a new on
Item.ИмяВетки.ToolTip=In Git repository, the main branch is called master. If the repository is published on the server (synced with the server), request a list of branches created in the repository by clicking the <- button. If the required branch is missing on the server or the repository is empty, specify the name of the branch that will be created.
Item.ИмяПользователяХранилища.Title=Username
Item.ИмяПроектаEDT.InputHint=Subdirectory where the EDT project is located
Item.ИмяФайлаЛога.Title=Log
Item.ИмяФайлаЛога.Title=Log of getting new versions
Item.ИмяФайлаЛога.ToolTip=The log file connect to the store, read the list of versions. Log the processing of each version you can open and form the appropriate version.
Item.ИспользованиеGitLFS.ChoiceList.0.Presentation=Use
Item.ИспользованиеGitLFS.ChoiceList.1.Presentation=Do not use
Item.КаталогВыгрузкиВРепозитории.InputHint=
Item.КаталогВыгрузкиВерсий.InputHint=The shared directory in which will download all versions
Item.КоличествоВерсийОбработано.Title=Prepared
@ -68,6 +81,11 @@ Item.ПарольСервераGit.Title=Password
Item.ПользовательСервераGit.InputHint=User to access the Git server
Item.ПользовательСервераGit.Title=User
Item.ПроверитьДоступКРепозиториюGit.Title=Check access...
Item.РежимКонвертацииВерсий.ChoiceList.0.Presentation=All
Item.РежимКонвертацииВерсий.ChoiceList.1.Presentation=Begin from selected
Item.РежимКонвертацииВерсий.ChoiceList.2.Presentation=Repository restrictions
Item.РежимКонвертацииВерсий.ChoiceList.3.Presentation=Restrictions
Item.РежимКонвертацииВерсий.Title=Convert versions
Item.СредняяСкорость.Title=The overall rate PCs/hour
Item.СредняяСкоростьЗаСутки.Title=Current speed, pieces/hour
Item.СредняяСкоростьЗаСутки.ToolTip=The current average speed for the day, units/hour

View File

@ -43,3 +43,5 @@ Method.УстановитьАдресРепозиторияGit.NStr.Ошибка
Method.УстановитьАдресРепозиторияGit.NStr.Понимаю,\ установить\ адрес\ сервера\!.Lines=Understand, set the server address\!
Method.УстановитьАдресРепозиторияGit.Var.ТекстВопроса.NStr.Ветка\ %1\ существует\ на\ сервере\.\ При\ отправке\ изменений\ могут\ возникнуть\ конфилкты,\ которые\ необходимо\ будет\ разрешить\ вручную\.\nУстановить\ адрес\ сервера?.Lines=The %1 branch exists on the server. When pushing changes, conflicts may occur that need to be resolved manually.\nSet the server address?
Method.УстановитьАдресРепозиторияGitОтвет.NStr.Лог\ операции.Lines=Operation log
Method.УстановитьДоступность.NStr.Начиная\ с\ версии.Lines=Begin from version
Method.УстановитьДоступность.NStr.Первая\ версия.Lines=First version

View File

@ -9,8 +9,9 @@ Attribute.ВерсияEDT.Synonym=EDT Version
Attribute.ВерсияEDT.ToolTip=Component ring, if on the conversion server storage have multiple versions of EDT requires the explicit version. After specifying the versions in all the teams ring the edt will be installed version number.
Attribute.ВерсияВGit.Synonym=VersionInGit
Attribute.ВерсияВGit.ToolTip=Version placed in a Git repository.
Attribute.ВерсияПлатформы.Synonym=Platform version
Attribute.ВерсияПлатформы.ToolTip=If not specified, uses the current platform version of the 1C\:Enterprise server .
Attribute.ВерсияПлатформыВыгрузки.Synonym=Platform version
Attribute.ВерсияПлатформыВыгрузки.ToolTip=If not specified, uses the current platform version of the 1C\:Enterprise server .
Attribute.ВерсияПроектаEDT.Synonym=EDT Project version
Attribute.ВыгружатьИзменения.Synonym=Import changes
Attribute.ВыгружатьИзменения.ToolTip=Starting with platform 8.3.10 it is possible to use the unloading of the changes between versions - this can significantly speed up conversion. For versions platform 8.3.15 below, you must use the "run Queue" with this option.
Attribute.ВыполнятьКоммиты.Synonym=Run commit
@ -29,8 +30,6 @@ Attribute.КаталогВыгрузкиВРепозитории.ToolTip=
Attribute.КаталогВыгрузкиВерсий.Synonym=Version dump directory
Attribute.КоличествоКоммитов.Synonym=The number of commits
Attribute.КоличествоКоммитов.ToolTip=The number of commits per session background process, if 0 is specified, no restrictions.
Attribute.КонвертироватьВФорматEDT.Synonym=Convert into EDTFormat
Attribute.КонвертироватьВФорматEDT.ToolTip=It is recommended to use the conversion in format 1C\:EDT. To switch outdated processing settings use the "Convert to format EDT"
Attribute.ЛокальныйКаталогGit.Synonym=Git local directory
Attribute.МаксимальноеКоличествоПодготавливаемыхВерсий.Synonym=Maximum number of preparing versions
Attribute.МаксимальноеКоличествоПодготавливаемыхВерсий.ToolTip=The number of versions that can be prepared in advance before the commit. If not specified, no restrictions.

View File

@ -252,7 +252,7 @@
</userVisible>
<dataPath xsi:type="form:MultiLanguageDataPath">
<paths xsi:type="form:DataPath">
<segments>Список.ВерсияПлатформы</segments>
<segments>Список.ВерсияПлатформыВыгрузки</segments>
</paths>
</dataPath>
<extendedTooltip>
@ -663,41 +663,41 @@
</notDefaultUseAlwaysAttributes>
<main>true</main>
<extInfo xsi:type="form:DynamicListExtInfo">
<queryText>ВЫБРАТЬ &#xD;
ХранилищаКонфигураций.Ссылка, &#xD;
ХранилищаКонфигураций.ПометкаУдаления, &#xD;
ХранилищаКонфигураций.Наименование, &#xD;
ХранилищаКонфигураций.Адрес, &#xD;
ХранилищаКонфигураций.ВерсияПлатформы, &#xD;
ХранилищаКонфигураций.РегламентноеЗадание, &#xD;
ХранилищаКонфигураций.КаталогВыгрузкиВерсий, &#xD;
ХранилищаКонфигураций.ИмяПользователяХранилища, &#xD;
ХранилищаКонфигураций.ПарольПользователяХранилища, &#xD;
ХранилищаКонфигураций.ВерсияВGit, &#xD;
ХранилищаКонфигураций.ЛокальныйКаталогGit, &#xD;
ХранилищаКонфигураций.УдалятьВременныеДанныеВерсииПослеКоммита, &#xD;
ХранилищаКонфигураций.ПерваяВерсия, &#xD;
ХранилищаКонфигураций.ПоследняяВерсия, &#xD;
ХранилищаКонфигураций.АдресРепозиторияGit, &#xD;
ХранилищаКонфигураций.ПользовательСервераGit, &#xD;
ХранилищаКонфигураций.ПарольСервераGit, &#xD;
ХранилищаКонфигураций.ВыполнятьКоммиты, &#xD;
ХранилищаКонфигураций.МаксимальноеКоличествоПодготавливаемыхВерсий, &#xD;
ХранилищаКонфигураций.ИмяВетки, &#xD;
ХранилищаКонфигураций.МинимальноеКоличествоМетаданных, &#xD;
ХранилищаКонфигураций.ОбрабатыватьВсеОчереди, &#xD;
ХранилищаКонфигураций.ЗапретитьИспользованиеОбщихОчередей, &#xD;
ХранилищаКонфигураций.КоличествоКоммитов, &#xD;
ХранилищаКонфигураций.РазрешитьПомещатьАнонимноЕслиНеНайденПользователь, &#xD;
ХранилищаКонфигураций.ИмяПроектаEDT, &#xD;
ХранилищаКонфигураций.УдалятьКонфигурацииПоставщиков, &#xD;
ХранилищаКонфигураций.ВыгружатьИзменения, &#xD;
ХранилищаКонфигураций.Описание, &#xD;
ХранилищаКонфигураций.КонвертироватьВФорматEDT, &#xD;
ЛОЖЬ КАК КонвертироватьПоРасписанию&#xD;
ИЗ &#xD;
Справочник.ХранилищаКонфигураций&#xD;
КАК &#xD;
<queryText>ВЫБРАТЬ
ХранилищаКонфигураций.Ссылка,
ХранилищаКонфигураций.ПометкаУдаления,
ХранилищаКонфигураций.Наименование,
ХранилищаКонфигураций.Адрес,
ХранилищаКонфигураций.ВерсияПлатформыВыгрузки,
ХранилищаКонфигураций.РегламентноеЗадание,
ХранилищаКонфигураций.КаталогВыгрузкиВерсий,
ХранилищаКонфигураций.ИмяПользователяХранилища,
ХранилищаКонфигураций.ПарольПользователяХранилища,
ХранилищаКонфигураций.ВерсияВGit,
ХранилищаКонфигураций.ЛокальныйКаталогGit,
ХранилищаКонфигураций.УдалятьВременныеДанныеВерсииПослеКоммита,
ХранилищаКонфигураций.ПерваяВерсия,
ХранилищаКонфигураций.ПоследняяВерсия,
ХранилищаКонфигураций.АдресРепозиторияGit,
ХранилищаКонфигураций.ПользовательСервераGit,
ХранилищаКонфигураций.ПарольСервераGit,
ХранилищаКонфигураций.ВыполнятьКоммиты,
ХранилищаКонфигураций.МаксимальноеКоличествоПодготавливаемыхВерсий,
ХранилищаКонфигураций.ИмяВетки,
ХранилищаКонфигураций.МинимальноеКоличествоМетаданных,
ХранилищаКонфигураций.ОбрабатыватьВсеОчереди,
ХранилищаКонфигураций.ЗапретитьИспользованиеОбщихОчередей,
ХранилищаКонфигураций.КоличествоКоммитов,
ХранилищаКонфигураций.РазрешитьПомещатьАнонимноЕслиНеНайденПользователь,
ХранилищаКонфигураций.ИмяПроектаEDT,
ХранилищаКонфигураций.УдалятьКонфигурацииПоставщиков,
ХранилищаКонфигураций.ВыгружатьИзменения,
ХранилищаКонфигураций.Описание,
ХранилищаКонфигураций.КонвертироватьВФорматEDT,
ЛОЖЬ КАК КонвертироватьПоРасписанию
ИЗ
Справочник.ХранилищаКонфигураций
КАК
ХранилищаКонфигураций</queryText>
<mainTable>Catalog.ХранилищаКонфигураций</mainTable>
<dynamicDataRead>true</dynamicDataRead>

View File

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<Settings xmlns="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core">
<conditionalAppearance>
<item>
<selection>
<item>
<field>Email</field>
</item>
<item>
<field>Имя</field>
</item>
<item>
<field>Пользователь</field>
</item>
</selection>
<filter>
<item xsi:type="FilterItemComparison">
<left xsi:type="dcscor:Field">Email</left>
<comparisonType>NotFilled</comparisonType>
<right xsi:type="xs:string"/>
</item>
</filter>
<appearance>
<dcscor:item xsi:type="SettingsParameterValue">
<dcscor:parameter>ЦветФона</dcscor:parameter>
<dcscor:value xsi:type="v8ui:Color">style:SpecialTextColor</dcscor:value>
</dcscor:item>
</appearance>
<presentation xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Не заполнен email</v8:content>
</v8:item>
</presentation>
</item>
</conditionalAppearance>
</Settings>

View File

@ -12,6 +12,8 @@
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ПользователиХранилища.Параметры.УстановитьЗначениеПараметра("Хранилище", Объект.Ссылка);
Если НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда
ПриЧтенииСозданииНаСервере();
@ -19,12 +21,13 @@
КонецЕсли;
СисИнфо = Новый СистемнаяИнформация;
Элементы.ВерсияПлатформы.ПодсказкаВвода = СисИнфо.ВерсияПриложения;
Элементы.ВерсияПлатформы.СписокВыбора.Очистить();
Элементы.ВерсияПлатформыВыгрузки.ПодсказкаВвода = СисИнфо.ВерсияПриложения;
Элементы.ВерсияПлатформыВыгрузки.СписокВыбора.Очистить();
Для Каждого ДоступнаяВерсия Из ОбщегоНазначенияПовтИсп.СписокДоступныхВерсийПлатформы() Цикл
Элементы.ВерсияПлатформы.СписокВыбора.Добавить(ДоступнаяВерсия);
Элементы.ВерсияПлатформыВыгрузки.СписокВыбора.Добавить(ДоступнаяВерсия);
Элементы.ВерсияПлатформыХранилища.СписокВыбора.Добавить(ДоступнаяВерсия);
КонецЦикла;
@ -68,6 +71,8 @@
&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
ПользователиХранилища.Параметры.УстановитьЗначениеПараметра("Хранилище", Объект.Ссылка);
ОбновитьСостояниеНаКлиенте();
Если ЗначениеЗаполнено(Объект.Ссылка) И НЕ Объект.КонвертироватьВФорматEDT Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(НСтр("ru = 'Конвертация в формат 1С:Предприятия является устаревшей. Рекомендуется выполнить конвертацию в формат 1C:EDT.'"));
@ -79,7 +84,7 @@
&НаСервере
Процедура ОбработкаПроверкиЗаполненияНаСервере(Отказ, ПроверяемыеРеквизиты)
Если ЗначениеЗаполнено(Объект.ВерсияПлатформы) ИЛИ РегламентноеЗаданиеИспользуется Тогда
Если ЗначениеЗаполнено(Объект.ВерсияПлатформыВыгрузки) ИЛИ РегламентноеЗаданиеИспользуется Тогда
ПутьКВерсиям = Константы.ПутьКВерсиямПлатформыНаСервере.Получить();
Если НЕ ЗначениеЗаполнено(ПутьКВерсиям) Тогда
Сообщение = Новый СообщениеПользователю();
@ -98,12 +103,13 @@
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура РегламентноеЗаданиеИспользуетсяПриИзменении(Элемент)
Процедура ВариантРасписанияПриИзменении(Элемент)
УстановитьДоступность(ЭтаФорма);
КонецПроцедуры
&НаКлиенте
Процедура РасписаниеСтрокойНажатие(Элемент, СтандартнаяОбработка)
@ -167,6 +173,45 @@
КонецПроцедуры
&НаКлиенте
Процедура ВариантGitПриИзменении(Элемент)
УстановитьДоступность(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура РежимКонвертацииВерсийПриИзменении(Элемент)
УстановитьДоступность(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ВариантИспользованияОчередейПриИзменении(Элемент)
Объект.ЗапретитьИспользованиеОбщихОчередей = ВариантИспользованияОчередей = "ПоХранилищу";
Объект.ОбрабатыватьВсеОчереди = ВариантИспользованияОчередей <> "Отключить";
УстановитьДоступность(ЭтаФорма);
КонецПроцедуры
&НаКлиенте
Процедура ИмяПроектаEDTПриИзменении(Элемент)
ИмяПроектаEDT = ИмяПроектаEDT();
КонецПроцедуры
&НаКлиенте
Процедура ВыполнятьКоммитыПриИзменении(Элемент)
Объект.ВыполнятьКоммиты = ВыполнятьКоммиты = "Включено";
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
@ -319,23 +364,10 @@
КонецПроцедуры
&НаКлиенте
Процедура КонвертироватьВФорматEDT(Команда)
Если НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Конвертировать в формат 1C:EDT можно только существующий репозиторий.'"));
Возврат;
КонецЕсли;
ПараметрыОткрытия = Новый Структура("Хранилище", Объект.Ссылка);
ОткрытьФорму("Обработка.КонвертацияВФорматEDT.Форма", ПараметрыОткрытия);
КонецПроцедуры
&НаКлиенте
Процедура ПроверитьДоступнуюВерсиюEDT(Команда)
Версия = Объект.ВерсияПлатформы;
Версия = Объект.ВерсияПлатформыВыгрузки;
Если НЕ ЗначениеЗаполнено(Версия) Тогда
СисИнфо = Новый СистемнаяИнформация();
Версия = СисИнфо.ВерсияПриложения;
@ -680,6 +712,12 @@
&НаСервере
Процедура ПриЧтенииСозданииНаСервере()
ПользователиХранилища.Параметры.УстановитьЗначениеПараметра("Хранилище", Объект.Ссылка);
Если Не ЗначениеЗаполнено(Объект.ТипХранилища) Тогда
Объект.ТипХранилища = Метаданные.Справочники.ХранилищаКонфигураций.Реквизиты.ТипХранилища.ЗначениеЗаполнения;
КонецЕсли;
УстановитьПривилегированныйРежим(Истина);
Задание = РегламентныеЗаданияСервер.Задание(Объект.РегламентноеЗадание);
Если Задание <> Неопределено Тогда
@ -692,12 +730,57 @@
КонецЕсли;
УстановитьПривилегированныйРежим(Ложь);
Если РегламентноеЗаданиеИспользуется Тогда
// TODO: определить вариант расписания
ВариантРасписания = "Другой";
Иначе
ВариантРасписания = "Отключено";
КонецЕсли;
ПроверитьНаличиеРепозитория();
ТекущийАдрес = Объект.Адрес;
СисИнфо = Новый СистемнаяИнформация;
Элементы.ВерсияПлатформы.ПодсказкаВвода = СисИнфо.ВерсияПриложения;
Элементы.ВерсияПлатформыВыгрузки.ПодсказкаВвода = СисИнфо.ВерсияПриложения;
Если ЗначениеЗаполнено(Объект.ПоследняяВерсия) Тогда
РежимКонвертацииВерсий = "Ограничения";
ИначеЕсли ЗначениеЗаполнено(Объект.ПоследняяВерсия) Тогда
РежимКонвертацииВерсий = "НачатьСУказанной";
Иначе
РежимКонвертацииВерсий = "ВсеВерсии";
КонецЕсли;
Если Объект.ВыполнятьКоммиты Тогда
ВыполнятьКоммиты = "Включено";
Иначе
ВыполнятьКоммиты = "Отключено";
КонецЕсли;
Если ЗначениеЗаполнено(Объект.АдресРепозиторияGit) Тогда
ВариантGit = "Сервер";
Иначе
ВариантGit = "Локально";
КонецЕсли;
Если РепозиторийСоздан И ЕстьНастройкиGitLFS() Тогда
ИспользованиеGitLFS = "Использовать";
Иначе
ИспользованиеGitLFS = "НеИспользовать";
КонецЕсли;
Если НЕ Объект.ОбрабатыватьВсеОчереди Тогда
ВариантИспользованияОчередей = "Отключить";
ИначеЕсли Объект.ЗапретитьИспользованиеОбщихОчередей Тогда
ВариантИспользованияОчередей = "ПоХранилищу";
Иначе
ВариантИспользованияОчередей = "Все";
КонецЕсли;
ИмяПроектаEDT = ИмяПроектаEDT();
УстановитьДоступность(ЭтаФорма);
@ -706,13 +789,21 @@
&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьДоступность(Форма)
Форма.Элементы.РасписаниеСтрокой.Доступность = Форма.РегламентноеЗаданиеИспользуется;
Форма.Элементы.КонвертироватьВФорматEDT.Видимость = НЕ Форма.Объект.КонвертироватьВФорматEDT;
Форма.Элементы.ФормаКонвертироватьВФорматEDT.Видимость = НЕ Форма.Объект.КонвертироватьВФорматEDT;
Если Форма.РежимКонвертацииВерсий = "НачатьСУказанной" Тогда
Форма.Элементы.ПерваяВерсия.Заголовок = НСтр("ru = 'Начиная с версии'");
Иначе
Форма.Элементы.ПерваяВерсия.Заголовок = НСтр("ru = 'Первая версия'");
КонецЕсли;
Форма.Элементы.ПерваяВерсия.Видимость = Форма.РежимКонвертацииВерсий = "НачатьСУказанной" ИЛИ Форма.РежимКонвертацииВерсий = "Ограничения";
Форма.Элементы.ПоследняяВерсия.Видимость = Форма.РежимКонвертацииВерсий = "Ограничения";
Форма.Элементы.РасписаниеСтрокой.Доступность = Форма.ВариантРасписания = "Другой";
Форма.Элементы.ДобавлятьМеткиСВерсиейКонфигурации.Видимость = Форма.Объект.КонвертироватьВФорматEDT;
Форма.Элементы.СоздатьРепозиторийGit.Доступность = НЕ Форма.РепозиторийСоздан;
Форма.Элементы.ФормаСоздатьРепозиторийGit.Доступность = НЕ Форма.РепозиторийСоздан;
Форма.Элементы.ВыполнятьКоммиты.Доступность = Форма.РепозиторийСоздан;
ЕстьАдрес = ЗначениеЗаполнено(Форма.Объект.АдресРепозиторияGit);
@ -722,8 +813,14 @@
Форма.Элементы.ПарольСервераGit.АвтоОтметкаНезаполненного = ЭтоHTTPАдрес;
Форма.Элементы.ЗагрузитьСписокВеток.Доступность = ЕстьАдрес;
Форма.Элементы.УстановитьАдресРепозиторияGit.Доступность = ЕстьАдрес И Форма.РепозиторийСоздан;
Форма.Элементы.ИспользованиеGitLFS.Доступность = НЕ Форма.РепозиторийСоздан;
Форма.Элементы.ПроверитьДоступКРепозиториюGit.Доступность = ЕстьАдрес;
ЭтоСервер = Форма.ВариантGit = "Сервер";
Форма.Элементы.Группа9.Видимость = ЭтоСервер;
Форма.Элементы.Группа10.Видимость = ЭтоСервер;
ЭтоРасширение = Форма.Объект.ТипХранилища =
ПредопределенноеЗначение("Перечисление.ТипыХранилищаКонфигураций.Расширение");
@ -1052,7 +1149,62 @@
КонецЕсли;
Возврат КонвертацияХранилища.ПолучитьИнформациюРепозиторияGitНаСервере(АдресРепозиторияGit);
КонецФункции
&НаСервере
Функция ЕстьНастройкиGitLFS()
Если ЗначениеЗаполнено(Объект.ЛокальныйКаталогGit) Тогда
ИмяФайлаАтрибутов = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(Объект.ЛокальныйКаталогGit)
+ ".gitattributes";
Файл = Новый Файл(ИмяФайлаАтрибутов);
Если Файл.Существует() Тогда
ФайлАтрибутов = Новый ТекстовыйДокумент;
ФайлАтрибутов.Прочитать(ИмяФайлаАтрибутов, "CESU-8");
Для индекс = 1 По ФайлАтрибутов.КоличествоСтрок() Цикл
СтрокаФайла = ФайлАтрибутов.ПолучитьСтроку(индекс);
Если СтрНайти(СтрокаФайла, " filter=lfs ") > 0 Тогда
Возврат Истина;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЕсли;
Возврат Ложь;
КонецФункции
&НаСервере
Функция ИмяПроектаEDT()
СегментыПути = СтрРазделить(Объект.ИмяПроектаEDT, ПолучитьРазделительПути());
Если СегментыПути.Количество() > 0 Тогда
Возврат СегментыПути[СегментыПути.ВГраница()];
КонецЕсли;
Возврат "";
КонецФункции
&НаКлиенте
Процедура ИмяПроектаПриИзменении(Элемент)
ИмяПроектаПриИзмененииНаСервере();
КонецПроцедуры
&НаСервере
Процедура ИмяПроектаПриИзмененииНаСервере()
СегментыПути = СтрРазделить(Объект.ИмяПроектаEDT, ПолучитьРазделительПути());
Если СегментыПути.Количество() > 0 Тогда
СегментыПути.Удалить(СегментыПути.ВГраница());
КонецЕсли;
СегментыПути.Добавить(ИмяПроектаEDT);
Объект.ИмяПроектаEDT = СтрСоединить(СегментыПути, ПолучитьРазделительПути());
КонецПроцедуры
#КонецОбласти

View File

@ -51,8 +51,11 @@
КонецЕсли;
Адрес = СокрЛП(Адрес);
ВерсияПлатформы = СокрЛП(ВерсияПлатформы);
ВерсияПлатформыХранилища = СокрЛП(ВерсияПлатформыХранилища);
ВерсияПлатформыВыгрузки = СокрЛП(ВерсияПлатформыВыгрузки);
ИмяРасширения = СокрЛП(ИмяРасширения);
ИмяПользователяХранилища = СокрЛП(ИмяПользователяХранилища);
ИмяПользователяХранилища =СокрЛП(ИмяПользователяХранилища);
КаталогВыгрузкиВерсий = СокрЛП(КаталогВыгрузкиВерсий);
ЛокальныйКаталогGit = СокрЛП(ЛокальныйКаталогGit);
ИмяВетки = СокрЛП(ИмяВетки);
@ -73,8 +76,8 @@
Если ВыгружатьИзменения И
(НЕ ПолучитьФункциональнуюОпцию("ИспользоватьОчередиВыполнения")
И НЕ ЭтоВерсияПлатформы8315ИлиВыше(ВерсияПлатформы)
ИЛИ ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияПлатформы, "8.3.10.0") < 1) Тогда
И НЕ ЭтоВерсияПлатформы8315ИлиВыше(ВерсияПлатформыВыгрузки)
ИЛИ ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияПлатформыВыгрузки, "8.3.10.0") < 1) Тогда
ВыгружатьИзменения = Ложь;
КонецЕсли;
@ -160,11 +163,11 @@
КонецЕсли;
Если ЗначениеЗаполнено(ВерсияПлатформы) Тогда
Сегменты = СтрРазделить(ВерсияПлатформы, ".");
Если ЗначениеЗаполнено(ВерсияПлатформыВыгрузки) Тогда
Сегменты = СтрРазделить(ВерсияПлатформыВыгрузки, ".");
Если Сегменты.Количество() <> 4 Тогда
Сообщение = Новый СообщениеПользователю();
Сообщение = Новый СообщениеПользователю();;
Сообщение.Текст = НСтр("ru = 'Версия должна быть в формате Х.Х.Х.Х'");
Сообщение.Поле = "ВерсияПлатформы";
Сообщение.УстановитьДанные(ЭтотОбъект);
@ -174,8 +177,8 @@
КонецЕсли;
Если ВыгружатьИзменения
И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияПлатформы, "8.3.10.0") > 0
И НЕ ЭтоВерсияПлатформы8315ИлиВыше(ВерсияПлатформы)
И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияПлатформыВыгрузки, "8.3.10.0") > 0
И НЕ ЭтоВерсияПлатформы8315ИлиВыше(ВерсияПлатформыВыгрузки)
И НЕ ПолучитьФункциональнуюОпцию("ИспользоватьОчередиВыполнения") Тогда
Сообщение = Новый СообщениеПользователю();
Сообщение.Текст = НСтр("ru = 'Выгрузка изменений доступна при вклченой опции ""Очереди выполнения""'");

View File

@ -154,11 +154,31 @@
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="cc42b1ad-4215-4286-9f90-ed31171b7d43">
<name>ВерсияПлатформы</name>
<attributes uuid="c73b46ce-1a23-452b-8e09-2b68bf2f5034">
<name>ВерсияПлатформыХранилища</name>
<synonym>
<key>ru</key>
<value>Версия платформы</value>
<value>Версия платформы хранилища</value>
</synonym>
<type>
<types>String</types>
<stringQualifiers>
<length>25</length>
</stringQualifiers>
</type>
<toolTip>
<key>ru</key>
<value>Позволяет указать версию платформы для подключения к Хранилищу 1С, откличную от версии выгрузки. Если не указано, то используется версия платформы, указанная в справочнике настройки конрвертации хранилища.</value>
</toolTip>
<fillChecking>ShowError</fillChecking>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="cc42b1ad-4215-4286-9f90-ed31171b7d43">
<name>ВерсияПлатформыВыгрузки</name>
<synonym>
<key>ru</key>
<value>Версия платформы выгрузки</value>
</synonym>
<comment></comment>
<type>
@ -174,6 +194,7 @@
<mask></mask>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fillChecking>ShowError</fillChecking>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
@ -557,7 +578,9 @@
<mask></mask>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:BooleanValue">
<value>true</value>
</fillValue>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
@ -820,6 +843,10 @@
<length>100</length>
</stringQualifiers>
</type>
<toolTip>
<key>ru</key>
<value>Имя конфигурации расширения в хранилище 1С</value>
</toolTip>
<fillChecking>ShowError</fillChecking>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
@ -847,6 +874,25 @@
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="998c0b86-d6e6-4cc6-a4e9-b2872deadb76">
<name>ВерсияПроектаEDT</name>
<synonym>
<key>ru</key>
<value>Версия проекта EDT</value>
</synonym>
<type>
<types>String</types>
<stringQualifiers>
<length>20</length>
</stringQualifiers>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fillChecking>ShowError</fillChecking>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<forms uuid="6cc206d4-d733-4a4a-8ed2-adf76440f6af">
<name>ФормаЭлемента</name>
<synonym>

View File

@ -32,7 +32,7 @@
СформироватьФайлыGitНаСервере(Хранилище);
Параметры = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Хранилище, Новый Структура("Адрес, ВерсияПлатформы, КаталогВыгрузкиВерсий,
Параметры = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Хранилище, Новый Структура("Адрес, ВерсияПлатформыВыгрузки, КаталогВыгрузкиВерсий,
| ПерваяВерсия, ПоследняяВерсия, МаксимальноеКоличествоПодготавливаемыхВерсий, ОтключитьЛогирование, КонвертироватьВФорматEDT"));
Параметры.Вставить("Хранилище", Хранилище);

View File

@ -17,6 +17,9 @@ git lfs track "*.gif"
git lfs track "*.bmp"
git lfs track "*.jpg"
git lfs track "*.zip"
git lfs track "*.axdt"
git lfs track "*.addin"
git lfs track "*.oform"
```
В этом примере - все файлы конфигураций поставщиков, файлы макетов с "Двоичными данными" и картинки из конфигурации попадут в lfs.
@ -25,4 +28,25 @@ git lfs track "*.zip"
```bash
git lfs track "*/Ext/Template.bin"
git lfs track "*/Ext/Module.bin"
```
```
Пример файла настроек репозитория:
```
# Binary file extensions that should not be modified.
*.bin binary
*.axdt binary
*.addin binary
*.oform binary
# LFS
*.cf filter=lfs diff=lfs merge=lfs -text
*.bin filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.gif filter=lfs diff=lfs merge=lfs -text
*.bmp filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.axdt filter=lfs diff=lfs merge=lfs -text
*.addin filter=lfs diff=lfs merge=lfs -text
*.oform filter=lfs diff=lfs merge=lfs -text
```