Codeunit 414 "Release Sales Document"
Base Application · Microsoft.Sales.Document
Across versions
- BC23present
- BC241 events added, 1 events removed
- BC25unchanged
- BC261 events added
- BC27-30unchanged
Neighbourhood 28 connected objects and pages
Base Application · Microsoft.Sales.Document · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| TableNo | Sales Header |
| Permissions | TableData “Sales Header” = rm, TableData “Sales Line” = r |
Events published
OnBeforeCalcInvDiscount(var SalesHeader: Record "Sales Header"; PreviewMode: Boolean; var LinesWereModified: Boolean; var SalesLine: Record "Sales Line"; var IsHandled: Boolean)(integration): Raised before calculating the invoice discount for a sales document.OnBeforeManualReleaseSalesDoc(var SalesHeader: Record "Sales Header"; PreviewMode: Boolean)(integration): Raised before manually releasing a sales document.OnBeforeTestSellToCustomerNo(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before testing the Sell-to Customer No. field on the sales header.OnBeforeOnRun(var SalesHeader: Record "Sales Header")(integration): Raised before the OnRun trigger executes for the Release Sales Document codeunit.OnBeforeReleaseSalesDoc(var SalesHeader: Record "Sales Header"; PreviewMode: Boolean; var IsHandled: Boolean; var SkipCheckReleaseRestrictions: Boolean; SkipWhseRequestOperations: Boolean)(integration): Raised before releasing a sales document.- subscribers: Codeunit 6103 “E-Document Subscribers” OnBeforeReleaseSalesDoc
OnAfterReleaseSalesDoc(var SalesHeader: Record "Sales Header"; PreviewMode: Boolean; var LinesWereModified: Boolean; SkipWhseRequestOperations: Boolean)(integration): Raised after releasing a sales document.- subscribers: Codeunit 1520 “Workflow Event Handling” RunWorkflowOnAfterReleaseSalesDoc, Codeunit 38504 “Sales External Events” OnAfterReleaseSalesDoc, Codeunit 5346 “CRM Sales Document Posting Mgt” CreateACRMPostOnAfterReleaseSalesDoc, Codeunit 6103 “E-Document Subscribers” OnAfterReleaseSalesDoc
OnAfterManualReleaseSalesDoc(var SalesHeader: Record "Sales Header"; PreviewMode: Boolean)(integration): Raised after manually releasing a sales document.OnBeforeCheckSalesHeaderPendingApproval(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before checking if a sales header has pending approval.OnBeforeCheckSalesLines(var SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; var IsHandled: Boolean; var LinesWereModified: Boolean)(integration): Raised before checking sales lines during document release.OnBeforeManualReOpenSalesDoc(var SalesHeader: Record "Sales Header"; PreviewMode: Boolean)(integration): Raised before manually reopening a sales document.OnBeforeReopenSalesDoc(var SalesHeader: Record "Sales Header"; PreviewMode: Boolean; var IsHandled: Boolean; SkipWhseRequestOperations: Boolean)(integration): Raised before reopening a sales document.OnBeforeModifySalesDoc(var SalesHeader: Record "Sales Header"; PreviewMode: Boolean; var IsHandled: Boolean)(integration): Raised before modifying the sales document during the release process.OnBeforePerformManualRelease(var SalesHeader: Record "Sales Header"; PreviewMode: Boolean; var IsHandled: Boolean)(integration): Raised before performing the manual release of a sales document.OnBeforePerformManualReleaseProcedure(var SalesHeader: Record "Sales Header"; PreviewMode: Boolean; var IsHandled: Boolean)(integration): Raised before the PerformManualRelease procedure executes.OnBeforeSalesLineFind(var SalesLine: Record "Sales Line"; var SalesHeader: Record "Sales Header"; var LinesWereModified: Boolean; var IsHandled: Boolean)(integration): Raised before finding sales lines during document release validation.- subscribers: Codeunit 8063 “Sales Documents” SkipQuantityCheckForSubscriptionBillingOnBeforeSalesLineFind
OnAfterReopenSalesDoc(var SalesHeader: Record "Sales Header"; PreviewMode: Boolean; SkipWhseRequestOperations: Boolean)(integration): Raised after reopening a sales document.OnAfterManualReOpenSalesDoc(var SalesHeader: Record "Sales Header"; PreviewMode: Boolean)(integration): Raised after manually reopening a sales document.OnAfterPerformManualCheckAndRelease(var SalesHeader: Record "Sales Header"; PreviewMode: Boolean)(integration): Raised after performing the manual check and release of a sales document.OnAfterReleaseATOs(var SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; PreviewMode: Boolean)(integration): Raised after releasing assemble-to-order documents for the sales document.OnAfterUpdateSalesDocLines(var SalesHeader: Record "Sales Header"; var LinesWereModified: Boolean; PreviewMode: Boolean)(integration): Raised after updating sales document lines during the release process.OnCodeOnAfterCheck(SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; var LinesWereModified: Boolean)(integration): Raised after checking the sales document during the release process.- subscribers: Codeunit 5012 “Service Declaration Mgt.” OnReleaseSalesDoc
OnCodeOnAfterSalesLineCheck(var SalesLine: Record "Sales Line"; var SalesHeader: Record "Sales Header"; var Item: Record "Item")+ BC24 − BC24 (integration): Raised after checking a sales line during mandatory field validation.OnCodeOnBeforeSalesLineCheck(var SalesLine: Record "Sales Line"; var IsHandled: Boolean)(integration): Raised before checking a sales line during mandatory field validation.OnCodeOnAfterCalcShouldSetStatusPrepayment(var SalesHeader: Record "Sales Header"; PreviewMode: Boolean; var ShouldSetStatusPrepayment: Boolean)(integration): Raised after calculating whether to set the status to Pending Prepayment.OnCodeOnCheckTracking(SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line")(integration): Raised when checking item tracking during the release process.OnBeforeCheckCustomerCreated(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before checking if a customer was created from a quote.OnBeforeCheckReopenStatus(SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before checking the status when reopening a sales document.OnBeforePerformManualCheckAndRelease(var SalesHeader: Record "Sales Header"; PreviewMode: Boolean; var IsHandled: Boolean)(integration): Raised before performing the manual check and release of a sales document.OnReopenOnBeforeSalesHeaderModify(var SalesHeader: Record "Sales Header")(integration): Raised before modifying the sales header during the reopen process.OnPerformManualReleaseOnBeforeTestSalesPrepayment(var SalesHeader: Record "Sales Header"; PreviewMode: Boolean; var IsHandled: Boolean)(integration): Raised before testing for sales prepayment during manual release.OnPerformManualCheckAndReleaseOnBeforeSalesHeaderModify(var SalesHeader: Record "Sales Header"; PreviewMode: Boolean)(integration): Raised before modifying the sales header during manual check and release.OnCodeOnAfterCheckCustomerCreated(var SalesHeader: Record "Sales Header"; PreviewMode: Boolean; var IsHandled: Boolean; var LinesWereModified: Boolean)(integration): Raised after checking if a customer was created from a quote.OnCodeOnAfterModifySalesDoc(var SalesHeader: Record "Sales Header"; var LinesWereModified: Boolean)(integration): Raised after modifying the sales document during the release process.OnBeforeCheckMandatoryFields(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before checking mandatory fields on sales lines.OnCodeOnBeforeSetStatusReleased(var SalesHeader: Record "Sales Header")(integration): Raised before setting the sales document status to Released.OnBeforeReleaseATOs(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before releasing assemble-to-order documents for the sales document.OnRunOnAfterCopy(var SalesHeader: Record "Sales Header"; var SalesHeaderCopy: Record "Sales Header")(integration): Raised after copying the sales header in the OnRun trigger.OnReleaseSalesHeaderOnAfterCopySalesHeader(var SalesHeader: Record "Sales Header"; var SalesHeaderCopy: Record "Sales Header")+ BC26 (integration): Raised after copying the sales header in the ReleaseSalesHeader procedure.
Procedures
Reopen(var SalesHeader: Record "Sales Header"): Reopens a released or pending prepayment sales document to allow modifications.PerformManualRelease(var SalesHeader: Record "Sales Header"): Performs a manual release of a sales document with prepayment and approval validation.PerformManualCheckAndRelease(var SalesHeader: Record "Sales Header"): Validates prepayment status and pending approval before releasing the sales document.PerformManualReopen(var SalesHeader: Record "Sales Header"): Performs a manual reopen of a sales document with approval status validation.ReleaseSalesHeader(var SalesHdr: Record "Sales Header"; Preview: Boolean): Boolean: Releases a sales header with optional preview mode for posting preview scenarios.SetSkipCheckReleaseRestrictions(): Skips checking release restrictions during the release process.SetSkipWhseRequestOperations(NewSkipWhseRequestOperations: Boolean): Specifies whether to skip warehouse request operations during release and reopen.CalcAndUpdateVATOnLines(var SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"): Boolean: Calculates and updates VAT amounts on all sales lines for the document.
Plus 9 local procedures.
Triggers
OnRun
Relations
- runs on Table 36 “Sales Header”
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 441 “Prepayment Mgt.” (3 calls:
CheckPrepaymentsForManualRelease → TestSalesPrepayment,Code → TestSalesPrepayment,PerformManualCheckAndRelease → TestSalesPayment) - Codeunit 5771 “Whse.-Sales Release” (2 calls:
Code → Release,Reopen → Reopen) - Codeunit 903 “Release Assembly Document” (2 calls:
ReleaseATOs → (object),ReopenATOs → Reopen) - Codeunit 1535 “Approvals Mgmt.” (1 call:
CheckSalesHeaderPendingApproval → IsSalesHeaderPendingApproval) - Codeunit 60 “Sales-Calc. Discount” (1 call:
Code → (object))
Called by
- Codeunit 5746 “Sales Whse. Post Shipment” (4 calls:
OnInitSourceDocumentHeader → (object),OnInitSourceDocumentHeader → Reopen,OnInitSourceDocumentHeader → SetSkipCheckReleaseRestrictions, …) - Codeunit 5760 “Whse.-Post Receipt” (4 calls:
InitSourceDocumentHeader → ReleaseSalesHeader,InitSourceDocumentHeader → Reopen,InitSourceDocumentHeader → SetSkipCheckReleaseRestrictions, …) - Codeunit 7324 “Whse.-Activity-Post” (4 calls:
ReleaseSalesDocument → (object),ReleaseSalesDocument → Reopen,ReleaseSalesDocument → SetSkipCheckReleaseRestrictions, …) - Codeunit 90 “Purch.-Post” (4 calls:
CheckAndUpdateAssocOrderPostingDate → (object),CheckAndUpdateAssocOrderPostingDate → Reopen,CheckAndUpdateAssocOrderPostingDate → SetSkipCheckReleaseRestrictions, …) - Codeunit 6620 “Copy Document Mgt.” (3 calls:
CopySalesDoc → (object),CopySalesDoc → Reopen,CopySalesDoc → SetSkipCheckReleaseRestrictions) - Codeunit 1371 “Sales Batch Post Mgt.” (2 calls:
PerformManualReleaseOrReopenSalesHeader → PerformManualReopen,ReleaseSalesHeader → (object)) - Codeunit 1521 “Workflow Response Handling” (2 calls:
OpenDocument → Reopen,ReleaseDocument → PerformManualCheckAndRelease) - Codeunit 5341 “CRM Int. Table. Subscriber” (2 calls:
ChangeValidateSalesOrderStatus → PerformManualRelease,ChangeValidateSalesOrderStatus → PerformManualReopen) - Codeunit 4140 “Sales Manual Release” (1 call:
OnRun → PerformManualRelease) - Codeunit 4141 “Sales Manual Reopen” (1 call:
OnRun → PerformManualReopen) - Codeunit 427 “ICInboxOutboxMgt” (1 call:
SendSalesDoc → (object)) - Codeunit 441 “Prepayment Mgt.” (1 call:
UpdatePendingPrepaymentSales → (object)) - Codeunit 5063 “ArchiveManagement” (1 call:
RestoreSalesDocument → Reopen) - Codeunit 80 “Sales-Post” (1 call:
ReleaseSalesDocument → ReleaseSalesHeader) - Codeunit 88 “Sales Post via Job Queue” (1 call:
EnqueueSalesDocWithUI → (object)) - Page 402 “Sales Order Statistics” (1 call:
OnQueryClosePage → CalcAndUpdateVATOnLines) - Table 37 “Sales Line” (1 call:
UpdateVATRoundingFromVATAmountLines → CalcAndUpdateVATOnLines)
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: "Release Sales Document"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.