mirror of
https://github.com/BlizD/Tasks.git
synced 2025-01-26 03:52:19 +02:00
В справочник "Статусы задачи" добавлена ТЧ: Наблюдатели, для указанных пользователей будут приходить уведомления, если задача приходит в этот статус.
This commit is contained in:
parent
c878f2af8a
commit
9ab72b5391
src/cf/Catalogs/узЗадачи/Ext
@ -16,4 +16,4 @@
|
||||
//Реквизиты.Добавить("ИмяРеквизита"); // реквизит объекта
|
||||
//Реквизиты.Добавить("ИмяТабличнойЧасти.*"); // табличная часть объекта
|
||||
КонецПроцедуры
|
||||
// Конец СтандартныеПодсистемы.ВерсионированиеОбъектов
|
||||
// Конец СтандартныеПодсистемы.ВерсионированиеОбъектов
|
||||
|
@ -515,6 +515,35 @@
|
||||
Возврат;
|
||||
Конецесли;
|
||||
|
||||
МассивНаблюдателей = ПолучитьМассивНаблюдателей();
|
||||
Если МассивНаблюдателей.Количество() = 0 Тогда
|
||||
Возврат;
|
||||
Конецесли;
|
||||
|
||||
|
||||
ВТДопПараметры = Новый Структура();
|
||||
ВТДопПараметры.Вставить("ЭтоОтправкаНаблюдателям",Истина);
|
||||
ВТДопПараметры.Вставить("НастройкиСобытий",НастройкиСобытий);
|
||||
РезультатФункции = ПолучитьТемаПисьмаСобытие(ВТДопПараметры,СобытияВИстории);
|
||||
|
||||
Если НЕ РезультатФункции.НеобходимоОтправитьУведомление Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыПисьма = ПолучитьПараметрыПисьма(РезультатФункции);
|
||||
|
||||
ДопПараметры = Новый Структура();
|
||||
ДопПараметры.Вставить("ВажностьЗадачи",Важность);
|
||||
ДопПараметры.Вставить("ТекстПисьма",ПараметрыПисьма.ТекстПисьма);
|
||||
ДопПараметры.Вставить("ТемаПисьма",ПараметрыПисьма.ТемаПисьма);
|
||||
ДопПараметры.Вставить("МассивПользователейКому",МассивНаблюдателей);
|
||||
узОбщийМодульСервер.ОтправитьПисьмо(ДопПараметры);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ПолучитьМассивНаблюдателей()
|
||||
МассивНаблюдателей = Новый Массив();
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
@ -533,35 +562,25 @@
|
||||
Запрос.УстановитьПараметр("Задача", Ссылка);
|
||||
|
||||
РезультатЗапроса = Запрос.Выполнить();
|
||||
Если РезультатЗапроса.Пустой() Тогда
|
||||
Возврат;
|
||||
Если НЕ РезультатЗапроса.Пустой() Тогда
|
||||
Выборка = РезультатЗапроса.Выбрать();
|
||||
Пока Выборка.Следующий() Цикл
|
||||
МассивНаблюдателей.Добавить(Выборка.Пользователь);
|
||||
КонецЦикла;
|
||||
Конецесли;
|
||||
|
||||
Выборка = РезультатЗапроса.Выбрать();
|
||||
МассивПользователейКому = Новый Массив();
|
||||
Пока Выборка.Следующий() Цикл
|
||||
МассивПользователейКому.Добавить(Выборка.Пользователь);
|
||||
КонецЦикла;
|
||||
|
||||
ВТДопПараметры = Новый Структура();
|
||||
ВТДопПараметры.Вставить("ЭтоОтправкаНаблюдателям",Истина);
|
||||
ВТДопПараметры.Вставить("НастройкиСобытий",НастройкиСобытий);
|
||||
РезультатФункции = ПолучитьТемаПисьмаСобытие(ВТДопПараметры,СобытияВИстории);
|
||||
|
||||
Если НЕ РезультатФункции.НеобходимоОтправитьУведомление Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
Для каждого СтрокаНаблюдатели из Статус.Наблюдатели цикл
|
||||
Если МассивНаблюдателей.Найти(СтрокаНаблюдатели.Пользователь) <> Неопределено Тогда
|
||||
Продолжить;
|
||||
Конецесли;
|
||||
Если СтрокаНаблюдатели.Пользователь = ПараметрыСеанса.ТекущийПользователь Тогда
|
||||
Продолжить;
|
||||
Конецесли;
|
||||
МассивНаблюдателей.Добавить(СтрокаНаблюдатели.Пользователь);
|
||||
Конеццикла;
|
||||
|
||||
ПараметрыПисьма = ПолучитьПараметрыПисьма(РезультатФункции);
|
||||
|
||||
ДопПараметры = Новый Структура();
|
||||
ДопПараметры.Вставить("ВажностьЗадачи",Важность);
|
||||
ДопПараметры.Вставить("ТекстПисьма",ПараметрыПисьма.ТекстПисьма);
|
||||
ДопПараметры.Вставить("ТемаПисьма",ПараметрыПисьма.ТемаПисьма);
|
||||
ДопПараметры.Вставить("МассивПользователейКому",МассивПользователейКому);
|
||||
узОбщийМодульСервер.ОтправитьПисьмо(ДопПараметры);
|
||||
|
||||
КонецПроцедуры
|
||||
Возврат МассивНаблюдателей;
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьТемаПисьмаСобытие(ДопПараметры,СобытияВИстории)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user