From e52e04bef8545a06357377e61dfb8c437b9f5e60 Mon Sep 17 00:00:00 2001 From: GenVP Date: Mon, 24 Aug 2020 19:02:44 +0300 Subject: [PATCH 1/2] =?UTF-8?q?#238=20=D0=A3=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B0=20=D1=84=D0=BE=D1=80=D0=BC=D0=B0=20=D0=A0=D0=A1=20=D1=83?= =?UTF-8?q?=D0=B7=D0=A2=D0=B5=D0=BA=D1=83=D1=89=D0=B8=D0=B5=D0=A8=D0=B0?= =?UTF-8?q?=D0=B1=D0=BB=D0=BE=D0=BD=D1=8B=D0=A1=D0=BE=D0=BE=D0=B1=D1=89?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B9=20=D0=B2=20=D0=BA=D0=BE=D1=82=D0=BE?= =?UTF-8?q?=D1=80=D0=BE=D0=B9=20=D0=BE=D1=81=D1=82=D0=B0=D0=BB=D1=81=D1=8F?= =?UTF-8?q?=20=D1=81=D1=82=D0=B0=D1=80=D1=8B=D0=B9=20=D1=80=D0=B5=D0=BA?= =?UTF-8?q?=D0=B2=D0=B8=D0=B7=D0=B8=D1=82=20=D1=83=D0=B7=D0=9A=D0=BE=D0=B4?= =?UTF-8?q?=D0=AF=D0=B7=D1=8B=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../узТекущиеШаблоныСообщений.xml | 3 +- .../Forms/ФормаЗаписи.xml | 21 ----- .../Forms/ФормаЗаписи/Ext/Form.xml | 84 ------------------- 3 files changed, 1 insertion(+), 107 deletions(-) delete mode 100644 src/cf/InformationRegisters/узТекущиеШаблоныСообщений/Forms/ФормаЗаписи.xml delete mode 100644 src/cf/InformationRegisters/узТекущиеШаблоныСообщений/Forms/ФормаЗаписи/Ext/Form.xml diff --git a/src/cf/InformationRegisters/узТекущиеШаблоныСообщений.xml b/src/cf/InformationRegisters/узТекущиеШаблоныСообщений.xml index 3c231837b..53e037e06 100644 --- a/src/cf/InformationRegisters/узТекущиеШаблоныСообщений.xml +++ b/src/cf/InformationRegisters/узТекущиеШаблоныСообщений.xml @@ -46,7 +46,7 @@ true InDialog - InformationRegister.узТекущиеШаблоныСообщений.Form.ФормаЗаписи + @@ -255,7 +255,6 @@ Use -
ФормаЗаписи
\ No newline at end of file diff --git a/src/cf/InformationRegisters/узТекущиеШаблоныСообщений/Forms/ФормаЗаписи.xml b/src/cf/InformationRegisters/узТекущиеШаблоныСообщений/Forms/ФормаЗаписи.xml deleted file mode 100644 index 163e9f402..000000000 --- a/src/cf/InformationRegisters/узТекущиеШаблоныСообщений/Forms/ФормаЗаписи.xml +++ /dev/null @@ -1,21 +0,0 @@ - - -
- - ФормаЗаписи - - - ru - Форма записи - - - - Managed - false - - PlatformApplication - MobilePlatformApplication - - -
-
\ No newline at end of file diff --git a/src/cf/InformationRegisters/узТекущиеШаблоныСообщений/Forms/ФормаЗаписи/Ext/Form.xml b/src/cf/InformationRegisters/узТекущиеШаблоныСообщений/Forms/ФормаЗаписи/Ext/Form.xml deleted file mode 100644 index 975dc7f31..000000000 --- a/src/cf/InformationRegisters/узТекущиеШаблоныСообщений/Forms/ФормаЗаписи/Ext/Form.xml +++ /dev/null @@ -1,84 +0,0 @@ - -
- LockOwnerWindow - - - - Запись.ВидШаблона - - - - - true - - - - 0 - - - - ru - Русский - - - en - Russian - - - ru - - - - - 0 - - - - ru - Английский - - - en - English - - - en - - - - - 0 - - - - ru - < все > - - - en - < all > - - - - - - - - - - - Запись.ШаблонСообщения - - - - - - - - cfg:InformationRegisterRecordManager.узТекущиеШаблоныСообщений - - true - true - - - \ No newline at end of file From 2cd0f447d6836e036e613ae9331c22356e7cd26a Mon Sep 17 00:00:00 2001 From: GenVP Date: Mon, 24 Aug 2020 19:16:18 +0300 Subject: [PATCH 2/2] =?UTF-8?q?#238=20=D0=9F=D0=B5=D1=80=D0=B5=D0=B4=D0=B0?= =?UTF-8?q?=D1=87=D0=B0=20=D0=BA=D0=B0=D1=80=D1=82=D0=B8=D0=BD=D0=BE=D0=BA?= =?UTF-8?q?=20=D0=B8=D0=B7=20=D1=88=D0=B0=D0=B1=D0=BB=D0=BE=D0=BD=D0=B0=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=B4=D0=B0=D1=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/cf/Catalogs/узЗадачи/Ext/ObjectModule.bsl | 76 +++++++++++-------- .../узОбщийМодульСервер/Ext/Module.bsl | 32 +++++++- 2 files changed, 73 insertions(+), 35 deletions(-) diff --git a/src/cf/Catalogs/узЗадачи/Ext/ObjectModule.bsl b/src/cf/Catalogs/узЗадачи/Ext/ObjectModule.bsl index 480cecb37..540cd2a1a 100644 --- a/src/cf/Catalogs/узЗадачи/Ext/ObjectModule.bsl +++ b/src/cf/Catalogs/узЗадачи/Ext/ObjectModule.bsl @@ -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 @@ КонецФункции //-ГЕНА - diff --git a/src/cf/CommonModules/узОбщийМодульСервер/Ext/Module.bsl b/src/cf/CommonModules/узОбщийМодульСервер/Ext/Module.bsl index 66b23a22c..c5c1b6a65 100644 --- a/src/cf/CommonModules/узОбщийМодульСервер/Ext/Module.bsl +++ b/src/cf/CommonModules/узОбщийМодульСервер/Ext/Module.bsl @@ -30,9 +30,8 @@ Если ДокОбъект.ТипТекста = ПредопределенноеЗначение("Перечисление.ТипыТекстовЭлектронныхПисем.HTML") ИЛИ ДокОбъект.ТипТекста = ПредопределенноеЗначение("Перечисление.ТипыТекстовЭлектронныхПисем.HTMLСКартинками") Тогда ДокОбъект.ТекстHTML = ДопПараметры.ТекстПисьмаHTML; - Иначе - ДокОбъект.Текст = ТекстПисьма; КонецЕсли; + ДокОбъект.Текст = ТекстПисьма; // Обычный текст сохраняется всегда //-ГЕНА ДокОбъект.УчетнаяЗапись = ПредопределенноеЗначение("Справочник.УчетныеЗаписиЭлектроннойПочты.СистемнаяУчетнаяЗаписьЭлектроннойПочты"); @@ -79,6 +78,14 @@ ДокОбъект.Записать(); + //+ГЕНА + // Сохранения вложенных картинок в присоединенных файлах документа + Если ДокОбъект.ТипТекста = ПредопределенноеЗначение("Перечисление.ТипыТекстовЭлектронныхПисем.HTML") + И ДопПараметры.ВложенияКартинки.Количество() > 0 Тогда + СохранитьКартинкиФорматированногоДокументаКакПрисоединенныеФайлы(ДокОбъект.Ссылка, ДопПараметры.ВложенияКартинки); + КонецЕсли; + //-ГЕНА + Если ДопПараметры.Свойство("Задача") Тогда Взаимодействия.УстановитьПредмет(ДокОбъект.Ссылка, ДопПараметры.Задача); КонецЕсли; @@ -1270,3 +1277,24 @@ КонецЕсли; КонецПроцедуры + +//+ГЕНА +Процедура СохранитьКартинкиФорматированногоДокументаКакПрисоединенныеФайлы(Ссылка, СписокКартинок) + + Для каждого Вложение Из СписокКартинок Цикл + + ДвоичныеДанныеКартинки = Вложение.Картинка.ПолучитьДвоичныеДанные(); + АдресКартинкиВоВременномХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанныеКартинки); + ПрисоединенныйФайл = УправлениеЭлектроннойПочтой.ЗаписатьВложениеЭлектронногоПисьмаИзВременногоХранилища( + Ссылка, АдресКартинкиВоВременномХранилище, + "_" + СтрЗаменить(Вложение.Представление, "-", "_"), ДвоичныеДанныеКартинки.Размер()); + + Если ПрисоединенныйФайл <> Неопределено Тогда + ПрисоединенныйФайлОбъект = ПрисоединенныйФайл.ПолучитьОбъект(); + ПрисоединенныйФайлОбъект.ИДФайлаЭлектронногоПисьма = "cid:" + Вложение.Значение; + ПрисоединенныйФайлОбъект.Записать(); + КонецЕсли; + КонецЦикла; + +КонецПроцедуры +//-ГЕНА \ No newline at end of file