ОбработатьТекстHTMLДляФорматированногоДокумента (БСП)

Автор: 1С
ОбщийМодуль.Взаимодействия
БСП

Обработать текст 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 (БСП)

ОбработатьТекстHTML (БСП)

ОбработатьОчередьИзвлеченияТекста (БСП)

ПолучитьОбъектДокументHTMLИзТекстаHTML (БСП)

ПолучитьДокументHTMLИзОбычногоТекста (БСП)

ПолучитьТекстHTMLИзОбъектаДокументHTML (БСП)

TurboConf - расширение Конфигуратора 1С