Use this event to
Handle collected values from Header Steps for any of four different Receive Order sources. Parameters includes a RecRef-instance for the header table.
Description
This event is used to handle collected "header" level steps and is executed only once per order posting from the mobile device.
Like other "Any"-events, this event is executed for all document sources:
- Warehouse Receipt
- Purchase Order
- Transfer Order
- Sales Return Order
If you are implementing changes for a specific document source - including if you need to set arguments in standard BC posting routines prior to posting - you should use one of the document-source-specific events (see "This event is executed afterwards", below).
Examples of use could be:
- Stage collected values to new or existing fields in the database that can subsequently can be accessed from standard posting function events.
- Validate collected values against live data since registration at the mobile device is mostly conducted offline.
- But not to process "line" level steps. Steps added via OnAddStepsToAnyLine[...] is better handled via OnPostReceiveOrder_OnHandleRegistrationFor...-events.
This event is executed after each of these following events:
OnPostReceiveOrder_OnBeforePostWarehouseReceipt
OnPostReceiveOrder_OnBeforePostPurchaseOrder
OnPostReceiveOrder_OnBeforePostTransferOrder
OnPostReceiveOrder_OnBeforePostSalesReturnOrder
When is data committed
Commit
Database transactions in this event is committed to database prior to calling standard BC posting routines. Your customized code must be structured accordingly.
Nearly always you must subscribe to standard BC posting events to do your actual processing to ensure rollback of database transactions on error.
Note: Standard posting functions includes several unconditional commits in standard code. When you rely on standard code rollback for your custom code, this needs to be taken into account and the standard integration event you are subscribing to must be selected carefully.
Template
[EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Receive", 'OnPostReceiveOrder_OnBeforePostAnyOrder', '', true, true)]
procedure OnPostReceiveOrder_OnBeforePostAnyOrder(var _OrderValues: Record "MOB Common Element"; var _RecRef: RecordRef)
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 |