Обработать текст html для форматированного документа. Обрабатывает текст HTML для помещения в форматированный документ.
// Обрабатывает текст HTML для помещения в форматированный документ.
//
// Параметры:
// Письмо - ДокументСсылка.ЭлектронноеПисьмоВходящее,
// ДокументСсылка.ЭлектронноеПисьмоИсходящее - письмо для которого будет проведена оценка.
// ТекстHTML - Строка - обрабатываемый текст HTML.
// СтруктураВложений - Структура - структура в которую помещаются картинки - вложения письма.
//
// Возвращаемое значение:
// Число - оценка размера письма в байтах.
//
Функция ОбработатьТекстHTMLДляФорматированногоДокумента(Письмо,ТекстHTML,СтруктураВложений) Экспорт
Если Не ПустаяСтрока(ТекстHTML) Тогда
ДокументHTML = ПолучитьОбъектДокументHTMLИзТекстаHTML(ТекстHTML);
ТаблицаФайлов = ПолучитьВложенияПисьмаСНеПустымИД(Письмо);
Если ТаблицаФайлов.Количество() Тогда
Для каждого ПрисоединенныйФайл Из ТаблицаФайлов Цикл
Для каждого Картинка Из ДокументHTML.Картинки Цикл
АтрибутИсточникКартинки = Картинка.Атрибуты.ПолучитьИменованныйЭлемент("src");
Если СтрЧислоВхождений(АтрибутИсточникКартинки.Значение, ПрисоединенныйФайл.ИДФайлаЭлектронногоПисьма) > 0 Тогда
НовыйАтрибутКартинки = АтрибутИсточникКартинки.КлонироватьУзел(Ложь);
НовыйАтрибутКартинки.ТекстовоеСодержимое = ПрисоединенныйФайл.Наименование;
Картинка.Атрибуты.УстановитьИменованныйЭлемент(НовыйАтрибутКартинки);
СтруктураВложений.Вставить(
ПрисоединенныйФайл.Наименование,
Новый Картинка(ПолучитьИзВременногоХранилища(
РаботаСФайлами.ДанныеФайла(ПрисоединенныйФайл.Ссылка).СсылкаНаДвоичныеДанныеФайла)));
Прервать;
КонецЕсли;
КонецЦикла;
КонецЦикла;
Возврат ПолучитьТекстHTMLИзОбъектаДокументHTML(ДокументHTML);
Иначе
Возврат ТекстHTML;
КонецЕсли;
Иначе
Возврат ТекстHTML;
КонецЕсли;
КонецФункции
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
ОбработатьHTMLДляФорматированногоДокумента (БСП)
Пример раскраски текста форматированной строки
ТекстФорматированногоЗаголовка (БСП)
ФорматированнаяСтрокаИзHTML (БСП)
ОбработатьОчередьИзвлеченияТекста (БСП)