Skip to main content

Notifications

Announcements

No record found.

Business Central forum
Unanswered

Sending Customer Mails

Posted on by
Hi All,

I have made a custom report on the sales price list (Price List Header 7000). I want to send this price list to all customers separately that are linked to this price list (The same way that the customer statements are being sent out). However when click on the new button the report is being printed instead of being emailed. The price lists are setup on customer price groups and all customers linked to this group (there are multiple groups but a customer can only belong to one group) must receive separate emails with their report.

This is my Action for the button:
            action(APTPVC_SendPriceList)
            {
                Caption = '&Send Email ';
                Image = Email;
                Ellipsis = true;
                ToolTip = 'Prepare to send the Sales Price Lists. A report request window for the document opens where you can specify what to include on the email.';
                Promoted = true;
                PromotedCategory = Report;
                trigger OnAction()
                var
                    PriceListLine: Record "Price List Line";
                    CustomReportSelection: Record "Custom Report Selection";
                    CustomLayoutReporting: Codeunit "Custom Layout Reporting";
                    RecRef: RecordRef;
                begin
                    RecRef.Open(Database::"Price List Line");
                    CustomLayoutReporting.SetOutputFileBaseName(StatementFileNameTxt);
                    CustomReportSelection.SetRange(Usage, "Report Selection Usage"::"S.PriceList");
                    if CustomReportSelection.FindFirst() then
                        CustomLayoutReporting.SetTableFilterForReportID(CustomReportSelection."Report ID", PriceListLine."Assign-to No.")
                    else
                        CustomLayoutReporting.SetTableFilterForReportID(Report::APTPVC_SalesPriceList, PriceListLine."Assign-to No.");
                    CustomLayoutReporting.ProcessReportData(
                        "Report Selection Usage"::"S.PriceList", RecRef, PriceListLine.FieldName("Assign-to No."),
                        Database::"Price List Line", PriceListLine.FieldName("Assign-to No."), true);
                end;
            }
 
And this is my report output option:
 group("Output Options")
                {
                    Caption = 'Output Options';
                    field(ReportOutput; SupportedOutputMethod)
                    {
                        ApplicationArea = Basic, Suite;
                        Caption = 'Report Output';
                        OptionCaption = 'Email';
                        ToolTip = 'Specifies the output of the scheduled report.';
 
                        trigger OnValidate()
                        var
                            CustomLayoutReporting: Codeunit "Custom Layout Reporting";
                        begin
                            case SupportedOutputMethod of
                                SupportedOutputMethod::Email:
                                    ChosenOutputMethod := CustomLayoutReporting.GetEmailOption();
                            end;
                        end;
                        // local procedure SetReportInboxOutputTypeForPrint(var ReportInbox: Record "Report Inbox"; ReportID: Integer) (DEFAULTS TO PDF)
                    }
 
Is there something I have missed? Or perhaps not linking correctly that causes the emails not to send? The report is printing correctly.

Thanks
Divan
 
 
  • Tech_BC_Gokul Profile Picture
    Tech_BC_Gokul 263 on at
    Sending Customer Mails
    Hi, 

    In the above i am unable to find the Email templates attached Please use the below and you can customize your requirement with that 
     
     trigger OnAction()
                    var
                        TempEmailItem: Record "Email Item" temporary;
                        EmailScenario: Enum "Email Scenario";
                    begin
                        TempEmailItem.AddSourceDocument(Database::Customer, Rec.SystemId);
                        TempEmailitem."Send to" := Rec."E-Mail";
                        TempEmailItem.Send(false, EmailScenario::Default);
                    end;
  • Suggested answer
    Tech_BC_Gokul Profile Picture
    Tech_BC_Gokul 263 on at
    Sending Customer Price List per Email
    Hi, 

    In the above i am unable to find the Email templates attached Please use the below and you can customize your requirement with that 
     
     trigger OnAction()
                    var
                        TempEmailItem: Record "Email Item" temporary;
                        EmailScenario: Enum "Email Scenario";
                    begin
                        TempEmailItem.AddSourceDocument(Database::Customer, Rec.SystemId);
                        TempEmailitem."Send to" := Rec."E-Mail";
                        TempEmailItem.Send(false, EmailScenario::Default);
                    end;

Helpful resources

Quick Links

Replay now available! Dynamics 365 Community Call (CRM Edition)

Catch up on the first D365 Community Call held on 7/10

Community Spotlight of the Month

Kudos to Saurav Dhyani!

Congratulations to the June Top 10 community leaders!

These stars go above and beyond . . .

Leaderboard

#1
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 287,986 Super User

#2
Martin Dráb Profile Picture

Martin Dráb 225,588 Super User

#3
nmaenpaa Profile Picture

nmaenpaa 101,148

Leaderboard

Featured topics

Product updates

Dynamics 365 release plans