8.х ТабДок в html-письмо по электронной почте

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Flash-Dance, 15 авг 2016.

  1. TopicStarter Overlay
    Flash-Dance
    Offline

    Flash-Dance Профессионал в 1С

    Регистрация:
    20 май 2012
    Сообщения:
    365
    Симпатии:
    42
    Баллы:
    54
    Всем привет. Необходимо отправлять данные из табличного документа на электронную почту не в виде вложения, а в виде html-документа. Делаю это следующим образом:

    Код:
    //вступительная часть по настройке "ИнтернетПочтовыйПрофиль"
    
        Письмо = Новый ИнтернетПочтовоеСообщение;
        ПутьHTML = ПолучитьИмяВременногоФайла("html");
        Объект.ТабДок.Записать(ПутьHTML, ТипФайлаТабличногоДокумента.HTML);
        HtmlДок = Новый ЧтениеТекста;
        HtmlДок.Открыть(ПутьHTML);
        ТекстHtmlДока = HtmlДок.Прочитать();
        Текст = Письмо.Тексты.Добавить(ТекстHtmlДока,ТипТекстаПочтовогоСообщения.HTML);
    
    //Заключительная часть по отправке письма
    
    Письмо отправляет нормально, но полностью пропадает форматирование (шрифты и границы таблиц).
    Если проанализировать получаемый файл, то получается, что при формировании текста письма пропадают настройки CSS, которые записываются перед <head> и <body>. Сам файл записывается нормально. И если в ТипФайлаТабличногоДокумента использовать не HTML, а HTML3, то сохраняется форматирование текста, но не ячеек таблицы. Кто-нибудь знает, как можно решить проблему?
  2. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    использовать inline стили для оформления документа?
  3. TopicStarter Overlay
    Flash-Dance
    Offline

    Flash-Dance Профессионал в 1С

    Регистрация:
    20 май 2012
    Сообщения:
    365
    Симпатии:
    42
    Баллы:
    54
    Знать бы, как заставить 1С их использовать при преобразовании ТабДока в html?
  4. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Не знаю.

    В табличном документе я так понимаю какой-то отчет?
    В идеале сформировать текст письма (html) в ручную. Поскольку в общем случае - я так понимаю не факт, что произвольный почтовый клиент корректно покажет такой автосгенерированный документ перегнанный в html (поскольку хз с какими тэгами 1С это сохраняет, а с отображением сложнооформленных документов у почтовых клиентов могут быть проблемы).
  5. TopicStarter Overlay
    Flash-Dance
    Offline

    Flash-Dance Профессионал в 1С

    Регистрация:
    20 май 2012
    Сообщения:
    365
    Симпатии:
    42
    Баллы:
    54
    Если методом КопиПаста (из табдока в html), то встает нормально (вообще без использования SSL), но надо это делать автоматически. Получается, что выход только - при формировании отчета параллельно автоматически генерировать html-код. Придется повозиться :confused:.

Поделиться этой страницей