mirror of
https://github.com/microsoft/BCQuality.git
synced 2026-10-05 14:46:55 +01:00
Addresses microsoft/BCQuality#175 review feedback: - Extend al-data-modeling-review's entry gate/relevance scope and token list to recognize document actions, Navigate subscribers, Report Selection registration, price-calculation/price-source extensibility, TransferFields posting-cascade mirroring, and barcode font-provider usage - previously excluded before any worklist cue could run. - Fix document-print-and-email-actions-call-report-selections-directly: permit the legitimate stateless DocumentSendingProfile.TrySendToPrinter/ TrySendToEMail path; rework the bad fixture to load a configured profile instead of demonstrating a trivial blank-record no-op. - Fix extend-report-selection-usage-for-new-document-types: scope to the applicable single counterparty (ReportSelectionHandlerCZZ partitions strictly; only genuinely two-sided usages like Compensation need both), and add the page-facing usage-enum map/validate events alongside the filter-event subscription for full Document Layouts support. - Fix a stale field-citation in custom-document-dispatch-must-not-bypass- report-selections (Custom Report Layout Code is field 7, not part of the 19-26 email-configuration range). - Add deterministic positive/clean evaluation coverage (review-fixtures.json additionalArticles + Test-ReviewFixtures.ps1 support) so all 9 new good/bad pairs are actually exercised, not just present. - Add 4 new patterns: activate-new-price-calculation-handler-via- onfindsupportedsetup, extend-price-source-type-must-sync-document- subset-enum, new-price-source-must-add-candidate-and-trigger- recalculation, report-barcodes-must-use-barcode-module-and-production- font-name. All claims verified against live microsoft/BCApps source and Microsoft Learn. Validators: frontmatter 0/0, review-fixtures 52 cases/17 domains PASSED, knowledge-index 309 articles PASSED. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
39 lines
1.6 KiB
AL
39 lines
1.6 KiB
AL
page 50101 "Sample Settlement Document Card"
|
|
{
|
|
PageType = Card;
|
|
SourceTable = Customer;
|
|
ApplicationArea = All;
|
|
|
|
actions
|
|
{
|
|
area(Processing)
|
|
{
|
|
action(EmailDocument)
|
|
{
|
|
ApplicationArea = All;
|
|
Caption = 'Email';
|
|
Image = Email;
|
|
|
|
trigger OnAction()
|
|
var
|
|
DocumentSendingProfile: Record "Document Sending Profile";
|
|
begin
|
|
// WRONG: this is a plain, on-demand "Email" button, not
|
|
// part of a combined Post-and-Send action - but this
|
|
// loads the customer's ACTUAL assigned profile (or the
|
|
// tenant default, if none is assigned - the same lookup
|
|
// Sales-Post and Send performs) and calls Send on it, so
|
|
// the outcome now silently depends on that profile. A
|
|
// profile set up for Post-and-Send printing only (say,
|
|
// Printer = Yes, "E-Mail" = No) turns this button into a
|
|
// silent no-op, with no indication an unrelated setup
|
|
// field is why.
|
|
DocumentSendingProfile.GetDefaultForCustomer(Rec."No.", DocumentSendingProfile);
|
|
DocumentSendingProfile.Send(
|
|
"Report Selection Usage"::"S.Invoice".AsInteger(), Rec, Rec."No.", Rec."No.",
|
|
Rec.Name, Rec.FieldNo("No."), Rec.FieldNo("No."));
|
|
end;
|
|
}
|
|
}
|
|
}
|
|
}
|