mirror of
https://github.com/BlizD/Tasks.git
synced 2025-03-17 20:58:01 +02:00
№286 Servicedesk: отправка уведомления заказчику, что задача выполнена
This commit is contained in:
parent
e6cd509ca0
commit
c139487a69
@ -139,6 +139,7 @@
|
||||
ВидыСобытий_ИзмененоОписаниеЗадачи = ПредопределенноеЗначение("Перечисление.узВидыСобытий.ИзмененоОписаниеЗадачи");
|
||||
ВидыСобытий_ИзменениеСтатуса = ПредопределенноеЗначение("Перечисление.узВидыСобытий.ИзменениеСтатуса");
|
||||
ВидыСобытий_ВходящееПисьмо = ПредопределенноеЗначение("Перечисление.узВидыСобытий.ВходящееПисьмо");
|
||||
ВидыСобытий_ВыполненаЗадача = ПредопределенноеЗначение("Перечисление.узВидыСобытий.ВыполненаЗадача");
|
||||
|
||||
РезультатФункции.Вставить("ВидыСобытий_ДобавленаЗадача",ВидыСобытий_ДобавленаЗадача);
|
||||
РезультатФункции.Вставить("ВидыСобытий_НовыйИсполнитель",ВидыСобытий_НовыйИсполнитель);
|
||||
@ -147,6 +148,7 @@
|
||||
РезультатФункции.Вставить("ВидыСобытий_ИзмененоОписаниеЗадачи",ВидыСобытий_ИзмененоОписаниеЗадачи);
|
||||
РезультатФункции.Вставить("ВидыСобытий_ИзменениеСтатуса",ВидыСобытий_ИзменениеСтатуса);
|
||||
РезультатФункции.Вставить("ВидыСобытий_ВходящееПисьмо",ВидыСобытий_ВходящееПисьмо);
|
||||
РезультатФункции.Вставить("ВидыСобытий_ВыполненаЗадача",ВидыСобытий_ВыполненаЗадача);
|
||||
|
||||
МассивСобытийДляНаблюдателяКоторыеПодлежатОтправки = Новый Массив();
|
||||
МассивСобытийДляНаблюдателяКоторыеПодлежатОтправки.Добавить(ВидыСобытий_ИзменениеСтатуса);
|
||||
@ -172,6 +174,7 @@
|
||||
|
||||
МассивСобытийДляКонтрагентовКоторыеПодлежатОтправки = Новый Массив();
|
||||
МассивСобытийДляКонтрагентовКоторыеПодлежатОтправки.Добавить(ВидыСобытий_ДобавленаЗадача);
|
||||
МассивСобытийДляКонтрагентовКоторыеПодлежатОтправки.Добавить(ВидыСобытий_ВыполненаЗадача);
|
||||
|
||||
РезультатФункции.Вставить("МассивСобытийДляКонтрагентовКоторыеПодлежатОтправки",МассивСобытийДляКонтрагентовКоторыеПодлежатОтправки);
|
||||
|
||||
|
@ -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 @@
|
||||
МассивСтатусов.Добавить(Выборка.Ссылка);
|
||||
КонецЦикла;
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка)
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
@ -270,6 +270,18 @@
|
||||
<Comment/>
|
||||
</Properties>
|
||||
</EnumValue>
|
||||
<EnumValue uuid="78acbc1f-0162-4db0-8ebc-f6e06aa5f88a">
|
||||
<Properties>
|
||||
<Name>ВыполненаЗадача</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Выполнена задача</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
</Properties>
|
||||
</EnumValue>
|
||||
</ChildObjects>
|
||||
</Enum>
|
||||
</MetaDataObject>
|
Loading…
x
Reference in New Issue
Block a user