Can you please help me to solve this .
Hi Nitin Can you please help me my logic is that if custledgentry found then email sent else skip
Hi Nitin again I need your help in this code o want to sent mail to those customer who have record if record is not available then mail will not sent , if record is found then mail will sent to the customer.
mention below is the code for sent mail to customer.
Documentation()
OnRun()
SentMailtoCust(CustNo : Code[20])
SMTPSetup.GET;
Customer.GET(CustNo);
Customer.TESTFIELD("E-Mail");
IF CustLedgEntry.fin
SMTPMail.CreateMessage('',SMTPSetup."User ID",Customer."E-Mail",'Test1','',TRUE);
IF SalesPerson."E-Mail"<>'' THEN
SMTPMail.AddCC(SalesPerson."E-Mail");
SMTPMail.AppendBody('Dear Sir / Madam,');
SMTPMail.AppendBody('<br><br>');
SMTPMail.AppendBody('Please find Pending Payments List.');
SMTPMail.AppendBody('<br><Br>');
SMTPMail.AppendBody('<table border="1">');
SMTPMail.AppendBody('<tr>');
SMTPMail.AppendBody('<th>Invoice No.</th>');
SMTPMail.AppendBody('<th>Invoice Date</th>');
SMTPMail.AppendBody('<th>Due Date</th>');
SMTPMail.AppendBody('<th>Invoice Amount</th>');
SMTPMail.AppendBody('<th>Balance Amount</th>');
SMTPMail.AppendBody('</tr>');
CustLedgEntry.SETCURRENTKEY("Customer No.",Open,Positive,"Due Date","Currency Code");
CustLedgEntry.SETRANGE(CustLedgEntry."Customer No.",CustNo);
CustLedgEntry.SETRANGE(Open,TRUE);
CustLedgEntry.SETRANGE(CustLedgEntry."Document Type",CustLedgEntry."Document Type"::Invoice);
IF CustLedgEntry.FINDFIRST THEN
REPEAT
CustLedgEntry.CALCFIELDS("Amount (LCY)");
CustLedgEntry.CALCFIELDS("Remaining Amt. (LCY)");
SMTPMail.AppendBody('<tr>');
SMTPMail.AppendBody('<td>'+FORMAT(CustLedgEntry."Document No.")+'</td>');
SMTPMail.AppendBody('<td>'+FORMAT(CustLedgEntry."Posting Date")+'</td>');
SMTPMail.AppendBody('<td>'+FORMAT(CustLedgEntry."Due Date")+'</td>');
SMTPMail.AppendBody('<td>'+FORMAT(CustLedgEntry."Amount (LCY)")+'</td>');
SMTPMail.AppendBody('<td>'+FORMAT(CustLedgEntry."Remaining Amt. (LCY)")+'</td>');
SMTPMail.AppendBody('</tr>');
UNTIL(CustLedgEntry.NEXT=0);
SMTPMail.AppendBody('</table>');
SMTPMail.AppendBody('<br><br>');
SMTPMail.AppendBody('Regards,');
SMTPMail.AppendBody('<br>');
SMTPMail.AppendBody('Ajay Pandey');
SMTPMail.AppendBody('<br><br>');
SMTPMail.AppendBody('<HR>');
SMTPMail.AppendBody('This is a system generated mail. Please do not reply to this email ID.');
SMTPMail.Send;
Thanks Nitin now work properly
when i go through this code it can sent only one record to n times
I have tried with your code, and does not looks good to me, so I tried this way may be you need to give more attention in this code as well.
LOCAL SentMailtoCust() SentMailtoCust(CustNo : Code[20]) SMTPSetup.GET; IF Customer.FINDSET THEN REPEAT Customer.TESTFIELD("E-Mail"); SalesPerson.GET(Customer."Salesperson Code"); SMTPMail.CreateMessage('',SMTPSetup."User ID",Customer."E-Mail",'Test1','',TRUE); IF SalesPerson."E-Mail"<>'' THEN SMTPMail.AddCC(SalesPerson."E-Mail"); SMTPMail.AppendBody('Dear Sir / Madam,'); SMTPMail.AppendBody('
'); SMTPMail.AppendBody('Please find Pending Payments List.'); SMTPMail.AppendBody('
'); SMTPMail.AppendBody('
Invoice No. | '); SMTPMail.AppendBody('Invoice Date | '); SMTPMail.AppendBody('Due Date | '); SMTPMail.AppendBody('Invoice Amount | '); SMTPMail.AppendBody('Balance Amount | '); SMTPMail.AppendBody('
---|