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 + ForItem + 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 - | УчетныеЗаписиЭлектроннойПочты.Ссылка - |ИЗ - | Справочник.УчетныеЗаписиЭлектроннойПочты КАК УчетныеЗаписиЭлектроннойПочты - |ГДЕ - | УчетныеЗаписиЭлектроннойПочты.узИспользоватьДляОтправкиКотрагентам"; - - РезультатЗапроса = Запрос.Выполнить(); - - Выборка = РезультатЗапроса.Выбрать(); - - Пока Выборка.Следующий() Цикл - пУчетнаяЗапись = Выборка.Ссылка; - КонецЦикла; - - Возврат пУчетнаяЗапись; + Возврат Справочники.УчетныеЗаписиЭлектроннойПочты.узПолучитьУчетнуюЗаписьДляОтправкиУведомленийДляКонтрагентов(); КонецФункции Функция ПолучитьМассивНаблюдателей()