mirror of
https://github.com/BlizD/Tasks.git
synced 2025-03-19 21:07:53 +02:00
Merge pull request #244 from GenVP/task238
#238 Подключение механизма шаблонов к рассылке уведомлений
This commit is contained in:
commit
98c21f5fe7
@ -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:" + Вложение.Значение;
|
||||
ПрисоединенныйФайлОбъект.Записать();
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
//-ГЕНА
|
@ -46,7 +46,7 @@
|
||||
<Comment/>
|
||||
<UseStandardCommands>true</UseStandardCommands>
|
||||
<EditType>InDialog</EditType>
|
||||
<DefaultRecordForm>InformationRegister.узТекущиеШаблоныСообщений.Form.ФормаЗаписи</DefaultRecordForm>
|
||||
<DefaultRecordForm/>
|
||||
<DefaultListForm/>
|
||||
<AuxiliaryRecordForm/>
|
||||
<AuxiliaryListForm/>
|
||||
@ -255,7 +255,6 @@
|
||||
<DataHistory>Use</DataHistory>
|
||||
</Properties>
|
||||
</Dimension>
|
||||
<Form>ФормаЗаписи</Form>
|
||||
</ChildObjects>
|
||||
</InformationRegister>
|
||||
</MetaDataObject>
|
@ -1,21 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.10">
|
||||
<Form uuid="2708b0b8-9f8a-4773-b287-8ae28c7b8571">
|
||||
<Properties>
|
||||
<Name>ФормаЗаписи</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Форма записи</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<FormType>Managed</FormType>
|
||||
<IncludeHelpInContents>false</IncludeHelpInContents>
|
||||
<UsePurposes>
|
||||
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
|
||||
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
|
||||
</UsePurposes>
|
||||
</Properties>
|
||||
</Form>
|
||||
</MetaDataObject>
|
@ -1,84 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.10">
|
||||
<WindowOpeningMode>LockOwnerWindow</WindowOpeningMode>
|
||||
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
|
||||
<ChildItems>
|
||||
<InputField name="ВидШаблона" id="1">
|
||||
<DataPath>Запись.ВидШаблона</DataPath>
|
||||
<ContextMenu name="ВидШаблонаКонтекстноеМеню" id="2"/>
|
||||
<ExtendedTooltip name="ВидШаблонаРасширеннаяПодсказка" id="3"/>
|
||||
</InputField>
|
||||
<InputField name="КодЯзыка" id="4">
|
||||
<ListChoiceMode>true</ListChoiceMode>
|
||||
<ChoiceList>
|
||||
<xr:Item>
|
||||
<xr:Presentation/>
|
||||
<xr:CheckState>0</xr:CheckState>
|
||||
<xr:Value xsi:type="FormChoiceListDesTimeValue">
|
||||
<Presentation>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Русский</v8:content>
|
||||
</v8:item>
|
||||
<v8:item>
|
||||
<v8:lang>en</v8:lang>
|
||||
<v8:content>Russian</v8:content>
|
||||
</v8:item>
|
||||
</Presentation>
|
||||
<Value xsi:type="xs:string">ru</Value>
|
||||
</xr:Value>
|
||||
</xr:Item>
|
||||
<xr:Item>
|
||||
<xr:Presentation/>
|
||||
<xr:CheckState>0</xr:CheckState>
|
||||
<xr:Value xsi:type="FormChoiceListDesTimeValue">
|
||||
<Presentation>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Английский</v8:content>
|
||||
</v8:item>
|
||||
<v8:item>
|
||||
<v8:lang>en</v8:lang>
|
||||
<v8:content>English</v8:content>
|
||||
</v8:item>
|
||||
</Presentation>
|
||||
<Value xsi:type="xs:string">en</Value>
|
||||
</xr:Value>
|
||||
</xr:Item>
|
||||
<xr:Item>
|
||||
<xr:Presentation/>
|
||||
<xr:CheckState>0</xr:CheckState>
|
||||
<xr:Value xsi:type="FormChoiceListDesTimeValue">
|
||||
<Presentation>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>< все ></v8:content>
|
||||
</v8:item>
|
||||
<v8:item>
|
||||
<v8:lang>en</v8:lang>
|
||||
<v8:content>< all ></v8:content>
|
||||
</v8:item>
|
||||
</Presentation>
|
||||
<Value xsi:type="xs:string"/>
|
||||
</xr:Value>
|
||||
</xr:Item>
|
||||
</ChoiceList>
|
||||
<ContextMenu name="КодЯзыкаКонтекстноеМеню" id="5"/>
|
||||
<ExtendedTooltip name="КодЯзыкаРасширеннаяПодсказка" id="6"/>
|
||||
</InputField>
|
||||
<InputField name="ШаблонСообщения" id="7">
|
||||
<DataPath>Запись.ШаблонСообщения</DataPath>
|
||||
<ContextMenu name="ШаблонСообщенияКонтекстноеМеню" id="8"/>
|
||||
<ExtendedTooltip name="ШаблонСообщенияРасширеннаяПодсказка" id="9"/>
|
||||
</InputField>
|
||||
</ChildItems>
|
||||
<Attributes>
|
||||
<Attribute name="Запись" id="1">
|
||||
<Type>
|
||||
<v8:Type>cfg:InformationRegisterRecordManager.узТекущиеШаблоныСообщений</v8:Type>
|
||||
</Type>
|
||||
<MainAttribute>true</MainAttribute>
|
||||
<SavedData>true</SavedData>
|
||||
</Attribute>
|
||||
</Attributes>
|
||||
</Form>
|
Loading…
x
Reference in New Issue
Block a user