diff --git a/src/cf/Documents/узВыпускРелиза.xml b/src/cf/Documents/узВыпускРелиза.xml
index e3ac73bba..98eb36596 100644
--- a/src/cf/Documents/узВыпускРелиза.xml
+++ b/src/cf/Documents/узВыпускРелиза.xml
@@ -287,21 +287,21 @@
-
+
c585ebd8-e429-497b-8759-b78800ecf03b
aaaff310-919f-49b0-a204-2239e78a50fa
-
+
278f6581-84c4-4bf8-88a7-96b36c98efba
21fa8d93-613f-46e9-96d5-d6a46fb96f6b
- Задачи
+ ТЧЗадачи
ru
- Задачи
+ ТЧЗадачи
diff --git a/src/cf/Documents/узВыпускРелиза/Ext/ObjectModule.bsl b/src/cf/Documents/узВыпускРелиза/Ext/ObjectModule.bsl
new file mode 100644
index 000000000..f5f81f630
--- /dev/null
+++ b/src/cf/Documents/узВыпускРелиза/Ext/ObjectModule.bsl
@@ -0,0 +1,28 @@
+
+Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
+ ОчиститьСвязанныеТЧ();
+КонецПроцедуры
+
+Процедура ОчиститьСвязанныеТЧ() Экспорт
+
+ МассивЗадач = ТЧЗадачи.ВыгрузитьКолонку("Задача");
+
+ МассивОбрабатываемыхТЧ = Новый Массив();
+ МассивОбрабатываемыхТЧ.Добавить("ИсторияХранилища");
+ МассивОбрабатываемыхТЧ.Добавить("ИзмененныеОбъекты");
+
+ Для каждого ИмяТЧ из МассивОбрабатываемыхТЧ цикл
+ СтрокиКУдалению = Новый Массив();
+
+ Для каждого СтрокаТЧ из ЭтотОбъект[ИмяТЧ] цикл
+ пЗадача = СтрокаТЧ.Задача;
+ Если МассивЗадач.Найти(пЗадача) = Неопределено Тогда
+ СтрокиКУдалению.Добавить(СтрокаТЧ);
+ Конецесли;
+ Конеццикла;
+
+ Для каждого СтрокаКУдалению из СтрокиКУдалению цикл
+ ЭтотОбъект[ИмяТЧ].Удалить(СтрокаКУдалению);
+ Конеццикла;
+ Конеццикла;
+КонецПроцедуры
diff --git a/src/cf/Documents/узВыпускРелиза/Forms/ФормаДокумента/Ext/Form.xml b/src/cf/Documents/узВыпускРелиза/Forms/ФормаДокумента/Ext/Form.xml
index 72d1e5501..79a23fc2e 100644
--- a/src/cf/Documents/узВыпускРелиза/Forms/ФормаДокумента/Ext/Form.xml
+++ b/src/cf/Documents/узВыпускРелиза/Forms/ФормаДокумента/Ext/Form.xml
@@ -208,16 +208,21 @@
Horizontal
-
+
List
true
true
true
- Объект.Задачи
+ Объект.ТЧЗадачи
-
-
+
+
+
-
-
+
+
- - Задачи
+ - ТЧЗадачи
SearchStringRepresentation
-
-
+
+
-
+
- - Задачи
+ - ТЧЗадачи
ViewStatusRepresentation
-
-
+
+
-
+
- - Задачи
+ - ТЧЗадачи
SearchControl
-
-
+
+
+ ЗадачиПередУдалением
ЗадачиПриАктивизацииСтроки
+ ЗадачиПослеУдаления
- Объект.Задачи.LineNumber
+ Объект.ТЧЗадачи.LineNumber
EnterOnInput
- Объект.Задачи.Задача
+ Объект.ТЧЗадачи.Задача
EnterOnInput
@@ -275,7 +282,7 @@
- Объект.Задачи.Задача.Code
+ Объект.ТЧЗадачи.Задача.Code
ru
@@ -287,25 +294,25 @@
- Объект.Задачи.Задача.Статус
+ Объект.ТЧЗадачи.Задача.Статус
EnterOnInput
- Объект.Задачи.Задача.Исполнитель
+ Объект.ТЧЗадачи.Задача.Исполнитель
EnterOnInput
- Объект.Задачи.Задача.ОсновнаяЗадача
+ Объект.ТЧЗадачи.Задача.ОсновнаяЗадача
EnterOnInput
- Объект.Задачи.Задача.КомментарииВКоде
+ Объект.ТЧЗадачи.Задача.КомментарииВКоде
EnterOnInput
@@ -588,5 +595,25 @@
КомандаПодборЗадач
+
+
+
+ ru
+ Обновить данные по задачам
+
+
+
+
+ ru
+ Команда обновить данные по задачам
+
+
+
+ StdPicture.Refresh
+ true
+
+ КомандаОбновитьДанныеПоЗадачам
+ Picture
+
\ No newline at end of file
diff --git a/src/cf/Documents/узВыпускРелиза/Forms/ФормаДокумента/Ext/Form/Module.bsl b/src/cf/Documents/узВыпускРелиза/Forms/ФормаДокумента/Ext/Form/Module.bsl
index 607626488..f28a9b44c 100644
--- a/src/cf/Documents/узВыпускРелиза/Forms/ФормаДокумента/Ext/Form/Module.bsl
+++ b/src/cf/Documents/узВыпускРелиза/Forms/ФормаДокумента/Ext/Form/Module.bsl
@@ -43,11 +43,11 @@
ПараметрыОтбора = Новый Структура();
ПараметрыОтбора.Вставить("Задача",пЗадача);
- НайденныеСтроки = Объект.Задачи.НайтиСтроки(ПараметрыОтбора);
+ НайденныеСтроки = Объект.ТЧЗадачи.НайтиСтроки(ПараметрыОтбора);
Если НайденныеСтроки.Количество() > 0 Тогда
Продолжить;
Конецесли;
- СтрокаЗадачи = Объект.Задачи.Добавить();
+ СтрокаЗадачи = Объект.ТЧЗадачи.Добавить();
СтрокаЗадачи.Задача = пЗадача;
Конеццикла;
@@ -65,12 +65,12 @@
ПараметрыОтбора.Вставить("Задача",пЗадача);
СтрокиКУдалению = Объект.ИсторияХранилища.НайтиСтроки(ПараметрыОтбора);
Для каждого СтрокаКУдалению из СтрокиКУдалению цикл
- Объект.ИзмененныеОбъекты.Удалить(СтрокаКУдалению);
+ Объект.ИсторияХранилища.Удалить(СтрокаКУдалению);
Конеццикла;
Конецесли;
Если СтрокаЗадачиСтруктура = Неопределено Тогда
- МассивЗадач = Объект.Задачи.Выгрузить(,"Задача");
+ МассивЗадач = Объект.ТЧЗадачи.Выгрузить(,"Задача");
Иначе
МассивЗадач = Новый Массив();
МассивЗадач.Добавить(СтрокаЗадачиСтруктура.Задача);
@@ -103,8 +103,17 @@
КонецЦикла;
ЗаполнитьИзмененныеОбъекты(СтрокаЗадачиСтруктура);
+
+ ОчиститьСвязанныеТЧНаСервере();
КонецПроцедуры
+&НаСервере
+Процедура ОчиститьСвязанныеТЧНаСервере()
+ пОбъект = РеквизитФормыВЗначение("Объект");
+ пОбъект.ОчиститьСвязанныеТЧ();
+ ЗначениеВРеквизитФормы(пОбъект,"Объект");
+КонецПроцедуры
+
&НаСервере
Процедура ЗаполнитьИзмененныеОбъекты(СтрокаЗадачиСтруктура = Неопределено)
Если СтрокаЗадачиСтруктура = Неопределено Тогда
@@ -159,7 +168,7 @@
Процедура УстановитьОтборыВСвязанныхТЧ()
Перем пЗадача;
- СтрокаЗадачи = Элементы.Задачи.ТекущиеДанные;
+ СтрокаЗадачи = Элементы.ТЧЗадачи.ТекущиеДанные;
Если СтрокаЗадачи <> Неопределено тогда
пЗадача = СтрокаЗадачи.Задача;
Конецесли;
@@ -175,7 +184,7 @@
Процедура ПриИзмененииЗадачи(СтрокаЗадачи)
СтрокаЗадачиСтруктура = Новый Структура();
СтрокаЗадачиСтруктура.Вставить("Задача",СтрокаЗадачи.Задача);
- ЗаполнитьИсториюХранилищаПоЗадачам(СтрокаЗадачиСтруктура);
+ ЗаполнитьИсториюХранилищаПоЗадачам(СтрокаЗадачиСтруктура);
КонецПроцедуры
&НаКлиенте
@@ -185,7 +194,7 @@
&НаКлиенте
Процедура ЗадачиЗадачаПриИзменении(Элемент)
- СтрокаЗадачи = Элементы.Задачи.ТекущиеДанные;
+ СтрокаЗадачи = Элементы.ТЧЗадачи.ТекущиеДанные;
Если СтрокаЗадачи = Неопределено тогда
Возврат;
Конецесли;
@@ -209,7 +218,7 @@
&НаКлиенте
Процедура ИсторияХранилищаПометкаПриИзменении(Элемент)
- СтрокаЗадачи = Элементы.Задачи.ТекущиеДанные;
+ СтрокаЗадачи = Элементы.ТЧЗадачи.ТекущиеДанные;
Если СтрокаЗадачи <> Неопределено тогда
пЗадача = СтрокаЗадачи.Задача;
Конецесли;
@@ -296,41 +305,43 @@
НомерПорядка = 1;
Если Найти(пПолноеИмяМетаданных,".") = 0 Тогда
- пПорядок = "1_";
- ИначеЕсли Найти(пПолноеИмяМетаданных,"Общие") > 0 Тогда
- пПорядок = "2_";
+ пПорядок = "001_";
+ ИначеЕсли Найти(Лев(пПолноеИмяМетаданных,5),"Общие") > 0 Тогда
+ пПорядок = "002_";
ИначеЕсли Найти(пПолноеИмяМетаданных,"Константа") > 0 Тогда
- пПорядок = "3_";
+ пПорядок = "003_";
ИначеЕсли Найти(пПолноеИмяМетаданных,"Справочник") > 0 Тогда
- пПорядок = "4_";
+ пПорядок = "004_";
ИначеЕсли Найти(пПолноеИмяМетаданных,"Документ") > 0 Тогда
- пПорядок = "5_";
+ пПорядок = "005_";
ИначеЕсли Найти(пПолноеИмяМетаданных,"ЖурналДокументов") > 0 Тогда
- пПорядок = "6_";
+ пПорядок = "006_";
ИначеЕсли Найти(пПолноеИмяМетаданных,"Перечисление") > 0 Тогда
- пПорядок = "7_";
+ пПорядок = "007_";
ИначеЕсли Найти(пПолноеИмяМетаданных,"Отчет") > 0 Тогда
- пПорядок = "8_";
+ пПорядок = "008_";
+ ИначеЕсли Найти(пПолноеИмяМетаданных,"Обработка") > 0 Тогда
+ пПорядок = "009_";
ИначеЕсли Найти(пПолноеИмяМетаданных,"ПланВидовХарактеристик") > 0 Тогда
- пПорядок = "9_";
+ пПорядок = "010_";
ИначеЕсли Найти(пПолноеИмяМетаданных,"ПланСчетов") > 0 Тогда
- пПорядок = "10_";
+ пПорядок = "011_";
ИначеЕсли Найти(пПолноеИмяМетаданных,"ПланВидовРасчета") > 0 Тогда
- пПорядок = "11_";
+ пПорядок = "012_";
ИначеЕсли Найти(пПолноеИмяМетаданных,"РегистрСведений") > 0 Тогда
- пПорядок = "12_";
+ пПорядок = "013_";
ИначеЕсли Найти(пПолноеИмяМетаданных,"РегистрНакопления") > 0 Тогда
- пПорядок = "13_";
+ пПорядок = "014_";
ИначеЕсли Найти(пПолноеИмяМетаданных,"РегистрБухгалтерии") > 0 Тогда
- пПорядок = "14_";
+ пПорядок = "015_";
ИначеЕсли Найти(пПолноеИмяМетаданных,"РегистрРасчета") > 0 Тогда
- пПорядок = "15_";
+ пПорядок = "016_";
ИначеЕсли Найти(пПолноеИмяМетаданных,"БизнесПроцесс") > 0 Тогда
- пПорядок = "16_";
+ пПорядок = "017_";
ИначеЕсли Найти(пПолноеИмяМетаданных,"Задача") > 0 Тогда
- пПорядок = "17_";
+ пПорядок = "018_";
ИначеЕсли Найти(пПолноеИмяМетаданных,"ВнешнийИсточникДанных") > 0 Тогда
- пПорядок = "18_";
+ пПорядок = "019_";
Конецесли;
Возврат пПорядок;
@@ -354,3 +365,13 @@
Процедура ПриОткрытии(Отказ)
ОбновитьЗаголовокФормы();
КонецПроцедуры
+
+&НаКлиенте
+Процедура ЗадачиПослеУдаления(Элемент)
+ ОчиститьСвязанныеТЧНаСервере();
+КонецПроцедуры
+
+&НаКлиенте
+Процедура КомандаОбновитьДанныеПоЗадачам(Команда)
+ ЗаполнитьИсториюХранилищаПоЗадачам();
+КонецПроцедуры
diff --git a/src/cf/Roles/узПользователь/Ext/Rights.xml b/src/cf/Roles/узПользователь/Ext/Rights.xml
index 8a90ee327..4aadadee9 100644
--- a/src/cf/Roles/узПользователь/Ext/Rights.xml
+++ b/src/cf/Roles/узПользователь/Ext/Rights.xml
@@ -2212,7 +2212,7 @@