x++ code for Sending Email Notification whenever sales order is confirmed, cancelled, delivered or invoiced
- please use this account Details:-
User ID :- svc_admin@basofa.onmicrosoft.com
Password : - Zac00247
[ExtensionOf(tableStr(SalesTable))]
final class BASSalesTable_Extension
{
public void update()
{
SalesTable salesTable = this.orig();
next update();
if(salesTable.DocumentStatus != this.DocumentStatus || (this.SalesStatus == SalesStatus::Canceled && this.SalesStatus != salesTable.SalesStatus))
{
SysEmailParameters _SysEmailParameters;
var builder = new SysMailerMessageBuilder();
select SMTPUserName from _SysEmailParameters;
builder.setFrom(_SysEmailParameters.SMTPUserName);
builder.addTo("reddychandrashekar567@gmail.com");
builder.setSubject("Sales order Details");
str r = strFmt("%1 Order is %2",this.SalesId,(enum2Str(this.DocumentStatus)));
builder.setBody(r);
if(this.SalesStatus == SalesStatus::Canceled)
{
str r1 = strFmt("%1 Order is %2",this.SalesId,(enum2Str(this.SalesStatus)));
builder.setBody(r1);
}
var message = builder.getMessage();
SysMailerFactory::getNonInteractiveMailer().sendNonInteractive(message);
Info("Email Sent Successfully");
}
}
}
or
[ExtensionOf(tableStr(SalesTable))]
final class BASSalesOrderInsert_Extension
{
void insert(boolean _skipMarkup)
{
SalesTable salesTable = this.orig();
next insert();
SysEmailParameters _SysEmailParameters;
var builder = new SysMailerMessageBuilder();
select SMTPUserName from _SysEmailParameters;
builder.setFrom(_SysEmailParameters.SMTPUserName);
builder.addTo("sarathbunny75@gmail.com");
builder.setSubject("Sales order Details");
str r = strFmt("%1 Order is %2",this.SalesId,(enum2Str(this.SalesStatus)));
builder.setBody(r);
var message = builder.getMessage();
SysMailerFactory::getNonInteractiveMailer().sendNonInteractive(message);
Info("Email Sent Successfully");
}
}
or
x++ code to send email notification in table format from dynamics 365
[ExtensionOf(tableStr(SalesTable))]
final class BASSalesTable_Extension
{
public void update()
{
// orig() method refers to the last saved state of the current table buffer .
SalesTable salesTable = this.orig();
next update();
if(salesTable.DocumentStatus != this.DocumentStatus || (this.SalesStatus == SalesStatus::Canceled && this.SalesStatus != salesTable.SalesStatus))
{
SysEmailParameters _SysEmailParameters;
SysInfoLogStr emailBodyWithHtml;
var builder = new SysMailerMessageBuilder();
select SMTPUserName from _SysEmailParameters;
builder.setFrom(_SysEmailParameters.SMTPUserName);
builder.addTo("reddychandrashekar567@gmail.com");
builder.setSubject("Sales order Details");
emailBodyWithHtml = "<table border = '1'><tr><td><b>ItemId<b></td><td><b>Quantity<b></td><td><b>SalesStatus<b></td><td><b>InvoiceRemainder<b></td></tr>";
SalesLine salesLine;
while select * from salesTable join salesLine
where salesTable.SalesId == salesLine.SalesId && salesTable.SalesId == this.SalesId
{
emailBodyWithHtml += "<tr><td>"+salesLine.ItemId+"</td><td>"+any2Str(salesLine.SalesQty)+"</td><td>"+any2Str(salesLine.SalesStatus)+"</td><td>"+any2Str(salesLine.RemainInventFinancial)+"</td></tr>";
}
emailBodyWithHtml += "</Table>";
builder.setBody(strFmt("Sales order %1 is %2 %3",this.SalesId,this.DocumentStatus,strRem(emailBodyWithHtml, '\r')),true);
//str r = strFmt("%1 Order is %2 , ItemId is %3 , Product name is %4 , %5 Quantity , Deliver remainder Qty is %6 , Invoice remainder Qty is %7 ",this.SalesId,(enum2Str(this.DocumentStatus)),salesLine.ItemId,salesLine.Name,salesLine.SalesQty,salesLine.RemainInventPhysical,salesLine.RemainInventFinancial);
//builder.setBody(r);
//if(this.SalesStatus == SalesStatus::Canceled)
// {
// str r1 = strFmt("%1 Order is %2 , ItemId is %3 , Product name is %4 , %5 Quantity",this.SalesId,(enum2Str(this.SalesStatus)),salesLine.ItemId,salesLine.Name,salesLine.SalesQty);
// builder.setBody(r1);
// }
var message = builder.getMessage();
SysMailerFactory::getNonInteractiveMailer().sendNonInteractive(message);
Info("Email Sent Successfully");
}
}
}
Comments
Post a Comment