1
0
mirror of https://github.com/BlizD/Tasks.git synced 2025-01-14 03:20:16 +02:00

@79vlad Доработка: Если разработчик отправил письмо (для регистрации новой задачи) - то он автоматически становится исполнителем #156

This commit is contained in:
Anton Ivanov 2019-02-10 10:38:12 +03:00
parent 7eba2bfae6
commit 6bd88bfb09
4 changed files with 104 additions and 1 deletions

View File

@ -464,6 +464,19 @@ Click "Write" to sort out the problem and not to show the warning message.</v8:c
<ContextMenu name="узКаталогПользователяКонтекстноеМеню" id="358"/>
<ExtendedTooltip name="узКаталогПользователяРасширеннаяПодсказка" id="359"/>
</InputField>
<CheckBoxField name="узАвтоматическиСтановитьсяИсполнителемЕслиПрислалПисьмо" id="379">
<DataPath>Объект.узАвтоматическиСтановитьсяИсполнителемЕслиПрислалПисьмо</DataPath>
<TitleLocation>Right</TitleLocation>
<CheckBoxType>Tumbler</CheckBoxType>
<EditFormat>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>БЛ=Нет; БИ=Да</v8:content>
</v8:item>
</EditFormat>
<ContextMenu name="узАвтоматическиСтановитьсяИсполнителемЕслиПрислалПисьмоКонтекстноеМеню" id="380"/>
<ExtendedTooltip name="узАвтоматическиСтановитьсяИсполнителемЕслиПрислалПисьмоРасширеннаяПодсказка" id="381"/>
</CheckBoxField>
<CheckBoxField name="узАвтоматическиСтановитсяНаблюдателемЗаЗадачейЕслиДобавилКомментарий" id="362">
<DataPath>Объект.узАвтоматическиСтановитсяНаблюдателемЗаЗадачейЕслиДобавилКомментарий</DataPath>
<TitleLocation>Right</TitleLocation>

View File

@ -10,6 +10,39 @@
СпрОбъект.Статус = Статус;
СпрОбъект.Родитель = Родитель;
СпрОбъект.Контрагент = Контрагент;
// +++ Григорьев 07.02.2019
СпрОбъект.Статус = ПредопределенноеЗначение("Справочник.узВариантыВажностиЗадачи.Обычная");
// --- Григорьев 07.02.2019
// +++ 79Vlad 06.02.2019
//Если Контрагент является и пользователем ИБ, то установим его исполнителем
Если ЗначениеЗаполнено(СпрОбъект.Контрагент) Тогда
МассивКонтрагентов = Новый Массив();
МассивКонтрагентов.Добавить(СпрОбъект.Контрагент);
ТЗАдресаЭлектроннойПочты = узОбщийМодульСервер.ПолучитьТЗАдресаЭлектроннойПочтыПоМассивуКонтрагентов(
МассивКонтрагентов);
Для каждого стр Из ТЗАдресаЭлектроннойПочты Цикл
Если ЗначениеЗаполнено(стр.АдресЭлектроннойПочты) Тогда
//Попробуем найти ользователя ИБ
ТЗПользователей = узОбщийМодульСервер.ПолучитьТЗПОльзователейПоАдресуЭлектроннойПочты(стр.АдресЭлектроннойПочты,Ложь);
Для каждого стрПользователь Из ТЗПользователей Цикл
Если стрПользователь.АвтоматическиСтановитьсяИсполнителемЕслиПрислалПисьмо Тогда
СпрОбъект.Исполнитель = стрПользователь.Пользователь;
//СпрОбъект.Статус = ПредопределенноеЗначение("Справочник.узСтатусыЗадачи.Backlog");
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
КонецЕсли;
// --- 79Vlad 06.02.2019
СпрОбъект.ОформлениеТекста = ПредопределенноеЗначение("Перечисление.узОформлениеТекста.ФорматированныйТекст");
СпрОбъект.ПоказыватьВОтчетахИКанбанДоске = Истина;

View File

@ -935,3 +935,36 @@
КонецПроцедуры
// +++ 79Vlad 06.02.2019
Функция ПолучитьТЗПользователейПоАдресуЭлектроннойПочты(АдресЭлектроннойПочты, ТочноеСоответсвие = Истина) Экспорт
АдресЭлектроннойПочты = СокрЛП(АдресЭлектроннойПочты);
Если НЕ ТочноеСоответсвие Тогда
АдресЭлектроннойПочты = "%" + СокрЛП(АдресЭлектроннойПочты) + "%";
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПользователиКонтактнаяИнформация.Ссылка КАК Пользователь,
| ПользователиКонтактнаяИнформация.АдресЭП КАК АдресЭлектроннойПочты,
| ПользователиКонтактнаяИнформация.Ссылка.узАвтоматическиСтановитьсяИсполнителемЕслиПрислалПисьмо КАК АвтоматическиСтановитьсяИсполнителемЕслиПрислалПисьмо
|ИЗ
| Справочник.Пользователи.КонтактнаяИнформация КАК ПользователиКонтактнаяИнформация
|ГДЕ
| ПользователиКонтактнаяИнформация.АдресЭП ПОДОБНО &АдресЭлектроннойПочты
| И ПользователиКонтактнаяИнформация.Тип = &Тип
| И ПользователиКонтактнаяИнформация.Вид = &Вид";
Запрос.УстановитьПараметр("Вид", ПредопределенноеЗначение("Справочник.ВидыКонтактнойИнформации.EmailПользователя"));
Запрос.УстановитьПараметр("АдресЭлектроннойПочты", АдресЭлектроннойПочты);
Запрос.УстановитьПараметр("Тип", ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты"));
РезультатЗапроса = Запрос.Выполнить();
ТЗПользователей = РезультатЗапроса.Выгрузить();
Возврат ТЗПользователей;
КонецФункции // --- 79Vlad 06.02.2019

View File

@ -133,7 +133,13 @@
Кодировка = "utf-8";
КонецЕсли;
Если Не ЗначениеЗаполнено(УчетнаяЗапись) Тогда
// +++ 79Vlad 06.02.2019
//Если Не ЗначениеЗаполнено(УчетнаяЗапись) Тогда
//Письма не должны отправляться через учетную запись, которая не используется для отправки
Если узУчетнаяЗаписьЗаполненаИИспользуетсяДляОтправки(УчетнаяЗапись) Тогда
// --- 79Vlad 06.02.2019
УчетнаяЗапись = УправлениеЭлектроннойПочтой.ПолучитьУчетнуюЗаписьДляОтправкиПоУмолчанию();
КонецЕсли;
@ -141,6 +147,24 @@
КонецПроцедуры
//+ #156 Иванов А.Б. 2019-02-10
Функция узУчетнаяЗаписьЗаполненаИИспользуетсяДляОтправки(УчетнаяЗапись)
узУчетнаяЗаписьЗаполненаИИспользуетсяДляОтправки = Ложь;
Если НЕ ЗначениеЗаполнено(УчетнаяЗапись) Тогда
Возврат узУчетнаяЗаписьЗаполненаИИспользуетсяДляОтправки;
Конецесли;
Если УчетнаяЗапись.ИспользоватьДляОтправки Тогда
узУчетнаяЗаписьЗаполненаИИспользуетсяДляОтправки = Истина;
Конецесли;
Возврат узУчетнаяЗаписьЗаполненаИИспользуетсяДляОтправки;
Конецфункции
//- #156 Иванов А.Б. 2019-02-10
#КонецОбласти
#Область СлужебныеПроцедурыИФункции