---
id: change/bcapps/9548
type: change
title: "#9548 636017 Move Projects report action tooltips to report objects"
summary: Report action tooltips for Projects reports are moved from page actions to the report objects themselves, reducing duplication and ensuring consistent tooltips across all report invocations.
tier: official
language: en
tags:
  - refactor
  - main
  - bc30
  - report job register
  - report resource register
  - report resource statistics
  - report resource usage
  - report change job dates
  - page job card
system: projects
review:
  state: reviewed
  by: opus
  at: "2026-10-08T02:10:53.023Z"
  flags: []
generated:
  at: "2026-10-08T01:26:53.141Z"
  pipeline: 0.2.0
  prompts:
    extract-change: 1
  input_hash: e55f45d74e692da293c08d70afc5516a9bd9b440
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/pull/9548
    title: "microsoft/BCApps#9548: 636017 Move Projects report action tooltips to report objects"
    date: "2026-07-30"
    commit: e55f45d74e692da293c08d70afc5516a9bd9b440
    t: null
    quote: Moves the report action ToolTips for the Projects (Jobs & Resources) reports off the page actions that run them and onto the report objects themselves
links:
  learn: []
  objects:
    - object/report/10217-ca
    - object/report/10198-ca
    - object/report/10199-ca
    - object/report/10200-ca
    - object/report/1087
    - object/page/88
    - object/page/89
    - object/page/1002
    - object/page/1004
    - object/report/1095
    - object/report/1093
    - object/page/1007
    - object/report/1088
    - object/report/1013
    - object/report/1009
    - object/report/1008
    - object/report/1006
    - object/report/1015
    - object/report/1011
    - object/report/1007
    - object/report/1010
    - object/report/1012
    - object/report/1014
    - object/report/1086
    - object/report/1085
    - object/report/1198
    - object/report/1199
    - object/page/274
    - object/report/1107
    - object/report/1101
    - object/report/1115
    - object/report/1103
    - object/report/1105
    - object/report/1106
    - object/report/1195
    - object/page/76
    - object/page/77
    - object/page/9015
    - object/page/9014
    - object/page/9068
    - object/report/950
    - object/report/953
    - object/page/951
    - object/page/9018
    - object/page/9035
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
  changes: []
number: 9548
repo: microsoft/BCApps
source_id: bcapps-prs
url: https://github.com/microsoft/BCApps/pull/9548
kind: pr
base_branch: main
major: "30"
merged_at: "2026-07-30T16:11:11Z"
author: V-CWurtzen
author_type: User
community_contribution: false
labels:
  - "Ownership: Manual"
  - "Team: Other"
change_class: code
change_kind: refactor
behavior_change: false
breaking: false
files:
  count: 66
  additions: 34
  deletions: 123
  al: 66
apps:
  - Base Application
objects_touched:
  - key: report/10217
    page: report/10217-ca
    type: report
    id: 10217
    name: Job Register
    app: Base Application
    status: modified
  - key: report/10198
    page: report/10198-ca
    type: report
    id: 10198
    name: Resource Register
    app: Base Application
    status: modified
  - key: report/10199
    page: report/10199-ca
    type: report
    id: 10199
    name: Resource Statistics
    app: Base Application
    status: modified
  - key: report/10200
    page: report/10200-ca
    type: report
    id: 10200
    name: Resource Usage
    app: Base Application
    status: modified
  - key: report/1087
    page: report/1087
    type: report
    id: 1087
    name: Change Job Dates
    app: Base Application
    status: modified
  - key: page/88
    page: page/88
    type: page
    id: 88
    name: Job Card
    app: Base Application
    status: modified
  - key: page/89
    page: page/89
    type: page
    id: 89
    name: Job List
    app: Base Application
    status: modified
  - key: page/1002
    page: page/1002
    type: page
    id: 1002
    name: Job Task Lines
    app: Base Application
    status: modified
  - key: page/1004
    page: page/1004
    type: page
    id: 1004
    name: Job Task List
    app: Base Application
    status: modified
  - key: report/1095
    page: report/1095
    type: report
    id: 1095
    name: Update Job Item Cost
    app: Base Application
    status: modified
  - key: report/1093
    page: report/1093
    type: report
    id: 1093
    name: Job Create Sales Invoice
    app: Base Application
    status: modified
  - key: page/1007
    page: page/1007
    type: page
    id: 1007
    name: Job Planning Lines
    app: Base Application
    status: modified
  - key: report/1088
    page: report/1088
    type: report
    id: 1088
    name: Job Split Planning Line
    app: Base Application
    status: modified
  - key: report/1013
    page: report/1013
    type: report
    id: 1013
    name: Items per Job
    app: Base Application
    status: modified
  - key: report/1009
    page: report/1009
    type: report
    id: 1009
    name: Job Actual To Budget
    app: Base Application
    status: modified
  - key: report/1008
    page: report/1008
    type: report
    id: 1008
    name: Job Analysis
    app: Base Application
    status: modified
  - key: report/1006
    page: report/1006
    type: report
    id: 1006
    name: Job - Planning Lines
    app: Base Application
    status: modified
  - key: report/1015
    page: report/1015
    type: report
    id: 1015
    name: Job Register
    app: Base Application
    status: modified
  - key: report/1011
    page: report/1011
    type: report
    id: 1011
    name: Job Suggested Billing
    app: Base Application
    status: modified
  - key: report/1007
    page: report/1007
    type: report
    id: 1007
    name: Job - Transaction Detail
    app: Base Application
    status: modified
  - key: report/1010
    page: report/1010
    type: report
    id: 1010
    name: Job WIP To G/L
    app: Base Application
    status: modified
  - key: report/1012
    page: report/1012
    type: report
    id: 1012
    name: Jobs per Customer
    app: Base Application
    status: modified
  - key: report/1014
    page: report/1014
    type: report
    id: 1014
    name: Jobs per Item
    app: Base Application
    status: modified
  - key: report/1086
    page: report/1086
    type: report
    id: 1086
    name: Job Calculate WIP
    app: Base Application
    status: modified
  - key: report/1085
    page: report/1085
    type: report
    id: 1085
    name: Job Post WIP to G/L
    app: Base Application
    status: modified
  - key: report/1198
    page: report/1198
    type: report
    id: 1198
    name: Date Compress Resource Ledger
    app: Base Application
    status: modified
  - key: report/1199
    page: report/1199
    type: report
    id: 1199
    name: Delete Empty Res. Registers
    app: Base Application
    status: modified
  - key: page/274
    page: page/274
    type: page
    id: 274
    name: Resource Registers
    app: Base Application
    status: modified
  - key: report/1107
    page: report/1107
    type: report
    id: 1107
    name: Resource - Cost Breakdown
    app: Base Application
    status: modified
  - key: report/1101
    page: report/1101
    type: report
    id: 1101
    name: Resource - List
    app: Base Application
    status: modified
  - key: report/1115
    page: report/1115
    type: report
    id: 1115
    name: Resource - Price List
    app: Base Application
    status: modified
  - key: report/1103
    page: report/1103
    type: report
    id: 1103
    name: Resource Register
    app: Base Application
    status: modified
  - key: report/1105
    page: report/1105
    type: report
    id: 1105
    name: Resource Statistics
    app: Base Application
    status: modified
  - key: report/1106
    page: report/1106
    type: report
    id: 1106
    name: Resource Usage
    app: Base Application
    status: modified
  - key: report/1195
    page: report/1195
    type: report
    id: 1195
    name: Adjust Resource Costs/Prices
    app: Base Application
    status: modified
  - key: page/76
    page: page/76
    type: page
    id: 76
    name: Resource Card
    app: Base Application
    status: modified
  - key: page/77
    page: page/77
    type: page
    id: 77
    name: Resource List
    app: Base Application
    status: modified
  - key: page/9015
    page: page/9015
    type: page
    id: 9015
    name: Job Project Manager RC
    app: Base Application
    status: modified
  - key: page/9014
    page: page/9014
    type: page
    id: 9014
    name: Job Resource Manager RC
    app: Base Application
    status: modified
  - key: page/9068
    page: page/9068
    type: page
    id: 9068
    name: Project Manager Activities
    app: Base Application
    status: modified
  - key: report/950
    page: report/950
    type: report
    id: 950
    name: Create Time Sheets
    app: Base Application
    status: modified
  - key: report/953
    page: report/953
    type: report
    id: 953
    name: Move Time Sheets to Archive
    app: Base Application
    status: modified
  - key: page/951
    page: page/951
    type: page
    id: 951
    name: Time Sheet List
    app: Base Application
    status: modified
  - key: page/9018
    page: page/9018
    type: page
    id: 9018
    name: Administrator Role Center
    app: Base Application
    status: modified
  - key: page/9035
    page: page/9035
    type: page
    id: 9035
    name: Data Administration
    app: Base Application
    status: modified
objects_unjoined:
  - path: src/Layers/APAC/BaseApp/Projects/Resources/Resource/ResourceCard.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/APAC/BaseApp/RoleCenters/AdministratorRoleCenter.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/BE/BaseApp/Projects/Resources/Reports/ResourcePriceList.Report.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/BE/BaseApp/RoleCenters/AdministratorRoleCenter.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/CH/BaseApp/RoleCenters/AdministratorRoleCenter.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/DACH/BaseApp/RoleCenters/AdministratorRoleCenter.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/FI/BaseApp/Projects/Resources/Reports/ResourcePriceList.Report.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/GB/BaseApp/Projects/Resources/Resource/ResourceCard.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/NA/BaseApp/Projects/Project/Job/JobCard.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/NA/BaseApp/Projects/Project/Job/JobList.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/NA/BaseApp/Projects/Project/Job/JobTaskLines.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/NA/BaseApp/Projects/Project/Job/JobTaskList.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/NA/BaseApp/Projects/Project/Planning/JobPlanningLines.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/NA/BaseApp/Projects/Resources/Resource/ResourceCard.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/NA/BaseApp/Projects/Resources/Resource/ResourceList.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/NA/BaseApp/Projects/RoleCenters/JobProjectManagerRC.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/NA/BaseApp/Projects/RoleCenters/JobResourceManagerRC.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/NL/BaseApp/RoleCenters/AdministratorRoleCenter.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/NO/BaseApp/Projects/Resources/Reports/ResourcePriceList.Report.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/NO/BaseApp/RoleCenters/AdministratorRoleCenter.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/RU/BaseApp/RoleCenters/AdministratorRoleCenter.Page.al
    status: modified
    reason: not-in-snapshot
obsoletions: []
backports: []
fixes_issues: []
work_items:
  - 636017
systems:
  - projects
  - administration
  - development
quote: Moves the report action ToolTips for the Projects (Jobs & Resources) reports off the page actions that run them and onto the report objects themselves
joined_against:
  major: "30"
  commit: f18567dc08e2bd162bf192e1da4d714b57eb099f
---

# #9548 636017 Move Projects report action tooltips to report objects

> Report action tooltips for Projects reports are moved from page actions to the report objects themselves, reducing duplication and ensuring consistent tooltips across all report invocations.

[Pull request](https://github.com/microsoft/BCApps/pull/9548) · merged into `main` (BC30) on 2026-07-30 by V-CWurtzen · 66 files (+34 -123), 66 AL · refactor · tier official · reviewed (checked by Opus)

## What changed

- 27 Projects reports now have tooltips defined at the report level
- Duplicate tooltips removed from page actions in pages like Job Card, Resource Card, and role centers
- Changes propagated to all country layer forks to maintain consistency
- Metadata-only change with no runtime behavior or breaking changes
- Follows the same cleanup pattern already applied to other system areas

## AL objects touched

- [Report 10217 "Job Register"](../../objects/report/10217-ca.md), Base Application (CA layer): modified
- [Report 10198 "Resource Register"](../../objects/report/10198-ca.md), Base Application (CA layer): modified
- [Report 10199 "Resource Statistics"](../../objects/report/10199-ca.md), Base Application (CA layer): modified
- [Report 10200 "Resource Usage"](../../objects/report/10200-ca.md), Base Application (CA layer): modified
- [Report 1087 "Change Job Dates"](../../objects/report/1087.md), Base Application: modified
- [Page 88 "Job Card"](../../objects/page/88.md), Base Application: modified
- [Page 89 "Job List"](../../objects/page/89.md), Base Application: modified
- [Page 1002 "Job Task Lines"](../../objects/page/1002.md), Base Application: modified
- [Page 1004 "Job Task List"](../../objects/page/1004.md), Base Application: modified
- [Report 1095 "Update Job Item Cost"](../../objects/report/1095.md), Base Application: modified
- [Report 1093 "Job Create Sales Invoice"](../../objects/report/1093.md), Base Application: modified
- [Page 1007 "Job Planning Lines"](../../objects/page/1007.md), Base Application: modified
- [Report 1088 "Job Split Planning Line"](../../objects/report/1088.md), Base Application: modified
- [Report 1013 "Items per Job"](../../objects/report/1013.md), Base Application: modified
- [Report 1009 "Job Actual To Budget"](../../objects/report/1009.md), Base Application: modified
- [Report 1008 "Job Analysis"](../../objects/report/1008.md), Base Application: modified
- [Report 1006 "Job - Planning Lines"](../../objects/report/1006.md), Base Application: modified
- [Report 1015 "Job Register"](../../objects/report/1015.md), Base Application: modified
- [Report 1011 "Job Suggested Billing"](../../objects/report/1011.md), Base Application: modified
- [Report 1007 "Job - Transaction Detail"](../../objects/report/1007.md), Base Application: modified
- [Report 1010 "Job WIP To G/L"](../../objects/report/1010.md), Base Application: modified
- [Report 1012 "Jobs per Customer"](../../objects/report/1012.md), Base Application: modified
- [Report 1014 "Jobs per Item"](../../objects/report/1014.md), Base Application: modified
- [Report 1086 "Job Calculate WIP"](../../objects/report/1086.md), Base Application: modified
- [Report 1085 "Job Post WIP to G/L"](../../objects/report/1085.md), Base Application: modified
- [Report 1198 "Date Compress Resource Ledger"](../../objects/report/1198.md), Base Application: modified
- [Report 1199 "Delete Empty Res. Registers"](../../objects/report/1199.md), Base Application: modified
- [Page 274 "Resource Registers"](../../objects/page/274.md), Base Application: modified
- [Report 1107 "Resource - Cost Breakdown"](../../objects/report/1107.md), Base Application: modified
- [Report 1101 "Resource - List"](../../objects/report/1101.md), Base Application: modified
- [Report 1115 "Resource - Price List"](../../objects/report/1115.md), Base Application: modified
- [Report 1103 "Resource Register"](../../objects/report/1103.md), Base Application: modified
- [Report 1105 "Resource Statistics"](../../objects/report/1105.md), Base Application: modified
- [Report 1106 "Resource Usage"](../../objects/report/1106.md), Base Application: modified
- [Report 1195 "Adjust Resource Costs/Prices"](../../objects/report/1195.md), Base Application: modified
- [Page 76 "Resource Card"](../../objects/page/76.md), Base Application: modified
- [Page 77 "Resource List"](../../objects/page/77.md), Base Application: modified
- [Page 9015 "Job Project Manager RC"](../../objects/page/9015.md), Base Application: modified
- [Page 9014 "Job Resource Manager RC"](../../objects/page/9014.md), Base Application: modified
- [Page 9068 "Project Manager Activities"](../../objects/page/9068.md), Base Application: modified
- [Report 950 "Create Time Sheets"](../../objects/report/950.md), Base Application: modified
- [Report 953 "Move Time Sheets to Archive"](../../objects/report/953.md), Base Application: modified
- [Page 951 "Time Sheet List"](../../objects/page/951.md), Base Application: modified
- [Page 9018 "Administrator Role Center"](../../objects/page/9018.md), Base Application: modified
- [Page 9035 "Data Administration"](../../objects/page/9035.md), Base Application: modified
- `src/Layers/APAC/BaseApp/Projects/Resources/Resource/ResourceCard.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/APAC/BaseApp/RoleCenters/AdministratorRoleCenter.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/BE/BaseApp/Projects/Resources/Reports/ResourcePriceList.Report.al`: modified, not in the BC30 snapshot
- `src/Layers/BE/BaseApp/RoleCenters/AdministratorRoleCenter.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/CH/BaseApp/RoleCenters/AdministratorRoleCenter.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/DACH/BaseApp/RoleCenters/AdministratorRoleCenter.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/FI/BaseApp/Projects/Resources/Reports/ResourcePriceList.Report.al`: modified, not in the BC30 snapshot
- `src/Layers/GB/BaseApp/Projects/Resources/Resource/ResourceCard.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/NA/BaseApp/Projects/Project/Job/JobCard.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/NA/BaseApp/Projects/Project/Job/JobList.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/NA/BaseApp/Projects/Project/Job/JobTaskLines.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/NA/BaseApp/Projects/Project/Job/JobTaskList.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/NA/BaseApp/Projects/Project/Planning/JobPlanningLines.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/NA/BaseApp/Projects/Resources/Resource/ResourceCard.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/NA/BaseApp/Projects/Resources/Resource/ResourceList.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/NA/BaseApp/Projects/RoleCenters/JobProjectManagerRC.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/NA/BaseApp/Projects/RoleCenters/JobResourceManagerRC.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/NL/BaseApp/RoleCenters/AdministratorRoleCenter.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/NO/BaseApp/Projects/Resources/Reports/ResourcePriceList.Report.al`: modified, not in the BC30 snapshot
- `src/Layers/NO/BaseApp/RoleCenters/AdministratorRoleCenter.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/RU/BaseApp/RoleCenters/AdministratorRoleCenter.Page.al`: modified, not in the BC30 snapshot

## Context

- Work items: AB#636017
- Labels: Ownership: Manual, Team: Other
- Systems: projects, administration, development
- From the description: "Moves the report action ToolTips for the Projects (Jobs & Resources) reports off the page actions that run them and onto the report objects themselves"

Source: metadata of a merged pull request in microsoft/BCApps (bcapps): title, labels, changed paths and counts, with a summary in our words. No source text and no description beyond one short quote (D10, D61).
