diff --git a/src/cf/Catalogs/узЗадачи/Ext/ManagerModule.bsl b/src/cf/Catalogs/узЗадачи/Ext/ManagerModule.bsl
index 26df4ca5c..8a0ed05f2 100644
--- a/src/cf/Catalogs/узЗадачи/Ext/ManagerModule.bsl
+++ b/src/cf/Catalogs/узЗадачи/Ext/ManagerModule.bsl
@@ -139,6 +139,7 @@
ВидыСобытий_ИзмененоОписаниеЗадачи = ПредопределенноеЗначение("Перечисление.узВидыСобытий.ИзмененоОписаниеЗадачи");
ВидыСобытий_ИзменениеСтатуса = ПредопределенноеЗначение("Перечисление.узВидыСобытий.ИзменениеСтатуса");
ВидыСобытий_ВходящееПисьмо = ПредопределенноеЗначение("Перечисление.узВидыСобытий.ВходящееПисьмо");
+ ВидыСобытий_ВыполненаЗадача = ПредопределенноеЗначение("Перечисление.узВидыСобытий.ВыполненаЗадача");
РезультатФункции.Вставить("ВидыСобытий_ДобавленаЗадача",ВидыСобытий_ДобавленаЗадача);
РезультатФункции.Вставить("ВидыСобытий_НовыйИсполнитель",ВидыСобытий_НовыйИсполнитель);
@@ -147,6 +148,7 @@
РезультатФункции.Вставить("ВидыСобытий_ИзмененоОписаниеЗадачи",ВидыСобытий_ИзмененоОписаниеЗадачи);
РезультатФункции.Вставить("ВидыСобытий_ИзменениеСтатуса",ВидыСобытий_ИзменениеСтатуса);
РезультатФункции.Вставить("ВидыСобытий_ВходящееПисьмо",ВидыСобытий_ВходящееПисьмо);
+ РезультатФункции.Вставить("ВидыСобытий_ВыполненаЗадача",ВидыСобытий_ВыполненаЗадача);
МассивСобытийДляНаблюдателяКоторыеПодлежатОтправки = Новый Массив();
МассивСобытийДляНаблюдателяКоторыеПодлежатОтправки.Добавить(ВидыСобытий_ИзменениеСтатуса);
@@ -172,6 +174,7 @@
МассивСобытийДляКонтрагентовКоторыеПодлежатОтправки = Новый Массив();
МассивСобытийДляКонтрагентовКоторыеПодлежатОтправки.Добавить(ВидыСобытий_ДобавленаЗадача);
+ МассивСобытийДляКонтрагентовКоторыеПодлежатОтправки.Добавить(ВидыСобытий_ВыполненаЗадача);
РезультатФункции.Вставить("МассивСобытийДляКонтрагентовКоторыеПодлежатОтправки",МассивСобытийДляКонтрагентовКоторыеПодлежатОтправки);
diff --git a/src/cf/Catalogs/узЗадачи/Ext/ObjectModule.bsl b/src/cf/Catalogs/узЗадачи/Ext/ObjectModule.bsl
index e06e23bfc..c5e8bf35b 100644
--- a/src/cf/Catalogs/узЗадачи/Ext/ObjectModule.bsl
+++ b/src/cf/Catalogs/узЗадачи/Ext/ObjectModule.bsl
@@ -205,6 +205,16 @@
ПараметрыДляИстории.Вставить("ВидСобытия",ВидСобытия);
ПараметрыДляИстории.Вставить("Событие",Событие);
ДобавитьВИсторию(ПараметрыДляИстории,ТЗСобытияВИсторииДляУведомлений);
+
+ ВидСтатуса_Готово = ПредопределенноеЗначение("Справочник.узВидыСтатусов.Готово");
+ Если СтарыйСтатус.ВидСтатуса <> ВидСтатуса_Готово
+ И Статус.ВидСтатуса = ВидСтатуса_Готово Тогда
+
+ ВидСобытия_ВыполненаЗадача = ПредопределенноеЗначение("Перечисление.узВидыСобытий.ВыполненаЗадача");
+ ПараметрыДляИстории.Вставить("ВидСобытия",ВидСобытия_ВыполненаЗадача);
+ ПараметрыДляИстории.Вставить("Событие","Выполнена задача");
+ ДобавитьВИсторию(ПараметрыДляИстории,ТЗСобытияВИсторииДляУведомлений);
+ Конецесли;
Конецесли;
@@ -750,10 +760,19 @@
ИЛИ ЭтоОтправкаНаблюдателям Тогда
НеобходимоОтправитьУведомление = Истина;
ТемаПисьмаСобытие = "Входящее письмо по задаче:";
- Конецесли;
+ Конецесли;
+ ИначеЕсли ВидСобытия = НастройкиСобытий.ВидыСобытий_ВыполненаЗадача Тогда
+ Если ЭтоОтправкаКонтрагентам Тогда
+ НеобходимоОтправитьУведомление = Истина;
+ ТемаПисьмаСобытие = "Ваша заявка выполнена:";
+ Конецесли;
Конецесли;
Иначе
- Если ТЗСобытияВИсторииДляУведомлений.Найти(НастройкиСобытий.ВидыСобытий_НовыйИсполнитель,"ВидСобытия") <> Неопределено Тогда
+ Если ЭтоОтправкаКонтрагентам
+ И ТЗСобытияВИсторииДляУведомлений.Найти(НастройкиСобытий.ВидыСобытий_ВыполненаЗадача,"ВидСобытия") <> Неопределено Тогда
+ НеобходимоОтправитьУведомление = Истина;
+ ТемаПисьмаСобытие = "Ваша заявка выполнена:";
+ ИначеЕсли ТЗСобытияВИсторииДляУведомлений.Найти(НастройкиСобытий.ВидыСобытий_НовыйИсполнитель,"ВидСобытия") <> Неопределено Тогда
Если ЭтоОтправкаИсполнителю Тогда
НеобходимоОтправитьУведомление = Истина;
ТемаПисьмаСобытие = узОбщийМодульСервер.ПолучитьТекстСообщения("Вам была назначена задача:",31);
@@ -781,8 +800,139 @@
Возврат РезультатФункции;
КонецФункции
-
Функция ПолучитьПараметрыПисьма(ДопПараметры)
+ //МассивКодовСообщений = Новый Массив();
+ //МассивКодовСообщений.Добавить(22); //Добрый день
+ //МассивКодовСообщений.Добавить(23); //Номер задачи
+ //МассивКодовСообщений.Добавить(24); //Описание задачи
+ //МассивКодовСообщений.Добавить(25); //Комментарии
+ //МассивКодовСообщений.Добавить(26); //Реквизиты задачи
+ //МассивКодовСообщений.Добавить(27); //Исполнитель
+ //МассивКодовСообщений.Добавить(28); //Статус
+ //МассивКодовСообщений.Добавить(29); //Важность
+ //МассивКодовСообщений.Добавить(30); //ОсновнаяЗадача
+ //
+ //СтруктураСообщений = узОбщийМодульСервер.ПолучитьСтруктуруСообщений(МассивКодовСообщений);
+ //
+ //ТекстВПисьмеДобрыйДень = СтруктураСообщений.Текст22;
+ //ТекстВПисьмеНомерЗадачи = СтруктураСообщений.Текст23;
+ //ТекстВПисьмеОписаниеЗадачи = СтруктураСообщений.Текст24;
+ //ТекстВПисьмеКомментарий = СтруктураСообщений.Текст25;
+ //ТекстВПисьмеРеквизитыЗадачи = СтруктураСообщений.Текст26;
+ //ТекстВПисьмеИсполнитель = СтруктураСообщений.Текст27;
+ //ТекстВПисьмеСтатус = СтруктураСообщений.Текст28;
+ //ТекстВПисьмеВажность = СтруктураСообщений.Текст29;
+ //ТекстВПисьмеОсновнаяЗадача = СтруктураСообщений.Текст30;
+ //
+ //
+ //ЭтоОтправкаКонтрагентам = Ложь;
+ //Если ДопПараметры.Свойство("ЭтоОтправкаКонтрагентам")
+ // И ДопПараметры.ЭтоОтправкаКонтрагентам Тогда
+ // ЭтоОтправкаКонтрагентам = Истина;
+ //Конецесли;
+ //
+ //ТемаПисьмаСобытие = ДопПараметры.ТемаПисьмаСобытие;
+ //МассивИзмененнийПоКомментариям = ДопПараметры.МассивИзмененнийПоКомментариям;
+ //
+ //РезультатФункции = Новый Структура();
+ //
+ //НаименованиеЗадачи = СокрЛП(Наименование);
+ //НомерЗадачи = ""+Формат(Код,"ЧГ=0");
+ //ТемаПисьма = "[#"+НомерЗадачи+"] "+ТемаПисьмаСобытие + НаименованиеЗадачи;
+ //ТекстПисьма = "
+ //|"+ТекстВПисьмеДобрыйДень+".
+ //|
+ //|"+ТемаПисьмаСобытие+" "+НаименованиеЗадачи+"
+ //|"+ТекстВПисьмеНомерЗадачи+": #"+НомерЗадачи+"
+ //|";
+ //
+ //Если МассивИзмененнийПоКомментариям.Количество() = 0 Тогда
+ // Если ЗначениеЗаполнено(ТекстСодержания) Тогда
+ // ТекстПисьма = ТекстПисьма + "
+ // |
+ // |"+ТекстВПисьмеОписаниеЗадачи+":
+ // |"+ТекстСодержания+"
+ // |";
+ // Конецесли;
+ //Иначе
+ // ТекстПисьма = ТекстПисьма + "
+ // |
+ // |"+ТекстВПисьмеКомментарий+":";
+ // Для каждого ЭлМассивИзмененнийПоКомментариям из МассивИзмененнийПоКомментариям цикл
+ // ТекстПисьма = ТекстПисьма + Символы.ПС
+ // + " - "+ЭлМассивИзмененнийПоКомментариям;
+ // Конеццикла;
+ //Конецесли;
+ //
+ //Если НЕ ЭтоОтправкаКонтрагентам Тогда
+ // ТекстПисьма = ТекстПисьма + "
+ // |
+ // |"+ТекстВПисьмеРеквизитыЗадачи+":
+ // |- "+ТекстВПисьмеИсполнитель+" ["+Исполнитель+"]
+ // |- "+ТекстВПисьмеСтатус+" ["+Статус+"]
+ // |- "+ТекстВПисьмеВажность+" ["+Важность+"]
+ // |- "+ТекстВПисьмеОсновнаяЗадача+" ["+ОсновнаяЗадача+"]
+ // |";
+ //Конецесли;
+
+
+ НаименованиеЗадачи = СокрЛП(Наименование);
+ ТемаПисьмаСобытие = ДопПараметры.ТемаПисьмаСобытие;
+
+ НомерЗадачи = ""+Формат(Код,"ЧГ=0");
+ ТемаПисьма = "[#"+НомерЗадачи+"] "+ТемаПисьмаСобытие + НаименованиеЗадачи;
+ ДопПараметры.Вставить("ТемаПисьма",ТемаПисьма);
+ ДопПараметры.Вставить("НомерЗадачи",НомерЗадачи);
+
+ ТекстПисьма = ПолучитьТекстПисьма(ДопПараметры);
+
+ РезультатФункции = Новый Структура();
+ РезультатФункции.Вставить("ТемаПисьма",ТемаПисьма);
+ РезультатФункции.Вставить("ТекстПисьма",ТекстПисьма);
+
+ Возврат РезультатФункции;
+КонецФункции
+
+Функция ПолучитьТекстПисьма(ДопПараметры)
+ Перем пТекстПисьма;
+
+ ЭтоОтправкаКонтрагентам = Ложь;
+ Если ДопПараметры.Свойство("ЭтоОтправкаКонтрагентам")
+ И ДопПараметры.ЭтоОтправкаКонтрагентам Тогда
+ ЭтоОтправкаКонтрагентам = Истина;
+ Конецесли;
+
+ Если ЭтоОтправкаКонтрагентам Тогда
+ пТекстПисьма = ПолучитьТекстПисьма_Контрагентам(ДопПараметры);
+ Иначе
+ пТекстПисьма = ПолучитьТекстПисьма_Общее(ДопПараметры);
+ Конецесли;
+
+ Возврат пТекстПисьма;
+КонецФункции
+
+Функция ПолучитьТекстПисьма_Контрагентам(ДопПараметры)
+ Перем ТекстПисьма;
+
+ ТемаПисьмаСобытие = ДопПараметры.ТемаПисьмаСобытие;
+
+ ТекстПисьма = "
+ | Добрый день.
+ |
+ | "+ТемаПисьмаСобытие+"
+ | Номер заявки: " + ДопПараметры.НомерЗадачи + "
+ | Тема заявки: "+ ДопПараметры.ТемаПисьма + "
+ |
+ | Описание задачи:
+ | "+ТекстСодержания+"
+ |";
+
+
+ Возврат ТекстПисьма;
+КонецФункции
+
+Функция ПолучитьТекстПисьма_Общее(ДопПараметры)
+
МассивКодовСообщений = Новый Массив();
МассивКодовСообщений.Добавить(22); //Добрый день
МассивКодовСообщений.Добавить(23); //Номер задачи
@@ -806,13 +956,6 @@
ТекстВПисьмеВажность = СтруктураСообщений.Текст29;
ТекстВПисьмеОсновнаяЗадача = СтруктураСообщений.Текст30;
-
- ЭтоОтправкаКонтрагентам = Ложь;
- Если ДопПараметры.Свойство("ЭтоОтправкаКонтрагентам")
- И ДопПараметры.ЭтоОтправкаКонтрагентам Тогда
- ЭтоОтправкаКонтрагентам = Истина;
- Конецесли;
-
ТемаПисьмаСобытие = ДопПараметры.ТемаПисьмаСобытие;
МассивИзмененнийПоКомментариям = ДопПараметры.МассивИзмененнийПоКомментариям;
@@ -820,7 +963,7 @@
НаименованиеЗадачи = СокрЛП(Наименование);
НомерЗадачи = ""+Формат(Код,"ЧГ=0");
- ТемаПисьма = "[#"+НомерЗадачи+"] "+ТемаПисьмаСобытие + НаименованиеЗадачи;
+ //ТемаПисьма = "[#"+НомерЗадачи+"] "+ТемаПисьмаСобытие + НаименованиеЗадачи;
ТекстПисьма = "
|"+ТекстВПисьмеДобрыйДень+".
|
@@ -846,23 +989,19 @@
Конеццикла;
Конецесли;
- Если НЕ ЭтоОтправкаКонтрагентам Тогда
- ТекстПисьма = ТекстПисьма + "
- |
- |"+ТекстВПисьмеРеквизитыЗадачи+":
- |- "+ТекстВПисьмеИсполнитель+" ["+Исполнитель+"]
- |- "+ТекстВПисьмеСтатус+" ["+Статус+"]
- |- "+ТекстВПисьмеВажность+" ["+Важность+"]
- |- "+ТекстВПисьмеОсновнаяЗадача+" ["+ОсновнаяЗадача+"]
- |";
- Конецесли;
+ ТекстПисьма = ТекстПисьма + "
+ |
+ |"+ТекстВПисьмеРеквизитыЗадачи+":
+ |- "+ТекстВПисьмеИсполнитель+" ["+Исполнитель+"]
+ |- "+ТекстВПисьмеСтатус+" ["+Статус+"]
+ |- "+ТекстВПисьмеВажность+" ["+Важность+"]
+ |- "+ТекстВПисьмеОсновнаяЗадача+" ["+ОсновнаяЗадача+"]
+ |";
- РезультатФункции.Вставить("ТемаПисьма",ТемаПисьма);
- РезультатФункции.Вставить("ТекстПисьма",ТекстПисьма);
-
- Возврат РезультатФункции;
+ Возврат ТекстПисьма;
КонецФункции
+
Функция ЕстьПодчиненныеЗадачи(Задача,ЗадачаРебенок = Неопределено) Экспорт
пЕстьПодчиненныеЗадачи = Ложь;
Если ЭтоНовый() Тогда
@@ -1100,3 +1239,8 @@
МассивСтатусов.Добавить(Выборка.Ссылка);
КонецЦикла;
КонецПроцедуры
+
+Процедура ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка)
+
+КонецПроцедуры
+
diff --git a/src/cf/Enums/узВидыСобытий.xml b/src/cf/Enums/узВидыСобытий.xml
index 0bea8564d..b1947b820 100644
--- a/src/cf/Enums/узВидыСобытий.xml
+++ b/src/cf/Enums/узВидыСобытий.xml
@@ -270,6 +270,18 @@
+
+
+ ВыполненаЗадача
+
+
+ ru
+ Выполнена задача
+
+
+
+
+
\ No newline at end of file