-
Notifications
You must be signed in to change notification settings - Fork 692
Description
Why do you need this change?
Partners who need to run extra logic when the user runs a test transform (for example persisting the test text via a table extension) currently cannot hook the built-in Test group on page Transformation Rule Card (1238). The drill-down on the update control runs closed logic inside the base page, and TestText / ResultText are not available to page extensions in a supported way.
The practical workaround is to hide the standard Test group and re-implement it with duplicate fields and page variables, which duplicates UI, captions, tooltips, and behavior—and risks drifting from the base app when Microsoft changes the page.
We need a first-class extension point so we can keep the standard group and only add behavior (e.g. after TransformText), without cloning the layout.
Describe the request
Describe
Current behavior
On page Transformation Rule Card (1238), the Test group contains test input, result output, and an update control (drill-down) that executes the transform flow.
That flow and page state are not extensible enough for partner scenarios:
TestText/ResultTextare not exposed for reuse by page extensions.- The update/drill-down logic is not surfaced through an extensibility hook.
Because of this, partners that need to add post-transform behavior (for example logging test text) must hide the standard Test group and duplicate it in a page extension, which is brittle and hard to maintain.
Requested changes
-
Expose test variables as protected
- In Transformation Rule Card (1238), expose
TestTextandResultTextasprotected(and related members if needed). - This allows page extensions to interact with the same page state without recreating duplicate variables/UI.
- In Transformation Rule Card (1238), expose
-
Make update/transform flow extensible
- Move the logic currently executed from the update control drill-down into a dedicated page procedure, for example:
local procedure UpdateTransformationTestResult()
- Publish a new event after the base transform logic, for example:
OnAfterUpdateTransformationTestResult(var TransformationRule: Record "Transformation Rule"; TestText: Text)
- Move the logic currently executed from the update control drill-down into a dedicated page procedure, for example:
-
Outcome expected
- Partners can keep the standard Test group visible.
- No need to clone base UI just to add logic after running a test transform.
- Reduced upgrade risk and better maintainability.
Suggested event name
OnAfterUpdateTransformationTestResult
Publisher example (base app)
local procedure UpdateTransformationTestResult()
begin
ResultText := Rec.TransformText(TestText);
OnAfterUpdateTransformationTestResult(Rec, TestText);
end;
[IntegrationEvent(false, false)]
local procedure OnAfterUpdateTransformationTestResult(var TransformationRule: Record "Transformation Rule"; TestText: Text)
begin
end;Example partner scenario
After user clicks update in the Test group:
- Base app computes ResultText.
- Extension runs extra logic (e.g. TransformationRule.AddLog(TestText)) via OnAfterUpdateTransformationTestResult.
- UI remains the standard Microsoft UI (no duplicated Test group).
