From 767942cced3776fe4c8eeab7323034c58482e4fa Mon Sep 17 00:00:00 2001 From: MarkoAleksandric Date: Tue, 14 Jul 2026 16:55:04 +0200 Subject: [PATCH] Ext fix issue 30173: add integration events to Sales Line Discounts page Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../Sales/Pricing/SalesLineDiscounts.Page.al | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/Layers/W1/BaseApp/Sales/Pricing/SalesLineDiscounts.Page.al b/src/Layers/W1/BaseApp/Sales/Pricing/SalesLineDiscounts.Page.al index a6d028632b..991eef2d27 100644 --- a/src/Layers/W1/BaseApp/Sales/Pricing/SalesLineDiscounts.Page.al +++ b/src/Layers/W1/BaseApp/Sales/Pricing/SalesLineDiscounts.Page.al @@ -431,6 +431,7 @@ page 7004 "Sales Line Discounts" else Rec.SetRange("Starting Date"); + OnSetRecFiltersOnBeforeCurrPageUpdate(Rec, ItemTypeFilter); CurrPage.Update(false); end; @@ -467,6 +468,8 @@ page 7004 "Sales Line Discounts" if not ItemDiscGr.FindFirst() then Clear(ItemDiscGr); end; + else + OnGetFilterDescriptionCaseElse(Rec, ItemTypeFilter, SourceTableName, Item); end; SalesSrcTableName := ''; @@ -639,4 +642,26 @@ page 7004 "Sales Line Discounts" local procedure OnGetTypeFilterCaseElse(var SalesLineDiscount: Record "Sales Line Discount"; var TypeFilter: Integer) begin end; + + /// + /// Raises an event after the record filters have been applied and before the page is updated, allowing subscribers to apply additional filtering based on the current item type filter. + /// + /// The sales line discount record being filtered. + /// The current item type filter value. + [IntegrationEvent(true, false)] + local procedure OnSetRecFiltersOnBeforeCurrPageUpdate(var SalesLineDiscount: Record "Sales Line Discount"; ItemTypeFilter: Option Item,"Item Discount Group","None") + begin + end; + + /// + /// Raises an event to resolve the filter description when the item type filter is not Item or Item Discount Group, allowing subscribers to provide a custom source table name and item filtering. + /// + /// The sales line discount record being described. + /// The current item type filter value. + /// The source table name to display in the filter description. + /// The item record used to build the filter description. + [IntegrationEvent(true, false)] + local procedure OnGetFilterDescriptionCaseElse(var SalesLineDiscount: Record "Sales Line Discount"; ItemTypeFilter: Option Item,"Item Discount Group","None"; var SourceTableName: Text; var Item: Record Item) + begin + end; }