Codeunit 2678 "Sales Alloc. Acc. Mgt."
Base Application · Microsoft.Finance.AllocationAccount.Sales
Across versions
- BC23present
- BC244 procedures added, 1 procedures removed
- BC251 procedures added, 1 procedures changed
- BC26unchanged
- BC271 procedures added, 1 events added
- BC28-30unchanged
Neighbourhood 6 connected objects and pages
Base Application · Microsoft.Finance.AllocationAccount.Sales · BC23-30 · source at ea08af5e · facts from BC29
Events published
OnBeforeCreateSalesLine(var SalesLine: Record "Sales Line"; var AllocationLine: Record "Allocation Line"; var AllocationSalesLine: Record "Sales Line")(integration): Integration event raised before creating sales line from allocation line during distribution process. Enables custom modification of sales line fields before standard allocation line processing.OnBeforeVerifySalesLine(var SalesLine: Record "Sales Line")(integration): Integration event raised before verifying sales line during allocation account validation. Enables custom validation logic for sales lines before standard allocation verification.OnLoadManualAllocationLinesOnBeforeInsertAllocationLine(var AllocAccManualOverride: Record "Alloc. Acc. Manual Override"; var AllocationLine: Record "Allocation Line")+ BC27 (integration)
Event subscriptions
- HandlePostDocument subscribes to Codeunit “Sales-Post” OnBeforePostSalesDoc
- HandleShowDimensions subscribes to Table “Sales Line” OnBeforeShowDimensions
- HandleAfterCheckSalesApprovalPossible subscribes to Codeunit “Approvals Mgmt.” OnAfterCheckSalesApprovalPossible
- CheckBeforeModifyLine subscribes to Table “Sales Line” OnBeforeModifyEvent
- HandleValidateLineNo subscribes to Table “Sales Line” OnBeforeValidateNo
Procedures
GetOrGenerateAllocationLines(var AllocationLine: Record "Allocation Line"; var ParentSystemId: Guid)(internal)GetOrGenerateAllocationLines(var AllocationLine: Record "Allocation Line"; var ParentSystemId: Guid; var AmountToAllocate: Decimal; var PostingDate: Date)(internal)LoadManualAllocationLines(var SalesLine: Record "Sales Line"; var AllocationLine: Record "Allocation Line")(internal)CreateLinesFromAllocationAccountLine(var AllocationAccountSalesLine: Record "Sales Line"): Creates individual sales lines from allocation account distribution lines based on allocation percentages or amounts. Processes allocation account configuration and generates corresponding G/L account lines with calculated amounts.VerifyAllocationAccount(var AllocationAccount: Record "Allocation Account")(internal)VerifySelectedAllocationAccountNo(var SalesLine: Record "Sales Line")Δ BC25: Validates the selected allocation account number on sales line and verifies compatibility. Ensures the allocation account is properly configured and the sales line uses G/L account type.
Plus 23 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 2675 “Allocation Account Mgt.” (3 calls:
GetAmount → GetCurrencyRoundingPrecision,GetUnitPrice → GetCurrencyUnitAmountPrecision,VerifySalesLine → VerifyNoInheritFromParentUsed) - Codeunit 2674 “Alloc. Acc. Handle Doc. Post” (2 calls:
CreateSalesLine → SetVATBusPostingGroupCode,CreateSalesLine → SetVATProdPostingGroupCode) - Codeunit 408 “DimensionManagement” (2 calls:
TransferDimensionSetID → GetCombinedDimensionSetID,TransferDimensionSetID → UpdateGlobalDimFromDimSetID) - Codeunit 1720 “Deferral Utilities” (1 call:
CopyDeferralSchedule → CreateCopyOfDeferralSchedule) - Codeunit 2676 “Alloc. Acc. Telemetry” (1 call:
HandlePostDocument → LogSalesInvoicePostingUsage)
Called by
- Table 2672 “Allocation Line” (1 call:
GetOrGenerateAllocationLines → GetOrGenerateAllocationLines)
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: "Sales Alloc. Acc. Mgt."), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.