From 35c9662c7c5c2fa9dd4f6e7feec9378cae4c420e Mon Sep 17 00:00:00 2001 From: Anton Ivanov Date: Fri, 19 May 2017 15:57:58 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D1=81=D0=BE=D1=80=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=BA?= =?UTF-8?q?=D1=83=20=D0=B2=20=D0=A2=D0=B5=D0=BA=D1=83=D1=89=D0=B8=D1=85=20?= =?UTF-8?q?=D0=B4=D0=B5=D0=BB=D0=B0=D1=85.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/cf/DataProcessors/узТекущиеДела.xml | 78 +++++++++++++++++++ .../узТекущиеДела/Ext/ObjectModule.bsl | 52 ++++++++++--- .../узТекущиеДела/Forms/Форма/Ext/Form.xml | 41 ++++++++++ .../Forms/Форма/Ext/Form/Module.bsl | 29 ++++++- 4 files changed, 188 insertions(+), 12 deletions(-) diff --git a/src/cf/DataProcessors/узТекущиеДела.xml b/src/cf/DataProcessors/узТекущиеДела.xml index aa7eea721..6d5589c78 100644 --- a/src/cf/DataProcessors/узТекущиеДела.xml +++ b/src/cf/DataProcessors/узТекущиеДела.xml @@ -65,6 +65,43 @@ Auto + + + НаДатуКонецДня + + + ru + На дату конец дня + + + + + xs:dateTime + + DateTime + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + @@ -593,6 +630,47 @@ Auto + + + ПорядокДоп + + + ru + Порядок доп + + + + + xs:decimal + + 10 + 0 + Any + + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + +
Форма
diff --git a/src/cf/DataProcessors/узТекущиеДела/Ext/ObjectModule.bsl b/src/cf/DataProcessors/узТекущиеДела/Ext/ObjectModule.bsl index e52c82c79..458912762 100644 --- a/src/cf/DataProcessors/узТекущиеДела/Ext/ObjectModule.bsl +++ b/src/cf/DataProcessors/узТекущиеДела/Ext/ObjectModule.bsl @@ -25,34 +25,62 @@ | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ - | КОГДА НАЧАЛОПЕРИОДА(узТекущиеДела.ДатаВыполнения, ДЕНЬ) = &НаДату + //| КОГДА НАЧАЛОПЕРИОДА(узТекущиеДела.ДатаВыполнения, ДЕНЬ) = &НаДату + | КОГДА НАЧАЛОПЕРИОДА(узТекущиеДела.ДатаВыполнения, ДЕНЬ) >= &НаДату + | И НАЧАЛОПЕРИОДА(узТекущиеДела.ДатаТекущегоДела, ДЕНЬ) <= &НаДату | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ | |УПОРЯДОЧИТЬ ПО | Выполнено, - | Порядок"; + | Порядок + |"; Запрос.УстановитьПараметр("Автор", ПараметрыСеанса.ТекущийПользователь); Запрос.УстановитьПараметр("НаДату", НаДату); РезультатЗапроса = Запрос.Выполнить(); - Выборка = РезультатЗапроса.Выбрать(); + ТЗРезультат = РезультатЗапроса.Выгрузить(); + ТЗРезультат.Колонки.Добавить("ПорядокДоп",Новый ОписаниеТипов("Число")); + Для каждого СтрокаТЗРезультат из ТЗРезультат цикл + пПорядокДоп = ПолучитьПорядоДоп(СтрокаТЗРезультат.Выполнено,СтрокаТЗРезультат.ДатаВыполнения,НаДату); + СтрокаТЗРезультат.ПорядокДоп = пПорядокДоп; + Конеццикла; - Пока Выборка.Следующий() Цикл + ТЗРезультат.Сортировать("ПорядокДоп,Порядок"); + + Для каждого СтрокаТЗРезультат из ТЗРезультат цикл СтрокаТЧТекущиеДела = ТЧТекущиеДела.Добавить(); - ЗаполнитьЗначенияСвойств(СтрокаТЧТекущиеДела,Выборка); + ЗаполнитьЗначенияСвойств(СтрокаТЧТекущиеДела,СтрокаТЗРезультат); СтрокаТЧТекущиеДела.НомерСтрокиОбработка = СтрокаТЧТекущиеДела.НомерСтроки; КонецЦикла; КонецПроцедуры +Функция ПолучитьПорядоДоп(пВыполнено,пДатаВыполнения,пНаДату) Экспорт + //Такая же функция есть в форме обработки + пПорядокДоп = 10; + Если НЕ пВыполнено Тогда + пПорядокДоп = 0; + Иначе + Если НачалоДня(пДатаВыполнения) <> пНаДату Тогда + пПорядокДоп = 1; + Иначе + пПорядокДоп = 2; + Конецесли; + Конецесли; + Возврат пПорядокДоп; +КонецФункции + Процедура СохранитьТекущиеДела() Экспорт - Для каждого СтрокаТЧТекущиеДела из ТЧТекущиеДела цикл - СтрокаТЧТекущиеДела.НомерСтрокиОбработка = СтрокаТЧТекущиеДела.НомерСтроки; - Конеццикла; - ТЧТекущиеДела.Сортировать("Выполнено,НомерСтрокиОбработка"); + //ЭтоСегодня = НачалоДня(ТекущаяДата()) = НаДату; + //Если ЭтоСегодня Тогда + Для каждого СтрокаТЧТекущиеДела из ТЧТекущиеДела цикл + СтрокаТЧТекущиеДела.НомерСтрокиОбработка = СтрокаТЧТекущиеДела.НомерСтроки; + Конеццикла; + ТЧТекущиеДела.Сортировать("Выполнено,НомерСтрокиОбработка"); + //КонецЕсли; Для каждого СтрокаТЧТекущиеДела из ТЧТекущиеДела цикл СтрокаТЧТекущиеДела.ТекстСодержания = СокрЛП(СтрокаТЧТекущиеДела.ТекстСодержания); @@ -61,9 +89,11 @@ Конецесли; ТекущееДелоОбъект = ПолучитьТекущееДелоОбъект(СтрокаТЧТекущиеДела); - ЗаполнитьЗначенияСвойств(ТекущееДелоОбъект,СтрокаТЧТекущиеДела,,"Автор,ДатаСоздания"); + ЗаполнитьЗначенияСвойств(ТекущееДелоОбъект,СтрокаТЧТекущиеДела,,"Автор,ДатаСоздания,Порядок"); ТекущееДелоОбъект.Наименование = ТекущееДелоОбъект.ТекстСодержания; - ТекущееДелоОбъект.Порядок = СтрокаТЧТекущиеДела.НомерСтроки; + //Если ЭтоСегодня Тогда + ТекущееДелоОбъект.Порядок = СтрокаТЧТекущиеДела.НомерСтроки; + //Конецесли; Если СтрокаТЧТекущиеДела.Выполнено = Ложь Тогда ТекущееДелоОбъект.ДатаВыполнения = Дата(1,1,1); Конецесли; diff --git a/src/cf/DataProcessors/узТекущиеДела/Forms/Форма/Ext/Form.xml b/src/cf/DataProcessors/узТекущиеДела/Forms/Форма/Ext/Form.xml index bc5319000..691f209af 100644 --- a/src/cf/DataProcessors/узТекущиеДела/Forms/Форма/Ext/Form.xml +++ b/src/cf/DataProcessors/узТекущиеДела/Forms/Форма/Ext/Form.xml @@ -219,6 +219,12 @@ + + Объект.ТЧТекущиеДела.ПорядокДоп + EnterOnInput + + + @@ -255,6 +261,11 @@ Equal true + + Объект.ТЧТекущиеДела.ДатаВыполнения + LessOrEqual + Объект.НаДатуКонецДня + @@ -268,6 +279,36 @@ + + + + ТЧТекущиеДела + + + + + Объект.ТЧТекущиеДела.Выполнено + Equal + true + + + Объект.ТЧТекущиеДела.ДатаВыполнения + Greater + Объект.НаДатуКонецДня + + + + + false + ЦветФона + #00A600 + + + Шрифт + + + + diff --git a/src/cf/DataProcessors/узТекущиеДела/Forms/Форма/Ext/Form/Module.bsl b/src/cf/DataProcessors/узТекущиеДела/Forms/Форма/Ext/Form/Module.bsl index 5b8498517..ea87e710c 100644 --- a/src/cf/DataProcessors/узТекущиеДела/Forms/Форма/Ext/Form/Module.bsl +++ b/src/cf/DataProcessors/узТекущиеДела/Forms/Форма/Ext/Form/Module.bsl @@ -14,6 +14,7 @@ &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Объект.НаДату = ТекущаяДата(); + Объект.НаДатуКонецДня = КонецДня(Объект.НаДату); ЗаполнитьТекущиеДелаНаСервере(); УстановитьВидимостьДоступность(); КонецПроцедуры @@ -100,13 +101,38 @@ ИдентификаторСтроки = ЭлМассиваВыделенныхСтрок; СтрокаТЧТекущиеДела = Объект.ТЧТекущиеДела.НайтиПоИдентификатору(ИдентификаторСтроки); + Если СтрокаТЧТекущиеДела.Выполнено Тогда + Продолжить; + Конецесли; СтрокаТЧТекущиеДела.ДатаВыполнения = ТекущаяДата(); СтрокаТЧТекущиеДела.Выполнено = Истина; Конеццикла; - Объект.ТЧТекущиеДела.Сортировать("Выполнено, ДатаВыполнения УБЫВ"); + Для каждого СтрокаТЧТекущиеДела из Объект.ТЧТекущиеДела цикл + СтрокаТЧТекущиеДела.Порядок = СтрокаТЧТекущиеДела.НомерСтроки; + + пПорядокДоп = ПолучитьПорядоДопНаКлиенте(СтрокаТЧТекущиеДела.Выполнено,СтрокаТЧТекущиеДела.ДатаВыполнения,Объект.НаДату); + СтрокаТЧТекущиеДела.ПорядокДоп = пПорядокДоп; + Конеццикла; + + Объект.ТЧТекущиеДела.Сортировать("ПорядокДоп,Порядок"); КонецПроцедуры +&НаКлиенте +Функция ПолучитьПорядоДопНаКлиенте(пВыполнено,пДатаВыполнения,пНаДату) + //Такая же функция есть в модуле обработки + пПорядокДоп = 10; + Если НЕ пВыполнено Тогда + пПорядокДоп = 0; + Иначе + Если НачалоДня(пДатаВыполнения) <> пНаДату Тогда + пПорядокДоп = 1; + Иначе + пПорядокДоп = 2; + Конецесли; + Конецесли; + Возврат пПорядокДоп; +КонецФункции &НаКлиенте Процедура КомандаПоказатьДопСведения(Команда) @@ -152,6 +178,7 @@ &НаКлиенте Процедура ИзменитьНаДату(НаДатуНовая) Объект.НаДату = НаДатуНовая; + Объект.НаДатуКонецДня = КонецДня(Объект.НаДату); ОбновитьТекущиеДелаНаСервере(); ОбновитьЗаголовокКомандаНаДату(); КонецПроцедуры