ОценитьРазмерИсходящегоЭлектронногоПисьма (БСП)

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

Оценить размер исходящего электронного письма. Оценивает размер электронного письма.

// Оценивает размер электронного письма.
//
// Параметры:
//  Письмо  - ДокументСсылка.ЭлектронноеПисьмоВходящее,
//            ДокументСсылка.ЭлектронноеПисьмоИсходящее - письмо для которого будет проведена оценка.
//
// Возвращаемое значение:
//   Число   - оценка размера письма в байтах.
//
Функция ОценитьРазмерИсходящегоЭлектронногоПисьма(Письмо) Экспорт
	
	Размер = 0;
	
	Запрос = Новый Запрос;
	Запрос.Текст = "
	|ВЫБРАТЬ
	|	СУММА(ЕСТЬNULL(ЭлектронноеПисьмоИсходящееПрисоединенныеФайлы.Размер, 0) * 1.5) КАК Размер
	|ИЗ
	|	Справочник.ЭлектронноеПисьмоИсходящееПрисоединенныеФайлы КАК ЭлектронноеПисьмоИсходящееПрисоединенныеФайлы
	|ГДЕ
	|	ЭлектронноеПисьмоИсходящееПрисоединенныеФайлы.ВладелецФайла = &Письмо
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ВЫБОР
	|		КОГДА ЭлектронноеПисьмоИсходящее.ТипТекста = ЗНАЧЕНИЕ(Перечисление.ТипыТекстовЭлектронныхПисем.ПростойТекст)
	|			ТОГДА ЭлектронноеПисьмоИсходящее.Текст
	|		ИНАЧЕ ЭлектронноеПисьмоИсходящее.ТекстHTML
	|	КОНЕЦ КАК Текст,
	|	ЭлектронноеПисьмоИсходящее.Тема
	|ИЗ
	|	Документ.ЭлектронноеПисьмоИсходящее КАК ЭлектронноеПисьмоИсходящее
	|ГДЕ
	|	ЭлектронноеПисьмоИсходящее.Ссылка = &Письмо";
	
	Запрос.УстановитьПараметр("Письмо",Письмо);
	
	Результат = Запрос.ВыполнитьПакет();
	Если НЕ Результат[0].Пустой() Тогда
		Выборка = Результат[0].Выбрать();
		Выборка.Следующий();
		Размер = Размер + ?(Выборка.Размер = Null, 0, Выборка.Размер);
	КонецЕсли;
	
	Если НЕ Результат[1].Пустой() Тогда
		Выборка = Результат[1].Выбрать();
		Выборка.Следующий();
		Размер = Размер + СтрДлина(Выборка.Текст) + СтрДлина(Выборка.Тема);
		
	КонецЕсли;;
	
	Возврат Размер;

КонецФункции

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

Похожие публикации

СформироватьТекстHTMLДляИсходящегоПисьма (БСП)

ПолучитьПараметрыРаботыПользователяДляИсходящегоЭлектронногоПисьма (БСП)

ОткрытьФормуОтправкиПисьма (БСП)

СформироватьЭлементДанныхШапкиПисьма (БСП)

УстановитьПапкуЭлектронногоПисьма (БСП)

ПолучитьВложенияЭлектронногоПисьма (БСП)

ЗаписатьВложениеЭлектронногоПисьмаСкопировавВложениеДругогоПисьма (БСП)

ФайлЯвляетсяЭлектроннымПисьмом (БСП)

ПолучитьПапкуЭлектронногоПисьма (БСП)

Обновлятор-1С: групповое (пакетное) обновление и обслуживание всех баз за один раз