Имя: Пароль:
1C
1С v8
Коряво отображается текст письма
0 iwannafly90
 
20.10.15
13:52
Всем привет.
Из 1С отправляю письмо штатным документом "Электронное письмо". Формат текста письма - html. "Обычный текст" не подходит, так как в тексте используются курсив, жирный шрифт и т.д. В документе текст отображается нормально, без html тегов, с нужным оформлением. После отправки, адресату приходит письмо с текстом с html тегами. Используем Outlook.
Кто-нибудь сталкивался с подобным?
Работаю в УПП.
1 Лефмихалыч
 
20.10.15
13:54
ЭТо только с одним получателем или ты нескольким РАЗНЫМ отправил и оно воспроизводится?
2 PR третий
 
20.10.15
13:55
(0) А что говорит отладчик?
3 iwannafly90
 
20.10.15
14:03
(1) разным. Себе тоже отправлял, тоже самое
4 iwannafly90
 
20.10.15
14:04
(2) В отладчике текст письма содержит html теги, но так и должно быть, там оформление указано и прочее. Просто не понимаю, почему Outlook все это выводит как обычный текст, по идее он должен разобрать теги и вывести с оформлением.
5 PR третий
 
20.10.15
14:13
(4) А у письма-то при отправке тип текста html?
6 iwannafly90
 
20.10.15
14:17
(5) да. Формат текста - HTML
7 Лефмихалыч
 
20.10.15
14:19
(6) я думаю, что это не правда
8 PR третий
 
20.10.15
14:19
(6) Отправка письма самописная?
9 Лефмихалыч
 
20.10.15
14:20
когда текст писем заполняется, типТекста явно в html устанавливается?
10 SiAl-chel
 
20.10.15
14:24
(0) Сохрани одно и тоже письмо как файл из Outlook и какого-нибудь другого почтового клиента. Открой каким-нибудь текстовым редактором и сравни заголовки письма.
11 iwannafly90
 
20.10.15
14:26
(9) да. В коде. Да и в самом документе сверху указано "Формат текста (HTML)"
12 iwannafly90
 
20.10.15
14:27
(8) Нет. Типовая. УправлениеЭлектроннойПочтой.НаписатьПисьмо().
Первым параметром идет структура, в ней все параметры, в том числе и текст с тегами
13 Лефмихалыч
 
20.10.15
14:28
(11) если я попрошу тебя показать код формирования текста письма, я там увижу

Сообщение.Тексты.Добавить(ТекстСообщения);

или


Сообщение.Тексты.Добавить(ТекстСообщения, ТипТекстаПочтовогоСообщения.HTML);

?
14 iwannafly90
 
20.10.15
14:30
(13) СтруктураНовогоПисьма.Вставить("ВидТекста", Перечисления.ВидыТекстовЭлектронныхПисем.HTML);

Вот в таком виде "Вид текста" передаю.
15 Лефмихалыч
 
20.10.15
14:30
(14) а я что попросил показать?
16 iwannafly90
 
20.10.15
14:33
(15)             
ТелоПисьма = "<p>Уважаемые коллеги,</p>
            |<p>" + Расписка.Авизация + " в адрес " + Расписка.Получатель.НаименованиеПолное + " " + Расписка.АдресДоставки + "</p>
            |Организована поставка заказа силами нашего экспедитора " + Расписка.Экспедитор.НаименованиеПолное + "
            |<p>Основание поставки: </p>";
            Для каждого СтрокаТаблицы Из ТаблицаСДанными Цикл
                ТелоПисьма = ТелоПисьма + "
                |Реализация товаров и услуг " + СтрокаТаблицы.Реализация.Номер + " от " + СтрокаТаблицы.Реализация.Дата + " (Заявка клиента " + СтрокаТаблицы.НомерЗаказа + ")" + "";
            КонецЦикла;
            ТелоПисьма = ТелоПисьма + "
            |<p>На текущий момент клиент не принял поставку, простой составляет порядка ….. часов.</p>
            |<p>В 18:00 будем вынуждены покинуть адрес.</p>
            |<p>*<i>Простой и прогон транспорта повлекут за собой дополнительные расходы Компании в виде штрафов.</i></p>"
17 Лефмихалыч
 
20.10.15
14:36
(16) прочитай пожалуйста еще раз, что я попросил показать.
Покажи код, который делает ИнтернетПочтовоеСообщение.Тексты.Добавить()
18 Dilgorp
 
20.10.15
14:41
Вот такое вполне корректно срабатывает (возможно в (0) нет последней строчки).

Письмо = Новый ИнтернетПочтовоеСообщение;
Письмо.ИмяОтправителя = ИмяОтправителя;
Получатель       = Письмо.Получатели.Добавить();
Получатель.Адрес = Адресат;    
Письмо.Тема = ТемаПисьма;

Письмо.Тексты.Добавить(ТекстПисьма,ТипТекстаПочтовогоСообщения.HTML);    
Письмо.ОбработатьТексты();
19 Лефмихалыч
 
20.10.15
14:45
вангую - надо было не "ВидТекста" в структуру совать, а "ТипТекста" поди