diff --git a/src/cf/Catalogs/узЗадачи.xml b/src/cf/Catalogs/узЗадачи.xml index a62a01bef..d4d87846d 100644 --- a/src/cf/Catalogs/узЗадачи.xml +++ b/src/cf/Catalogs/узЗадачи.xml @@ -1830,6 +1830,53 @@ Use + + + ЭтоОсновнаяЗадача + + + ru + Это основная задача + + + en + This Main Task + + + ro + This Main Task + + + + + xs:boolean + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + ForItem + DontIndex + Use + + @@ -3143,11 +3190,19 @@ - КомандаСоздатьИерархиюЗадачНаДиске + КомандаСоздатьФайлДляЗадачиНаДиске ru - Создать иерархию задач на диске + Создать файл для задачи на диске + + + en + Create a file for the task on disk + + + ro + Create a file for the task on disk diff --git a/src/cf/Catalogs/узЗадачи/Ext/ObjectModule.bsl b/src/cf/Catalogs/узЗадачи/Ext/ObjectModule.bsl index d677c0944..c0087acaa 100644 --- a/src/cf/Catalogs/узЗадачи/Ext/ObjectModule.bsl +++ b/src/cf/Catalogs/узЗадачи/Ext/ObjectModule.bsl @@ -14,6 +14,12 @@ Если НЕ ЗначениеЗаполнено(ДатаНачалаРаботПоЗадаче) Тогда ДатаНачалаРаботПоЗадаче = ДатаСоздания; Конецесли; + + Если ЭтоНовый() + И НЕ ЗначениеЗаполнено(Родитель) Тогда + ЭтоОсновнаяЗадача = Истина; + Конецесли; + ОсновнаяЗадача = ПолучитьОсновнуюЗадачу(Родитель); ЗаполнитьСтатусЗадачиЕслиОнНеЗаполнен(Отказ); @@ -791,7 +797,8 @@ Функция ПолучитьОсновнуюЗадачу(СсылкаНаОбъект) РодителяОбъекта = СсылкаНаОбъект.Родитель; - Если ЗначениеЗаполнено(РодителяОбъекта) Тогда + Если ЗначениеЗаполнено(РодителяОбъекта) + И НЕ СсылкаНаОбъект.ЭтоОсновнаяЗадача Тогда Возврат ПолучитьОсновнуюЗадачу(РодителяОбъекта); Иначе Возврат СсылкаНаОбъект; @@ -825,9 +832,33 @@ Если ЭтоНовый() Тогда Возврат; Конецесли; - Если НЕ ЗначениеЗаполнено(ОсновнаяЗадача) Тогда + + пОсновнаяЗадача = ОсновнаяЗадача; + Если ЭтоОсновнаяЗадача Тогда + пОсновнаяЗадача = Ссылка; + Конецесли; + + Если НЕ ЗначениеЗаполнено(пОсновнаяЗадача) Тогда Возврат; - КонецЕсли; + КонецЕсли; + + МассивПодчиненныхЗадач = Новый Массив(); + ЗаполнитьМассивПодчиненныхЗадач(Ссылка,пОсновнаяЗадача,МассивПодчиненныхЗадач); + + Для каждого пЗадача из МассивПодчиненныхЗадач цикл + СпрОбъект = пЗадача.ПолучитьОбъект(); + #Если Тромбон тогда + СпрОбъект = Справочники.узЗадачи.СоздатьЭлемент(); + #Конецесли + + СпрОбъект.ОсновнаяЗадача = пОсновнаяЗадача; + СпрОбъект.ДополнительныеСвойства.Вставить("узЭтоОбработка",Истина); + СпрОбъект.Записать(); + Конеццикла; + +КонецПроцедуры + +Процедура ЗаполнитьМассивПодчиненныхЗадач(ЗадачаРодитель,пОсновнаяЗадача,МассивПодчиненныхЗадач) Запрос = Новый Запрос(" |ВЫБРАТЬ @@ -835,30 +866,35 @@ |ИЗ | Справочник.узЗадачи КАК узЗадачи |ГДЕ - | узЗадачи.Ссылка В ИЕРАРХИИ(&Задача) - | И узЗадачи.Ссылка <> &Задача - | И узЗадачи.ОсновнаяЗадача <> &ОсновнаяЗадача + | узЗадачи.Родитель = &ЗадачаРодитель + | И узЗадачи.Ссылка <> &ЗадачаРодитель |"); - Запрос.УстановитьПараметр("Задача", Ссылка); - Запрос.УстановитьПараметр("ОсновнаяЗадача", ОсновнаяЗадача); - - РезультатЗапроса = Запрос.Выполнить(); + Запрос.УстановитьПараметр("ЗадачаРодитель", ЗадачаРодитель); + + РезультатЗапроса = Запрос.Выполнить(); + Если РезультатЗапроса.Пустой() Тогда - Возврат; + Возврат; Конецесли; Выборка = РезультатЗапроса.Выбрать(); Пока Выборка.Следующий() Цикл - СпрОбъект = Выборка.Ссылка.ПолучитьОбъект(); - #Если Тромбон тогда - СпрОбъект = Справочники.узЗадачи.СоздатьЭлемент(); - #Конецесли + пЗадача = Выборка.Ссылка; - СпрОбъект.ОсновнаяЗадача = ОсновнаяЗадача; - СпрОбъект.ДополнительныеСвойства.Вставить("узЭтоОбработка",Истина); - СпрОбъект.Записать(); + МассивПодчиненныхЗадач.Добавить(пЗадача); + + Если пЗадача.ЭтоОсновнаяЗадача Тогда + Продолжить; + Конецесли; + + Если пЗадача.ОсновнаяЗадача = пОсновнаяЗадача Тогда + Продолжить; + Конецесли; + + ЗаполнитьМассивПодчиненныхЗадач(пЗадача,пОсновнаяЗадача,МассивПодчиненныхЗадач); Конеццикла; + КонецПроцедуры Функция ПроверитьWIPЛимит() Экспорт diff --git a/src/cf/Catalogs/узЗадачи/Forms/ФормаЭлемента/Ext/Form.xml b/src/cf/Catalogs/узЗадачи/Forms/ФормаЭлемента/Ext/Form.xml index 22fe75368..a8542abb1 100644 --- a/src/cf/Catalogs/узЗадачи/Forms/ФормаЭлемента/Ext/Form.xml +++ b/src/cf/Catalogs/узЗадачи/Forms/ФормаЭлемента/Ext/Form.xml @@ -963,22 +963,42 @@ - - Объект.ОсновнаяЗадача - true - EnterOnInput - 1 - - - - - Catalog.узЗадачи.EmptyRef - - - - - - + + Horizontal + None + false + + + + Объект.ЭтоОсновнаяЗадача + Tumbler + + + ru + БЛ=Нет; БИ=Да + + + + + + + Объект.ОсновнаяЗадача + true + EnterOnInput + 1 + + + + + Catalog.узЗадачи.EmptyRef + + + + + + + + Объект.Автор