From ec1952cbd026dc451a599013bc08ee407a0a7fea Mon Sep 17 00:00:00 2001 From: Anton Ivanov Date: Sat, 9 Sep 2017 18:24:40 +0300 Subject: [PATCH] =?UTF-8?q?#49=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D1=82=D1=8C=20=D1=80=D0=B5=D0=BA=D0=B2=D0=B8=D0=B7=D0=B8=D1=82?= =?UTF-8?q?=20"=D0=AD=D1=82=D0=BE=20=D0=BE=D1=81=D0=BD=D0=BE=D0=B2=D0=BD?= =?UTF-8?q?=D0=B0=D1=8F=20=D0=B7=D0=B0=D0=B4=D0=B0=D1=87=D0=B0",=20=D1=87?= =?UTF-8?q?=D1=82=D0=BE=D0=B1=D1=8B=20=D0=BF=D1=80=D0=B8=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=BB=D1=83=D1=87=D0=B5=D0=BD=D0=B8=D0=B8=20=D0=BE=D1=81=D0=BD?= =?UTF-8?q?=D0=BE=D0=B2=D0=BD=D0=BE=D0=B9=20=D0=B7=D0=B0=D0=B4=D0=B0=D1=87?= =?UTF-8?q?=D0=B8=20=D0=BF=D0=BE=D0=B8=D1=81=D0=BA=20=D0=BF=D1=80=D0=B5?= =?UTF-8?q?=D1=80=D1=8B=D0=B2=D0=B0=D0=BB=D1=81=D1=8F=20=D0=BD=D0=B0=20?= =?UTF-8?q?=D1=82=D0=BE=D0=B9=20=D0=B2=20=D0=BA=D0=BE=D1=82=D0=BE=D1=80?= =?UTF-8?q?=D0=BE=D0=B9=20=D1=83=D0=BA=D0=B0=D0=B7=D0=B0=D0=BD=D0=BE,=20?= =?UTF-8?q?=D1=87=D1=82=D0=BE=20=D1=8D=D1=82=D0=BE=20=D0=BE=D1=81=D0=BD?= =?UTF-8?q?=D0=BE=D0=B2=D0=BD=D0=B0=D1=8F=20=D0=B7=D0=B0=D0=B4=D0=B0=D1=87?= =?UTF-8?q?=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/cf/Catalogs/узЗадачи.xml | 59 ++++++++++++++- src/cf/Catalogs/узЗадачи/Ext/ObjectModule.bsl | 72 ++++++++++++++----- .../узЗадачи/Forms/ФормаЭлемента/Ext/Form.xml | 52 +++++++++----- 3 files changed, 147 insertions(+), 36 deletions(-) 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 + + + + + + + + Объект.Автор