1
0
mirror of https://github.com/BlizD/Tasks.git synced 2025-03-19 21:07:53 +02:00

@serg33rus Добавлена возможность отправлять уведомления о действиях себе на почту. Новый реквизит в справочнике пользователи ОтправлятьУведомленияОДействияхПользователяЕмуНаПочту

This commit is contained in:
Anton Ivanov 2020-03-22 09:58:17 +03:00
parent 8313520191
commit f9a9c75aad
3 changed files with 135 additions and 14 deletions
src/cf
Catalogs
CommonModules/узОбщийМодульСервер/Ext

@ -1236,6 +1236,46 @@
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="ed0990f3-3176-4185-bc26-a78c09e8840b">
<Properties>
<Name>узОтправлятьУведомленияОДействияхПользователяЕмуНаПочту</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Отправлять уведомления о собственных действиях пользователя</v8:content>
</v8:item>
</Synonym>
<Comment>//++ SZ 16.02.2020</Comment>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip/>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<TabularSection uuid="245f870e-a53a-4d86-aa0a-c0c7709b8acb">
<InternalInfo>
<xr:GeneratedType name="CatalogTabularSection.Пользователи.ДополнительныеРеквизиты" category="TabularSection">

@ -456,14 +456,28 @@
Возврат;
Конецесли;
Если Исполнитель.узНеОтправлятьУведомленияНаПочту Тогда
Возврат;
Конецесли;
//+ #190 SZ 16.03.2020
// проверка перенесена
//Если Исполнитель.узНеОтправлятьУведомленияНаПочту Тогда
// Возврат;
//Конецесли;
//- #190 SZ 16.03.2020
ТекПользователь = Пользователи.ТекущийПользователь();
Если ТекПользователь = Исполнитель Тогда
//+ #190 SZ 16.03.2020
// проверяем у Текпользователя признак узОтправлятьУведомленияОДействияхПользователяЕмуНаПочту
//
//Если ТекПользователь = Исполнитель Тогда
// Возврат;
//Конецесли;
Если ТекПользователь = Исполнитель
И НЕ ТекПользователь.узОтправлятьУведомленияОДействияхПользователяЕмуНаПочту Тогда
Возврат;
Конецесли;
//- #190 SZ 16.03.2020
ТЗСобытияВИсторииДляУведомлений = СобытияВИстории.ТЗСобытияВИсторииДляУведомлений;
ВсегоСобытий = ТЗСобытияВИсторииДляУведомлений.Количество();
Если ВсегоСобытий = 0 Тогда
@ -485,7 +499,14 @@
ДопПараметры.Вставить("ТекстПисьма",ПараметрыПисьма.ТекстПисьма);
ДопПараметры.Вставить("ТемаПисьма",ПараметрыПисьма.ТемаПисьма);
ДопПараметры.Вставить("ПользовательКому",Исполнитель);
узОбщийМодульСервер.ОтправитьПисьмо(ДопПараметры);
//+ #190 SZ 16.03.2020
// Отправлем почту если это разрешено реквизитом узНеОтправлятьУведомленияНаПочту
//узОбщийМодульСервер.ОтправитьПисьмо(ДопПараметры);
Если НЕ Исполнитель.узНеОтправлятьУведомленияНаПочту Тогда
узОбщийМодульСервер.ОтправитьПисьмо(ДопПараметры);
КонецЕсли;
//- #190 SZ 16.03.2020
// +++ 79Vlad 20.12.2018
узТелеграммСервер.ВыполнитьРассылку(ДопПараметры);
@ -501,14 +522,26 @@
Возврат;
Конецесли;
Если СтарыйИсполнитель.узНеОтправлятьУведомленияНаПочту Тогда
Возврат;
Конецесли;
//+ #190 SZ 16.03.2020
// признак будем проверять при отправлке почты
//Если СтарыйИсполнитель.узНеОтправлятьУведомленияНаПочту Тогда
// Возврат;
//Конецесли;
//- #190 SZ 16.03.2020
ТекПользователь = Пользователи.ТекущийПользователь();
Если ТекПользователь = СтарыйИсполнитель Тогда
//+ #190 SZ 16.03.2020
// проверяем признак узОтправлятьУведомленияОДействияхПользователяЕмуНаПочту
//Если ТекПользователь = СтарыйИсполнитель Тогда
// Возврат;
//Конецесли;
Если ТекПользователь = СтарыйИсполнитель
И НЕ ТекПользователь.узОтправлятьУведомленияОДействияхПользователяЕмуНаПочту Тогда
Возврат;
Конецесли;
//- #190 SZ 16.03.2020
Если Исполнитель = СтарыйИсполнитель Тогда
Возврат;
@ -535,7 +568,15 @@
ДопПараметры.Вставить("ТекстПисьма",ПараметрыПисьма.ТекстПисьма);
ДопПараметры.Вставить("ТемаПисьма",ПараметрыПисьма.ТемаПисьма);
ДопПараметры.Вставить("ПользовательКому",СтарыйИсполнитель);
узОбщийМодульСервер.ОтправитьПисьмо(ДопПараметры);
//+ #190 SZ 16.03.2020
// Отправлем почту если это разрешено реквизитом узНеОтправлятьУведомленияНаПочту
//
//узОбщийМодульСервер.ОтправитьПисьмо(ДопПараметры);
Если НЕ Исполнитель.узНеОтправлятьУведомленияНаПочту Тогда
узОбщийМодульСервер.ОтправитьПисьмо(ДопПараметры);
КонецЕсли;
//- #190 SZ 16.03.2020
// +++ 79Vlad 20.12.2018
узТелеграммСервер.ВыполнитьРассылку(ДопПараметры);
@ -651,11 +692,27 @@
|ГДЕ
| узНаблюдателиЗаЗадачами.Задача = &Задача
| И узНаблюдателиЗаЗадачами.Пользователь.узНеОтправлятьУведомленияНаПочту = ЛОЖЬ
| И узНаблюдателиЗаЗадачами.Пользователь <> &ТекущийПользователь
| И узНаблюдателиЗаЗадачами.Пользователь <> &Исполнитель";
//+ #190 SZ 16.03.2020
// Убираем из запроса проверку на Текущего пользователя.
// Проверку сделаем в обработке результата запроса
//
// | И узНаблюдателиЗаЗадачами.Пользователь <> &ТекущийПользователь
//
//- #190 SZ 16.03.2020
ТекущийПользователь = Пользователи.ТекущийПользователь();
Запрос.УстановитьПараметр("ТекущийПользователь", ТекущийПользователь);
//+ #190 SZ 16.03.2020
// Убираем из запроса проверку на Текущего пользователя.
//
//Запрос.УстановитьПараметр("ТекущийПользователь", ТекущийПользователь);
//
// Проверку сделаем в обработке результата запроса
//- #190 SZ 16.03.2020
Запрос.УстановитьПараметр("Исполнитель", Исполнитель);
Запрос.УстановитьПараметр("Задача", пЗадача);
@ -671,9 +728,17 @@
Если МассивНаблюдателей.Найти(СтрокаНаблюдатели.Пользователь) <> Неопределено Тогда
Продолжить;
Конецесли;
Если СтрокаНаблюдатели.Пользователь = Пользователи.ТекущийПользователь() Тогда
//+ #190 SZ 16.03.2020
//Если СтрокаНаблюдатели.Пользователь = Пользователи.ТекущийПользователь() Тогда
// Продолжить;
//Конецесли;
Если СтрокаНаблюдатели.Пользователь = ТекущийПользователь
И НЕ СтрокаНаблюдатели.Пользователь.узОтправлятьУведомленияОДействияхПользователяЕмуНаПочту Тогда
Продолжить;
Конецесли;
//- #190 SZ 16.03.2020
//Павлюков - отсеем ненужных наблюдателей, у которых явно задано, за кем наблюдать
Если Не СтрокаНаблюдатели.Контрагент.Пустая()
И Не пЗадача.Контрагент.Пустая()
@ -689,9 +754,16 @@
Если МассивНаблюдателей.Найти(пНаблюдатель) <> Неопределено Тогда
Продолжить;
Конецесли;
Если пНаблюдатель = Пользователи.ТекущийПользователь() Тогда
//+ #190 SZ 16.03.2020
//Если пНаблюдатель = Пользователи.ТекущийПользователь() Тогда
// Продолжить;
//Конецесли;
Если пНаблюдатель = ТекущийПользователь
И НЕ пНаблюдатель.узОтправлятьУведомленияОДействияхПользователяЕмуНаПочту Тогда
Продолжить;
Конецесли;
//- #190 SZ 16.03.2020
МассивНаблюдателей.Добавить(пНаблюдатель);
Конеццикла;

@ -1072,6 +1072,15 @@
ПолеФлажка.Вид = ВидПоляФормы.ПолеФлажка;
ПолеФлажка.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Право;
// + #190 SZ 16.03.2020
// Отправлять уведомления себе о своих действиях
ПолеФлажка = Элементы.Добавить("узОтправлятьУведомленияОДействияхПользователяЕмуНаПочту", Тип("ПолеФормы"), ГруппаНастроек);
ПолеФлажка.ПутьКДанным = "Объект.узОтправлятьУведомленияОДействияхПользователяЕмуНаПочту";
ПолеФлажка.Вид = ВидПоляФормы.ПолеФлажка;
ПолеФлажка.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Право;
// - #190 SZ 16.03.2020
// Открывать справочник задачи при начале работы системы
ПолеФлажка = Элементы.Добавить("узОткрыватьСправочникЗадачиПриНачалеРаботыСистемы", Тип("ПолеФормы"), ГруппаНастроек);
ПолеФлажка.ПутьКДанным = "Объект.узОткрыватьСправочникЗадачиПриНачалеРаботыСистемы";