1
0
mirror of https://github.com/Untru/gitmanager.git synced 2026-05-06 22:08:04 +02:00

Merge pull request #19 from Untru/feat/15

Feat/15
This commit is contained in:
Pavel
2025-05-23 20:02:52 +03:00
committed by GitHub
131 changed files with 1556 additions and 796 deletions
@@ -1,3 +1,5 @@
// @strict-types
#Область ОбработчикиКомандФормы
&НаКлиенте
@@ -1,3 +1,5 @@
// @strict-types
#Область ОбработчикиКомандФормы
&НаКлиенте
@@ -1,3 +1,5 @@
// @strict-types
#Область ОбработчикиКомандФормы
&НаКлиенте
@@ -1,3 +1,5 @@
// @strict-types
#Область ОбработчикиКомандФормы
&НаКлиенте
@@ -1,3 +1,5 @@
// @strict-types
#Область ОбработчикиКомандФормы
&НаКлиенте
@@ -1,3 +1,5 @@
// @strict-types
#Область ОбработчикиКомандФормы
&НаКлиенте
@@ -1,3 +1,5 @@
// @strict-types
#Область ОбработчикиСобытийФормы
&НаСервере
@@ -1,3 +1,5 @@
// @strict-types
#Область ОбработчикиСобытийФормы
&НаСервере
@@ -180,9 +180,6 @@
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Объект.НомерВерсииПлатформы</segments>
</dataPath>
<extendedTooltip>
<name>НомерВерсииПлатформыРасширеннаяПодсказка</name>
<id>33</id>
@@ -198,19 +195,10 @@
<id>32</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>EnterOnInput</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>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>КаталогRAS</name>
@@ -220,9 +208,6 @@
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Объект.КаталогRAS</segments>
</dataPath>
<extendedTooltip>
<name>КаталогRASРасширеннаяПодсказка</name>
<id>39</id>
@@ -238,24 +223,10 @@
<id>38</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>EnterOnInput</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<handlers>
<event>StartChoice</event>
<name>ПутьНачалоВыбораRAS</name>
</handlers>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<choiceButton>true</choiceButton>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>КаталогРепозитория</name>
@@ -731,9 +702,6 @@
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Объект.ПутьКХранилищуToolsWorld</segments>
</dataPath>
<extendedTooltip>
<name>ПутьКХранилищуToolsWorldРасширеннаяПодсказка</name>
<id>92</id>
@@ -749,20 +717,10 @@
<id>91</id>
<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>
<extendedEditMultipleValues>true</extendedEditMultipleValues>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>ПользовательХранилищаToolsworld</name>
@@ -772,9 +730,6 @@
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Объект.ПользовательХранилищаToolsworld</segments>
</dataPath>
<extendedTooltip>
<name>ПользовательХранилищаToolsworldРасширеннаяПодсказка</name>
<id>83</id>
@@ -790,20 +745,10 @@
<id>82</id>
<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>
<extendedEditMultipleValues>true</extendedEditMultipleValues>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>ПутьКХранилищуAelita</name>
@@ -813,9 +758,6 @@
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Объект.ПутьКХранилищуAelita</segments>
</dataPath>
<extendedTooltip>
<name>ПутьКХранилищуAelitaРасширеннаяПодсказка</name>
<id>86</id>
@@ -831,20 +773,10 @@
<id>85</id>
<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>
<extendedEditMultipleValues>true</extendedEditMultipleValues>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>ПользовательХранилищаAelita</name>
@@ -854,9 +786,6 @@
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Объект.ПользовательХранилищаAelita</segments>
</dataPath>
<extendedTooltip>
<name>ПользовательХранилищаAelitaРасширеннаяПодсказка</name>
<id>89</id>
@@ -872,20 +801,10 @@
<id>88</id>
<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>
<extendedEditMultipleValues>true</extendedEditMultipleValues>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
@@ -1,3 +1,5 @@
// @strict-types
#Область ОбработчикиСобытийФормы
&НаСервере
+9 -10
View File
@@ -1,3 +1,5 @@
// @strict-types
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
@@ -10,23 +12,23 @@
| Базы.Ссылка КАК База,
| Базы.Наименование КАК Наименование,
| Базы.ИмяИнформационнойБазы КАК ИмяИнформационнойБазы,
| Базы.НомерВерсииПлатформы КАК НомерВерсииПлатформы,
| Базы.ИмяПользователяИнформационнойБазы КАК ИмяПользователяИнформационнойБазы,
| Базы.ПарольПользователяИнформационнойБазы КАК ПарольПользователяИнформационнойБазы,
| ПРЕДСТАВЛЕНИЕ(Базы.ТипSQL) КАК ТипSQL,
| Базы.ИмяSQL КАК ИмяSQL,
| Базы.ЛогинSQL КАК ЛогинSQL,
| Базы.ПарольSQL КАК ПарольSQL,
| Базы.КаталогRAS КАК КаталогRAS,
| ЕСТЬNULL(Проекты.Репозиторий, """") КАК Репозиторий,
| ЕСТЬNULL(Проекты.ИДПроектаРепозитория, """") КАК ИДПроектаРепозитория,
| ЕСТЬNULL(Проекты.PathGitClone, """") КАК PathGitClone,
| ЕСТЬNULL(Проекты.РежимРаботыКонфигурации, ЗНАЧЕНИЕ(Перечисление.РежимыРаботыКонфигурации.Пакетный)) КАК РежимРаботыКонфигурации,
| ЕСТЬNULL(Проекты.РежимРаботыКонфигурации, ЗНАЧЕНИЕ(Перечисление.РежимыРаботыКонфигурации.Пакетный)) КАК
| РежимРаботыКонфигурации,
| Базы.ТипБазы = ЗНАЧЕНИЕ(Перечисление.ТипыБаз.РабочаяБаза) КАК ЭтоРабочаяБаза,
| ЕСТЬNULL(Кластеры.Наименование, """") КАК КластерСерверов,
| ЕСТЬNULL(Кластеры.ИмяАгентаБазы, """") КАК ИмяАгентаБазы,
| ЕСТЬNULL(Кластеры.ИмяАгентаJenkins, """") КАК ИмяАгентаJenkins,
| ЕСТЬNULL(Кластеры.ПутьКПапкеДевопс, """") КАК ПутьКПапкеДевопс,
| ЕСТЬNULL(Кластеры.НомерВерсииПлатформы, """") КАК НомерВерсииПлатформы,
| ЕСТЬNULL(Кластеры.ПутьКШаре, """") КАК ПутьКШаре,
| ЕСТЬNULL(Кластеры.ФайлЗапускаOscript, """") КАК ФайлЗапускаOscript,
| ЕСТЬNULL(Кластеры.ПутьКПапкеДевопс, """") + ""\Repositories"" КАК РепозиторийБазы,
@@ -35,7 +37,8 @@
| ЕСТЬNULL(Кластеры.ПутьКПапкеДевопс, """") + ""\Repositories\"" + ""devops"" КАК КаталогDevops,
| ЕСТЬNULL(Кластеры.ПутьКШаре, """") + ""\Repositories\"" + ""devops"" КАК КаталогDevopsШара,
| ЕСТЬNULL(Кластеры.ПутьКШаре, """") + ""\Repositories\"" + Базы.ИмяИнформационнойБазы КАК КаталогБазыШара,
| ЕСТЬNULL(Кластеры.ПутьКШаре, """") + ""\Repositories\"" + Базы.ИмяИнформационнойБазы + ""\build\epf"" КАК КаталогСборкиОбработок,
| ЕСТЬNULL(Кластеры.ПутьКШаре, """") + ""\Repositories\"" + Базы.ИмяИнформационнойБазы + ""\build\epf"" КАК
| КаталогСборкиОбработок,
| Базы.Владелец КАК Проект,
| ЕСТЬNULL(Проекты.КаталогСборкиРелиза, """") КАК КаталогСборкиРелиза,
| ЕСТЬNULL(Проекты.СобиратьКонфигурациюВРелиз, ЛОЖЬ) КАК СобиратьКонфигурациюВРелиз,
@@ -44,15 +47,11 @@
| ЕСТЬNULL(Проекты.ТокенJenkins, """") КАК ТокенJenkins,
| ЕСТЬNULL(Проекты.URLJenkins, """") КАК URLJenkins,
| ЕСТЬNULL(Проекты.ИмяJobJenkins, """") КАК ИмяJobJenkins,
| ЕСТЬNULL(ПРЕДСТАВЛЕНИЕ(Проекты.ТипРепозитория), """") КАК ТипРепозитория,
| ЕСТЬNULL(ПРЕДСТАВЛЕНИЕ(Проекты.ТипРепозитория), """") КАК ТипРепозитория,
| Базы.ПутьКХранилищу КАК ПутьКХранилищу,
| Базы.ПользовательХранилища КАК ПользовательХранилища,
| ЕСТЬNULL(Кластеры.СерверПубликации, """") КАК СерверПубликации,
| Базы.БазаПубликации КАК БазаПубликации,
| Базы.ПутьКХранилищуToolsWorld КАК ПутьКХранилищуToolsWorld,
| Базы.ПользовательХранилищаToolsworld КАК ПользовательХранилищаToolsworld,
| Базы.ПутьКХранилищуAelita КАК ПутьКХранилищуAelita,
| Базы.ПользовательХранилищаAelita КАК ПользовательХранилищаAelita
| Базы.БазаПубликации КАК БазаПубликации
|ИЗ
| Справочник.Базы КАК Базы
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Проекты КАК Проекты
+2
View File
@@ -1,3 +1,5 @@
// @strict-types
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ОбработчикиСобытий
+22 -112
View File
@@ -144,27 +144,6 @@
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="76ec2b2d-6cda-4601-a6e8-026d9aae25dd">
<name>НомерВерсииПлатформы</name>
<synonym>
<key>ru</key>
<value>Номер версии платформы</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:StringValue">
<value></value>
</fillValue>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="64c71e69-dd64-448f-80c3-c79f970358a6">
<name>ИмяПользователяИнформационнойБазы</name>
<synonym>
@@ -284,24 +263,6 @@
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="7cebfe42-d68d-491c-8125-dcaed0af1668">
<name>КаталогRAS</name>
<synonym>
<key>ru</key>
<value>Каталог RAS</value>
</synonym>
<type>
<types>String</types>
<stringQualifiers/>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:StringValue">
<value></value>
</fillValue>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="fd481af8-dafb-426a-8048-aca2c1717e82">
<name>Ответственный</name>
<synonym>
@@ -407,82 +368,31 @@
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="060ec016-19a0-4e9b-ae0b-db336b9395be">
<name>ПутьКХранилищуToolsWorld</name>
<tabularSections uuid="9655097c-10bd-431e-ae3c-b73ce4570cdd">
<producedTypes>
<objectType typeId="46527e38-07f5-4d2a-8afe-0f10ef4d7cc2" valueTypeId="67e3a2c8-50dd-4989-ad4b-3699fe1b9b7d"/>
<rowType typeId="fd11bee7-d8a3-4d5e-b6ba-a650baf55a6a" valueTypeId="7c8436c1-0102-47de-97fc-8ebbdfbe1b3b"/>
</producedTypes>
<name>Расширения</name>
<synonym>
<key>ru</key>
<value>Путь к хранилищу tools world</value>
<value>Расширения</value>
</synonym>
<type>
<types>String</types>
<stringQualifiers/>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:StringValue">
<value></value>
</fillValue>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="b22fed1c-a025-4ac6-b72d-986365894d83">
<name>ПользовательХранилищаToolsworld</name>
<synonym>
<key>ru</key>
<value>Пользователь хранилища toolsworld</value>
</synonym>
<type>
<types>String</types>
<stringQualifiers>
<length>100</length>
</stringQualifiers>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:StringValue">
<value></value>
</fillValue>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="de883481-16f2-46a2-a776-ce7430d9f6db">
<name>ПутьКХранилищуAelita</name>
<synonym>
<key>ru</key>
<value>Путь к хранилищу aelita</value>
</synonym>
<type>
<types>String</types>
<stringQualifiers/>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:StringValue">
<value></value>
</fillValue>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="85fb9e1c-9236-4d7e-b661-6ac1df1191a3">
<name>ПользовательХранилищаAelita</name>
<synonym>
<key>ru</key>
<value>Пользователь хранилища aelita</value>
</synonym>
<type>
<types>String</types>
<stringQualifiers>
<length>100</length>
</stringQualifiers>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:StringValue">
<value></value>
</fillValue>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="c4186d69-e4b6-4fb7-98b1-45c405a828f4">
<name>ОбъектРазработки</name>
<synonym>
<key>ru</key>
<value>Объект разработки</value>
</synonym>
<type>
<types>CatalogRef.ОбъектыРазработки</types>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<dataHistory>Use</dataHistory>
<fullTextSearch>Use</fullTextSearch>
</attributes>
</tabularSections>
<forms uuid="f9a1df55-778e-4e8d-89ff-5e34050bb359">
<name>ФормаЭлемента</name>
<synonym>
@@ -1,3 +1,5 @@
// @strict-types
&НаКлиенте
Асинх Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
@@ -1,3 +1,5 @@
// @strict-types
#Область ОбработчикиСобытий
&НаКлиенте
@@ -1,3 +1,5 @@
// @strict-types
#Область ОбработчикиСобытий
&НаКлиенте
@@ -1042,9 +1042,6 @@
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Объект.ToolsWorld</segments>
</dataPath>
<extendedTooltip>
<name>ToolsWorldРасширеннаяПодсказка</name>
<id>273</id>
@@ -1060,12 +1057,10 @@
<id>272</id>
<autoFill>true</autoFill>
</contextMenu>
<type>CheckBoxField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:CheckBoxFieldExtInfo"/>
</items>
<items xsi:type="form:FormField">
<name>Aelita</name>
@@ -1075,9 +1070,6 @@
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Объект.Aelita</segments>
</dataPath>
<extendedTooltip>
<name>AelitaРасширеннаяПодсказка</name>
<id>276</id>
@@ -1093,12 +1085,10 @@
<id>275</id>
<autoFill>true</autoFill>
</contextMenu>
<type>CheckBoxField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:CheckBoxFieldExtInfo"/>
</items>
<visible>true</visible>
<enabled>true</enabled>
@@ -1,3 +1,5 @@
// @strict-types
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
+17 -10
View File
@@ -1,3 +1,5 @@
// @strict-types
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
@@ -166,7 +168,7 @@
Иначе
ТипЗадачи = Справочники.ПрефиксыЗадач.hotfix;
КонецЕсли;
Задача = НоваяЗадача(НомерНовойЗадачи, ТипЗадачи);
Задача = НоваяЗадача(НомерНовойЗадачи, База.Владелец, ТипЗадачи);
КонецЕсли;
РаботаСGit.СоздатьНовуюВеткуВГИТПоЗадаче(Задача, База, НастройкиПользователя);
@@ -193,11 +195,11 @@
КонецФункции
Функция НоваяЗадача(НомерЗадачи, ТипЗадачи = Неопределено) Экспорт
Функция НоваяЗадача(НомерЗадачи, Проект, ТипЗадачи = Неопределено) Экспорт
Задача = НайтиПоРеквизиту("НомерЗадачи", НомерЗадачи);
Если Задача = Справочники.Задачи.ПустаяСсылка() Тогда
ДанныеЗаполнения = ДанныеЗаполненияПоЗадаче(НомерЗадачи);
ДанныеЗаполнения = ДанныеЗаполненияПоЗадаче(НомерЗадачи, Проект);
Если ЗначениеЗаполнено(ТипЗадачи) Тогда
ДанныеЗаполнения.Вставить("ПрефиксВетки", ТипЗадачи);
КонецЕсли;
@@ -229,15 +231,15 @@
КонецПроцедуры
Функция ДанныеЗаполненияПоЗадаче(НомерЗадачи) Экспорт
Функция ДанныеЗаполненияПоЗадаче(НомерЗадачи, Проект) Экспорт
ДанныеЗаполнения = Новый Структура();
ТаскТрекер = Константы.ТаскТрекер.Получить();
Если ТаскТрекер = Перечисления.ТаскТрекеры.Bitrix Тогда
ТаскТрекер = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Проект, "ТаскТрекер");
ТипТаскТрекера = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ТаскТрекер, "ТипТаскТрекера");
Если ТипТаскТрекера = Перечисления.ТаскТрекеры.Bitrix Тогда
ДанныеЗаполнения = РаботаСBitrix.СтруктурированныеДанныеПоЗадачеИзБитрикс(НомерЗадачи);
ИначеЕсли ТаскТрекер = Перечисления.ТаскТрекеры.Предприятие1С Тогда
ДанныеЗаполнения = РаботаСПредприятие1С.СтруктурированныеДанныеПоЗадаче(НомерЗадачи);
ИначеЕсли ТипТаскТрекера = Перечисления.ТаскТрекеры.Предприятие1С Тогда
ДанныеЗаполнения = РаботаСПредприятие1С.СтруктурированныеДанныеПоЗадаче(НомерЗадачи, ТаскТрекер);
КонецЕсли;
Возврат ДанныеЗаполнения;
@@ -384,7 +386,10 @@
Если Не ЗначениеЗаполнено(НомерЗадачи) Тогда
Возврат Справочники.Задачи.ПустаяСсылка();
КонецЕсли;
Задача = НоваяЗадача(НомерЗадачи);
Если База = Неопределено Тогда
ВызватьИсключение "Параметр ""База"" должен быть заполнен!";
КонецЕсли;
Задача = НоваяЗадача(НомерЗадачи, База.Владелец);
Возврат Задача;
@@ -396,6 +401,7 @@
Запрос.Текст =
"ВЫБРАТЬ
| Задачи.Ссылка КАК Задача,
| Задачи.Владелец КАК Проект,
| Задачи.НомерЗадачи КАК НомерЗадачи
|ИЗ
| Справочник.Задачи КАК Задачи
@@ -416,6 +422,7 @@
Запрос.Текст =
"ВЫБРАТЬ
| Задачи.Ссылка КАК Задача,
| Задачи.Владелец КАК Проект,
| Задачи.НомерЗадачи КАК НомерЗадачи
|ИЗ
| Справочник.Задачи КАК Задачи
@@ -1,3 +1,5 @@
// @strict-types
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ОбработчикиСобытий
@@ -494,36 +494,6 @@
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="005526d5-995e-4f1d-bc61-e674e59be51c">
<name>ToolsWorld</name>
<synonym>
<key>ru</key>
<value>Tools world</value>
</synonym>
<type>
<types>Boolean</types>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:BooleanValue"/>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="a024a923-a770-4186-8081-ffd223b522e5">
<name>Aelita</name>
<synonym>
<key>ru</key>
<value>Aelita</value>
</synonym>
<type>
<types>Boolean</types>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:BooleanValue"/>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="1df3057c-8a68-4bd9-bb6b-48e678613f2d">
<name>ТипБазовойЗадачи</name>
<synonym>
@@ -6,6 +6,9 @@
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
// @strict-types
#Область ОбработчикиСобытийФормы
&НаСервере
@@ -6,6 +6,9 @@
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
// @strict-types
#Область ОбработчикиСобытийФормы
&НаСервере
@@ -6,6 +6,9 @@
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
// @strict-types
#Область ОбработчикиСобытийФормы
&НаСервере
@@ -1,3 +1,5 @@
// @strict-types
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
@@ -230,6 +230,45 @@
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="2405f909-d620-49ea-8853-b8babd1f375c">
<name>КаталогRAS</name>
<synonym>
<key>ru</key>
<value>Каталог RAS</value>
</synonym>
<type>
<types>String</types>
<stringQualifiers/>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:StringValue">
<value></value>
</fillValue>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="1e61ddb5-10bb-4fe9-af4d-e8323ba7e655">
<name>НомерВерсииПлатформы</name>
<synonym>
<key>ru</key>
<value>Номер версии платформы</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:StringValue">
<value></value>
</fillValue>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<commands uuid="223c1d9e-2a01-43a7-b644-c685ca85e8cc">
<name>ПодключитьсяКRDP</name>
<synonym>
@@ -1,3 +1,5 @@
// @strict-types
#Область ОбработчикиСобытийЭлементовШапкиФормы
@@ -1,3 +1,5 @@
// @strict-types
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
@@ -1,3 +1,5 @@
// @strict-types
#Область ОбработчикиКомандФормы
@@ -1,3 +1,5 @@
// @strict-types
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
File diff suppressed because it is too large Load Diff
@@ -1,3 +1,5 @@
// @strict-types
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
@@ -1,3 +1,5 @@
// @strict-types
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
@@ -447,6 +447,39 @@
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="00347152-466b-4fd5-9e52-48cef645b341">
<name>ТаскТрекер</name>
<synonym>
<key>ru</key>
<value>Таск трекер</value>
</synonym>
<type>
<types>EnumRef.ТаскТрекеры</types>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="197ea800-5872-4739-a0d3-74497a4738d2">
<name>URLТаскТрекера</name>
<synonym>
<key>ru</key>
<value>URLТаск трекера</value>
</synonym>
<type>
<types>String</types>
<stringQualifiers>
<length>100</length>
</stringQualifiers>
</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="edbeb866-fde0-45a2-84d9-d0302907e8d8">
<name>ФормаЭлемента</name>
<synonym>
@@ -6,6 +6,9 @@
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
// @strict-types
#Область ОбработчикиСобытийФормы
&НаСервере
@@ -6,6 +6,9 @@
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
// @strict-types
#Область ОбработчикиСобытийФормы
&НаСервере
@@ -1,3 +1,5 @@
// @strict-types
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
@@ -1,3 +1,5 @@
// @strict-types
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
@@ -0,0 +1,365 @@
<?xml version="1.0" encoding="UTF-8"?>
<form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:form="http://g5.1c.ru/v8/dt/form">
<items xsi:type="form:FormField">
<name>Код</name>
<id>1</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Объект.Code</segments>
</dataPath>
<extendedTooltip>
<name>КодРасширеннаяПодсказка</name>
<id>3</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>КодКонтекстноеМеню</name>
<id>2</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>EnterOnInput</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>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>Наименование</name>
<id>4</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Объект.Description</segments>
</dataPath>
<extendedTooltip>
<name>НаименованиеРасширеннаяПодсказка</name>
<id>6</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>НаименованиеКонтекстноеМеню</name>
<id>5</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>EnterOnInput</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>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>ТипТаскТрекера</name>
<id>22</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Объект.ТипТаскТрекера</segments>
</dataPath>
<extendedTooltip>
<name>ТипТаскТрекераРасширеннаяПодсказка</name>
<id>24</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ТипТаскТрекераКонтекстноеМеню</name>
<id>23</id>
<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>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>Логин</name>
<id>7</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Объект.Логин</segments>
</dataPath>
<extendedTooltip>
<name>ЛогинРасширеннаяПодсказка</name>
<id>9</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ЛогинКонтекстноеМеню</name>
<id>8</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>EnterOnInput</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>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>URL</name>
<id>10</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Объект.URL</segments>
</dataPath>
<extendedTooltip>
<name>URLРасширеннаяПодсказка</name>
<id>12</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>URLКонтекстноеМеню</name>
<id>11</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>EnterOnInput</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>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>Пароль</name>
<id>16</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Пароль</segments>
</dataPath>
<extendedTooltip>
<name>ПарольРасширеннаяПодсказка</name>
<id>18</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ПарольКонтекстноеМеню</name>
<id>17</id>
<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>
<passwordMode>true</passwordMode>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>Токен</name>
<id>19</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Токен</segments>
</dataPath>
<extendedTooltip>
<name>ТокенРасширеннаяПодсказка</name>
<id>21</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ТокенКонтекстноеМеню</name>
<id>20</id>
<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>
</extInfo>
</items>
<autoCommandBar>
<name>ФормаКоманднаяПанель</name>
<id>-1</id>
<horizontalAlign>Left</horizontalAlign>
<autoFill>true</autoFill>
</autoCommandBar>
<windowOpeningMode>LockOwnerWindow</windowOpeningMode>
<saveWindowSettings>true</saveWindowSettings>
<autoTitle>true</autoTitle>
<autoUrl>true</autoUrl>
<group>Vertical</group>
<autoFillCheck>true</autoFillCheck>
<allowFormCustomize>true</allowFormCustomize>
<enabled>true</enabled>
<showTitle>true</showTitle>
<showCloseButton>true</showCloseButton>
<attributes>
<name>Объект</name>
<id>1</id>
<valueType>
<types>CatalogObject.ТаскТрекеры</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
<main>true</main>
<savedData>true</savedData>
</attributes>
<attributes>
<name>Пароль</name>
<title>
<key>ru</key>
<value>Пароль</value>
</title>
<id>2</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>Токен</name>
<title>
<key>ru</key>
<value>Токен</value>
</title>
<id>3</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<commandInterface>
<navigationPanel/>
<commandBar/>
</commandInterface>
<extInfo xsi:type="form:CatalogFormExtInfo">
<handlers>
<event>OnReadAtServer</event>
<name>ПриЧтенииНаСервере</name>
</handlers>
<handlers>
<event>OnWriteAtServer</event>
<name>ПриЗаписиНаСервере</name>
</handlers>
</extInfo>
</form:Form>
@@ -0,0 +1,21 @@
// @strict-types
&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
ОбщегоНазначения.ЗаписатьДанныеВБезопасноеХранилище(ТекущийОбъект.Ссылка, Токен, "Токен");
ОбщегоНазначения.ЗаписатьДанныеВБезопасноеХранилище(ТекущийОбъект.Ссылка, Пароль, "Пароль");
КонецПроцедуры
&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
УстановитьПривилегированныйРежим(Истина);
Данные = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(ТекущийОбъект.Ссылка, "Токен, Пароль" );
Токен = Данные.Токен;
Пароль = Данные.Пароль;
УстановитьПривилегированныйРежим(Ложь);
КонецПроцедуры
@@ -0,0 +1,94 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:Catalog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="81b6ff73-1b53-4cd1-8d27-4dbc82a18495">
<producedTypes>
<objectType typeId="9d1dfe3d-6322-4bb6-a8d0-27c0b97765fa" valueTypeId="8409f759-ea56-4314-8d6c-44e43cf1bf7d"/>
<refType typeId="c50fdff8-fe2c-4d7d-bb28-6b829e9fad0d" valueTypeId="42a9c6d9-2df3-420a-bee3-328c12627806"/>
<selectionType typeId="73a94d85-a214-4a44-87f1-538cf6ecc0c1" valueTypeId="042150b3-1b8e-450b-92e3-b88b01d61c58"/>
<listType typeId="e03cbbd1-6a5b-4b87-9fe1-b90603814ca0" valueTypeId="82f138e7-4192-4b65-9aac-cc17d68dea6b"/>
<managerType typeId="f34ddeeb-ac74-42e0-8688-bb30e4dfc4e2" valueTypeId="d5d9dae4-7f7d-4548-ac83-9e23c8c45bfa"/>
</producedTypes>
<name>ТаскТрекеры</name>
<synonym>
<key>ru</key>
<value>Таск трекеры</value>
</synonym>
<useStandardCommands>true</useStandardCommands>
<inputByString>Catalog.ТаскТрекеры.StandardAttribute.Code</inputByString>
<inputByString>Catalog.ТаскТрекеры.StandardAttribute.Description</inputByString>
<fullTextSearchOnInputByString>DontUse</fullTextSearchOnInputByString>
<createOnInput>Use</createOnInput>
<dataLockControlMode>Managed</dataLockControlMode>
<fullTextSearch>Use</fullTextSearch>
<levelCount>2</levelCount>
<foldersOnTop>true</foldersOnTop>
<codeLength>9</codeLength>
<descriptionLength>25</descriptionLength>
<codeType>String</codeType>
<codeAllowedLength>Variable</codeAllowedLength>
<checkUnique>true</checkUnique>
<autonumbering>true</autonumbering>
<defaultPresentation>AsDescription</defaultPresentation>
<editType>InDialog</editType>
<choiceMode>BothWays</choiceMode>
<defaultObjectForm>Catalog.ТаскТрекеры.Form.ФормаЭлемента</defaultObjectForm>
<attributes uuid="53c46f22-dbff-41da-9f7d-aa9461c90599">
<name>Логин</name>
<synonym>
<key>ru</key>
<value>Логин</value>
</synonym>
<type>
<types>String</types>
<stringQualifiers>
<length>10</length>
</stringQualifiers>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="988c7c28-103c-4763-be36-5128873c2b0c">
<name>URL</name>
<synonym>
<key>ru</key>
<value>URL</value>
</synonym>
<type>
<types>String</types>
<stringQualifiers>
<length>100</length>
</stringQualifiers>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="d405d026-603c-482d-8548-c597d6441fb6">
<name>ТипТаскТрекера</name>
<synonym>
<key>ru</key>
<value>Тип таск трекера</value>
</synonym>
<type>
<types>EnumRef.ТаскТрекеры</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="6323ad78-7d48-40fb-897d-ea9b8478b671">
<name>ФормаЭлемента</name>
<synonym>
<key>ru</key>
<value>Форма элемента</value>
</synonym>
<usePurposes>PersonalComputer</usePurposes>
<usePurposes>MobileDevice</usePurposes>
</forms>
</mdclass:Catalog>
@@ -1,3 +1,5 @@
// @strict-types
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
@@ -1,3 +1,5 @@
// @strict-types
&НаКлиенте
Перем ОбъектВК, ОписаниеОшибки, Текст экспорт;
@@ -1,3 +1,5 @@
// @strict-types
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
@@ -6,6 +6,9 @@
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
// @strict-types
#Область ОписаниеПеременных
&НаКлиенте
@@ -2,6 +2,9 @@
// Lib: Bitrix24
// CLI: bitrix24
// @strict-types
// MIT License
// Copyright (c) 2023 Anton Tsitavets
@@ -2,6 +2,9 @@
// Lib: Google Calendar
// CLI: gcalendar
// @strict-types
// MIT License
// Copyright (c) 2023 Anton Tsitavets
@@ -2,6 +2,9 @@
// Lib: Google Sheets
// CLI: gsheets
// @strict-types
// MIT License
// Copyright (c) 2023 Anton Tsitavets
@@ -2,6 +2,9 @@
// Lib: Google Workspace
// CLI: google
// @strict-types
// MIT License
// Copyright (c) 2023 Anton Tsitavets
+3
View File
@@ -2,6 +2,9 @@
// Lib: Notion
// CLI: notion
// @strict-types
// MIT License
// Copyright (c) 2023 Anton Tsitavets
@@ -2,6 +2,9 @@
// Lib: Telegram
// CLI: telegram
// @strict-types
// MIT License
// Copyright (c) 2023 Anton Tsitavets
@@ -2,6 +2,9 @@
// Lib: Yandex Disk
// CLI: yadisk
// @strict-types
// MIT License
// Copyright (c) 2023 Anton Tsitavets
@@ -2,6 +2,9 @@
// Lib: Yandex ID
// CLI: yandex
// @strict-types
// MIT License
// Copyright (c) 2023 Anton Tsitavets
@@ -1,5 +1,8 @@
// OneScript: ./OInt/tools/Modules/internal/Modules/OPI_Инструменты.os
// @strict-types
// MIT License
// Copyright (c) 2023 Anton Tsitavets
@@ -1,5 +1,8 @@
// OneScript: ./OInt/tools/Modules/internal/Modules/OPI_Криптография.os
// @strict-types
// MIT License
// Copyright (c) 2023 Anton Tsitavets
@@ -1,5 +1,8 @@
// OneScript: ./OInt/tools/Modules/OPI_ПреобразованиеТипов.os
// @strict-types
// MIT License
// Copyright (c) 2023 Anton Tsitavets
@@ -1,3 +1,5 @@
// @strict-types
#Область ПрограммныйИнтерфейс
@@ -6,6 +6,9 @@
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
// @strict-types
#Область ПрограммныйИнтерфейс
// Задает типы предметов взаимодействий, например: заказы, вакансии и т.п.
@@ -1,3 +1,5 @@
// @strict-types
#Область ПрограммныйИнтерфейс
Процедура ЗапускПриложения(ПараметрыЗапускаПрограммы) Экспорт
@@ -1,3 +1,5 @@
// @strict-types
#Область ПрограммныйИнтерфейс
Процедура ЗапускПриложения(ПараметрыЗапускаПрограммы) Экспорт
@@ -1,3 +1,5 @@
// @strict-types
#Область ПрограммныйИнтерфейс
Процедура ЗапускПриложения(ПараметрыЗапускаПрограммы) Экспорт
@@ -1,3 +1,5 @@
// @strict-types
#Область ПрограммныйИнтерфейс
#Область Инициатор
@@ -1,3 +1,5 @@
// @strict-types
#Область ПрограммныйИнтерфейс
#Область Инициатор
@@ -1,3 +1,5 @@
// @strict-types
#Область ПрограммныйИнтерфейс
#Область Команды
@@ -21,6 +21,9 @@
//
// Требования: платформа 1С версии 8.3.10 и выше
// @strict-types
#Область ПрограммныйИнтерфейс
#Область МетодыHTTP
@@ -6,6 +6,9 @@
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
// @strict-types
#Область ПрограммныйИнтерфейс
#Область ДляВызоваИзДругихПодсистем
@@ -6,6 +6,9 @@
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
// @strict-types
#Область ПрограммныйИнтерфейс
#Область ОповещениеПользователя
@@ -1,3 +1,5 @@
// @strict-types
#Область ПрограммныйИнтерфейс
@@ -165,10 +167,6 @@
ПараметрыКомандЗапуска.PathRelease = ПараметрыБазы.КаталогСборкиРелиза;
ПараметрыКомандЗапуска.PathStorage = ПараметрыБазы.ПутьКХранилищу;
ПараметрыКомандЗапуска.UserStorage = ПараметрыБазы.ПользовательХранилища;
ПараметрыКомандЗапуска.PathStorageAelita = ПараметрыБазы.ПутьКХранилищуAelita;
ПараметрыКомандЗапуска.UserStorageAelita = ПараметрыБазы.ПользовательХранилищаAelita;
ПараметрыКомандЗапуска.PathStorageToolsWorld = ПараметрыБазы.ПутьКХранилищуToolsWorld;
ПараметрыКомандЗапуска.UserStorageToolsWorld = ПараметрыБазы.ПользовательХранилищаToolsworld;
ПараметрыКомандЗапуска.oscript = КомандыЗапускаПриложения.ФайлЗапускаOscript(ПараметрыБазы);
КонецЕсли;
@@ -6,6 +6,9 @@
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
// @strict-types
#Область ПрограммныйИнтерфейс
// Определяет список модулей библиотек и конфигурации, которые предоставляют
@@ -1,3 +1,5 @@
// @strict-types
#Область ПрограммныйИнтерфейс
@@ -1,3 +1,5 @@
// @strict-types
#Область ПрограммныйИнтерфейс
// Функция - Путь к серверу git
@@ -1,3 +1,5 @@
// @strict-types
// Функция - Соеденение СAPI
//
// Возвращаемое значение:
@@ -1,3 +1,5 @@
// @strict-types
#Область ПрограммныйИнтерфейс
Функция СоеденениеСAPI() Экспорт
@@ -1,3 +1,5 @@
// @strict-types
#Область ПрограммныйИнтерфейс
// Функция - Мердж реквесты
@@ -1,3 +1,5 @@
// @strict-types
#Область ПрограммныйИнтерфейс
Функция СсылкаAllure(URLJenkins, ИмяJobJenkins, НомерJob) Экспорт
@@ -1,3 +1,5 @@
// @strict-types
Функция УчетныеДаннные(Сервер) Экспорт
@@ -1,3 +1,5 @@
// @strict-types
Процедура ПодключитьсяКRDP(Сервер) Экспорт
@@ -1,3 +1,5 @@
// @strict-types
#Область ПрограммныйИнтерфейс
Процедура УстановитьЗаголовокБазыПоЗадаче(База, Задача) Экспорт
@@ -1,3 +1,5 @@
// @strict-types
Процедура ИзменитьВерсииОбработок(ТелоЗапроса) Экспорт
ДанныеДляСменыВерсии = ОбщегоНазначения.JSONВЗначение(ТелоЗапроса,, Ложь);
@@ -1,3 +1,5 @@
// @strict-types
#Область ПрограммныйИнтерфейс
//TODO 1) Вынести в модуль менеджера 2) А это не костыль?
@@ -0,0 +1,2 @@
// @strict-types
@@ -1,3 +1,5 @@
// @strict-types
#Область ПрограммныйИнтерфейс
Функция ПодменыВыводаЛога() Экспорт
@@ -1,3 +1,5 @@
// @strict-types
#Область ПрограммныйИнтерфейс
@@ -1,3 +1,5 @@
// @strict-types
#Область ПрограммныйИнтерфейс
@@ -1,3 +1,5 @@
// @strict-types
#Область ПрограммныйИнтерфейс
// Функция - Таблица значений в таблицу ХТМЛ
@@ -1,3 +1,5 @@
// @strict-types
#Область ПрограммныйИнтерфейс
@@ -31,35 +33,8 @@
КонецФункции
Функция СоздатьЗадачуНаРевьюКЗадаче(Задача) Экспорт
//todo это не очень хорошо,переделать что бы вх параметры были НомерЗадачи, ОтветственныйID
ДанныеИЗЗадачи = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Задача, "Ответственный, НомерЗадачи");
НомерЗадачи = ДанныеИЗЗадачи.НомерЗадачи;
НастройкиПользователей = Справочники.НастройкиПользователей.НастройкиТекущегоПользователя(ДанныеИЗЗадачи.Ответственный);
ДанныеЗадачиБитрикс = РаботаСBitrix.ДанныеЗадачиБитрикс(НомерЗадачи);
НазваниеЗадачи = СтрШаблон("Code Review к задача %1", НомерЗадачи);
DEADLINE = ТекущаяДатаСеанса() + 60*60*24;
ДанныеЗадачи = ДанныеЗадачиБитрикс["result"]["task"];
ПоляЗадачи = Новый Соответствие;
ПоляЗадачи.Вставить("TITLE", НазваниеЗадачи);
ПоляЗадачи.Вставить("DESCRIPTION", НазваниеЗадачи);
ПоляЗадачи.Вставить("CREATED_BY", ДанныеЗадачи["responsible"]["id"]);
ПоляЗадачи.Вставить("RESPONSIBLE_ID", НастройкиПользователей.IDТимЛидBitrix);
ПоляЗадачи.Вставить("GROUP_ID", ДанныеЗадачи["groupId"]);
ПоляЗадачи.Вставить("UF_STREAM_BUSINESS", ДанныеЗадачи["ufStreamBusiness"]);
ПоляЗадачи.Вставить("UF_AUTO_PRODUCT", ДанныеЗадачи["ufAutoProduct"]);
ПоляЗадачи.Вставить("DEADLINE", DEADLINE);
ПоляЗадачи.Вставить("PARENT_ID", НомерЗадачи);
Ответ = OPI_Bitrix24.СоздатьЗадачу(РаботаСBitrix.СсылкаBitrix(), ПоляЗадачи);
Если Ответ["error_description"] <> Неопределено Тогда
ВызватьИсключение(Ответ["error_description"]);
КонецЕсли;
ИДНовойЗадачи = Ответ["result"]["task"]["id"];
Возврат ИДНовойЗадачи;
Возврат Задача;
КонецФункции
@@ -93,11 +68,11 @@
Для Каждого СтрокаЗадачи Из ТаблицаЗадач Цикл
Попытка
ДанныеЗаполнения = СтруктурированныеДанныеПоЗадаче(СтрокаЗадачи.НомерЗадачи);
ДанныеЗаполнения = СтруктурированныеДанныеПоЗадаче(СтрокаЗадачи.НомерЗадачи, СтрокаЗадачи.Проект.ТаскТрекер);
ЗадачаОбъект = СтрокаЗадачи.Задача.ПолучитьОбъект();
ЗадачаОбъект.Заблокировать();
ЗадачаОбъект.ЗаполнитьПоДаннымЗаполнения(ДанныеЗаполнения);
ЗадачаОбъект.ПолучитьСписокТрудозатратЗадачи();
Если ЗадачаОбъект.ПроверитьЗаполнение() Тогда
ЗадачаОбъект.Записать();
КонецЕсли;
@@ -115,70 +90,30 @@
Функция ВидЗадачи(Код) Экспорт
Результат = Новый Соответствие;
Результат.Вставить("857", Перечисления.ТипыЗадач.Разработка);
Возврат Результат[Код];
Возврат Код;
КонецФункции
Функция ТипЗаявки(Код) Экспорт
Результат = Новый Соответствие;
Результат.Вставить("611", Перечисления.ТипыЗадач.ЗНИ);
Результат.Вставить("610", Перечисления.ТипыЗадач.Инцидент);
Возврат Результат[Код];
Возврат Код;
КонецФункции
Процедура ИзменитьУЗадачиКонтрольныйСрокИСРМ(Задача) Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Задача.Спринт.Код КАК СпринтКод,
| Задача.НомерЗадачи КАК НомерЗадачи,
| Задача.КрайнийСрок КАК КрайнийСрок,
| Задача.ПлановоеВремя * 60 КАК ПлановоеВремя,
| ЕСТЬNULL(НастройкиПользователей.IDПользователяBitrix, """") КАК IDПользователяBitrix,
| НЕ Задача.НеИзменятьКрайнийСрок КАК МожноИзменятьКрайнийСрок,
| Задача.НомерЗадачиБазовой КАК НомерЗадачиБазовой
|ИЗ
| Справочник.Задачи КАК Задача
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НастройкиПользователей КАК НастройкиПользователей
| ПО Задача.Ответственный = НастройкиПользователей.Владелец
|ГДЕ
| Задача.Ссылка = &Задача";
Запрос.УстановитьПараметр("Задача", Задача);
ТаблицаПоЗадаче = Запрос.Выполнить().Выгрузить();
Если ТаблицаПоЗадаче.Количество() Тогда
ПерваяСтрока = ТаблицаПоЗадаче[0];
СтруктураЗадачи = Новый Структура;
Если ПерваяСтрока.МожноИзменятьКрайнийСрок Тогда
СтруктураЗадачи.Вставить("DEADLINE", ПерваяСтрока.КрайнийСрок);
КонецЕсли;
СтруктураЗадачи.Вставить("TIME_ESTIMATE", ПерваяСтрока.ПлановоеВремя);
Если ЗначениеЗаполнено(ПерваяСтрока.СпринтКод) Тогда
UF_CRM_TASK = Новый Массив;
UF_CRM_TASK.Добавить(ПерваяСтрока.СпринтКод);
СтруктураЗадачи.Вставить("UF_CRM_TASK", UF_CRM_TASK);
КонецЕсли;
Если ЗначениеЗаполнено(ПерваяСтрока.IDПользователяBitrix) Тогда
СтруктураЗадачи.Вставить("RESPONSIBLE_ID", ПерваяСтрока.IDПользователяBitrix);
КонецЕсли;
IDЗадачи = ПерваяСтрока.НомерЗадачи;
Результат = OPI_Bitrix24.ИзменитьЗадачу(СсылкаBitrixПользователя(), IDЗадачи, СтруктураЗадачи);
КонецЕсли;
КонецПроцедуры
Функция ДанныеЗадачи(НомерЗадачи) Экспорт
Функция ДанныеЗадачи(НомерЗадачи, ТаскТрекер) Экспорт
//todo
Аутентификация = Новый Структура("Пользователь, Пароль", "web", "web");
УстановитьПривилегированныйРежим(Истина);
Пароль = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(ТаскТрекер, "Пароль");
УстановитьПривилегированныйРежим(Ложь);
Аутентификация = Новый Структура("Пользователь, Пароль", ТаскТрекер.Логин, Пароль);
ПараметрыЗапроса = Новый Соответствие;
ПараметрыЗапроса.Вставить("id", НомерЗадачи);
@@ -187,7 +122,7 @@
ДополнительныеПараметры.Вставить("ПроверятьSSL", Ложь);
ДополнительныеПараметры.Вставить("Аутентификация", Аутентификация);
Возврат КоннекторHTTP.GetJson(СтрокаЗапроса(), ПараметрыЗапроса, ДополнительныеПараметры);
Возврат КоннекторHTTP.GetJson(ТаскТрекер.URL, ПараметрыЗапроса, ДополнительныеПараметры);
КонецФункции
@@ -210,11 +145,11 @@
// Возвращаемое значение:
// Задача - СправочникСсылка.Задачи
//
Функция СтруктурированныеДанныеПоЗадаче(НомерЗадачи) Экспорт
Функция СтруктурированныеДанныеПоЗадаче(НомерЗадачи, ТаскТрекер) Экспорт
ДанныеЗаполнения = Новый Структура();
Задача = ДанныеЗадачи(НомерЗадачи);
Задача = ДанныеЗадачи(НомерЗадачи, ТаскТрекер);
ДанныеЗаполнения.Вставить("Наименование", Задача["Название"]);
Если ДанныеЗаполнения.Наименование = "" Тогда
@@ -311,29 +246,6 @@
Процедура ДобавитьСпринтВБазовуюЗадачу(Задача) Экспорт
сткЗадачи = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Задача, "Спринт.Код, НомерЗадачиБазовой");
СпринтКод = сткЗадачи.СпринтКод;
НомерЗадачиБазовой = сткЗадачи.НомерЗадачиБазовой;
Если ПустаяСтрока(НомерЗадачиБазовой) Или ПустаяСтрока(СпринтКод) Тогда
Возврат;
КонецЕсли;
ИнформацияОБазовойЗадаче = ДанныеЗадачи(НомерЗадачиБазовой);
Если ИнформацияОБазовойЗадаче["error_description"] <> Неопределено
Или ИнформацияОБазовойЗадаче["result"].Количество() = 0
Или ИнформацияОБазовойЗадаче["error"] <> Неопределено Тогда
Возврат;
КонецЕсли;
СРМЗадачи = ИнформацияОБазовойЗадаче["result"]["task"]["ufCrmTask"];
Если ТипЗнч(СРМЗадачи) <> Тип("Массив") Тогда
СРМЗадачи = Новый Массив;
КонецЕсли;
Если СРМЗадачи.Найти(СпринтКод) <> Неопределено Тогда
Возврат;
КонецЕсли;
СРМЗадачи.Добавить(СпринтКод);
СтруктураЗадачи = Новый Структура;
СтруктураЗадачи.Вставить("UF_CRM_TASK", СРМЗадачи);
Результат = OPI_Bitrix24.ИзменитьЗадачу(СсылкаBitrix(), НомерЗадачиБазовой, СтруктураЗадачи);
КонецПроцедуры
@@ -1,3 +1,5 @@
// @strict-types
// Функция - Соеденение СAPI
//
// Параметры:
@@ -74,6 +74,9 @@
//
////////////////////////////////////////////////////////////////////////////////
// @strict-types
#Область ПрограммныйИнтерфейс
// Версия модуля.
@@ -1,3 +1,5 @@
// @strict-types
#Область ПрограммныйИнтерфейс
// Конструктор параметров для ЗапуститьПрограмму.
@@ -1,3 +1,5 @@
// @strict-types
#Область ПрограммныйИнтерфейс
// Конструктор параметров для ЗапуститьПрограмму.
@@ -1,3 +1,5 @@
// @strict-types
// Процедура - Выгрузить файл внешней обработки ВXML
//
// Параметры:
@@ -6,6 +6,9 @@
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
// @strict-types
#Область ПрограммныйИнтерфейс
// Определяет состав назначений и общие реквизиты в шаблонах сообщений
+1
View File
@@ -1429,6 +1429,7 @@
<catalogs>Catalog.ШаблоныСообщенийПрисоединенныеФайлы</catalogs>
<catalogs>Catalog.ЭлектронноеПисьмоВходящееПрисоединенныеФайлы</catalogs>
<catalogs>Catalog.ЭлектронноеПисьмоИсходящееПрисоединенныеФайлы</catalogs>
<catalogs>Catalog.ТаскТрекеры</catalogs>
<documents>Document.Встреча</documents>
<documents>Document.ЗапланированноеВзаимодействие</documents>
<documents>Document.Релиз</documents>
@@ -1,3 +1,5 @@
// @strict-types
#Область ПрограммныйИнтерфейс
@@ -1,3 +1,5 @@
// @strict-types
#Область ОбработчикиКомандФормы
&НаКлиенте
@@ -1,3 +1,5 @@
// @strict-types
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
Функция ПечатьВсеЗадачи(Знач ВсеЗадачи, Знач СводнаяТаблицаХраненияДанных, ТаблицаАпрувов) Экспорт
@@ -1,3 +1,5 @@
// @strict-types
#Область ОбработчикиСобытийФормы
&НаСервере
@@ -6,6 +6,9 @@
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
// @strict-types
#Область ОбработчикиСобытийФормы
&НаСервере
@@ -1,3 +1,5 @@
// @strict-types
#Область ОбработчикиСобытийФормы
&НаСервере
@@ -1,3 +1,5 @@
// @strict-types
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс

Some files were not shown because too many files have changed in this diff Show More