Examples of sorting Order Lines. |
There are two events for sorting order lines:1 . OnAfterSetCurrentKey-events
2 . OnAfterSetFrom-events
|
Use OnAfterSetCurrentKey-events.
.SetCurrentKey(field, [field2, ...])
-function with any of the existing fields from the Line table (Record parameter on this event)..Ascending(true/false)
-function. Use.OnAfterSetFrom-events.
Set_Sorting1()-
function.Set_Sorting1()
-function..Ascending()
-function.The event parameter "_BaseOrderLineElementView" includes five sorting functions you can use to sort on up to four new custom fields .
For this task you can use an OnAfterSetCurrentKey event.
[EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Receive", 'OnGetReceiveOrderLines_OnAfterSetCurrentKey', '', true, true)]
procedure OnGetReceiveOrderLines_OnAfterSetCurrentKey(var _BaseOrderLineElementView: Record "MOB Ns BaseDataModel Element")
begin
_BaseOrderLineElementView.SetCurrentKey(ItemNumber);
_BaseOrderLineElementView.Ascending(false);
end;
For this task you must use the OnAfterSetFrom event.
[EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Receive", 'OnGetReceiveOrderLines_OnAfterSetFromAnyLine', '', true, true)]
procedure OnGetReceiveOrderLines_OnAfterSetFromAnyLine(_RecRef: RecordRef; var _BaseOrderLineElement: Record "MOB Ns BaseDataModel Element")
var
Item: Record Item;
begin
with _BaseOrderLineElement do begin
// New custom tag
Item.Get(Get_ItemNumber());
SetValue('SpecialEquipmentCode', Item."Special Equipment Code");
// Sort by custom tag
Set_Sorting1(GetValue('SpecialEquipmentCode'));
end;
end;
The "sorting" tags determines the sorting on mobile as part of Order Lines GetOrderLines Response.
Order Lines on the mobile device.