Skip to content

636017 Move Projects report action tooltips to report objects#9548

Open
V-CWurtzen wants to merge 2 commits into
mainfrom
features/636017-Projects-move-page-action-tooltips-to-report
Open

636017 Move Projects report action tooltips to report objects#9548
V-CWurtzen wants to merge 2 commits into
mainfrom
features/636017-Projects-move-page-action-tooltips-to-report

Conversation

@V-CWurtzen

@V-CWurtzen V-CWurtzen commented Jul 16, 2026

Copy link
Copy Markdown

What & why

Moves the report action ToolTips for the Projects (Jobs & Resources) reports off the page actions that run them and onto the report objects themselves, and integrates that move into every forked country layer. The tooltip is now defined once on the report and applies wherever the report is invoked, and the now-duplicate ToolTip is removed from the page actions in W1 and its country forks.

27 reports covered — the Job - Planning Lines/Transaction Detail/Actual To Budget/Analysis/Suggested Billing/Register/Calculate WIP/Post WIP to G/L/WIP To G/L/Create Sales Invoice/Split Planning Line set, Jobs per Customer/Item, Items per Job, Update Job Item Cost, Change Job Dates, the Resource - Cost Breakdown/List/Price List/Statistics/Usage/Register set, Adjust Resource Costs/Prices, Date Compress Resource Ledger, Delete Empty Res. Registers, and the Create/Move Time Sheets set. All source tooltips are descriptive (no stubs).

This is part of the "move report action tooltips to report objects" cleanup (CP0529-331 / slice 636017).

Changes

  • W1 (commit 1): report-level ToolTip added to the 27 reports; duplicate removed from the W1 actions that run them (Job card/list and Resource pages and role centers, plus the Administrator role center and Data Administration). 41 files.
  • Country layers (commit 2): the W1 move is propagated to the forked country layers as required by the Miapp sync gate (VerifyMiappSync):
    • 18 page forks across APAC, BE, CH, DACH, FI, GB, NA, NL, NO, RU: duplicate ToolTip removed from the covered actions (56 lines).
    • 7 report forks (BE/FI/NO ResourcePriceList; NA JobRegister, ResourceRegister, ResourceStatistics, ResourceUsage): report-level ToolTip added to match W1.

Total: 66 files (41 W1 + 25 country), tooltip-only.

Linked work

Fixes AB#636017

How I validated this

  • I read the full diff and it contains only changes I intended.
  • I built the affected app(s) locally with no new analyzer warnings.
  • I ran the change in Business Central and confirmed it behaves as expected.
  • I added or updated tests for the new behavior, or explained below why none are needed.

What I tested and the outcome

Metadata-only change (ToolTip property). The diff is 100% tooltip lines (report ToolTip additions + page-action ToolTip removals), with BOM/EOL preserved and no other lines changed. Country propagation was produced by running Invoke-Miapp to identify the fork set, then applying the move surgically (Invoke-Miapp's auto-merge mis-aligned on the divergent role centers, so its output was not used directly). The set of changed forks matches exactly what VerifyMiappSync requires — no missing forks, no extras.

No tests added: ToolTip is a design-time metadata property with no runtime behavior to assert; there is no existing tooltip test harness for these objects.

Risk & compatibility

Low. No code, schema, table, or behavior change — only the ToolTip design property moves from page action to report, in W1 and its country forks. No upgrade/data impact, no permission/telemetry impact, no breaking change. Same cleanup pattern already merged for Warehouse, Manufacturing, Service, Sales and Inventory, landed as the Pricing pilot (#9433), and applied to CashFlow (#9528), Finance (#9526), Bank (#9540), CRM (#9544), Cost Accounting (#9545) and Fixed Assets (#9546) on the new BCApps pipeline.

Move the report action ToolTips for 27 Projects (Jobs & Resources) reports
onto the report objects and remove the now-duplicate ToolTip from the W1
page actions that run them (Job card/list and Resource pages and role
centers, plus the Administrator role center and Data Administration).

Covers the Job - Planning Lines / Transaction Detail / Actual To Budget /
Analysis / Suggested Billing / Register / Calculate WIP / Post WIP to G/L /
WIP To G/L / Create Sales Invoice / Split Planning Line set, Jobs per
Customer/Item, Items per Job, Update Job Item Cost, Change Job Dates, the
Resource - Cost Breakdown / List / Price List / Statistics / Usage /
Register set, Adjust Resource Costs/Prices, Date Compress Resource Ledger,
Delete Empty Res. Registers, and the Create / Move Time Sheets set. All
source tooltips are descriptive (no stubs).
Integrate the W1 Projects tooltip move into the forked country layers, as
required by the Miapp sync gate (VerifyMiappSync):
- 18 page forks across APAC, BE, CH, DACH, FI, GB, NA, NL, NO, RU: removed
  the duplicate ToolTip from the covered-report actions (56 lines).
- 7 report forks (BE/FI/NO ResourcePriceList; NA JobRegister,
  ResourceRegister, ResourceStatistics, ResourceUsage): added the W1
  report-level ToolTip.

Ran Invoke-Miapp to identify the fork set; applied surgically. The
changed-fork set matches VerifyMiappSync's required set exactly (25 files).
Metadata-only (ToolTip).
@V-CWurtzen V-CWurtzen requested a review from a team July 16, 2026 17:41
@github-actions github-actions Bot added this to the Version 29.0 milestone Jul 16, 2026
{
ApplicationArea = Jobs;
Caption = 'Resource - List';
ToolTip = 'View a list of unit prices for the resources. By default, a unit price is based on the price in the Resource Prices window. If there is no valid alternative price, then the unit price from the resource card is used. The report can be used by the company''s salespeople or sent to customers.';

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

$\textbf{🟡\ Medium\ Severity\ —\ UI} \quad \color{gray}{\texttt{\small Iteration\ 1}}$

This PR moves ToolTip properties off page actions (RunObject = Report "X") onto the target report object itself, relying on AL's property-inheritance behavior for RunObject controls.

That pattern is correct and matches how the rest of BaseApp is structured. However, for report 1101 "Resource - List", the ToolTip added to the report object ('View a list of unit prices for the resources. By default, a unit price is based on the price in the Resource Prices window. If there is no valid alternative price, then the unit price from the resource card is used. The report can be used by the company's salespeople or sent to customers.') is factually wrong for that report: report 1101 only lists resource No., Name, Resource Group, posting group and dimensions — it has no price/unit-price columns at all. That text was copied from the mismatched action in JobResourceManagerRC.Page.al (whose Caption 'Resource - &Price List' pointed at the wrong RunObject target in the base code), while the correct, accurate tooltip that existed on page 77 "Resource List" ('View the list of resources.') was silently dropped. Because the ToolTip is now defined once on the report object, this wrong text will now surface everywhere report 1101 is invoked (page 77 "Resource List", 'Job Resource Manager RC', and 'Resource Manager Role Center'), misleading users into expecting pricing data.

Recommendation:

  • set report 1101's ToolTip to 'View the list of resources.' (or similarly accurate wording describing the actual columns), not the price-list description.

Agent judgement — not directly backed by a BCQuality knowledge article.

👍 useful · ❤️ especially valuable · 👎 wrong - reply with why

@github-actions

Copy link
Copy Markdown
Contributor

Copilot PR Review

Iteration 1 · Outcome: completed

Knowledge source: https://github.com/microsoft/BCQuality@186d8a131465475c79244d994acb872cd5c0d4bf

Findings by domain

Findings split into Knowledge-backed (cite a BCQuality article) and Agent (the agent's own judgement, no matching BCQuality rule).

Domain Findings Knowledge-backed Agent Inline Fallback
UI 1 0 1 1 0

Totals: 0 knowledge-backed · 1 agent findings.

Orchestrator pre-filter (2 file(s) excluded)

  • layer-disabled (knowledge) : 2 file(s)

Findings produced by the AL review agent v1.7.3. Reply 👎 on any inline comment to flag false positives.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant