codeunitSales & Receivablesofficial - Microsoftderived - from the source, no model text

Codeunit 5807 "Item Charge Assgnt. (Sales)"

Base Application · Microsoft.Sales.Document

Across versions

  1. BC23-26present
  2. BC271 events added
  3. BC28-30unchanged

Neighbourhood 5 connected objects and pages

Codeunit 5402 "Unit of Measure Management" (calls, 3 links)Unit of Measure ManagementCodeunit 6620 "Copy Document Mgt." (calls, 3 links)Copy Document Mgt.Page 5824 "Sales Shipment Lines" (calls)Sales Shipment LinesPage 6667 "Return Receipt Lines" (calls)Return Receipt LinesTable 37 "Sales Line" (calls)Sales Line

Open in the neighbourhood explorer

One hop out, from the extracted relations and call graph. Up to 40 shown; the sections below list them all.

Base Application · Microsoft.Sales.Document · BC23-30 · source at ea08af5e · facts from BC29

Properties

Property Value
Permissions TableData “Sales Header” = r, TableData “Sales Line” = r, TableData “Sales Shipment Line” = r, TableData “Item Charge Assignment (Sales)” = rimd, TableData “Return Receipt Line” = r

Events published

  • OnAfterCreateDocChargeAssgnt(var LastItemChargeAssgntSales: Record "Item Charge Assignment (Sales)"; var ShipmentNo: Code[20]) (integration)
  • OnAfterGetItemValues(TempItemChargeAssgntSales: Record "Item Charge Assignment (Sales)" temporary; var DecimalArray: array[3] of Decimal) (integration)
  • OnAssignByWeightOnAfterCalcTotalGrossWeight(var ItemChargeAssignmentSales: Record "Item Charge Assignment (Sales)"; TotalGrossWeight: Decimal; Currency: Record Currency) (integration)
  • OnAssignByWeightOnBeforeTempItemChargeAssgntSalesDelete(var ItemChargeAssignmentSales: Record "Item Charge Assignment (Sales)"; QtyRemaining: Decimal; TotalQtyToAssign: Decimal; Currency: Record Currency) (integration)
  • OnAssignByAmountOnAfterAssignAppliesToDocLineAmount(ItemChargeAssignmentSale: Record "Item Charge Assignment (Sales)"; var TempItemChargeAssignmentSales: Record "Item Charge Assignment (Sales)" temporary; SalesHeader: Record "Sales Header"; TotalQtyToAssign: Decimal; TotalAmtToAssign: Decimal) (integration)
  • OnBeforeAssignItemCharges(var SalesLine: Record "Sales Line"; TotalQtyToAssign: Decimal; TotalAmtToAssign: Decimal; var IsHandled: Boolean; SelectionTxt: Text) (integration)
  • OnBeforeCreateDocChargeAssgn(var LastItemChargeAssgntSales: Record "Item Charge Assignment (Sales)"; var FromSalesLine: Record "Sales Line") (integration)
  • OnBeforeInsertItemChargeAssgntWithAssignValues(var ItemChargeAssgntSales: Record "Item Charge Assignment (Sales)"; FromItemChargeAssgntSales: Record "Item Charge Assignment (Sales)") (integration)
  • OnBeforeInsertItemChargeAssignmentWithValuesTo(var FromItemChargeAssgntSales: Record "Item Charge Assignment (Sales)"; var ItemChargeAssgntSales: record "Item Charge Assignment (Sales)"; var ApplToDocType: Enum "Sales Applies-to Document Type"; var FromApplToDocNo: Code[20]; var FromApplToDocLineNo: Integer; var FromItemNo: Code[20]; var FromDescription: Text[100]; var NextLineNo: Integer; var qtytoAssign: decimal; var AmounttoAssign: Decimal; var IsHandled: Boolean) (integration)
  • OnBeforeShowSuggestItemChargeAssignStrMenu(SalesLine: Record "Sales Line"; var SuggestItemChargeMenuTxt: Text; var SuggestItemChargeMessageTxt: Text; var Selection: Integer) (integration)
  • OnAssignItemCharges(SelectionTxt: Text; var ItemChargeAssignmentSales: Record "Item Charge Assignment (Sales)"; Currency: Record Currency; SalesHeader: Record "Sales Header"; TotalQtyToAssign: Decimal; TotalAmtToAssign: Decimal; var ItemChargesAssigned: Boolean) (integration)
  • OnAssignEquallyOnBeforeItemChargeAssignmentSalesModify(var ItemChargeAssignmentSales: Record "Item Charge Assignment (Sales)") (integration)
  • OnCreateDocChargeAssgnOnAfterFromSalesLineSetFilters(var LastItemChargeAssgntSales: Record "Item Charge Assignment (Sales)"; var FromSalesLine: Record "Sales Line") (integration)
  • OnAssignByAmountOnBeforeItemChargeAssignmentSalesModify(var ItemChargeAssignmentSales: Record "Item Charge Assignment (Sales)") (integration)
  • OnSuggestAssignmentOnBeforeSelectionItemChargeAssign(var ItemChargeAssgntSales: Record "Item Charge Assignment (Sales)"; SalesLine: Record "Sales Line"; TotalQtyToAssign: Decimal; TotalAmtToAssign: Decimal; var IsHandled: Boolean) (integration)
  • OnSuggestAssignmentOnBeforeAssignItemCharges(var SalesLine: Record "Sales Line"; ItemChargeAssignmentSales: Record "Item Charge Assignment (Sales)") (integration)
  • OnAssignByAmountOnBeforeGetSalesLine(var SalesLine: Record "Sales Line"; ItemChargeAssignmentSales: Record "Item Charge Assignment (Sales)"; var IsHandled: Boolean) (integration)
  • OnBeforeCreateShptChargeAssgnt(var FromSalesShptLine: Record "Sales Shipment Line"; var ItemChargeAssignmentSales: Record "Item Charge Assignment (Sales)"; var IsHandled: Boolean) (integration)
  • OnAssignByAmountOnBeforeModifyItemChargeAssignmentSalesLoop(var ItemChargeAssignmentSales: Record "Item Charge Assignment (Sales)"; var TempItemChargeAssignmentSales: Record "Item Charge Assignment (Sales)" temporary; var TotalAppliesToDocLineAmount: Decimal; SalesHeader: Record "Sales Header"; TotalQtyToAssign: Decimal; TotalAmtToAssign: Decimal) (integration)
  • OnCreateShptChargeAssgntOnBeforeTestJobNo(var FromSalesShipmentLine: Record "Sales Shipment Line"; var ItemChargeAssignmentSales: Record "Item Charge Assignment (Sales)"; var IsHandled: Boolean) + BC27 (integration)

Procedures

  • InsertItemChargeAssignment(ItemChargeAssgntSales: Record "Item Charge Assignment (Sales)"; ApplToDocType: Enum "Sales Applies-to Document Type"; ApplToDocNo: Code[20]; ApplToDocLineNo: Integer; ItemNo: Code[20]; Description: Text[100]; var NextLineNo: Integer): Inserts an item charge assignment record linking a charge to a document line.
  • InsertItemChargeAssignmentWithValues(FromItemChargeAssgntSales: Record "Item Charge Assignment (Sales)"; ApplToDocType: Enum "Sales Applies-to Document Type"; FromApplToDocNo: Code[20]; FromApplToDocLineNo: Integer; FromItemNo: Code[20]; FromDescription: Text[100]; QtyToAssign: Decimal; AmountToAssign: Decimal; var NextLineNo: Integer): Inserts an item charge assignment with specified quantity and amount values.
  • InsertItemChargeAssignmentWithValuesTo(FromItemChargeAssgntSales: Record "Item Charge Assignment (Sales)"; ApplToDocType: Enum "Sales Applies-to Document Type"; FromApplToDocNo: Code[20]; FromApplToDocLineNo: Integer; FromItemNo: Code[20]; FromDescription: Text[100]; QtyToAssign: Decimal; AmountToAssign: Decimal; var NextLineNo: Integer; var ItemChargeAssgntSales: Record "Item Charge Assignment (Sales)"): Inserts an item charge assignment with values and returns the created record.
  • Summarize(var TempToItemChargeAssignmentSales: Record "Item Charge Assignment (Sales)" temporary; var ToItemChargeAssignmentSales: Record "Item Charge Assignment (Sales)"): Summarizes temporary item charge assignments by consolidating entries with the same document and line.
  • CreateDocChargeAssgn(LastItemChargeAssgntSales: Record "Item Charge Assignment (Sales)"; ShipmentNo: Code[20]): Creates item charge assignments for all eligible item lines in a sales document.
  • CreateShptChargeAssgnt(var FromSalesShptLine: Record "Sales Shipment Line"; ItemChargeAssgntSales: Record "Item Charge Assignment (Sales)"): Creates item charge assignments from sales shipment lines.
  • CreateRcptChargeAssgnt(var FromReturnRcptLine: Record "Return Receipt Line"; ItemChargeAssgntSales: Record "Item Charge Assignment (Sales)"): Creates item charge assignments from return receipt lines.
  • SuggestAssignment(SalesLine: Record "Sales Line"; TotalQtyToAssign: Decimal; TotalAmtToAssign: Decimal): Suggests item charge assignment distribution across document lines using user selection.
  • SuggestAssignment(SalesLine: Record "Sales Line"; TotalQtyToAssign: Decimal; TotalAmtToAssign: Decimal; TotalQtyToHandle: Decimal; TotalAmtToHandle: Decimal): Suggests item charge assignment distribution with separate handle quantities.
  • AssignItemCharges(SalesLine: Record "Sales Line"; TotalQtyToAssign: Decimal; TotalAmtToAssign: Decimal; SelectedOptionValue: Integer): Assigns item charges using a numeric distribution option.
  • AssignItemCharges(SalesLine: Record "Sales Line"; TotalQtyToAssign: Decimal; TotalAmtToAssign: Decimal; SelectionTxt: Text): Assigns item charges using a text-based distribution method selection.
  • AssignItemCharges(SalesLine: Record "Sales Line"; TotalQtyToAssign: Decimal; TotalAmtToAssign: Decimal; TotalQtyToHandle: Decimal; TotalAmtToHandle: Decimal; SelectionTxt: Text): Assigns item charges with separate handle quantities using a text-based distribution method.
  • AssignEquallyMenuText(): Text: Returns the menu text label for equal distribution assignment.
  • AssignByAmountMenuText(): Text: Returns the menu text label for distribution by amount.
  • AssignByWeightMenuText(): Text: Returns the menu text label for distribution by weight.
  • AssignByVolumeMenuText(): Text: Returns the menu text label for distribution by volume.
  • AssignSalesItemCharge(var ItemChargeAssignmentSales: Record "Item Charge Assignment (Sales)"; ItemChargeAssignmentSales2: Record "Item Charge Assignment (Sales)"; Currency: Record Currency; var QtyRemaining: Decimal; var AmountRemaining: Decimal): Assigns a calculated item charge quantity and amount to a specific assignment record.
  • GetItemValues(TempItemChargeAssgntSales: Record "Item Charge Assignment (Sales)" temporary; var DecimalArray: array[3] of Decimal): Retrieves item quantity, weight, and volume values for charge distribution calculations.
  • SuggestAssignmentFromLine(var FromItemChargeAssignmentSales: Record "Item Charge Assignment (Sales)"): Recalculates item charge assignment amounts based on line-level changes.

Plus 6 local procedures.

Triggers

OnRun

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.

Called by

Recent changes

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: "Item Charge Assgnt. (Sales)"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.

Evidence 1 sources