1
0
mirror of https://github.com/BlizD/Tasks.git synced 2025-01-12 03:19:41 +02:00

№286 Servicedesk: вставка картинок в описание задачи из входящего письма.

This commit is contained in:
Anton Ivanov 2018-01-08 11:44:26 +03:00
parent a581a22eca
commit 883329052e
4 changed files with 36 additions and 8 deletions

View File

@ -559,6 +559,10 @@
ДопПараметры.Вставить("ТекстПисьма",ПараметрыПисьма.ТекстПисьма);
ДопПараметры.Вставить("ТемаПисьма",ПараметрыПисьма.ТемаПисьма);
ДопПараметры.Вставить("ТЗАдресаЭлектроннойПочты",ТЗАдресаЭлектроннойПочты);
Если СобытияВИстории.Свойство("УчетнаяЗапись") Тогда
ДопПараметры.Вставить("УчетнаяЗапись",СобытияВИстории.УчетнаяЗапись);
Конецесли;
узОбщийМодульСервер.ОтправитьПисьмо(ДопПараметры);
КонецПроцедуры

View File

@ -1,7 +1,7 @@
Функция CreateTask(Наименование,
СодержаниеСтрока = Неопределено, СодержаниеHTML = Неопределено,
Статус = Неопределено, Родитель = Неопределено,
Контрагент = Неопределено) Экспорт
Контрагент = Неопределено,ВложениеСтруктура = Неопределено) Экспорт
Перем пЗадача;
@ -32,8 +32,11 @@
пТекстHTML = СодержаниеСтрока;
Конецесли;
пВложения = Новый Структура();
ФорматированныйТекст.УстановитьHTML(пТекстHTML,пВложения);
Если ВложениеСтруктура = Неопределено Тогда
ВложениеСтруктура = Новый Структура();
Конецесли;
ФорматированныйТекст.УстановитьHTML(пТекстHTML,ВложениеСтруктура);
СпрОбъект.ТекстСодержания = пТекстСодержания;
СпрОбъект.Содержание = Новый ХранилищеЗначения(ФорматированныйТекст, Новый СжатиеДанных(9));

View File

@ -870,7 +870,9 @@
Письмо.Записать();
//+ #286 Иванов А.Б. 2017-12-17
узОбщийМодульСервер.ЗаполнитьПредметВПисьме_ЗадачаПоТемеПисьма(УчетнаяЗапись,Письмо);
Письмо.Предмет = Неопределено;
узОбщийМодульСервер.ЗаполнитьПредметВПисьме_ЗадачаПоТемеПисьма(УчетнаяЗапись,Письмо,Сообщение);
Предмет = Письмо.Предмет;
Письмо.Записать();

View File

@ -23,6 +23,10 @@
ДокОбъект.Тема = ТемаПисьма;
ДокОбъект.ТипТекста = ПредопределенноеЗначение("Перечисление.ТипыТекстовЭлектронныхПисем.ПростойТекст");
ДокОбъект.УчетнаяЗапись = ПредопределенноеЗначение("Справочник.УчетныеЗаписиЭлектроннойПочты.СистемнаяУчетнаяЗаписьЭлектроннойПочты");
Если ДопПараметры.Свойство("УчетнаяЗапись") Тогда
ДокОбъект.УчетнаяЗапись = ДопПараметры.УчетнаяЗапись;
Конецесли;
ДокОбъект.УдалятьПослеОтправки = Истина;
//ДокОбъект.ДатаКогдаОтправить = ;
@ -529,7 +533,7 @@
#КонецОбласти
Процедура ЗаполнитьПредметВПисьме_ЗадачаПоТемеПисьма(УчетнаяЗапись,ПисьмоОбъект) Экспорт
Процедура ЗаполнитьПредметВПисьме_ЗадачаПоТемеПисьма(УчетнаяЗапись,ПисьмоОбъект,ИнтернетСообщение) Экспорт
Если НЕ УчетнаяЗапись.узСоздаватьЗадачуПриПолученииПисьма Тогда
Возврат;
@ -570,15 +574,29 @@
пКонтрагент = API.CreateKontragent(ПисьмоОбъект.ОтправительПредставление,ПисьмоОбъект.ОтправительАдрес);
Конецесли;
МассивНомеровЗадач = ПолучитьМассивНомеровЗадачИзТекста(ПисьмоОбъект.Текст);
МассивНомеровЗадач = ПолучитьМассивНомеровЗадачИзТекста(ПисьмоОбъект.Тема);
Если МассивНомеровЗадач.Количество() > 0 Тогда
НомемПервойЗадачи = МассивНомеровЗадач[0];
пЗадача = API.GetTask(НомемПервойЗадачи);
Конецесли;
Если НЕ ЗначениеЗаполнено(пЗадача) Тогда
пЗадача = API.CreateTask(ПисьмоОбъект.Тема, ПисьмоОбъект.Текст,ПисьмоОбъект.ТекстHTML,
,узСозданнуюЗадачуПомещатьВВеткуЗадач,пКонтрагент);
пТекстHTML = ПисьмоОбъект.ТекстHTML;
НомерКартинки = 1;
ВложениеСтруктура = Новый Структура();
Для Каждого ЭлементВложения Из ИнтернетСообщение.Вложения Цикл
пКартинка = Новый Картинка(ЭлементВложения.Данные);
ИмяКартинки = "img"+НомерКартинки+"_"+Формат(ТекущаяДата(),"ДФ=ddMMyyyy_hhmmss");
пТекстHTML = СтрЗаменить(пТекстHTML,"cid:"+ЭлементВложения.Идентификатор,ИмяКартинки);
ВложениеСтруктура.Вставить(ИмяКартинки,пКартинка);
НомерКартинки = НомерКартинки + 1;
КонецЦикла;
пЗадача = API.CreateTask(ПисьмоОбъект.Тема, ПисьмоОбъект.Текст,пТекстHTML,
,узСозданнуюЗадачуПомещатьВВеткуЗадач,пКонтрагент,ВложениеСтруктура);
Конецесли;
ПисьмоОбъект.Предмет = пЗадача;
@ -764,6 +782,7 @@
СобытияВИстории = Новый Структура();
СобытияВИстории.Вставить("СтарыйИсполнитель",пЗадача.Исполнитель);
СобытияВИстории.Вставить("СтарыйСтатус",пЗадача.Статус);
СобытияВИстории.Вставить("УчетнаяЗапись",Источник.УчетнаяЗапись);
ТЗСобытияВИсторииДляУведомлений = Новый ТаблицаЗначений;
ТЗСобытияВИсторииДляУведомлений.Колонки.Добавить("ВидСобытия",Новый ОписаниеТипов("ПеречислениеСсылка.узВидыСобытий"));