diff --git a/src/cf/Catalogs/Пользователи.xml b/src/cf/Catalogs/Пользователи.xml
index e79388889..228298845 100644
--- a/src/cf/Catalogs/Пользователи.xml
+++ b/src/cf/Catalogs/Пользователи.xml
@@ -1125,6 +1125,45 @@
Use
+
+
+ узАвтоматическиСтановитсяНаблюдателемЗаЗадачейЕслиДобавилКомментарий
+
+
+ ru
+ Автоматически становится наблюдателем за задачей если добавил комментарий
+
+
+
+
+ xs:boolean
+
+ false
+
+
+
+ false
+
+ false
+ false
+
+
+ false
+
+ DontCheck
+ Items
+
+
+ Auto
+ Auto
+
+
+ Auto
+
+ DontIndex
+ Use
+
+
diff --git a/src/cf/Catalogs/Пользователи/Forms/ФормаЭлемента/Ext/Form.xml b/src/cf/Catalogs/Пользователи/Forms/ФормаЭлемента/Ext/Form.xml
index a4c62d117..7b131022c 100644
--- a/src/cf/Catalogs/Пользователи/Forms/ФормаЭлемента/Ext/Form.xml
+++ b/src/cf/Catalogs/Пользователи/Forms/ФормаЭлемента/Ext/Form.xml
@@ -457,6 +457,13 @@ Click "Write" to sort out the problem and not to show the warning message.
+
+ Объект.узАвтоматическиСтановитсяНаблюдателемЗаЗадачейЕслиДобавилКомментарий
+ Right
+ Auto
+
+
+
diff --git a/src/cf/Catalogs/узЗадачи/Ext/ObjectModule.bsl b/src/cf/Catalogs/узЗадачи/Ext/ObjectModule.bsl
index 80a4cb11e..e06e23bfc 100644
--- a/src/cf/Catalogs/узЗадачи/Ext/ObjectModule.bsl
+++ b/src/cf/Catalogs/узЗадачи/Ext/ObjectModule.bsl
@@ -248,13 +248,14 @@
пТекстСообщения = узОбщийМодульСервер.ПолучитьТекстСообщения("Новый комментарий: %1",14);
ТекстИзменения = СтрШаблон(пТекстСообщения,Выборка.КомментарийНовый);
- МассивЗадач = Новый Массив;
- МассивЗадач.Добавить(Ссылка);
-
- ДопПараметры = Новый Структура();
- ДопПараметры.Вставить("Пользователь",Выборка.АвторНовый);
- ДопПараметры.Вставить("МассивЗадач", МассивЗадач);
- РегистрыСведений.узНаблюдателиЗаЗадачами.СледитьЗаЗадачей(ДопПараметры);
+ //МассивЗадач = Новый Массив;
+ //МассивЗадач.Добавить(Ссылка);
+ //
+ //ДопПараметры = Новый Структура();
+ //ДопПараметры.Вставить("Пользователь",Выборка.АвторНовый);
+ //ДопПараметры.Вставить("МассивЗадач", МассивЗадач);
+ //РегистрыСведений.узНаблюдателиЗаЗадачами.СледитьЗаЗадачей(ДопПараметры);
+ ДобавитьАвтораКомментарияВНаблюдателиЗаЗадачей(Выборка.АвторНовый);
ЕстьДобавленныеКомментарии = Истина;
ИначеЕсли СокрЛП(Выборка.КомментарийСтарый) <> СокрЛП(Выборка.КомментарийНовый) Тогда
@@ -296,6 +297,26 @@
Конецесли;
КонецПроцедуры
+Процедура ДобавитьАвтораКомментарияВНаблюдателиЗаЗадачей(пПользователь)
+
+ Если НЕ ЗначениеЗаполнено(пПользователь) Тогда
+ Возврат;
+ Конецесли;
+
+ Если НЕ пПользователь.узАвтоматическиСтановитсяНаблюдателемЗаЗадачейЕслиДобавилКомментарий Тогда
+ Возврат;
+ Конецесли;
+
+ МассивЗадач = Новый Массив;
+ МассивЗадач.Добавить(Ссылка);
+
+ ДопПараметры = Новый Структура();
+ ДопПараметры.Вставить("Пользователь",пПользователь);
+ ДопПараметры.Вставить("МассивЗадач", МассивЗадач);
+ РегистрыСведений.узНаблюдателиЗаЗадачами.СледитьЗаЗадачей(ДопПараметры);
+
+КонецПроцедуры
+
Функция ОбновитьИсториюПоКомментариям_ПолучитьРезультатЗапроса()
ТЗСтарыеКомментарии = Ссылка.Комментарии;
ТЗНовыеКомментарии = Комментарии;
@@ -536,11 +557,12 @@
КонецПроцедуры
Процедура ОтправитьУведомлениеНаПочтуКонтрагентам(НастройкиСобытий,СобытияВИстории)
-
Если НЕ ЗначениеЗаполнено(Контрагент) ТОгда
Возврат;
Конецесли;
+ ЭтоОтправкаКонтрагентам = Истина;
+
ТЗСобытияВИсторииДляУведомлений = СобытияВИстории.ТЗСобытияВИсторииДляУведомлений;
ВсегоСобытий = ТЗСобытияВИсторииДляУведомлений.Количество();
Если ВсегоСобытий = 0 Тогда
@@ -548,14 +570,14 @@
Конецесли;
ВТДопПараметры = Новый Структура();
- ВТДопПараметры.Вставить("ЭтоОтправкаКонтрагентам",Истина);
+ ВТДопПараметры.Вставить("ЭтоОтправкаКонтрагентам",ЭтоОтправкаКонтрагентам);
ВТДопПараметры.Вставить("НастройкиСобытий",НастройкиСобытий);
РезультатФункции = ПолучитьТемаПисьмаСобытие(ВТДопПараметры,СобытияВИстории);
Если НЕ РезультатФункции.НеобходимоОтправитьУведомление Тогда
Возврат;
КонецЕсли;
- РезультатФункции.Вставить("ЭтоОтправкаКонтрагентам",Истина);
+ РезультатФункции.Вставить("ЭтоОтправкаКонтрагентам",ЭтоОтправкаКонтрагентам);
ПараметрыПисьма = ПолучитьПараметрыПисьма(РезультатФункции);
@@ -570,6 +592,7 @@
ДопПараметры.Вставить("ТекстПисьма",ПараметрыПисьма.ТекстПисьма);
ДопПараметры.Вставить("ТемаПисьма",ПараметрыПисьма.ТемаПисьма);
ДопПараметры.Вставить("ТЗАдресаЭлектроннойПочты",ТЗАдресаЭлектроннойПочты);
+ ДопПараметры.Вставить("ЭтоОтправкаКонтрагентам",ЭтоОтправкаКонтрагентам);
пУчетнаяЗапись = ПолучитьУчетнуюЗаписьДляОтправкиУведомленийДляКонтрагентов();
Если ЗначениеЗаполнено(пУчетнаяЗапись) Тогда
@@ -581,26 +604,7 @@
КонецПроцедуры
Функция ПолучитьУчетнуюЗаписьДляОтправкиУведомленийДляКонтрагентов()
- Перем пУчетнаяЗапись;
-
- Запрос = Новый Запрос;
- Запрос.Текст =
- "ВЫБРАТЬ ПЕРВЫЕ 1
- | УчетныеЗаписиЭлектроннойПочты.Ссылка
- |ИЗ
- | Справочник.УчетныеЗаписиЭлектроннойПочты КАК УчетныеЗаписиЭлектроннойПочты
- |ГДЕ
- | УчетныеЗаписиЭлектроннойПочты.узИспользоватьДляОтправкиКотрагентам";
-
- РезультатЗапроса = Запрос.Выполнить();
-
- Выборка = РезультатЗапроса.Выбрать();
-
- Пока Выборка.Следующий() Цикл
- пУчетнаяЗапись = Выборка.Ссылка;
- КонецЦикла;
-
- Возврат пУчетнаяЗапись;
+ Возврат Справочники.УчетныеЗаписиЭлектроннойПочты.узПолучитьУчетнуюЗаписьДляОтправкиУведомленийДляКонтрагентов();
КонецФункции
Функция ПолучитьМассивНаблюдателей()