Skip to main content

Notifications

Community site session details

Community site session details

Session Id :
Small and medium business | Business Central, N...
Suggested answer

Sending Customer Mails

(1) ShareShare
ReportReport
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
    331 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
    331 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;

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Jainam Kothari – Community Spotlight

We are honored to recognize Jainam Kothari as our June 2025 Community…

Congratulations to the May Top 10 Community Leaders!

These are the community rock stars!

Announcing the Engage with the Community forum!

This forum is your space to connect, share, and grow!

Leaderboard > Small and medium business | Business Central, NAV, RMS

#1
Sohail Ahmed Profile Picture

Sohail Ahmed 1,452

#2
YUN ZHU Profile Picture

YUN ZHU 1,313 Super User 2025 Season 1

#3
Gerardo Rentería García Profile Picture

Gerardo Rentería Ga... 1,083 Most Valuable Professional

Featured topics

Product updates

Dynamics 365 release plans