diff --git a/src/cf/Catalogs/узЗадачи/Ext/ObjectModule.bsl b/src/cf/Catalogs/узЗадачи/Ext/ObjectModule.bsl index 540cd2a1a..2f892b608 100644 --- a/src/cf/Catalogs/узЗадачи/Ext/ObjectModule.bsl +++ b/src/cf/Catalogs/узЗадачи/Ext/ObjectModule.bsl @@ -486,7 +486,8 @@ //Если ТекПользователь = Исполнитель Тогда // Возврат; //Конецесли; - Если ТекПользователь = Исполнитель + Если НЕ ЭтоВходящееПисьмо(СобытияВИстории) + И ТекПользователь = Исполнитель И НЕ ТекПользователь.узОтправлятьУведомленияОДействияхПользователяЕмуНаПочту Тогда Возврат; Конецесли; @@ -529,6 +530,26 @@ КонецПроцедуры +Функция ЭтоВходящееПисьмо(СобытияВИстории) + пЭтоВходящееПисьмо = Ложь; + + пТЗСобытияВИсторииДляУведомлений = СобытияВИстории.ТЗСобытияВИсторииДляУведомлений; + + ВидСобытия_ВходящееПисьмо = ПредопределенноеЗначение("Перечисление.узВидыСобытий.ВходящееПисьмо"); + + Для каждого СтрокаТЗСобытияВИсторииДляУведомлений из пТЗСобытияВИсторииДляУведомлений Цикл + + Если СтрокаТЗСобытияВИсторииДляУведомлений.ВидСобытия = ВидСобытия_ВходящееПисьмо Тогда + пЭтоВходящееПисьмо = Истина; + Возврат пЭтоВходящееПисьмо; + КонецЕсли; + + КонецЦикла; + + Возврат пЭтоВходящееПисьмо; + +КонецФункции + Процедура ОтправитьУведомлениеНаПочтуСтаромуИсполнителю(НастройкиСобытий,СобытияВИстории) СтарыйИсполнитель = СобытияВИстории.СтарыйИсполнитель; diff --git a/src/cf/CommonModules/УправлениеЭлектроннойПочтой/Ext/Module.bsl b/src/cf/CommonModules/УправлениеЭлектроннойПочтой/Ext/Module.bsl index 11a041444..bf551cbdd 100644 --- a/src/cf/CommonModules/УправлениеЭлектроннойПочтой/Ext/Module.bsl +++ b/src/cf/CommonModules/УправлениеЭлектроннойПочтой/Ext/Module.bsl @@ -1537,6 +1537,7 @@ узОбщийМодульСервер.ЗаполнитьПредметВПисьме_ЗадачаПоТемеПисьма(ДанныеУчетнойЗаписи.Ссылка,Письмо,Сообщение,Предмет); Письмо.ДополнительныеСвойства.Вставить("узОтправитьУведомлениеОВходящемПисьме",Истина); + Письмо.ДополнительныеСвойства.Вставить("узПредмет",Предмет); Письмо.Записать(); КонецЕсли; //- #286 Иванов А.Б. 2017-12-17 diff --git a/src/cf/CommonModules/узОбщийМодульСервер/Ext/Module.bsl b/src/cf/CommonModules/узОбщийМодульСервер/Ext/Module.bsl index c5c1b6a65..5433705fb 100644 --- a/src/cf/CommonModules/узОбщийМодульСервер/Ext/Module.bsl +++ b/src/cf/CommonModules/узОбщийМодульСервер/Ext/Module.bsl @@ -856,16 +856,22 @@ КонецФункции Процедура ОтправитьУведомлениеПередЗаписьюВходящегоПисьма(Источник) Экспорт - //Возврат; - пЗадача = Источник.Предмет; + + пДополнительныеСвойства = Источник.ДополнительныеСвойства; + + Если НЕ пДополнительныеСвойства.Свойство("узОтправитьУведомлениеОВходящемПисьме") Тогда + Возврат; + Конецесли; + + Если НЕ пДополнительныеСвойства.Свойство("узПредмет") Тогда + Возврат; + Конецесли; + + пЗадача = пДополнительныеСвойства.узПредмет; Если НЕ ЗначениеЗаполнено(пЗадача) Тогда Возврат; - Конецесли; - - Если НЕ Источник.ДополнительныеСвойства.Свойство("узОтправитьУведомлениеОВходящемПисьме") Тогда - Возврат; - Конецесли; + Конецесли; СобытияВИстории = Новый Структура(); СобытияВИстории.Вставить("СтарыйИсполнитель",пЗадача.Исполнитель); @@ -1296,5 +1302,10 @@ КонецЕсли; КонецЦикла; +КонецПроцедуры //-ГЕНА + +Процедура узПередЗаписьюЭлектронноеПисьмоВходящееПередЗаписью(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт + + ОтправитьУведомлениеПередЗаписьюВходящегоПисьма(Источник); + КонецПроцедуры -//-ГЕНА \ No newline at end of file diff --git a/src/cf/EventSubscriptions/узПередЗаписьюЭлектронноеПисьмоВходящее.xml b/src/cf/EventSubscriptions/узПередЗаписьюЭлектронноеПисьмоВходящее.xml new file mode 100644 index 000000000..ccf3c6bb5 --- /dev/null +++ b/src/cf/EventSubscriptions/узПередЗаписьюЭлектронноеПисьмоВходящее.xml @@ -0,0 +1,20 @@ + + + + + узПередЗаписьюЭлектронноеПисьмоВходящее + + + ru + Уз перед записью электронное письмо входящее + + + + + cfg:DocumentObject.ЭлектронноеПисьмоВходящее + + BeforeWrite + CommonModule.узОбщийМодульСервер.узПередЗаписьюЭлектронноеПисьмоВходящееПередЗаписью + + + \ No newline at end of file