-
Notifications
You must be signed in to change notification settings - Fork 692
[Event Request] Reports 5196, 5197 "Remove Contacts - Refine", "Remove Contacts - Reduse" OnPreReportOnBeforeRunReduceRefineSegment #29897
Description
Why do you need this change?
Extend OnPreReportOnBeforeRunReduceRefineSegment event in Report to support passing sender and enable custom dataitems filtering
We would like to request an extension of the existing integration events OnPreReportOnBeforeRunReduceRefineSegment in the reports:
Remove Contacts - Reduce
Remove Contacts - Refine
Currently, these reports are used only to define filters, which are then passed to the shared processing report Remove Contacts, where the actual logic is executed.
However, the current event signature does not allow passing filters from newly added custom dataitems. This makes it impossible to extend the reports in a way that influences the segment contact selection logic.
Without extending the event:
There is no way to pass filters from additional dataitems to the Remove Contacts report
The current event design is not usable for multi-app extensibility scenarios
Specifically:
When multiple extensions (apps) need to contribute their own filtering logic, there is no clean or scalable way to combine these filters and pass them into the processing report.
This effectively prevents independent apps from extending the segmentation logic in a composable way.
Describe the request
We propose extending the existing events to:
Pass the sender (report instance)
Allow full control over the ReduceRefineSegment report instance
Suggested updated event signature:
// Existing code from report 5196 "Remove Contacts - Refine" line 172
[IntegrationEvent(true, false)]
local procedure OnPreReportOnBeforeRunReduceRefineSegment(
var ReduceRefineSegment: Report "Remove Contacts";
var IsHandled: Boolean)
begin
end;
// Existing code from report 5197 "Remove Contacts - Reduce" line 157
[IntegrationEvent(true, false)]
local procedure OnPreReportOnBeforeRunReduceRefineSegment(
var ReduceRefineSegment: Report "Remove Contacts";
var IsHandled: Boolean)
begin
end;
Additionally, access to the sender (current report instance) should be provided to allow retrieval of filters from custom dataitems.
Benefits
Enables extending reports with additional dataitems
Allows passing custom filters into the processing report
Improves flexibility of segment generation logic