Имя: Пароль:
1C
1С v8
Письмо в формате HTML из 1С
0 lamme
 
15.02.16
10:44
1С8,3 УТ10,3
На форме есть текстовое многострочное поле (строка, неопр длины)

Потом то что в этом поле написано уходит в письме типа
Сообщение.Тексты.Добавить(ТекстПисьма_, ТипТекстаПочтовогоСообщения.HTML);

Ну и оно там не красиво приходит.
т.е. в ТекстПисьма_ может быть
"Добрый день!
Приветствую вас.
Во вложении смотри остатки."
В письме приходит "Добрый день!Приветствую вас.Во вложении смотри остатки."

как этот текст отформатировать - чтобы приходило красивое письмо ?
1 lamme
 
15.02.16
10:46
ТипТекстаПочтовогоСообщения.HTML - необходимо. т.к. в письме еще вставляется картинка.
2 vicof
 
15.02.16
10:46
1. Подучить русский язык.
2. Подучить HTML.
3. <br> вроде
3 assasu
 
15.02.16
10:46
(0) в любом редакторе хтмл напиши красивое письмо.текст письма вырежи и замени переменной. при отправке эту переменную подменяй своим текстом. и отправляй. будет приходить красивое письмо
4 lamme
 
15.02.16
10:48
те в смысле - каждый перенос строки в ТекстПисьма_ оформлять как
<br>  </br>
?
5 Остап Сулейманович
 
15.02.16
10:49
(0) "как этот текст отформатировать - чтобы приходило красивое письмо ?"

формат HTML. Как жеШ его отформатировать? Видимо средствами HTML? Не?
Кстати в "голом" HTML в атрибуте "style" вполне себе живет CSS.
6 lamme
 
15.02.16
10:50
(5)
где его выставить то ... формат html
http://clip2net.com/s/3ujVsTN
?
7 Остап Сулейманович
 
15.02.16
10:51
+ (5)
"<h1>Добрый день!</h1><h2>Приветствую вас.</h2><p>Во вложении смотри остатки.</p>"
8 Остап Сулейманович
 
15.02.16
10:52
(6) Зачем его выставлять? HTML - тот же текст. Только с командами браузеру.
9 lamme
 
15.02.16
10:55
(8)
туплю ... и не понимаю.

вот в (7) - я как бы примерно понимаю - что каждый перевод строки надо оформлять тегами.

вот только не понимаю - зачем это делать вручную программисту
может есть все таки готовый какой инструмент для пользователя ?
чтоб он выставил как он хочет . а я взял его готовое и только отправляю ...
10 Dilgorp
 
15.02.16
10:55
(0) есть еще замечательный тег <pre></pre> для сохранения форматирования. В него можно обернуть текст письма и никаких иных переносов не понадобится
11 lamme
 
15.02.16
10:56
(10)
попробую
12 Dilgorp
 
15.02.16
10:57
(9) только если писать спец обработку типа редактора текстов HTML, которые сами теги расставляют как в любой CMS
13 Остап Сулейманович
 
15.02.16
10:58
Что было "красиво" )))):

<h1 style="color:red">Добрый день!</h1>
<h2 style="color:blue">Приветствую вас.</h2>
<p style="color:yellow">Во вложении смотри остатки.</p>

Еще можно рамочками разноцветными отполировать.
14 lamme
 
15.02.16
10:58
для УФ вот есть типа   http://catalog.mista.ru/public/236311/


(13)
ну сами ж понимаете - не реально так делать ...
текст то юзер может любой сделать ...
15 Остап Сулейманович
 
15.02.16
10:58
(10) И чем это будет отличаться от "формат письма текст"?
16 Dilgorp
 
15.02.16
10:59
(15) тем что по задумке тс там картинка будет
17 vde69
 
15.02.16
10:59
Если      Письмо.ТипТекстаПисьма = Перечисления.ТипыТекстовЭлектронныхПисем.HTML
                  ИЛИ Письмо.ТипТекстаПисьма = Перечисления.ТипыТекстовЭлектронныхПисем.HTMLСКартинками Тогда
                  
                Сообщение.Тексты.Добавить(СообщениеПисьма, ТипТекстаПочтовогоСообщения.HTML);
                
            ИначеЕсли Письмо.ТипТекстаПисьма = Перечисления.ТипыТекстовЭлектронныхПисем.РазмеченныйТекст Тогда
                
                Сообщение.Тексты.Добавить(СообщениеПисьма, ТипТекстаПочтовогоСообщения.РазмеченныйТекст);
                
            Иначе
                Сообщение.Тексты.Добавить(СообщениеПисьма, ТипТекстаПочтовогоСообщения.ПростойТекст);
            КонецЕсли;
18 Остап Сулейманович
 
15.02.16
11:00
(16) Во вложении? Или в теле?
19 vde69
 
15.02.16
11:00
Если      Письмо.ТипТекстаПисьма = Перечисления.ТипыТекстовЭлектронныхПисем.HTML
              ИЛИ Письмо.ТипТекстаПисьма = Перечисления.ТипыТекстовЭлектронныхПисем.HTMLСКартинками Тогда
              
            ОбработатьПереносСтроки(ТемаПисьма);
            ОбработатьПереносСтроки(СообщениеПисьма);
        КонецЕсли;





Процедура ОбработатьПереносСтроки(ТекстДляОбработки)
    // в каждой новой строке вставляет в начало <br>
    мТекст = Новый ТекстовыйДокумент;
    мТекст.УстановитьТекст(ТекстДляОбработки);
    
    Для сч = 1 по мТекст.КоличествоСтрок()-1 Цикл
        мСтрока = "<br>" + мТекст.ПолучитьСтроку(сч);
        мТекст.ЗаменитьСтроку(сч, мСтрока);
    КонецЦикла;
    
    ТекстДляОбработки = мТекст.ПолучитьТекст();
КонецПроцедуры
20 Dilgorp
 
15.02.16
11:00
(18) -> (1)
21 lamme
 
15.02.16
11:01
(18)

в теле письма
22 lamme
 
15.02.16
11:01
(10) - ЗАРАБОТАЛО
спасибо
23 lamme
 
15.02.16
11:01
просто и со вкусом
24 Остап Сулейманович
 
15.02.16
11:02
(21) Ну так картинку то все равно тегом оформлять нужно.
25 lamme
 
15.02.16
11:02
Сообщение.Тексты.Добавить("<pre>"+ТекстПисьма+"</pre>"+ Символы.ПС+"
    |
    |
    |<br  />
    |<img  src=""file:///"+ИмяФайлаТМП+""" /><br />
    |
    |.", ТипТекстаПочтовогоСообщения.HTML);
    
    Сообщение.ОбработатьТексты();