Versions Compared

Key

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

Use this event to

Excerpt

Change sort order for Consumption Lines the OrderLinesList at the mobile device. 



Description

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

Note

For assembly the OrderLines-list includes in the same list a single (topmost) element representing 'Output', and multiple indented lines representing 'Consumption'.

When customizing the sortorder, this structure should be maintained. The example below showcases a way to do this.



Sorting by existing fields

...

    [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;



Filter by label (Content by label)
showLabelsfalse
showSpacefalse
sorttitle
titleMore examples
excerptTypesimple
cqllabel = "bc" and label = "assembly" and label = "example" and label = "onaftersetcurrentkey"

...