Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 20 Current »

Use this event to

Change sort order for the OrderLinesList at the mobile device. 

Description

You may use this event only to change sort order of the OrderLinesList-elements displayed at the mobile device. You cannot set any values from this event.

The OrderLinesList for Assembly Orders includes in the same list a single (topmost) element representing 'Output', and multiple indented elements representing 'Consumption'.

When customizing the sortorder, this structure should be maintained. The example at the end of this article shows a way to do this by taking advantage of the fact that topmost-element and indented elements are derived from different tables (Assembly Header and Assembly Lines) and as such has separate OnAfterSetFrom-events.



Sorting by existing fields

  • Change sorting key
    • Use .SetCurrentKey(field)-function with any of the existing fields from the Line table (Record parameter on this event).

  • Change sorting direction
    • Use .Ascending(true/false)-function. 

Sorting by custom fields


Template

    [EventSubscriber(ObjectType::CodeunitCodeunit::"MOB WMS Assembly", 'OnGetAssemblyOrderLines_OnAfterSetCurrentKey''', true, true)]
    local procedure OnGetAssemblyOrderLines_OnAfterSetCurrentKey(var _BaseOrderLineElementView: Record "MOB Ns BaseDataModel Element")
    begin
    end;

Example

    // [Example]  Change sorting to Unit Of Measure, then Item Number BUT ensure 'Output' (Assembly Header) is still displayed prior to 'Consumption' (Assembly Lines)
    [EventSubscriber(ObjectType::CodeunitCodeunit::"MOB WMS Assembly", 'OnGetAssemblyOrderLines_OnAfterSetCurrentKey''', true, true)]
    local procedure MyOnGetAssemblyOrderLines_OnAfterSetCurrentKey(var _BaseOrderLineElementView: Record "MOB Ns BaseDataModel Element")
    begin
        _BaseOrderLineElementView.SetCurrentKey("Sorting1 (internal)", UnitOfMeasure, ItemNumber);
        _BaseOrderLineElementView.Ascending(true);
    end;

    [EventSubscriber(ObjectType::CodeunitCodeunit::"MOB WMS Assembly", 'OnGetAssemblyOrderLines_OnAfterSetFromAssemblyHeader''', true, true)]
    local procedure OnGetAssemblyOrderLines_OnAfterSetFromAssemblyHeader(_AssemblyHeader: Record "Assembly Header"; var _BaseOrderLineElement: Record "MOB Ns BaseDataModel Element")
    begin
        _BaseOrderLineElement."Sorting1 (internal)" := Format(Database::"Assembly Header")// '900'  (sort before '901')
    end;

    [EventSubscriber(ObjectType::CodeunitCodeunit::"MOB WMS Assembly", 'OnGetAssemblyOrderLines_OnAfterSetFromAssemblyLine''', true, true)]
    local procedure OnGetAssemblyOrderLines_OnAfterSetFromAssemblyLine(_AssemblyLine: Record "Assembly Line"; _TrackingSpecification: Record "Tracking Specification"; var _BaseOrderLineElement: Record "MOB Ns BaseDataModel Element")
    begin
        _BaseOrderLineElement."Sorting1 (internal)" := Format(Database::"Assembly Line")// '901'  (sort after '900')
    end;



More examples

There are no items with the selected labels at this time.

  

Version History

VersionChanges
MOB5.24Introduced
  • No labels