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 10 Next »

Use this event to

Add steps to be displayed at the mobile device when collecting values for each individual document line.

Description

Steps at line level (collected for each individual line) requires a "collectorConfiguration"-Key to be declared in Reference Data.
This is unlike steps at header level, that allows steps to be declared directly in the OnGetPickOrderLines_OnAddStepsToAnyHeader event.


Line-level step are:

  • ..merged with existing workflow steps
  • ..declared as part of a collectorConfiguration-Key in Reference Data.
  • ..added by calling the Create_StepsByReferenceDataKey-function (Currently only once)
  • ..sorted by Id. Sorting can be changed using the <orderLineConfiguration><extraInformationConfiguration stepSorting="ById"/><orderLineConfiguration/> in mobile configuration.


(warning) Currently Mobile WMS supports only one (custom) referenced key per Order Line, meaning only one customization may subscribe to this event at any time. This single one subscriber must set a Key that includes all steps for all other intended subscribers as well. This can only be done by knowing other customizations are in place and manually create a new RegistrationCollectorConfigurationKey that includes all steps (this will improve in a future version).

Template

    [EventSubscriber(ObjectType::CodeunitCodeunit::"MOB WMS Pick", 'OnGetPickOrderLines_OnAddStepsToAnyLine''', true, true)]
    local procedure OnGetPickOrderLines_OnAddStepsToAnyLine(_RecRef: RecordRefvar _BaseOrderLineElement: Record "MOB Ns BaseDataModel Element")
    begin
    end;



Example

    // [Example]: Add steps referenced by new RegistrationCollectorConfiguration-Key to line steps collectors
    [EventSubscriber(ObjectType::CodeunitCodeunit::"MOB WMS Pick", 'OnGetPickOrderLines_OnAddStepsToAnyLine''', true, true)]
    local procedure MyOnGetPickOrderLines_OnAddStepsToAnyLine(_RecRef: RecordRefvar _BaseOrderLineElement: Record "MOB Ns BaseDataModel Element")
    begin
        // MOB5.11
        // Currently the Android Mobile App supports only one "RegisterExtraInfo"-node (one extra RegistrationCollectorConfigurationKey).
        // The last subscriber to OnGetPickOrderLines_OnAfterAddStepsToAnyLine must set a <RegisterExtraInfo>-key that includes steps for all previous subscribers.
        // This is only possible by knowing what other customizations is done and manually create a new RegistrationCollectorConfigurationKey that includes all steps.
        // 
        // In this demo we expect to be only subscriber and throw an error if earlier subscribtions exists by including optional _ErrorIfAlreadyCreated parameter.
        // We cannot test if later subcribers is overriding this value we set.
        _BaseOrderLineElement.Create_StepsByReferenceDataKey('CustomPickSteps');
    end;


    [EventSubscriber(ObjectType::CodeunitCodeunit::"MOB WMS Reference Data", 'OnGetReferenceData_OnAddRegistrationCollectorConfigurations''', true, true)]
    local procedure MyOnGetReferenceData_OnAddRegistrationCollectorConfigurations(var _Steps: Record "MOB Steps Element")
    begin
        _Steps.InitConfigurationKey('CustomPickSteps');

        _Steps.Create_DecimalStep(10000'CustomNetWeightGrams');
        _Steps.Set_header('Net Weight (Grams)');
        _Steps.Set_label('Net Weight (Grams):');
        _Steps.Set_helpLabel('Net Weight in Grams per Base Unit of Measure');
        _Steps.Set_minValue(0);
        _Steps.Set_maxValue(100000);
        _Steps.Set_performCalculation(true);
    end;



Examples


Version History

VersionChanges
MOB5.11Introduced
  • No labels