Versions Compared

Key

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

Collects

Any data.

Advantage

  • Can be added as a collector of Multiple items/entries.
    This is unique and very useful.

  • Save a value A and register several value B, keeping the association to Value A.


Typical use

Save Bin and register several Items and Quantities associated with that Bin.

Example (Application.cfg workflow)

In this example, the standard Quantity Steps are disabled and replace with a TypeAndQuantity step.

Note how scanBehaviourWhenRegisteringQuantity is adjusted aswell.


Code Block
languagexml
<workflow id="countWorkflow" itemNumberAI="01,02">

        <!--<configuration scanBehaviourWhenRegisteringQuantity="ScanNextItem">-->
        <configuration scanBehaviourWhenRegisteringQuantity="ValidateCurrentItem">

          <steps>
            <add id="10" name="FromBin" inputType="Text" header="@{RegistrationCollectorFromBinHeader}" label="'{FromBin}'" defaultValue="{FromBin}" helpLabel="@{RegistrationCollectorFromBinHelpLabel}" eanAi="00" optional="false" primaryInputMethod="Scan"/>
            <add id="20" name="ToBin" inputType="Text" header="@{RegistrationCollectorToBinHeader}" label="'{ToBin}'" defaultValue="{ToBin}" helpLabel="@{RegistrationCollectorToBinHelpLabel}" eanAi="00" optional="false" primaryInputMethod="Scan" />
            <add id="31" name="ExpirationDate" inputType="Date" header="@{RegistrationCollectorExpirationDateHeader}" label="Expiration Date" optional="false" helpLabel="@{RegistrationCollectorExpirationDateHelpLabel}" eanAi="15,17,12"/>
            <add id="32" name="LotNumber" inputType="Text" header="@{RegistrationCollectorLotNumberHeader}" label="'{LotNumber}'" helpLabel="@{RegistrationCollectorLotNumberHelpLabel}" eanAi="10" optional="false" primaryInputMethod="Scan" defaultValue="{LotNumber}"/>
            <add id="35" name="ToteId" inputType="Text" header="@{RegistrationCollectorToteHeader}" label="" defaultValue="" helpLabel="@{RegistrationCollectorToteHelpLabel}" eanAi="98" optional="false" primaryInputMethod="Scan"/>
            <add id="40" name="SerialNumber" inputType="Text" header="@{RegistrationCollectorSerialNumberHeader}" label="{SerialNumber}" defaultValue="{SerialNumber}" helpLabel="@{RegistrationCollectorSerialNumberHelpLabel}" eanAi="21" optional="false" primaryInputMethod="Scan"/>            
            <!--<add id="50" name="Quantity" inputType="Decimal" header="@{RegistrationCollectorQuantityHeader}" label="" helpLabel="@{RegistrationCollectorQuantityHelpLabel}" optional="false" eanAi="310,30,37"/>-->
            <!--<add id="51" name="Quantity" inputType="QuantityByScan" header="@{RegistrationCollectorQuantityByScanHeader}" label="" helpLabel="@{RegistrationCollectorQuantityByScanHelpLabel}" optional="false"/>-->                      
            <typeAndQuantity scanBehavior="Add" id="91" name="Quantity2" header="@{RegistrationCollectorQuantityHeader}" label="" helpLabel="@{RegistrationCollectorQuantityHelpLabel}" optional="false" eanAi="310,30,37"/>          
          </steps>
        </configuration>
      </workflow>



Example (AL)


   // [Example]
    // 
    // Add typeAndQuantityStep to collect SCCC's for collis on Receive posting with 3 default elements for collis with no SCCC
    // 
    [EventSubscriber(ObjectType::CodeunitCodeunit::"MOB WMS Receive", 'OnGetReceiveOrderLines_OnAddStepsToAnyHeader''', true, true)]
    procedure My01OnGetReceiveOrderLines_OnAddStepsToAnyHeader(_RecRef: RecordRefvar _StepsElement: Record "MOB Steps Element")
    begin
        with _StepsElement do begin
            Create_typeAndQuantityStep(10000'CustomColliTypeAndQuantity01');
            Set_header('@{RegistrationCollectorQuantityHeader}');
            Set_helpLabel('@{RegistrationCollectorQuantityHelpLabel}');
            Set_optional(false);
            Set_scanBehavior('Add');
            Set_eanAi('00,30,37');                              // 00 = Serial Shipping Container Code (SCCC), 30 = Var Count, 37 = Count
            Set_uniqueValues(false);
            Set_defaultValue('Pallet=0;Box=0;Pcs=0');
        end;
    end;


    // [Example]
    //
    // Add typeAndQuantityStep to collect collis Receive posting. Default is empty screen but with option to add  colli types from a list for collies with no SCCC
    // 
    [EventSubscriber(ObjectType::CodeunitCodeunit::"MOB WMS Receive", 'OnGetReceiveOrderLines_OnAddStepsToAnyHeader''', true, true)]
    procedure My02OnGetReceiveOrderLines_OnAddStepsToAnyHeader(_RecRef: RecordRefvar _StepsElement: Record "MOB Steps Element")
    begin
        with _StepsElement do
            Create_typeAndQuantityStepFromListValues(
                20000,                                          // id
                'CustomColliTypeAndQuantity02',                 // name
                '@{RegistrationCollectorQuantityHeader}',       // label
                '@{RegistrationCollectorQuantityHelpLabel}',    // helpLabel
                '',                                             // inputFormat
                'Add',                                          // scanBehavior
                '00,30,37',                                     // eanAI (00 = Serial Shipping Container Code (SCCC), 30 = Var Count, 37 = Count)
                false,                                          // uniqueValues
                'Pallet;Box;Pcs');                              // listValues, default separator is ';'
    end;

Example 1:

Figure 1A - Bin Value is registered once (for the line)


Figure 1B - The usual Quantity step is replaced by a different type of Quantity step: In this "TypeAndQuantity"-step you may scan multiple different item numbers and different quantities for each item before leaving the step. 


Figure 1C - In the screenshot above a total 6 items was scanned for the line (two different item numbers).


Example 2:

The "TypeAndQuantity"-step can be used with i.e. Item Variants, too.

Figure 2A - Different items variants is registered for the line