Report 292 "Copy Sales Document"
Base Application · Microsoft.Sales.Document
Across versions
- BC23present
- BC243 events added
- BC25-27unchanged
- BC283 events added, 1 procedures added
- BC291 procedures changed
- BC30unchanged
Neighbourhood 1 connected objects and pages
Base Application · Microsoft.Sales.Document · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Caption | Copy Sales Document |
Events published
OnAfterOpenPage()(integration)OnBeforeGetSourceDocumentBasedOnFromDocType(var FromDocNo: Code[20]; FromDocType: Enum "Sales Document Type From"; var FromSalesHeader: Record "Sales Header"; var FromSalesShptHeader: Record "Sales Shipment Header"; var FromSalesInvoiceHeader: Record "Sales Invoice Header"; var FromReturnReceiptHeader: Record "Return Receipt Header"; var FromSalesCrMemoHeader: Record "Sales Cr.Memo Header"; var FromSalesHeaderArchive: Record "Sales Header Archive"; var FromDocNoOccurrence: Integer; var FromDocVersionNo: Integer; var IsHandled: Boolean)+ BC28 (integration)OnAfterValidateIncludeHeader(var IncludeHeader: Boolean; var RecalculateLines: Boolean)(integration)OnAfterValidateIncludeHeaderProcedure(var IncludeHeader: Boolean; var RecalculateLines: Boolean; SalesHeader: Record "Sales Header"; FromDocType: Enum "Sales Document Type From")(integration)OnBeforeFindFromSalesHeaderArchive(var FromSalesHeaderArchive: Record "Sales Header Archive"; DocType: Enum "Sales Document Type From"; DocNo: Code[20]; var DocNoOccurrence: Integer; var DocVersionNo: Integer; var IsHandled: Boolean)(integration)OnBeforeLookupDocNo(var SalesHeader: Record "Sales Header"; FromDocType: Enum "Sales Document Type From"; var FromDocNo: Code[20])(integration)OnBeforeLookupSalesDoc(var FromSalesHeader: Record "Sales Header"; var SalesHeader: Record "Sales Header"; FromDocType: Enum "Sales Document Type From")(integration)OnBeforeLookupPostedCrMemo(var FromSalesCrMemoHeader: Record "Sales Cr.Memo Header"; var SalesHeader: Record "Sales Header")(integration)OnBeforeLookupPostedInvoice(var FromSalesInvHeader: Record "Sales Invoice Header"; var SalesHeader: Record "Sales Header")(integration)OnBeforeLookupPostedShipment(var FromSalesShptHeader: Record "Sales Shipment Header"; var SalesHeader: Record "Sales Header")(integration)OnBeforeLookupPostedReturn(var FromReturnRcptHeader: Record "Return Receipt Header"; var SalesHeader: Record "Sales Header")(integration)OnBeforePreReport()(integration)OnBeforeValidateIncludeHeader(var DoIncludeHeader: Boolean; FromSalesHeader: Record "Sales Header")(integration)OnLookupSalesArchiveOnBeforeSetFilters(var FromSalesHeaderArchive: Record "Sales Header Archive"; var SalesHeader: Record "Sales Header"; FromDocType: Enum "Sales Document Type From")(integration)OnPreReportOnBeforeCopySalesDoc(var CopyDocumentMgt: Codeunit "Copy Document Mgt."; DocType: Integer; DocNo: Code[20]; SalesHeader: Record "Sales Header"; CurrReportUseRequestPage: Boolean; IncludeHeader: Boolean; RecalculateLines: Boolean; ExactCostReversingMandatory: Boolean)(integration)OnPreReportOnBeforeCopyDocMgtSetProperties(FromDocType: Enum "Sales Document Type From"; FromDocNo: Code[20]; SalesHeader: Record "Sales Header"; var ExactCostReversingMandatory: Boolean)(integration)OnBeforeValidateDocNo(FromDocType: Enum "Sales Document Type From"; FromDocNo: Code[20]; var FromSalesHeader: Record "Sales Header"; SalesHeader: Record "Sales Header"; var IsHandled: Boolean)+ BC28 (integration)OnValidateDocNoOnAfterTransferFieldsFromSalesInvHeader(FromSalesHeader: Record "Sales Header"; FromSalesInvoiceHeader: Record "Sales Invoice Header")(integration)OnValidateDocNoOnAfterTransferFieldsFromSalesCrMemoHeader(FromSalesHeader: Record "Sales Header"; FromSalesCrMemoHeader: Record "Sales Cr.Memo Header")(integration)OnValidateDocNoOnAfterTransferFieldsFromReturnReceiptHeader(FromSalesHeader: Record "Sales Header"; FromReturnReceiptHeader: Record "Return Receipt Header")(integration)OnLookupSalesDocOnBeforeRunLookup(var FromSalesHeader: Record "Sales Header"; var SalesHeader: Record "Sales Header"; SalesDocumentTypeFrom: Enum "Sales Document Type From")+ BC24 (integration)OnLookupPostedInvoiceOnBeforeRunLookup(var FromSalesInvoiceHeader: Record "Sales Invoice Header"; var SalesHeader: Record "Sales Header")+ BC24 (integration)OnLookupPostedCrMemoOnBeforeRunLookup(var FromSalesCrMemoHeader: Record "Sales Cr.Memo Header"; var SalesHeader: Record "Sales Header")+ BC24 (integration)OnValidateDocNoOnAfterCaseFromDocType(var FromSalesHeader: Record "Sales Header"; FromDocType: Enum "Sales Document Type From"; FromDocNo: Code[20]; FromDocNoOccurrence: Integer; FromDocVersionNo: Integer)+ BC28 (integration)
Procedures
SetSalesHeader(var NewSalesHeader: Record "Sales Header"): Sets the destination sales header for the copy operation.LookupDocNo(): Opens a lookup page to select the source document number based on the document type.LookupSalesDoc()Δ BC29SetParameters(NewFromDocType: Enum "Sales Document Type From"; NewFromDocNo: Code[20]; NewIncludeHeader: Boolean; NewRecalcLines: Boolean): Sets the parameters for the copy operation.SetParameters(NewFromDocType: Enum "Sales Document Type From"; NewFromDocNo: Code[20]; NewFromDocNoOccurrence: Integer; NewFromDocVersionNo: Integer; NewIncludeHeader: Boolean; NewRecalcLines: Boolean): Sets the parameters for the copy operation including archive version information.
Plus 9 local procedures.
Triggers
OnPreReport
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 6620 “Copy Document Mgt.” (7 calls:
FindFromSalesHeaderArchive → GetSalesDocumentType,LookupSalesArchive → GetSalesDocumentType,LookupSalesDoc → GetSalesDocumentType, …)
Recent changes
- 2026-08-10 #9960 [Extensibility Request] issue 30396: expose sales document lookup (main, BC30, feature)
- 2026-07-14 #9224 [main] GitHub event batch 1746 (main, BC30, fix)
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: "report", object_name: "Copy Sales Document"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.