Codeunit 70 "Purch.-Calc.Discount"
Base Application · Microsoft.Purchases.Document
Across versions
- BC23-30present
Neighbourhood 17 connected objects and pages
Base Application · Microsoft.Purchases.Document · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| TableNo | Purchase Line |
| Permissions | tabledata “Purchase Header” = rm, tabledata “Purchase Line” = rm |
Events published
OnBeforeCalcPurchaseDiscount(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean; var PurchaseLine: Record "Purchase Line"; UpdateHeader: Boolean; var GlobalPurchaseLine: Record "Purchase Line")(integration)OnAfterCalcPurchaseDiscount(var PurchaseHeader: Record "Purchase Header")(integration)- subscribers: Codeunit 5497 “Graph Mgt - Purch Order Buffer” OnAfterCalculatePurchaseDiscountOnPurchaseHeader, Codeunit 5511 “Graph Mgt - Purch. Cr. Memo” OnAfterCalculatePurchaseDiscountOnPurchaseHeader, Codeunit 5529 “Purch. Inv. Aggregator” OnAfterCalculatePurchaseDiscountOnPurchaseHeader
OnBeforeGetVendInvDisc(var PurchaseHeader: Record "Purchase Header"; CurrencyDate: Date; ChargeBase: Decimal; InvDiscBase: Decimal; BaseAmount: Decimal; var IsHandled: Boolean; var VendInvDisc: Record "Vendor Invoice Disc.")(integration)OnCalculateInvoiceDiscountOnAfterPurchLine2ValidateQuantity(var PurchHeader: Record "Purchase Header"; var PurchLine2: Record "Purchase Line"; var VendInvDisc: Record "Vendor Invoice Disc.")(integration)OnCalculateInvoiceDiscountOnBeforeCurrencyInitialize(var VendorPostingGroup: record "Vendor Posting Group")(integration)OnCalculateInvoiceDiscountOnBeforeCheckVendInvDiscServiceCharge(var VendorInvoiceDisc: Record "Vendor Invoice Disc."; var PurchaseHeader: Record "Purchase Header"; CurrencyDate: Date; ChargeBase: Decimal)(integration)OnCalculateInvoiceDiscountOnbeforePurchLineInsert(var PurchaseLine: Record "Purchase Line"; PurchHeader: Record "Purchase Header")(integration)OnCalculateIncDiscForHeaderOnBeforeCalculateInvoiceDiscount(var PurchHeader: Record "Purchase Header"; var PurchLine: Record "Purchase Line"; UpdateHeader: Boolean; var IsHandled: Boolean)(integration)OnCalculateInvoiceDiscountOnBeforeFindForCalcVATAmountLines(var PurchHeader: Record "Purchase Header"; var PurchLine2: Record "Purchase Line"; UpdateHeader: Boolean)(integration)OnCalculateInvoiceDiscountOnBeforeDeletePurchaseLine(UpdateHeader: Boolean; var PurchaseLine: Record "Purchase Line"; var IsHandled: Boolean)(integration)OnOnRunOnBeforeUpdateHeader(var PurchaseHeader: Record "Purchase Header"; var PurchaseLine: Record "Purchase Line")(integration)
Procedures
CalculateInvoiceDiscount(var PurchHeader: Record "Purchase Header"; var PurchLine2: Record "Purchase Line")CalculateIncDiscForHeader(var PurchHeader: Record "Purchase Header")CalculateInvoiceDiscountOnLine(var PurchLineToUpdate: Record "Purchase Line")
Plus 3 local procedures.
Triggers
OnRun
Relations
- runs on Table 39 “Purchase Line”
Calls
From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an Object::"Name" argument. Interface dispatch and calls through events are not counted, so the list is not complete.
- Codeunit 65 “Discount Notification Mgt.” (1 call:
CalculateInvoiceDiscount → NotifyAboutMissingSetup) - Codeunit 66 “Purch - Calc Disc. By Type” (1 call:
CalculateInvoiceDiscount → ResetRecalculateInvoiceDisc)
Called by
- Codeunit 1372 “Purchase Batch Post Mgt.” (1 call:
CalculateInvoiceDiscount → (object)) - Codeunit 228 “Test Report-Print” (1 call:
CalcPurchDiscount → (object)) - Codeunit 229 “Document-Print” (1 call:
CalcPurchDisc → (object)) - Codeunit 415 “Release Purchase Document” (1 call:
Code → (object)) - Codeunit 57 “Document Totals” (1 call:
CalculatePurchaseSubPageTotals → CalculateInvoiceDiscountOnLine) - Codeunit 66 “Purch - Calc Disc. By Type” (1 call:
ApplyInvDiscBasedOnPct → (object)) - Codeunit 71 “Purch.-Disc. (Yes/No)” (1 call:
OnRun → (object)) - Codeunit 74 “Purch.-Get Receipt” (1 call:
CalcInvoiceDiscount → CalculateInvoiceDiscountOnLine) - Codeunit 90 “Purch.-Post” (1 call:
CalcInvDiscount → (object)) - Codeunit 99000813 “Carry Out Action” (1 call:
PrintPurchaseOrder → (object)) - Page 98 “Purch. Cr. Memo Subform” (1 call:
CalcInvDisc → (object)) - Table 38 “Purchase Header” (1 call:
CalcInvDiscForHeader → CalculateIncDiscForHeader)
Countries that replace it
Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).
Ask your agent
Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: bcatlas_resolve_node(object_type: "codeunit", object_name: "Purch.-Calc.Discount"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.