Skip to content

table 12116 "Withholding Tax": scope Reported/Paid modify guard to st…#9422

Open
Explorer986 wants to merge 1 commit into
mainfrom
private/kumarjatin/640860
Open

table 12116 "Withholding Tax": scope Reported/Paid modify guard to st…#9422
Explorer986 wants to merge 1 commit into
mainfrom
private/kumarjatin/640860

Conversation

@Explorer986

@Explorer986 Explorer986 commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

What & why

The original request asked for an IsHandled event in OnModify to bypass the Reported/Paid immutability check - which triage rejected because it lets any subscriber silently disable a compliance guard that official withholding-tax reporting/payment relies on. Instead, this narrows the guard: a modify on a Reported/Paid entry is still blocked when any standard field changed, but modifications limited to extension fields (added by other apps) are allowed. Partners can maintain their own data without altering officially reported values, and no bypass hook is exposed.

Linked work

Fixes AB#640860

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

  • Diff review: OnModify now calls StandardFieldModified(xRec), which compares Rec vs xRec over base fields (field no. < 50000, FieldClass::Normal) via RecordRef. Table has only simple field types (no BLOB/Media), so the value comparison is safe. AL language server reports no errors.
  • modifying a standard field on a reported entry still errors, modifying only an extension field succeeds.

Risk & compatibility

Medium-low. Standard reported values stay fully immutable (no regression there); the only relaxation is allowing extension-field-only edits, which were previously over-blocked. Small per-modify RecordRef loop on a low-volume, user-driven table — negligible perf. No schema/data impact. Worth a reviewer/product nod since it touches compliance behavior.

…andard fields instead of adding an IsHandled bypass (AB#640860, ALAppExtensions #30231)
@Explorer986 Explorer986 requested a review from a team July 14, 2026 11:06
@github-actions github-actions Bot added this to the Version 29.0 milestone Jul 14, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Copilot PR Review

Iteration 1 · Outcome: completed

All sub-skills completed, ran with no applicable knowledge, or were not-applicable to this diff; no findings at or above the reporting floor were identified.

Knowledge source: https://github.com/microsoft/BCQuality@822cae1b2771ac25f665f73369f69093bd4fd630

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

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

Findings produced by the Copilot CLI agent against BCQuality at 822cae1b2771ac25f665f73369f69093bd4fd630. Reply 👎 on any inline comment to flag false positives.

@Explorer986 Explorer986 added the Finance GitHub request for Finance area label Jul 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Finance GitHub request for Finance area

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants