8.х выгрузка данных макета в текст письма

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Evgenya, 17 дек 2009.

  1. TopicStarter Overlay
    Evgenya
    Offline

    Evgenya

    Регистрация:
    16 апр 2008
    Сообщения:
    30
    Симпатии:
    0
    Баллы:
    1
    Помогите пожалуйста! Есть макет печатной формы документа, необходимо, чтобы данные, которые выводятся в макет(текст + таблицы) добавлялись в текст письма (не отдельным файлом). На сколько я знаю, это возможно.
    Суть вопроса: Как получить данные макета в переменную типа тект?
  2. Абырвалг
    Offline

    Абырвалг Опытный в 1С

    Регистрация:
    8 дек 2009
    Сообщения:
    112
    Симпатии:
    1
    Баллы:
    29
    ммм, вы же хотите, чтобы помимо текста еще и таблицы воявились в тексте письма вашего? Тогда вероятнее всего вы хотите не просто тект сообщения, а текс сообщения в формате HTML или в формате Rich Text, я правильно вас понимаю?
  3. TopicStarter Overlay
    Evgenya
    Offline

    Evgenya

    Регистрация:
    16 апр 2008
    Сообщения:
    30
    Симпатии:
    0
    Баллы:
    1
    Возможно и так! просто у меня есть уже текст письма:

    Текст = "Здравствуйте, Марья Ивановна! Мы благодарны Вам за предоставленную возможность участия нашей компании в автоматизации вашего предприятия....."

    Потом в текст письма помещаем эту переменную Текст

    (Сообщ = Новый ПочтовоеСообщение
    Сообщ.Текст = Текст).

    Хотелось бы, чтобы все что есть в макете и текст и таблицы были продолжением данного текста.

    Как это лучше организовать?
  4. x_under
    Offline

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

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Ну так посмотрите метод Записать у табличного документа. Его можно сохранить в HTML, а потом присвоете его тексту письма.
  5. TopicStarter Overlay
    Evgenya
    Offline

    Evgenya

    Регистрация:
    16 апр 2008
    Сообщения:
    30
    Симпатии:
    0
    Баллы:
    1
    спасибо
  6. TopicStarter Overlay
    Evgenya
    Offline

    Evgenya

    Регистрация:
    16 апр 2008
    Сообщения:
    30
    Симпатии:
    0
    Баллы:
    1
    Поторопилась я немного сказать, что всё получилось. Получилось, но только текст вывести из макета, а табличные формы и картинки нет и ещё все настройки, которые были в макете в самом письме не такие, например, текст, который должен выводится в центре, выводится не в центре, а без всякого форматирования(слева), так же шрифт и т.д.

    я делаю так сохраняю макет

    Код:
    Табдок.записать("C:\Коммерческие предложения\" +"Коммерческие предложения"+Строка(Номер)+".html",ТипФайлаТабличногоДокумента.HTML4);
    
    читаю:

    Код:
    ИмяФайла = "c:\Коммерческие предложения\"+"Коммерческие предложения"+Строка(Номер)+".html";
    Объект = Новый ИзвлечениеТекста(ИмяФайла);
    Текст = Объект.ПолучитьТекст();
    Сообщить(Текст);
    


    присваиваю

    Код:
    Сообщ.Текст = ТекстПисьма +Текст;
    
    
    пробовала еще сохранять макет так :

    Код:
    Табдок.записать("C:\Коммерческие предложения\" +"Коммерческие предложения"+Строка(Номер)+".txt",ТипТекстаПочтовогоСообщения.HTML);
    
    но результат тот же.
    Подскажите,пожалуйста, что не так сохраняю или читаю или и то и другое?
  7. TopicStarter Overlay
    Evgenya
    Offline

    Evgenya

    Регистрация:
    16 апр 2008
    Сообщения:
    30
    Симпатии:
    0
    Баллы:
    1
    в самом файлике всё как надо. значит дело в чтении.
  8. x_under
    Offline

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

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Зачем так мучиться? Сделайте просто отправку вашей печатной формы как файла excel или pdf. Почему именно HTML?
  9. TopicStarter Overlay
    Evgenya
    Offline

    Evgenya

    Регистрация:
    16 апр 2008
    Сообщения:
    30
    Симпатии:
    0
    Баллы:
    1
    хочется, чтобы красиво было всё вместе в письме. Файлом Эксель отлично отправляется.
    Но, чувствую, что так всё и останенся.
  10. tirk
    Offline

    tirk Опытный в 1С

    Регистрация:
    1 сен 2008
    Сообщения:
    1.142
    Симпатии:
    0
    Баллы:
    26
    У метода записать есть возможность непосредственного сохранения в html

    и сделайте как вложение в письмо
  11. TopicStarter Overlay
    Evgenya
    Offline

    Evgenya

    Регистрация:
    16 апр 2008
    Сообщения:
    30
    Симпатии:
    0
    Баллы:
    1
    С вложением проблем нет. просто всё сразу хотелось вывести, чтобы открываешь письмо - а там красота. Можно конечно и текст во вложение засунуть. Но тогда само письмо пустое будет.

    Вроде, так сделать можно(как я хочу). Но нигде найти не могу.
  12. x_under
    Offline

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

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Покажите код. Посмотрим что не так.
  13. TopicStarter Overlay
    Evgenya
    Offline

    Evgenya

    Регистрация:
    16 апр 2008
    Сообщения:
    30
    Симпатии:
    0
    Баллы:
    1
    Процедура отправки

    Код:
    Почта=Новый Почта;
    Сообщ = Новый ПочтовоеСообщение;
    
    
    ИмяФайла = "c:\Коммерческие предложения\"+"Коммерческие предложения"+Строка(Номер)+".html";
    Объект = Новый ИзвлечениеТекста(ИмяФайла);
    ТекстФайла = Объект.ПолучитьТекст();
    Сообщить(ТекстФайла);
    
    
    Сообщ.Текст = "" + Текст + ТекстФайла;
    Сообщ.Тема = "Коммерческие предложения";
    
    Данные = Новый ДвоичныеДанные("c:\Коммерческие предложения\"+"Коммерческие предложения"+Строка(Номер)+".xls");
    Сообщ.Вложения.Добавить(Данные,"Коммерческие предложения.xls");
    Сообщ.Получатели.Добавить(Строка(ЭлектроннаяПочта));
    Форма=Документы.КоммерческиеПредложения.ПолучитьФорму("Форма",ЭтаФорма);	
    
    Попытка
    // Попытка подключения к почтовому клиенту
    Почта.Подключиться("Outlook");
    
    Исключение
    Сообщить("Ошибка подключения к почтовому клиенту");
    Возврат;
    КонецПопытки;	
    
    // Отсылка сообщения
    
    Почта.Послать(Сообщ, Ложь);
    Почта.Отключиться();
    Закрыть();
    
    
    
  14. x_under
    Offline

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

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Э... Так а вы хотите, чтобы ваш файл xls был прямо куском текста?
  15. TopicStarter Overlay
    Evgenya
    Offline

    Evgenya

    Регистрация:
    16 апр 2008
    Сообщения:
    30
    Симпатии:
    0
    Баллы:
    1
    нет. на этот кусок кода можно вообще не обращать внимание:

    Код:
    Данные = Новый ДвоичныеДанные("c:\Коммерческие предложения\"+"Коммерческие предложения"+Строка(Номер)+".xls");
    Сообщ.Вложения.Добавить(Данные,"Коммерческие предложения.xls");
    
    Вот здесь я пытаюсь читать html :
    Код:
    ИмяФайла = "c:\Коммерческие предложения\"+"Коммерческие предложения"+Строка(Номер)+".html";
    Объект = Новый ИзвлечениеТекста(ИмяФайла);
    ТекстФайла = Объект.ПолучитьТекст();
    Сообщить(ТекстФайла);
    
    Но, видимо, не так это надо делать. Надо его прочитать и записать в текст. но так, чтобы все корректно отображалось. Таким образом если читать html, то получаем только текст без таблиц.
  16. tirk
    Offline

    tirk Опытный в 1С

    Регистрация:
    1 сен 2008
    Сообщения:
    1.142
    Симпатии:
    0
    Баллы:
    26
    Стандартно мне кажется вы туда его никак не запихаете... думаю стоит попробовать через activeX или com в Аутглюк..

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