mirror of
https://github.com/BlizD/Tasks.git
synced 2025-03-19 21:07:53 +02:00
#238 Передача картинок из шаблона задач
This commit is contained in:
parent
e52e04bef8
commit
2cd0f447d6
@ -507,15 +507,11 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыПисьма = ПолучитьПараметрыПисьма(РезультатФункции);
|
||||
//+ГЕНА
|
||||
ДопПараметры = Новый Структура();
|
||||
ДопПараметры.Вставить("ВажностьЗадачи",Важность);
|
||||
ДопПараметры.Вставить("ТекстПисьма",ПараметрыПисьма.ТекстПисьма);
|
||||
ДопПараметры.Вставить("ТемаПисьма",ПараметрыПисьма.ТемаПисьма);
|
||||
ДопПараметры.Вставить("ПользовательКому",Исполнитель);
|
||||
//+ГЕНА
|
||||
ДопПараметры.Вставить("ТипТекста", ПараметрыПисьма.ТипТекста);
|
||||
ДопПараметры.Вставить("ТекстПисьмаHTML", ПараметрыПисьма.ТекстПисьмаHTML);
|
||||
ПолучитьПараметрыПисьма(РезультатФункции, ДопПараметры);
|
||||
//-ГЕНА
|
||||
|
||||
//+ #190 SZ 16.03.2020
|
||||
@ -580,15 +576,11 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыПисьма = ПолучитьПараметрыПисьма(РезультатФункции);
|
||||
//+ГЕНА
|
||||
ДопПараметры = Новый Структура();
|
||||
ДопПараметры.Вставить("ВажностьЗадачи",Важность);
|
||||
ДопПараметры.Вставить("ТекстПисьма",ПараметрыПисьма.ТекстПисьма);
|
||||
ДопПараметры.Вставить("ТемаПисьма",ПараметрыПисьма.ТемаПисьма);
|
||||
ДопПараметры.Вставить("ПользовательКому",СтарыйИсполнитель);
|
||||
//+ГЕНА
|
||||
ДопПараметры.Вставить("ТипТекста", ПараметрыПисьма.ТипТекста);
|
||||
ДопПараметры.Вставить("ТекстПисьмаHTML", ПараметрыПисьма.ТекстПисьмаHTML);
|
||||
ПолучитьПараметрыПисьма(РезультатФункции, ДопПараметры);
|
||||
//-ГЕНА
|
||||
|
||||
//+ #190 SZ 16.03.2020
|
||||
@ -629,17 +621,12 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыПисьма = ПолучитьПараметрыПисьма(РезультатФункции);
|
||||
|
||||
//+ГЕНА
|
||||
ДопПараметры = Новый Структура();
|
||||
ДопПараметры.Вставить("ВажностьЗадачи",Важность);
|
||||
ДопПараметры.Вставить("ТекстПисьма",ПараметрыПисьма.ТекстПисьма);
|
||||
ДопПараметры.Вставить("ТемаПисьма",ПараметрыПисьма.ТемаПисьма);
|
||||
ДопПараметры.Вставить("Статус",Статус);
|
||||
ДопПараметры.Вставить("МассивПользователейКому",МассивНаблюдателей);
|
||||
//+ГЕНА
|
||||
ДопПараметры.Вставить("ТипТекста", ПараметрыПисьма.ТипТекста);
|
||||
ДопПараметры.Вставить("ТекстПисьмаHTML", ПараметрыПисьма.ТекстПисьмаHTML);
|
||||
ПолучитьПараметрыПисьма(РезультатФункции, ДопПараметры);
|
||||
//-ГЕНА
|
||||
|
||||
узОбщийМодульСервер.ОтправитьПисьмо(ДопПараметры);
|
||||
@ -684,24 +671,19 @@
|
||||
КонецЕсли;
|
||||
//-ГЕНА
|
||||
|
||||
ПараметрыПисьма = ПолучитьПараметрыПисьма(РезультатФункции);
|
||||
|
||||
МассивКонтрагентов = Новый Массив();
|
||||
МассивКонтрагентов.Добавить(Контрагент);
|
||||
|
||||
ТЗАдресаЭлектроннойПочты = узОбщийМодульСервер.ПолучитьТЗАдресаЭлектроннойПочтыПоМассивуКонтрагентов(
|
||||
МассивКонтрагентов);
|
||||
|
||||
//+ГЕНА
|
||||
ДопПараметры = Новый Структура();
|
||||
ДопПараметры.Вставить("ВажностьЗадачи",Важность);
|
||||
ДопПараметры.Вставить("ТекстПисьма",ПараметрыПисьма.ТекстПисьма);
|
||||
ДопПараметры.Вставить("ТемаПисьма",ПараметрыПисьма.ТемаПисьма);
|
||||
ДопПараметры.Вставить("ТЗАдресаЭлектроннойПочты",ТЗАдресаЭлектроннойПочты);
|
||||
ДопПараметры.Вставить("ЭтоОтправкаКонтрагентам",ЭтоОтправкаКонтрагентам);
|
||||
ДопПараметры.Вставить("Задача",Ссылка);
|
||||
//+ГЕНА
|
||||
ДопПараметры.Вставить("ТипТекста", ПараметрыПисьма.ТипТекста);
|
||||
ДопПараметры.Вставить("ТекстПисьмаHTML", ПараметрыПисьма.ТекстПисьмаHTML);
|
||||
ПолучитьПараметрыПисьма(РезультатФункции, ДопПараметры);
|
||||
//-ГЕНА
|
||||
|
||||
пУчетнаяЗапись = ПолучитьУчетнуюЗаписьДляОтправкиУведомленийДляКонтрагентов();
|
||||
@ -942,7 +924,7 @@
|
||||
Возврат РезультатФункции;
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьПараметрыПисьма(ДопПараметры)
|
||||
Процедура ПолучитьПараметрыПисьма(ДопПараметры, РезультатФункции)
|
||||
//МассивКодовСообщений = Новый Массив();
|
||||
//МассивКодовСообщений.Добавить(22); //Добрый день
|
||||
//МассивКодовСообщений.Добавить(23); //Номер задачи
|
||||
@ -1027,14 +1009,12 @@
|
||||
ДопПараметры.Вставить("НомерЗадачи",НомерЗадачи);
|
||||
|
||||
//ГЕНА
|
||||
РезультатФункции = Новый Структура();
|
||||
РезультатФункции.Вставить("ТемаПисьма",ТемаПисьма);
|
||||
РезультатФункции.Вставить("ТипТекста", ПредопределенноеЗначение("Перечисление.ТипыТекстовЭлектронныхПисем.ПростойТекст"));
|
||||
ПолучитьТекстПисьма(ДопПараметры, РезультатФункции);
|
||||
//-ГЕНА
|
||||
|
||||
Возврат РезультатФункции;
|
||||
КонецФункции
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПолучитьТекстПисьма(ДопПараметры, РезультатФункции) // ГЕНА
|
||||
|
||||
@ -1059,12 +1039,12 @@
|
||||
пТекстПисьма = ПолучитьТекстПисьма_Общее(ДопПараметры);
|
||||
Конецесли;
|
||||
РезультатФункции.Вставить("ТекстПисьма", пТекстПисьма);
|
||||
РезультатФункции.Вставить("ТекстПисьмаHTML", "");
|
||||
Иначе
|
||||
РезультатФункции.Вставить("ТипТекста", ТекстИТемаПисьма.ТипТекста);
|
||||
РезультатФункции.Вставить("ТемаПисьма", ТекстИТемаПисьма.Тема);
|
||||
РезультатФункции.Вставить("ТекстПисьма", ТекстИТемаПисьма.Текст);
|
||||
РезультатФункции.Вставить("ТекстПисьмаHTML", ТекстИТемаПисьма.ТекстHTML);
|
||||
РезультатФункции.Вставить("ВложенияКартинки", ТекстИТемаПисьма.ВложенияКартинки);
|
||||
КонецЕсли;
|
||||
//-ГЕНА
|
||||
|
||||
@ -1556,10 +1536,41 @@
|
||||
ТипТекста = ПредопределенноеЗначение("Перечисление.ТипыТекстовЭлектронныхПисем.HTML");
|
||||
|
||||
ТекстHTML = ДанныеСообщения.Текст;
|
||||
|
||||
// Получение простого текста из письма HTML
|
||||
СтруктураВложений = Новый Структура;
|
||||
ДокHTML = Новый ФорматированныйДокумент;
|
||||
ДокHTML.УстановитьHTML(ДанныеСообщения.Текст, Новый Структура);
|
||||
ДокHTML.УстановитьHTML(ДанныеСообщения.Текст, СтруктураВложений);
|
||||
Текст = ДокHTML.ПолучитьТекст();
|
||||
|
||||
// Преобразования картинок во вложения и передача для прикрепления к документу письма
|
||||
Если ТипЗнч(ДанныеСообщения.Вложения) <> Неопределено Тогда
|
||||
СписокКартинок = Новый СписокЗначений;
|
||||
Для каждого Вложение Из ДанныеСообщения.Вложения Цикл
|
||||
Если ЗначениеЗаполнено(Вложение.Идентификатор) Тогда
|
||||
ДвоичныеДанные = ПолучитьИзВременногоХранилища(Вложение.АдресВоВременномХранилище);
|
||||
Изображение = Новый Картинка(ДвоичныеДанные);
|
||||
Если Изображение.Формат() = ФорматКартинки.PNG Тогда
|
||||
РасширениеКартинки = "png";
|
||||
ИначеЕсли Изображение.Формат() = ФорматКартинки.JPEG Тогда
|
||||
РасширениеКартинки = "jpeg";
|
||||
ИначеЕсли Изображение.Формат() = ФорматКартинки.GIF Тогда
|
||||
РасширениеКартинки = "gif";
|
||||
ИначеЕсли Изображение.Формат() = ФорматКартинки.SVG Тогда
|
||||
РасширениеКартинки = "svg";
|
||||
ИначеЕсли Изображение.Формат() = ФорматКартинки.TIFF Тогда
|
||||
РасширениеКартинки = "tiff";
|
||||
Иначе
|
||||
РасширениеКартинки = "";
|
||||
КонецЕсли;
|
||||
// Добавление расширения к представлению чтобы было понятно в каком формате сохранять файл
|
||||
ПредставлениеКартинки = Вложение.Представление + ?(ПустаяСтрока(РасширениеКартинки), "", "." + РасширениеКартинки);
|
||||
СписокКартинок.Добавить(Вложение.Идентификатор, ПредставлениеКартинки,, Изображение);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
ТекстИТемаПисьма.Вставить("ВложенияКартинки", СписокКартинок);
|
||||
КонецЕсли;
|
||||
|
||||
Иначе
|
||||
ТипТекста = ПредопределенноеЗначение("Перечисление.ТипыТекстовЭлектронныхПисем.ПростойТекст");
|
||||
ТекстHTML = "";
|
||||
@ -1574,4 +1585,3 @@
|
||||
|
||||
КонецФункции
|
||||
//-ГЕНА
|
||||
|
||||
|
@ -30,9 +30,8 @@
|
||||
Если ДокОбъект.ТипТекста = ПредопределенноеЗначение("Перечисление.ТипыТекстовЭлектронныхПисем.HTML")
|
||||
ИЛИ ДокОбъект.ТипТекста = ПредопределенноеЗначение("Перечисление.ТипыТекстовЭлектронныхПисем.HTMLСКартинками") Тогда
|
||||
ДокОбъект.ТекстHTML = ДопПараметры.ТекстПисьмаHTML;
|
||||
Иначе
|
||||
ДокОбъект.Текст = ТекстПисьма;
|
||||
КонецЕсли;
|
||||
ДокОбъект.Текст = ТекстПисьма; // Обычный текст сохраняется всегда
|
||||
//-ГЕНА
|
||||
ДокОбъект.УчетнаяЗапись = ПредопределенноеЗначение("Справочник.УчетныеЗаписиЭлектроннойПочты.СистемнаяУчетнаяЗаписьЭлектроннойПочты");
|
||||
|
||||
@ -79,6 +78,14 @@
|
||||
|
||||
ДокОбъект.Записать();
|
||||
|
||||
//+ГЕНА
|
||||
// Сохранения вложенных картинок в присоединенных файлах документа
|
||||
Если ДокОбъект.ТипТекста = ПредопределенноеЗначение("Перечисление.ТипыТекстовЭлектронныхПисем.HTML")
|
||||
И ДопПараметры.ВложенияКартинки.Количество() > 0 Тогда
|
||||
СохранитьКартинкиФорматированногоДокументаКакПрисоединенныеФайлы(ДокОбъект.Ссылка, ДопПараметры.ВложенияКартинки);
|
||||
КонецЕсли;
|
||||
//-ГЕНА
|
||||
|
||||
Если ДопПараметры.Свойство("Задача") Тогда
|
||||
Взаимодействия.УстановитьПредмет(ДокОбъект.Ссылка, ДопПараметры.Задача);
|
||||
КонецЕсли;
|
||||
@ -1270,3 +1277,24 @@
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
//+ГЕНА
|
||||
Процедура СохранитьКартинкиФорматированногоДокументаКакПрисоединенныеФайлы(Ссылка, СписокКартинок)
|
||||
|
||||
Для каждого Вложение Из СписокКартинок Цикл
|
||||
|
||||
ДвоичныеДанныеКартинки = Вложение.Картинка.ПолучитьДвоичныеДанные();
|
||||
АдресКартинкиВоВременномХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанныеКартинки);
|
||||
ПрисоединенныйФайл = УправлениеЭлектроннойПочтой.ЗаписатьВложениеЭлектронногоПисьмаИзВременногоХранилища(
|
||||
Ссылка, АдресКартинкиВоВременномХранилище,
|
||||
"_" + СтрЗаменить(Вложение.Представление, "-", "_"), ДвоичныеДанныеКартинки.Размер());
|
||||
|
||||
Если ПрисоединенныйФайл <> Неопределено Тогда
|
||||
ПрисоединенныйФайлОбъект = ПрисоединенныйФайл.ПолучитьОбъект();
|
||||
ПрисоединенныйФайлОбъект.ИДФайлаЭлектронногоПисьма = "cid:" + Вложение.Значение;
|
||||
ПрисоединенныйФайлОбъект.Записать();
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
//-ГЕНА
|
Loading…
x
Reference in New Issue
Block a user