Versions Compared

Key

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

Description

Excerpt

Examples of sorting Order list.


 

Flow of events

...




Sorting on Existing fields

...

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


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


  • Use these events:
    Filter by label (Content by label)
    showLabelsfalse
    showSpacefalse
    cqllabel = "bc" and label = "orderlines" and label = "onaftersetcurrentkey" and label = "integrationevent"


...

Sorting on multiple document sources

All  except All except "Ship" have multiple document sources.

...

  • Change key to existing field "Item no."
  • Change sorting direction to "Descending"

For this task, you must use the OnAfterSetCurrentKey event.


[EventSubscriber(ObjectType::CodeunitCodeunit::"MOB WMS Receive", 'OnGetReceiveOrders_OnAfterSetCurrentKey''', true, true)]
procedure OnGetReceiveOrders_OnAfterSetCurrentKey(var _BaseOrderElementView: Record "MOB Ns BaseDataModel Element")
begin
     _BaseOrderElementView.SetCurrentKey(BackendID);
     _BaseOrderElementView.Ascending(true);
end;




Example: Custom fields

  • Sort lines by you own custom field

For this task you must use the OnAfterSetFrom.


[EventSubscriber(ObjectType::CodeunitCodeunit::"MOB WMS Receive", 'OnGetReceiveOrderLines_OnAfterSetFromAnyLine''', true, true)]
procedure OnGetReceiveOrderLines_OnAfterSetFromAnyLine(_RecRef: RecordRefvar _BaseOrderLineElement: Record "MOB Ns BaseDataModel Element")
var
     Item: Record Item;
begin
     with _LineElement do begin
          // New custom tag
          Item.Get(Get_ItemNumber());
          SetValue('SpecialEquimentCode', Item."Special Equipment Code");

          // Sort by custom tag
          Set_Sorting1(GetValue('SpecialEquimentCode'));
     end;
end