microsoft / ALAppExtensions

Repository for collaboration on Microsoft AL application add-on and localization extensions for Microsoft Dynamics 365 Business Central.
MIT License
748 stars 600 forks source link

[Event Requests] report 292 "Copy Sales Document" - OnLookupSalesDocOnBeforeRunModal, OnLookupPostedInvoiceOnBeforeRunModal, OnLookupPostedCrMemoOnBeforeRunModal #26786

Open pri-kise opened 4 days ago

pri-kise commented 4 days ago

Describe the request

Could you please add the following events?

    local procedure LookupSalesDoc()
    begin
        ....
        if (FromDocNo = '') and (SalesHeader."Sell-to Customer No." <> '') then
            if FromSalesHeader.SetCurrentKey("Document Type", "Sell-to Customer No.") then begin
                FromSalesHeader."Sell-to Customer No." := SalesHeader."Sell-to Customer No.";
                if FromSalesHeader.Find('=><') then;
            end;
        //+EVENT
        OnLookupSalesDocOnBeforeRunModal(FromSalesHeader, SalesHeader, FromDocType);
        //-EVENT
        if PAGE.RunModal(0, FromSalesHeader) = ACTION::LookupOK then
            FromDocNo := FromSalesHeader."No.";
    end;
    local procedure LookupPostedInvoice()
    begin
       ...
        FromSalesInvHeader.FilterGroup(2);
        FromSalesInvHeader.SetRange("Prepayment Invoice", false);
        FromSalesInvHeader.FilterGroup(0);
        //+EVENT
        OnLookupPostedInvoiceOnBeforeRunModal(FromSalesInvHeader, SalesHeader);
        //-EVENT
        if PAGE.RunModal(0, FromSalesInvHeader) = ACTION::LookupOK then
            FromDocNo := FromSalesInvHeader."No.";
    end;

    local procedure LookupPostedCrMemo()
    begin
       ...
        FromSalesCrMemoHeader.FilterGroup(2);
        FromSalesCrMemoHeader.SetRange("Prepayment Credit Memo", false);
        FromSalesCrMemoHeader.FilterGroup(0);
        //+EVENT
        OnLookupPostedCrMemoOnBeforeRunModal(FromSalesCrMemoHeader, SalesHeader);
        //-EVENT
        if PAGE.RunModal(0, FromSalesCrMemoHeader) = ACTION::LookupOK then
            FromDocNo := FromSalesCrMemoHeader."No.";
    end;

[IntegrationEvent(false, false)]
local procedure OnLookupSalesDocOnBeforeRunModal(var FromSalesHeader: Record "Sales Header"; var SalesHeader: Record "Sales Header"; FromDocType: Enum "Sales Document Type From")
begin
end;
[IntegrationEvent(false, false)]
local procedure OnLookupPostedInvoiceOnBeforeRunModal(var FromSalesInvHeader: Record "Sales Invoice Header"; var SalesHeader: Record "Sales Header")
begin
end;

[IntegrationEvent(false, false)]
local procedure OnLookupPostedCrMemoOnBeforeRunModal(var FromSalesCrMemoHeader: Record "Sales Cr.Memo Header"; var SalesHeader: Record "Sales Header");
begin
end;

Additional context

We would like to add custom filters similiar to the ones for prepayment invoice. We want to hide some documents from the user where they shouldn't copy from