Codeunit 7021 "Purchase Line - Price"
Base Application · Microsoft.Purchases.Pricing
Across versions
- BC23-30present
Neighbourhood 2 connected objects and pages
Base Application · Microsoft.Purchases.Pricing · BC23-30 · source at ea08af5e · facts from BC29
Events published
OnAfterAddSources(PurchaseHeader: Record "Purchase Header"; PurchaseLine: Record "Purchase Line"; PriceType: Enum "Price Type"; var PriceSourceList: Codeunit "Price Source List")(integration)OnAfterFillBuffer(var PriceCalculationBuffer: Record "Price Calculation Buffer"; PurchaseHeader: Record "Purchase Header"; PurchaseLine: Record "Purchase Line")(integration)OnAfterIsDiscountAllowed(PurchaseLine: Record "Purchase Line"; PriceCalculated: Boolean; var Result: Boolean)(integration)OnAfterGetAssetType(PurchaseLine: Record "Purchase Line"; var AssetType: Enum "Price Asset Type")(integration)OnAfterGetDocumentDate(var DocumentDate: Date; PurchaseHeader: Record "Purchase Header"; PurchaseLine: Record "Purchase Line")(integration)OnAfterIsPriceUpdateNeeded(AmountType: Enum "Price Amount Type"; FoundPrice: Boolean; CalledByFieldNo: Integer; PurchaseLine: Record "Purchase Line"; var Result: Boolean; IsSKU: Boolean)(integration)OnAfterSetPrice(var PurchaseLine: Record "Purchase Line"; PriceListLine: Record "Price List Line"; AmountType: Enum "Price Amount Type"; CurrPriceType: Enum "Price Type"; var PurchaseHeader: Record "Purchase Header")(integration)OnAfterUpdate(var PurchaseLine: Record "Purchase Line"; CurrPriceType: Enum "Price Type"; AmountType: Enum "Price Amount Type"; var PurchaseHeader: Record "Purchase Header")(integration)OnAfterValidatePrice(var PurchaseLine: Record "Purchase Line"; CurrPriceType: Enum "Price Type"; AmountType: Enum "Price Amount Type"; var PurchaseHeader: Record "Purchase Header")(integration)OnBeforeVerify(PurchaseHeader: Record "Purchase Header"; PurchaseLine: Record "Purchase Line"; var IsHandled: Boolean)(integration)OnBeforeSetPrice(var PurchaseLine: Record "Purchase Line"; PriceListLine: Record "Price List Line"; AmountType: Enum "Price Amount Type"; var IsHandled: Boolean; CurrPriceType: Enum "Price Type"; var PurchaseHeader: Record "Purchase Header")(integration)OnBeforeCopyToBuffer(var PurchaseHeader: Record "Purchase Header"; var PurchaseLine: Record "Purchase Line")(integration)
Procedures
GetTableNo(): IntegerSetLine(PriceType: Enum "Price Type"; Line: Variant)SetLine(PriceType: Enum "Price Type"; Header: Variant; Line: Variant)SetSources(var NewPriceSourceList: codeunit "Price Source List")SetPurchaseQtyInvoice(ErrorInfo: ErrorInfo)SetPurchaseReceiveQty(ErrorInfo: ErrorInfo)GetLine(var Line: Variant)GetLine(var Header: Variant; var Line: Variant)GetPriceType(): Enum "Price Type"IsPriceUpdateNeeded(AmountType: Enum "Price Amount Type"; FoundPrice: Boolean; CalledByFieldNo: Integer): BooleanIsDiscountAllowed(): BooleanVerify()SetAssetSourceForSetup(var DtldPriceCalculationSetup: Record "Dtld. Price Calculation Setup"): BooleanGetAssetType(): Enum "Price Asset Type"CopyToBuffer(var PriceCalculationBufferMgt: Codeunit "Price Calculation Buffer Mgt."): BooleanSetPrice(AmountType: enum "Price Amount Type"; PriceListLine: Record "Price List Line")ValidatePrice(AmountType: enum "Price Amount Type")Update(AmountType: enum "Price Amount Type")
Plus 5 local procedures.
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 7011 “Price Source List” (5 calls:
AddSources → AddJobAsSources,AddSources → Init,AddVendorSources → Add, …) - Codeunit 7008 “Price Calculation Buffer Mgt.” (1 call:
CopyToBuffer → Set)
Implements
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: "Purchase Line - Price"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.