Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Use this event to

Excerpt

Filter Purchase Orders to be displayed at the mobile device.

...

With this event you can perform basic record filtering,


Template

[EventSubscriber(ObjectType::CodeunitCodeunit::"MOB WMS Receive", 'OnGetReceiveOrders_OnSetFilterPurchaseOrder''', true, true)]
procedure OnGetReceiveOrders_OnSetFilterPurchaseOrder(_HeaderFilter: Record "MOB NS Request Element"; var _PurchHeader: Record "Purchase Header"; var _PurchLine: Record "Purchase Line"; var _IsHandled: Boolean)
begin
end;


Example 1: Modify standard header filter

[EventSubscriber(ObjectType::CodeunitCodeunit::"MOB WMS Receive", 'OnGetReceiveOrders_OnSetFilterPurchaseOrder''', true, true)]
procedure OnGetReceiveOrders_OnSetFilterPurchaseOrder(_HeaderFilter: Record "MOB NS Request Element"; var _PurchHeader: Record "Purchase Header"; var _PurchLine: Record "Purchase Line"; var _IsHandled: Boolean)
var
    PurchaseHeader: Record "Purchase Header";
begin
    // [Scenario] Validate the standard "Purchase Order" filter,
    // [Scenario] by checking the order is Open. 
    // [Scenario] If not, abort process and force user to change filter.


    if _HeaderFilter.Name = 'PurchaseOrderNumber' then
        if PurchaseHeader.Get(PurchaseHeader."Document Type"::"Order", _HeaderFilter."Value") and (PurchaseHeader.Status <> PurchaseHeader.Status::Releasedthen
            Error('Purchase Order %1 is not released', PurchaseHeader."No.")// We use "error" since filter a single document no. (Error is not recommended for common filtering)

    // _IsHandled := // No point in handling the filter or not, as Error stops the entire proces if needed

end;


Example 2: Add custom filters to Standard headers

...