OnBeforePostSalesReturnOrder is for non-warehouse locations only. Warehouse locations will create warehouse receipts in standard BC and is handled via the OnPostReceiveOrder_OnBeforePostWarehouseReceipt event.
Use this event to
Handle collected values from Header Steps for a Sales Return Order or set arguments in standard posting routine.
Description
The event is mostly used to validate collected "header" level steps (added from OnGetReceiveOrderLines_OnAddStepsToAnyHeader) and to write collected header level steps values to fields in the database that subsequently can be accessed from standard posting function events.
Steps added at "line" level via OnGetReceiveOrderLines_OnAddStepsToAnyLine is generally handled via OnHandleRegistrationFor[...]-events.
Commit
Database transactions in [...]OnBeforePostSalesReturnOrder is committed to database prior to calling standard "Sales-Post" function. Your customized code must be structured accordingly.
You may subscribe to standard posting events to ensure rollback of your database transactions or trigger events on-after posting, if this is required for your code.
Note: The "Sales-Post"-codeunit includes commits in standard code that is not always correctly suppressed for Sales Return Orders, even if SalesPost.SetSuppressCommit(true); is set. This needs to be taken into account and tested carefully before relying on SalesPost rollback for your custom code for Sales Return Orders.
See also:
How-to: Subscribe to standard events in BC base app
Template
[EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Receive", 'OnPostReceiveOrder_OnBeforePostSalesReturnOrder', '', true, true)]
procedure OnPostReceiveOrder_OnBeforePostSalesReturnOrder(var _OrderValues: Record "MOB Common Element"; var _SalesReturnHeader: Record "Sales Header")
begin
end;
Examples
-
Case: Add Header Step to inbound goods documents (Signature Step) — The warehouse employee must sign inbound goods (signature step).
-
Case: Add Header Step to inbound goods documents (Text Step) — When receiving goods, a new text collector step must be added for the user to enter comments about goods being damaged etc.
-
Case: Show G/L Account Lines and Non-Inventory Items on Receive and Pick — This case doesn't work with Warehouse Documents, Only basic Inventory on Sales and Purchase Orders.
-
How-to: Register Quantity By Multiplication (enableMultiplier) — You want to scan the Quantity multiplier and then manually type the quantity to automatically calculate the total quantity to register.
The multiplers are defined by using the "Qty. per Unit of Measure" from the barcode "Unit of Measure" in the "Item Reference". See Barcode Quantity (enableMultiplier) Example: Box (5) x 10 = 50 Pcs
-
How-to: Register Quantity By Scan — You want to scan the Quantity . Either one piece or have the system calculate quantity based on "Item Cross Reference".
-
How-to: Subscribing to standard events — You may subscribe to posting events in the Business Central base App to process collected values, or when events offered by Extension API do not fit your exact need.
Version History
Version | Changes |
---|---|
MOB5.11 | Introduced |