mirror of
https://github.com/BlizD/Tasks.git
synced 2025-03-19 21:07:53 +02:00
#18 При переносе в статус архив не отправлять уведомления (УЗ 120)
This commit is contained in:
parent
60b78077c8
commit
b9422703be
@ -81,18 +81,27 @@
|
||||
СобытияВИстории = Новый Структура();
|
||||
СобытияВИстории.Вставить("СтарыйИсполнитель",СтарыйИсполнитель);
|
||||
|
||||
ТЗСобытияВИстории = Новый ТаблицаЗначений;
|
||||
ТЗСобытияВИстории.Колонки.Добавить("ВидСобытия",Новый ОписаниеТипов("ПеречислениеСсылка.узВидыСобытий"));
|
||||
ТЗСобытияВИсторииДляУведомлений = Новый ТаблицаЗначений;
|
||||
ТЗСобытияВИсторииДляУведомлений.Колонки.Добавить("ВидСобытия",Новый ОписаниеТипов("ПеречислениеСсылка.узВидыСобытий"));
|
||||
|
||||
ДатаСобытия = ТекущаяДата();
|
||||
пАвтор = Пользователи.ТекущийПользователь();
|
||||
|
||||
ПараметрыДляИстории = Новый Структура();
|
||||
ПараметрыДляИстории.Вставить("ДатаСобытия",ДатаСобытия);
|
||||
ПараметрыДляИстории.Вставить("Автор",пАвтор);
|
||||
ПараметрыДляИстории.Вставить("НовыйСтатус",Статус);
|
||||
|
||||
Если ЭтоНовый() Тогда
|
||||
ВидСобытия = ПредопределенноеЗначение("Перечисление.узВидыСобытий.ДобавленаЗадача");
|
||||
Событие = "Добавлена задача";
|
||||
ДобавитьВИсторию(ДатаСобытия,пАвтор,ВидСобытия,Событие,ТЗСобытияВИстории);
|
||||
|
||||
ПараметрыДляИстории.Вставить("ВидСобытия",ВидСобытия);
|
||||
ПараметрыДляИстории.Вставить("Событие",Событие);
|
||||
ДобавитьВИсторию(ПараметрыДляИстории,ТЗСобытияВИсторииДляУведомлений);
|
||||
|
||||
ДобавитьВИсториюСтатусов();
|
||||
СобытияВИстории.Вставить("ТЗСобытияВИстории",ТЗСобытияВИстории);
|
||||
СобытияВИстории.Вставить("ТЗСобытияВИсторииДляУведомлений",ТЗСобытияВИсторииДляУведомлений);
|
||||
Возврат СобытияВИстории;
|
||||
Конецесли;
|
||||
|
||||
@ -104,7 +113,11 @@
|
||||
Иначе
|
||||
Событие = "Изменен исполнитель с ["+СтарыйИсполнитель+"] на [" + Исполнитель+"]";
|
||||
Конецесли;
|
||||
ДобавитьВИсторию(ДатаСобытия,пАвтор,ВидСобытия,Событие,ТЗСобытияВИстории);
|
||||
|
||||
ПараметрыДляИстории.Вставить("ВидСобытия",ВидСобытия);
|
||||
ПараметрыДляИстории.Вставить("Событие",Событие);
|
||||
ДобавитьВИсторию(ПараметрыДляИстории,ТЗСобытияВИсторииДляУведомлений);
|
||||
|
||||
ДобавитьВИсториюСтатусов();
|
||||
Конецесли;
|
||||
|
||||
@ -114,20 +127,31 @@
|
||||
|
||||
ВидСобытия = ПредопределенноеЗначение("Перечисление.узВидыСобытий.ИзменениеСтатуса");
|
||||
Событие = "Изменен статус с ["+СтарыйСтатус+"] на [" + Статус+"]";
|
||||
ДобавитьВИсторию(ДатаСобытия,пАвтор,ВидСобытия,Событие,ТЗСобытияВИстории);
|
||||
|
||||
ПараметрыДляИстории.Вставить("ВидСобытия",ВидСобытия);
|
||||
ПараметрыДляИстории.Вставить("Событие",Событие);
|
||||
ДобавитьВИсторию(ПараметрыДляИстории,ТЗСобытияВИсторииДляУведомлений);
|
||||
Конецесли;
|
||||
|
||||
СтарыеКомментарии = Ссылка.Комментарии;
|
||||
Если Комментарии.Количество() <> СтарыеКомментарии.Количество() Тогда
|
||||
ВидСобытия = ПредопределенноеЗначение("Перечисление.узВидыСобытий.ДобавленКомментарий");
|
||||
Событие = "Добавлен новый комментарий";
|
||||
ДобавитьВИсторию(ДатаСобытия,пАвтор,ВидСобытия,Событие,ТЗСобытияВИстории);
|
||||
|
||||
ПараметрыДляИстории.Вставить("ВидСобытия",ВидСобытия);
|
||||
ПараметрыДляИстории.Вставить("Событие",Событие);
|
||||
ДобавитьВИсторию(ПараметрыДляИстории,ТЗСобытияВИсторииДляУведомлений);
|
||||
|
||||
Иначе
|
||||
ИзменилисьЛиКомментарии = ПолучитьИзменилисьЛиКомментарии();
|
||||
Если ИзменилисьЛиКомментарии Тогда
|
||||
ВидСобытия = ПредопределенноеЗначение("Перечисление.узВидыСобытий.ИзмененКомментарий");
|
||||
Событие = "Изменили комментарий";
|
||||
ДобавитьВИсторию(ДатаСобытия,пАвтор,ВидСобытия,Событие,ТЗСобытияВИстории);
|
||||
|
||||
ПараметрыДляИстории.Вставить("ВидСобытия",ВидСобытия);
|
||||
ПараметрыДляИстории.Вставить("Событие",Событие);
|
||||
ДобавитьВИсторию(ПараметрыДляИстории,ТЗСобытияВИсторииДляУведомлений);
|
||||
|
||||
Конецесли;
|
||||
Конецесли;
|
||||
|
||||
@ -138,12 +162,15 @@
|
||||
ИЛИ СокрЛП(ТекстСодержания) <> СтароеТекстСодержания Тогда
|
||||
ВидСобытия = ПредопределенноеЗначение("Перечисление.узВидыСобытий.ИзмененоОписаниеЗадачи");
|
||||
Событие = "Изменено описание задачи";
|
||||
ДобавитьВИсторию(ДатаСобытия,пАвтор,ВидСобытия,Событие,ТЗСобытияВИстории);
|
||||
|
||||
ПараметрыДляИстории.Вставить("ВидСобытия",ВидСобытия);
|
||||
ПараметрыДляИстории.Вставить("Событие",Событие);
|
||||
ДобавитьВИсторию(ПараметрыДляИстории,ТЗСобытияВИсторииДляУведомлений);
|
||||
Конецесли;
|
||||
|
||||
История.Сортировать("ДатаСобытия УБЫВ");
|
||||
|
||||
СобытияВИстории.Вставить("ТЗСобытияВИстории",ТЗСобытияВИстории);
|
||||
СобытияВИстории.Вставить("ТЗСобытияВИсторииДляУведомлений",ТЗСобытияВИсторииДляУведомлений);
|
||||
Возврат СобытияВИстории;
|
||||
|
||||
|
||||
@ -196,16 +223,20 @@
|
||||
СтрокаИсторияСтатусов.ДатаОкончания = ТекущаяДата();
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ДобавитьВИсторию(ДатаСобытия,пАвтор,ВидСобытия,Событие,ТЗСобытияВИстории)
|
||||
Процедура ДобавитьВИсторию(ПараметрыДляИстории,ТЗСобытияВИсторииДляУведомлений)
|
||||
|
||||
СтрокаИстория = История.Добавить();
|
||||
СтрокаИстория.ДатаСобытия = ДатаСобытия;
|
||||
СтрокаИстория.Автор = пАвтор;
|
||||
СтрокаИстория.ВидСобытия = ВидСобытия;
|
||||
СтрокаИстория.Событие = Событие;
|
||||
СтрокаИстория.ДатаСобытия = ПараметрыДляИстории.ДатаСобытия;
|
||||
СтрокаИстория.Автор = ПараметрыДляИстории.Автор;
|
||||
СтрокаИстория.ВидСобытия = ПараметрыДляИстории.ВидСобытия;
|
||||
СтрокаИстория.Событие = ПараметрыДляИстории.Событие;
|
||||
|
||||
СтрокаТЗСобытияВИстории = ТЗСобытияВИстории.Добавить();
|
||||
СтрокаТЗСобытияВИстории.ВидСобытия = ВидСобытия;
|
||||
Если ПараметрыДляИстории.НовыйСтатус = ПредопределенноеЗначение("Справочник.узСтатусыЗадачи.Архив") Тогда
|
||||
Возврат;
|
||||
Конецесли;
|
||||
|
||||
СтрокаТЗСобытияВИсторииДляУведомлений = ТЗСобытияВИсторииДляУведомлений.Добавить();
|
||||
СтрокаТЗСобытияВИсторииДляУведомлений.ВидСобытия = ПараметрыДляИстории.ВидСобытия;
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОтправитьУведомлениеНаПочту(СобытияВИстории)
|
||||
@ -273,8 +304,8 @@
|
||||
Если ТекПользователь = Исполнитель Тогда
|
||||
Возврат;
|
||||
Конецесли;
|
||||
ТЗСобытияВИстории = СобытияВИстории.ТЗСобытияВИстории;
|
||||
ВсегоСобытий = ТЗСобытияВИстории.Количество();
|
||||
ТЗСобытияВИсторииДляУведомлений = СобытияВИстории.ТЗСобытияВИсторииДляУведомлений;
|
||||
ВсегоСобытий = ТЗСобытияВИсторииДляУведомлений.Количество();
|
||||
Если ВсегоСобытий = 0 Тогда
|
||||
Возврат;
|
||||
Конецесли;
|
||||
@ -317,8 +348,8 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ТЗСобытияВИстории = СобытияВИстории.ТЗСобытияВИстории;
|
||||
ВсегоСобытий = ТЗСобытияВИстории.Количество();
|
||||
ТЗСобытияВИсторииДляУведомлений = СобытияВИстории.ТЗСобытияВИсторииДляУведомлений;
|
||||
ВсегоСобытий = ТЗСобытияВИсторииДляУведомлений.Количество();
|
||||
Если ВсегоСобытий = 0 Тогда
|
||||
Возврат;
|
||||
Конецесли;
|
||||
@ -343,8 +374,8 @@
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОтправитьУведомлениеНаПочтуНаблюдателям(НастройкиСобытий,СобытияВИстории)
|
||||
ТЗСобытияВИстории = СобытияВИстории.ТЗСобытияВИстории;
|
||||
ВсегоСобытий = ТЗСобытияВИстории.Количество();
|
||||
ТЗСобытияВИсторииДляУведомлений = СобытияВИстории.ТЗСобытияВИсторииДляУведомлений;
|
||||
ВсегоСобытий = ТЗСобытияВИсторииДляУведомлений.Количество();
|
||||
Если ВсегоСобытий = 0 Тогда
|
||||
Возврат;
|
||||
Конецесли;
|
||||
@ -399,7 +430,7 @@
|
||||
|
||||
Функция ПолучитьТемаПисьмаСобытие(ДопПараметры,СобытияВИстории)
|
||||
|
||||
ТЗСобытияВИстории = СобытияВИстории.ТЗСобытияВИстории;
|
||||
ТЗСобытияВИсторииДляУведомлений = СобытияВИстории.ТЗСобытияВИсторииДляУведомлений;
|
||||
РезультатФункции = Новый Структура();
|
||||
|
||||
НастройкиСобытий = ДопПараметры.НастройкиСобытий;
|
||||
@ -425,10 +456,10 @@
|
||||
НеобходимоОтправитьУведомление = Ложь;
|
||||
ТемаПисьмаСобытие = "";
|
||||
|
||||
ВсегоСобытий = ТЗСобытияВИстории.Количество();
|
||||
ВсегоСобытий = ТЗСобытияВИсторииДляУведомлений.Количество();
|
||||
Если ВсегоСобытий = 1 Тогда
|
||||
СтрокаТЗСобытияВИстории = ТЗСобытияВИстории[0];
|
||||
ВидСобытия = СтрокаТЗСобытияВИстории.ВидСобытия;
|
||||
СтрокаТЗСобытияВИсторииДляУведомлений = ТЗСобытияВИсторииДляУведомлений[0];
|
||||
ВидСобытия = СтрокаТЗСобытияВИсторииДляУведомлений.ВидСобытия;
|
||||
Если ВидСобытия = НастройкиСобытий.ВидыСобытий_ДобавленаЗадача Тогда
|
||||
Если ЭтоОтправкаИсполнителю Тогда
|
||||
НеобходимоОтправитьУведомление = Истина;
|
||||
@ -463,7 +494,7 @@
|
||||
Конецесли;
|
||||
Конецесли;
|
||||
Иначе
|
||||
Если ТЗСобытияВИстории.Найти(НастройкиСобытий.ВидыСобытий_НовыйИсполнитель,"ВидСобытия") <> Неопределено Тогда
|
||||
Если ТЗСобытияВИсторииДляУведомлений.Найти(НастройкиСобытий.ВидыСобытий_НовыйИсполнитель,"ВидСобытия") <> Неопределено Тогда
|
||||
Если ЭтоОтправкаИсполнителю Тогда
|
||||
НеобходимоОтправитьУведомление = Истина;
|
||||
ТемаПисьмаСобытие = "Вам была назначена задача: ";
|
||||
@ -474,8 +505,8 @@
|
||||
ТемаПисьмаСобытие = "Изменился исполнитель у задачи:";
|
||||
Конецесли;
|
||||
Иначе
|
||||
Для каждого СтрокаТЗСобытияВИстории из ТЗСобытияВИстории цикл
|
||||
ВидСобытия = СтрокаТЗСобытияВИстории.ВидСобытия;
|
||||
Для каждого СтрокаТЗСобытияВИсторииДляУведомлений из ТЗСобытияВИсторииДляУведомлений цикл
|
||||
ВидСобытия = СтрокаТЗСобытияВИсторииДляУведомлений.ВидСобытия;
|
||||
Если МассивСобытийКоторыеПодлежатОтправки.Найти(ВидСобытия) <> Неопределено Тогда
|
||||
НеобходимоОтправитьУведомление = Истина;
|
||||
ТемаПисьмаСобытие = "Изменена задача: ";
|
||||
|
Loading…
x
Reference in New Issue
Block a user