The workflow configuration defines which collector steps can potentially be displayed when going through a registration flow. As the registration is based on an e.g. order line, that can influence which steps are actually displayed.
An overview of which attributes are available to which steps can be found Workflow Configuration Matrix.
<application> ... <workflows> <workflow id="standard" itemNumberAI="01,02"> <configuration twoDigitYearMax="2099" prefillExpectedValueOnLocationScan="false" scanBehaviourWhenRegisteringQuantity="ValidateCurrentItem"> <steps> <add id="10" name="FromBin" inputType="Text" header="Scan From Bin (Take)" label="'{FromBin}'" helpLabel="Scan the Bin you are taking the item from. Expected value: {FromBin}." optional="false" primaryInputMethod="Scan"/> <add id="20" name="ToBin" inputType="Text" header="Scan To Bin (Place)" label="'{ToBin}'" defaultValue="{ToBin}" helpLabel="Scan the Bin you are placing the item into." optional="false" primaryInputMethod="Scan" /> <add id="31" name="ExpirationDate" inputType="Date" header="Set Expiration Date" label="Expiration Date" optional="false" helpLabel="Set the Expiration Date for the item"/> <add id="32" name="LotNumber" inputType="Text" header="Scan Lot Number" label="'{LotNumber}'" helpLabel="Scan the Lot Number for the item." optional="false" primaryInputMethod="Scan" defaultValue="{LotNumber}" eanAi="10"/> <add id="33" name="SerialNumber" defaultValue="" inputType="Text" header="Scan Serial Number" label="Serial Number" helpLabel="Scan the Serial Number for the item." optional="false" primaryInputMethod="Scan"/> <add id="50" name="Quantity" inputType="Decimal" header="Enter Quantity" label="Quantity" helpLabel="Enter the quantity to complete the registration." optional="false" /> <add id="50" name="QuantityByScan" inputType="Decimal" header="Scan to increment quantity" label="Quantity" helpLabel="Scan to increment quantity." optional="false" /> </steps> </configuration> </workflow> </workflows> ... </application>
- <workflow>
- id = "standard" - Name to reference from the service configuration through the workflowId attribute.
- itemNumberAI = "01,02" - Defines the application identifiers used to identify a item when scanning a Gs1 barcode.
- <configuration> -
- prefillExpectedValueOnLocationScan = "false" - Set the expected value as the result when manual entry is selected by sliding the scan icon to the left.
- scanBehaviourWhenRegisteringQuantity = "" - Defines what to do when scanning a barcode in the quantity step in the registration collector.
- ValidateCurrentItem - Validate the scanned item against the selected order line.
- ScanNextItem - Accept the entered value, and look for a new order line to start registering values on.
- <steps> - Defines the order in which data will be collected.
- <add> - Encloses the specific workflow steps.
- id = "" -Sorting parameter for setting the order of the steps.
- autoForwardAfterScan = "" - Not implemented yet. SPN-612
- name = "" - Key string for the collected piece of data, used in the transfer to the backend. Values which are treated specially are: FromBin, ToBin, ExpirationDate, LotNumber, SerialNumber and Quantity.
- header = "" - Header text of the data collection step.
- label = "" - Description above the input field.
- helpLabel = "" - Description supporting the collection step, located below the input field.
- inputFormat = "" - Used to make sure input follows a specific pattern, defined by a regular expression.
- inputType = "" - Defines which type of input collector control will be used and what the output will be.
- Date - Pick a date by a date picker. Returns a string with the format "dd-MM-yyyy".
- DateTime - Pick a date time by a date picker and a time picker. Returns a string with the format "dd-MM-yyyy HH:mm:ss".
- Decimal - Enter a decimal value. Supported by a numeric keyboard when no physical keyboard is present. Returns a decimal.
- Image - Display an image placed on the device.
- ImageCapture - Capture images by utilizing the onboard camera. Returns a list of image file names and comments, each separated by the listSeparator. Items i the list are separated by §. <filename1><listSeparator><comment1>§<filename2><listSeparator><comment2>...
- Information - Display information.
- Integer - Enter an integer value. Supported by a numeric keyboard when no physical keyboard is present. Returns an integer.
- List - Select a value from a list. Returns the selected list value as a string.
- MultiLineText - Enter a longer description. Returns the entered string.
- MultiScan - Scan multiple values of the same nature without moving on to register a new type of value. Returns a string of values separated by the chosen listSeparator.
- QuantityByScan - Enter a quantity by scanning multiple items, incrementing by one on every successful scan. Can not be manually edited. Returns an integer.
- RadioButton - Select a value from a short list of values. Returns a string.
- Summary - Display all previously gathered values.
- Text - Enter a short text. Returns a string.
- primaryInputMethod = "Control" - Defines if the user is urged to enter values by keyboard or by scanning. Any input method can use the other by touching the scanning icon.
- Control - Initially ready for manual entry. Scanning is still supported.
- Scan -Initially ready for scanning a value. Manual entry can be done, by tapping the scan icon.
- minDate = "01-01-0001" - The first accepted date.
- minValue = "0" - The minimum value accepted.
- maxDate = "31-12-9999" - The last accepted date.
- maxValue = "int.MaxValue" - The largest value allowed.
- dataTable = "" - Reference to a table in the reference data.
- dataKeyColumn = "" - Reference to a column in the data table holding the values.
- dataDisplayColumn = "" - Reference to the column which holds the displayable values.
- linkedElement = "" - Not implemented yet. SPN-611
- filterColumn = "" - Not implemented yet. SPN-610
- listValues = "" - List of values defining the selectable items in a list.
- listSeparator = ";" - Used to separate values when utilizing multi scan, and to separate values from listValues.
- defaultValue = "" - Set a default value which is displayed as a guide to the user. If prefillExpectedValueOnLocationScan is set to true, entering the manual entry mode the default value will be pre filled.
- optional = "false" - Defines if a step will accept an empty value.
- eanAi = "" - When using a Gs1 barcode, this defines the application identifier used to get the value.
- editable = "true" - Defines if a value is editable.
- uniqueValues = "false" - Adds unique validation to the input when using multi scan.
- visible = "true" - Defines if the this collection step is visible.
- validationValues = "" - Values used to validate input in e.g. a string input field, a quantity by scan input field etc.
- validationWarningType = "" - Which action to take when validation fails.
- Ask - Ask for permission if validation fails.
- Block - Block further progress until validation is successful.
- validationCaseSensitive = "" - Is case to be taken into account when validation values.
- performCalculation = "" - Allow calculation inside input area. Validation will still occur after calculation.
- resolutionWidth = "" - The request width of an image when using ImageCapture.
- resolutionHeight = "" - The requested height of an image when using ImageCapture.