![]() |
#1 |
Участник
|
Коллеги, день добрый.
Никто не сталкивался с ситуацией когда нужно создать из Navision html письмо с форматированием и с картинками. С помощью codeunit 397 Mail письма в Outlook создаются прекрасно, но они в текстовом формате... Буду очень благодарен, если кто подкинет идею. |
|
![]() |
#2 |
Участник
|
Цитата:
А html стандартизированный или постоянно его стуктура меняется? |
|
![]() |
#3 |
Участник
|
Стандартизированный. Просто письмо должно быть красивое, с форматированием и картинками
![]() |
|
![]() |
#4 |
Участник
|
|
|
![]() |
#5 |
Участник
|
Это получится письмо с вложением, а нужно html письмо.
Еще нужно что бы ушедшее письмо осталось в папке "Исходящее" Ох... ![]() |
|
![]() |
#6 |
Участник
|
Возможно так поможет:
OutlookMsg:=OutlookApp.CreateItem(0); OutlookAttach:=OutlookMsg.Attachments; OutlookAttach.Add(lFileName, 1); OutlookMsg.Display; |
|
![]() |
#7 |
Участник
|
А чуть поподробней плиз...
Какой Automation, какой метод. |
|
![]() |
#8 |
Участник
|
OutlookApp Automation 'Microsoft Outlook 11.0 Object Library'.Application
OutlookMsg Automation 'Microsoft Outlook 11.0 Object Library'.MailItem OutlookAttach Automation 'Microsoft Outlook 11.0 Object Library'.Attachments Методы собственно в коде. |
|
![]() |
#9 |
Участник
|
rmv, спасибо большое!!! Все получилось.
Возникла ещё проблемка, в получившимся html письме нужно произвести вставку, например, имени клиента. Сам шаблон, на основании которого формируется письмо, имени не содержит. То есть шаблон выглядит так: Уважаемый %1! Ваш заказ № %2 бла, бла... Всего наилучшего! В письмо этот шаблон затягивается, всё прекрасно. А вот как теперь вместо %1 и %2 подставить значения из заказа? Формировать новый шаблон, путем копирования оригинального шаблона, модифицировать налету, вставлять созданный шаблон в файл, а после отправки удалять... Наверняка есть более корректный метод. |
|
![]() |
#10 |
Участник
|
А пришлите код, которым заполняете Body сообщения
|
|
![]() |
#11 |
Участник
|
Цитата:
Сообщение от .rejector.
![]() rmv, спасибо большое!!! Все получилось.
Возникла ещё проблемка, в получившимся html письме нужно произвести вставку, например, имени клиента. Сам шаблон, на основании которого формируется письмо, имени не содержит. То есть шаблон выглядит так: Уважаемый %1! Ваш заказ № %2 бла, бла... Всего наилучшего! В письмо этот шаблон затягивается, всё прекрасно. А вот как теперь вместо %1 и %2 подставить значения из заказа? Формировать новый шаблон, путем копирования оригинального шаблона, модифицировать налету, вставлять созданный шаблон в файл, а после отправки удалять... Наверняка есть более корректный метод. При использовании шаблонов возможно лучший вариант использовать методы Replace (если таковые есть) текстового редактора Outlook'a. |
|
![]() |
#12 |
Участник
|
Написал с подсказки rmv следующую функцию
Код: SendMessage(From : Text[100];To : Text[1024];ToName : Text[250];Subject : Text[250];TextBody : Text[1024];Attachment : Text[500]) IF ISCLEAR(OutlookApp) THEN CREATE(OutlookApp); OutlookMsg:=OutlookApp.CreateItem(0); OutlookMsg."To"("To"); OutlookMsg.Subject(Subject); OutlookAttach:=OutlookMsg.Attachments; OutlookAttach.Add(Attachment, 1); OutlookMsg.Display; |
|
![]() |
#13 |
Участник
|
|
|
![]() |
#14 |
Участник
|
Цитата:
Сообщение от .rejector.
![]() Написал с подсказки rmv следующую функцию
Код: SendMessage(From : Text[100];To : Text[1024];ToName : Text[250];Subject : Text[250];TextBody : Text[1024];Attachment : Text[500]) IF ISCLEAR(OutlookApp) THEN CREATE(OutlookApp); OutlookMsg:=OutlookApp.CreateItem(0); OutlookMsg."To"("To"); OutlookMsg.Subject(Subject); OutlookAttach:=OutlookMsg.Attachments; OutlookAttach.Add(Attachment, 1); OutlookMsg.Display; Цитата:
OutlookMsg.HTMLBody := STRSUBSTNO('Шаблон', Параметры);
|
|
![]() |
#15 |
Участник
|
Цитата:
Цитата:
![]() |
|
![]() |
#16 |
Участник
|
Да, действительно шаблон письмо больше 1024 символов.
Вопрос с запущенным Outlook действительно не волнует, те кому нужно эта функция, имею запущенный Outlook по умолчанию. |
|
![]() |
#17 |
Участник
|
А в каком виде хранится шаблон сообщения? - В записях таблицы в Нав или как отдельный файл на сервере?
Ограничение в длине переменной в 1024 символа здесь вообще ни при чем. HTMLBody не ограничена этим значеним. |
|
![]() |
#18 |
Участник
|
Шаблон хранится как отдельный файл на сервере.
|
|
![]() |
#19 |
Участник
|
Тогда можно же этот файл построчно записать в HTMLBody письма. Через STRSUBSTNO заменить параметры на значения.
|
|
![]() |
#20 |
Участник
|
Да, блин, так уже и сделал. Но мне не нравится, как то это через костыли получается.
|
|