2014-11-20 5 views
0

Меня попросили помочь сделать некоторые необходимые обновления для Microsoft Dynamics NAV 5.0 (да, старые), и они хотят, чтобы я обновил некоторые из своих шаблонов электронной почты для заказов на продажу и т. Д. Один из вещи, которые они хотят, чтобы я сделал, - обновить поле «От», чтобы быть групповым почтовым ящиком вместо текущего пользователя, что я не думал о том, чтобы быть слишком сложным, но выяснение того, как NAV создает электронные письма, было менее простым.Изменение шаблонов электронной почты для Navision 5.0

Эта статья была некоторая информация, но не поймите меня всю дорогу: http://www.dynamics101.com/2014/02/sending-customized-emails-dynamics-nav/

Я нашел таблицу продаж заголовка, который имеет много полей ... ни один из которых включают в себя «С» , Я нашел одно поле под названием «Назначенный пользователь», который указывает на пользовательскую настройку. Любая помощь будет оценена по достоинству.

ответ

0

Вы имеете в виду письма, отправленные в случае утверждения/отклонения заказа клиента или маленькой кнопки «Новое сообщение» на карточке клиента? Библиотеки, используемые в этих случаях, различны, и они используют разные объекты автоматизации для создания сообщений электронной почты. Во всяком случае, в обоих случаях нет установки для изменения поля «От» - вам придется немного настроить его.

Прежде всего, вам нужно создать новое поле в таблице настроек для хранения адреса электронной почты. Таблица «Настройка пользователя», вероятно, является лучшим местом, но это зависит от задачи, конечно. Предположим, что это Uset Setup, и вы вызываете новое поле «FromAddress»

Когда вы нажимаете кнопку «Электронная почта» на карточке «Клиент», запускается мастер «Создать почту» (форма 5148 «Создать почту»). Он вызывает функцию «NewMessage» в codeunit 397. Итак, codeunit 397 «Mail» - это то, что вы ищете. Чтобы изменить адрес «От», вам нужно установить свойство «SentOnBehalfOfName» в объекте OSendMail.

UserSetup.GET(USERID); 
OSendMail.SentOnBehalfOfName(UserSetup.FromAddress); 

Если сообщение, которое вы хотите изменить это документ, уведомление утверждения, сообщение электронной почты создается в программном модуле 400 «SMTP почты», но все поля устанавливаются в программном модуле 440 «Сертификаты Mgt Извещения» , функции SetTemplate и GetEmailAddress. Именно GetEmailAddress устанавливает адрес отправителя. Вы должны заменить эту строку кода:

SenderAddress := UserSetup."E-Mail"; 

с новым

SenderAddress := UserSetup.FromAddress; 

Но будьте осторожны - это изменение затронет все шаблоны и всех пользователей. Если вам нужно изменить некоторые шаблоны, оставив другим нетронутым, безопаснее переопределить значение этой переменной в функции, отвечающей за конкретный шаблон. Но опять же, это все в кодедуте 440.

+0

Спасибо! Я медленно находил эту информацию, но мне пришлось много рыть. Я ценю ваш ответ – SkottyP