Versions Compared

Key

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

Templates

Available in Mobile WMS for Dynamics AX/365FO


Excerpt

How to setup a new page? Here are some templates that could inspire.


Status
subtletrue
colourYellow
title

 UnplannedItemRegistration

 Lookup

Below you find the page setup in the application.cfg.

Create Unplanned Item Reg Page

Based on filter values to get the results listed. When you select a line from the results, you can perform different actions. These being the actions you specify under the <actions> node of the page. 


Excerpt

A simple way to make a quick registrationquickly get informations.

Fill the filter values and jump directly into a registration workflow.

Expand

Multimedia
nameTemplates for Create Pages - UnplannedItemReg.mp4


Expand


Code Block
languagexml
linenumberstrue
<page id="UnplannedMoveLocationContent" type="UnplannedItemRegistrationLookup" icon="mainmenumove-unplannedmainmenubincontent">
       <title defaultValue="@{PageUnplannedMoveTitleMainMenuLocationContent}"/>
       <unplannedItemRegistrationConfiguration<lookupConfiguration type="UnplannedMove" useRegistrationCollector="true">
   LocationContent">
        <header configurationKey="UnplannedMoveHeader" clearAfterPost="true" automaticAcceptOnOpen="true"/>
  </unplannedItemRegistrationConfiguration>
</page>

If you want it to be available from the main menu you also need to specify the menuitem.

Code Block
languagexml
linenumberstrue
<menuItem id="UnplannedMove" displayName="@{MainMenuUnplannedMove}LocationContentCfgHeader"/>
        <list listId="Lookup" />
      </lookupConfiguration>
      <actions>
        <open id="UnplannedMove" icon="mainmenumove-unplanned"/>
StatuscolourRedtitle Order List

Choose the order list if you want to start out with a list of orders, from where you navigate to a detailed page.

Create Order List Page

Excerpt
Expand

When you open the order list, your filter is used. 

Scan barcode or click on order list → opens order lines. If you scan a barcode, then this is added to the filter and the list is refreshed by the new filter values.

Video example
Code Block
languagexml
linenumberstrue
<page id="Receive" type="OrderList" icon="mainmenureceive"> title ="@{PageUnplannedMoveTitle}">
          <returnTransfer property="UnplannedItemRegistrationCompleted" to="RefreshOnResume"/>
        </open>
        <open id="createQuarantineOrder" icon="mainmenuquarantineorders" title="@{createQuarantineOrder}">
          <returnTransfer property="UnplannedItemRegistrationCompleted" to="RefreshOnResume"/>
        </open>
<title defaultValue="@{PageReceiveOrderListTitle}" />      <open <orderListConfiguration automaticOrderSelectionAfterFilterid="RegisterImage" icon="truetakeitemimage">
        <service id="Receive" /> title="@{RegisterImage}"></open>
      <showImage  <filter configurationKeyimageProperty="imageId" enabled="ReceiveOrderFilterstrue" />
        <list listId="Orders" />
        <onOrderSelected navigateTo="ReceiveLines" icon="missingImage" title="@{MenuItemShowImageTitle}" id="showImage"/>
        <unlockOrder title="@{Release} {DisplayLine1}"/>
      </orderListConfiguration>
    <actions>
        <open id="PrintLabel" icon="mainmenuprint" title="@{MainMenuPrintLabel</actions>
</page>




Status
title
 UnplannedItemRegistration

Excerpt

A simple way to make a quick registration.

Fill the filter values and jump directly into a registration workflow.



Expand


Multimedia
nameTemplates for Create Pages - UnplannedItemReg.mp4


Below you find the page setup in the application.cfg.

Create Unplanned Item Reg Page

Code Block
languagexml
linenumberstrue
<page id="UnplannedMove" type="UnplannedItemRegistration" icon="mainmenumove-unplanned">
  <title defaultValue="@{PageUnplannedMoveTitle}"/>
  <unplannedItemRegistrationConfiguration type="UnplannedMove" useRegistrationCollector="true">
    <header  <open idconfigurationKey="RegisterImageUnplannedMoveHeader" iconclearAfterPost="takeitemimagetrue" titleautomaticAcceptOnOpen="@{RegisterImage}true"/>
           <returnTransfer property="UnplannedItemRegistrationCompleted" to="RefreshOnResume"/>
        </open>
        <open id="attachments" icon="attachment" title="@{Attachments}"/>
      </actions>
    </page>
StatuscolourYellowtitle Order Lines

Chooing order lines you can work offline and making registrations and preparations before you want to post.

Excerpt
Expand

Click on order lines → opens registration work flow, but it offline.

Code Block
</unplannedItemRegistrationConfiguration>
</page>


If you want it to be available from the main menu you also need to specify the menuitem.

Code Block
languagexml
linenumberstrue
<menuItem id="UnplannedMove" displayName="@{MainMenuUnplannedMove}" icon="mainmenumove-unplanned"/>



Status
colourRed
title
 Order List

Excerpt

Choose the order list to start out with a list of orders, from where you navigate to a detailed page, typical the order lines.



Expand

When you open the order list, your filter is used. 

Scan barcode or click on order list → opens order lines. If you scan a barcode, then this is added to the filter and the list is refreshed by the new filter values.


Video example


Create Order List Page

Code Block
languagexml
linenumberstrue
<page id="ReceiveLinesReceive" type="OrderLinesOrderList" icon="mainmenureceive">
      <title defaultValue="@{PageReceiveOrderLinesTitlePageReceiveOrderListTitle}" />
      <orderLinesConfiguration<orderListConfiguration promptUserToPostWhenAllLinesCompleteautomaticOrderSelectionAfterFilter="true" suggestQuantity>
        <service id="trueReceive" verifySingleScanRegistrations="false"/>
        <service<filter idconfigurationKey="ReceiveReceiveOrderFilters" />
        <list listId="OrderLinesOrders" />
        <viewRegistrations<onOrderSelected titlenavigateTo="@{OrderLinesRegistrationMenuItem}" navigateTo="ViewRegistrations" enabled="true"ReceiveLines" />
        <deleteOrderRegistrations<unlockOrder title="@{OrderLinesDeleteAllOrderRegistrationsMenuItemRelease}" enabled="true {DisplayLine1}"/>
      </orderListConfiguration>
 <onOrderPosted clearOrderLevelRegistrations="true"/>   <actions>
        <scanToSelectBehaviour<open gs1SearchTermid="ItemPrintLabel" behaviouricon="Automainmenuprint"/>
      </orderLinesConfiguration> title="@{MainMenuPrintLabel}"/>
      <actions>         <open iconid="mainmenuscaninfoRegisterImage" idicon="RegisterBarcodetakeitemimage" title="@{MainMenuRegisterBarcodeRegisterImage}">
          <returnTransfer property="UnplannedItemRegistrationCompleted" to="RefreshOnResume"/>
        </open>
        <open id="PrintLabelattachments" icon="mainmenuprintattachment" title="@{MainMenuPrintLabelAttachments}"/>
      </actions>
  <open id="RegisterImage" icon="takeitemimage" title="@{RegisterImage}">
          <returnTransfer property="UnplannedItemRegistrationCompleted" to="RefreshOnResume"/>
        </open>
        <open id="attachments" icon="attachment" title="@{Attachments}"/>
        <showImage imageProperty="imageId" enabled="true" icon="missingImage" title="@{MenuItemShowImageTitle}" id="showImage"/> </page>

The command <onOrderSelected navigateTo="ReceiveLines"/> is used to specify where you want to go when you click on the line.



Status
colourYellow
title
 Order Lines

Excerpt

Chooing order lines you can work offline and making registrations and preparations before you want to post.



Expand


Click on order lines → opens registration work flow, but it is offline.


Code Block
languagexml
linenumberstrue
<page id="ReceiveLines" type="OrderLines" icon="mainmenureceive">
      <title defaultValue="@{PageReceiveOrderLinesTitle}"/>
      <orderLinesConfiguration promptUserToPostWhenAllLinesComplete="true" suggestQuantity="true" verifySingleScanRegistrations="false">
        <service </actions>
</page>
StatuscolourGreentitle Lookup List Excerpt

List with data is loaded

Scan barcode to select or click on line

Opens registration work flow

StatuscolourBluetitle Lookup with data

Starting with a lookup and from there you navigate to a order list. 


Excerpt
Expand

After value is scanned a list i presented. 

Click on the line to open order list.

Code Block
languagexml
linenumberstrue
<page id="shipmentLoading" type="Lookup" icon="mobContainer">id="Receive"/>
        <list listId="OrderLines"/>
        <viewRegistrations title="@{OrderLinesRegistrationMenuItem}" navigateTo="ViewRegistrations" enabled="true"/>
        <deleteOrderRegistrations title="@{OrderLinesDeleteAllOrderRegistrationsMenuItem}" enabled="true"/>
        <onOrderPosted <title defaultValueclearOrderLevelRegistrations="@{shipmentLoading}true"/>
        <lookupConfiguration<scanToSelectBehaviour typegs1SearchTerm="shipmentLoadingItem" useRegistrationCollectorbehaviour="falseAuto"/>
      </orderLinesConfiguration>
 <!-- update on activate, true --><actions>
        <header<open configurationKeyicon="shipmentLoadingFiltermainmenuscaninfo" automaticAcceptOnOpenid="RegisterBarcode" title="true@{MainMenuRegisterBarcode}"/>
         <list listId <returnTransfer property="UnplannedItemRegistrationCompleted" to="LookupPutAwayRefreshOnResume"/>
	      <onSuccessfulPost refreshOnSuccess="true" ignoreSuccessMessage="true"/> </open>
        <onResultSelected<open navigateToid="LoadingPrintLabel" enabledicon="truemainmenuprint"/>
      </lookupConfiguration> title="@{MainMenuPrintLabel}"/>
      <actions>         <open id="LoadingRegisterImage" icon="mobContainertakeitemimage" title="@{loadPalletRegisterImage}">
          <returnTransfer property="UnplannedItemRegistrationCompleted" to="RefreshOnResume"/>
        </open>
        <open id="RegisterImageattachments" icon="takeitemimageattachment" title="@{RegisterImageAttachments}"/>
        <open id<showImage imageProperty="imageId" enabled="attachmentstrue" icon="attachmentmissingImage" title="@{AttachmentsMenuItemShowImageTitle}" id="showImage"/>
        </open>
      </actions>
      <menu numberOfPromotedItems="1"/>
</actions>
</page>

From the order list when you scan, you will get the registration collector.  

Code Block
languagexml
linenumbers


Status
colourGreen
title
 Lookup with Data

Excerpt

Kind of similar to the UnplannedItemRegistration but here you get a list with data, and from the list you either scan or click on a line to start the registration workflow.



Expand


Code Block
languagexml
linenumberstrue
<page id="LoadingQuarantineOrders" type="OrderListLookup" icon="mobContainermainmenuquarantineorders">
      <title defaultValue="@{shipmentLoadingPageQuarantineOrdersTitle}" />
      <orderListConfiguration automaticOrderSelectionAfterFilter<lookupConfiguration type="QuarantineOrders" useRegistrationCollector="true">
        <header        <service id="Loading" configurationKey="QuarantineOrdersCfgHeader" automaticAcceptOnOpen="true"/>
        <filter<list configurationKeylistId="loadPalletFilterQuarantineOrders" />
        <list<onSuccessfulPost listIdrefreshOnSuccess="LoadPalletCasetrue" />
      </lookupConfiguration>
   <onOrderSelected navigateTo="loadThePallet" /> <actions>
       <unlockOrder title="@{Release} {DisplayLine1}"/>
  <open id="RegisterImage" icon="takeitemimage" title="@{RegisterImage}"/>
    </orderListConfiguration>       <actions>
        <!--<open id="PrintLabelattachments" icon="mainmenuprintattachment" title="@{MainMenuPrintLabelAttachments}" />-->
        <open id="palletsPerCasecreateQuarantineOrder" icon="mainmenupallettransportmainmenuquarantineorders" title="@{palletsPerCasecreateQuarantineOrder}"/>
        <open id="changeGate" icon="MobPalletGate" title="@{changeGate}" automaticValueTransfer="false">
          <returnTransfer property="UnplannedItemRegistrationCompleted" to="RefreshOnResume"/>  
        </open>
        <open id="loadThePallet" icon="mainmenupallettransport" title="@{loadPallet}">
          <returnTransfer property="UnplannedItemRegistrationCompleted" to="RefreshOnResume"/</actions>
</page>


Scan barcode to select or click on line.

Opens registration work flow.



Status
colourBlue
title
 Lookup and then Order List

Excerpt

Starting with a lookup and from there you navigate to a order list. 



Expand

After value is scanned a list i presented. 


Click on the line to open order list.

Code Block
languagexml
linenumberstrue
<page id="shipmentLoading" type="Lookup" icon="mobContainer">
        </open>
        <open id="RegisterImage" icon="takeitemimage" title="@{RegisterImage}"<title defaultValue="@{shipmentLoading}"/>
          <returnTransfer property<lookupConfiguration type="UnplannedItemRegistrationCompletedshipmentLoading" touseRegistrationCollector="RefreshOnResumefalse"/>
        </open>!-- update on activate, true -->
      <open id="attachments" icon  <header configurationKey="attachmentshipmentLoadingFilter" titleautomaticAcceptOnOpen="@{Attachments}true"/> 
     </actions>   <list listId="LookupPutAway"/>
	      <onSuccessfulPost <menu numberOfPromotedItemsrefreshOnSuccess="true" ignoreSuccessMessage="2true"/>
</page>
Statussubtletruetitle Line multi select Excerpt

From a lookup you scan or click on a line. This activates a request and response for a tick mark. 

Expand

Now line is marked.

Do this with other lines. 

Perform action e.g. unplanned move. 

StatussubtletruecolourRedtitle Basket example

From an UnplannedItemRegistration you scan. This activates a request and a workflow is started to collect registrations. 

Excerpt
Expand

Each device ID have a basket ID. Basked id has status started or ended. 

Now line is added to the list. Continue with other lines.

When successfully posting then the basket ID status is ended and a new basket ID is generated. This avoids open baskets. 

        <onResultSelected navigateTo="Loading" enabled="true"/>
      </lookupConfiguration>
      <actions>
        <open id="Loading" icon="mobContainer" title="@{loadPallet}">
          <returnTransfer property="UnplannedItemRegistrationCompleted" to="RefreshOnResume"/>
        </open>
        <open id="RegisterImage" icon="takeitemimage" title="@{RegisterImage}"/>
        <open id="attachments" icon="attachment" title="@{Attachments}">
        </open>
      </actions>
      <menu numberOfPromotedItems="1"/>
</page>


From the order list when you scan, you will get the registration collector.  

Code Block
languagexml
linenumberstrue
<page id="Loading" type="OrderList" icon="mobContainer">
      <title defaultValue="@{shipmentLoading}" />
      <orderListConfiguration automaticOrderSelectionAfterFilter="true">        
        <service id="Loading" />
        <filter configurationKey="loadPalletFilter" />
        <list listId="LoadPalletCase" />
        <onOrderSelected navigateTo="loadThePallet" />
        <unlockOrder title="@{Release} {DisplayLine1}"/>
      </orderListConfiguration>
      <actions>
        <!--<open id="PrintLabel" icon="mainmenuprint" title="@{MainMenuPrintLabel}" />-->
        <open id="palletsPerCase" icon="mainmenupallettransport" title="@{palletsPerCase}"/>
        <open id="changeGate" icon="MobPalletGate" title="@{changeGate}">
          <returnTransfer property="UnplannedItemRegistrationCompleted" to="RefreshOnResume"/>
        </open>
        <open id="loadThePallet" icon="mainmenupallettransport" title="@{loadPallet}">
          <returnTransfer property="UnplannedItemRegistrationCompleted" to="RefreshOnResume"/>
        </open>
        <open id="RegisterImage" icon="takeitemimage" title="@{RegisterImage}">
          <returnTransfer property="UnplannedItemRegistrationCompleted" to="RefreshOnResume"/>
        </open>
        <open id="attachments" icon="attachment" title="@{Attachments}"/>
      </actions>
      <menu numberOfPromotedItems="2"/>
</page>





Status
subtletrue
colourRed
title
 Cart Example

Excerpt

From a Lookup you get list of available carts. When selecting a cart you open an Order List. The items that is in the cart is listed here. 



Expand


Scanning activates an UnplannedItemRegistration workflow to register to details and submit these to the cart. Continue to add other items.

When unloading the cart ID scanning mode must be switched. The CartSwitchMode is clicked.


This example is utilizing many features in Mobile WMS, but the use case is simple and straight forward to use.


Cart Overview

Code Block
languagexml
linenumberstrue
    <page id="CartOverview" type="Lookup" icon="CartUnplanned">
      <title defaultValue="@{CartOverview}" />
      <lookupConfiguration type="CartOverview">
        <header configurationKey="CartOverviewFilter" automaticAcceptOnOpen="true"/>
        <list listId="LookupNoSlash"/>
        <onResultSelected navigateTo="CartContent" enabled="true"/>
      </lookupConfiguration>
      <actions>
        <open id="CartContent" icon="CartIcon" title="@{CartContent}" contextMenuPlacement="Off" menuPlacement="Off">
        </open>
      <open id="AddNewCart" icon="CartAdd" title="@{CartAdd}">
        </open>
      <open id="CartUnload" icon="CartUnload" title="@{CartUnload}">
        </open>
      </actions>
      <menu numberOfPromotedItems="3"/>
    </page>
 


Cart Content

Code Block
languagexml
linenumberstrue
    <page id="CartContent" type="OrderList" icon="CartIcon">
      <title defaultValue="@{CartContent}" />
      <orderListConfiguration automaticOrderSelectionAfterFilter="true">
        <service id="CartPick" />
        <filter configurationKey="CartContentFilter" />
        <list listId="LookupCartContent" />
        <onOrderSelected navigateTo="AddItemToCart" />
        <unlockOrder title="@{Release} {DisplayLine1}" enabled="false"/>
      </orderListConfiguration>
      <actions>
        <open id="AddItemToCart" icon="CartIcon" title="@{AddItemToCart}" menuPlacement="Off" contextMenuPlacement="Off"/>   
      <open id="CartSwitchMode" icon="CartEmpty" title="{PickMode}">
        </open>        
      <open id="CartUnload" icon="CartUnload" title="@{CartUnload}">
        </open>      
      </actions>
    <menu numberOfPromotedItems="2"/>
    </page>
 


Add Item to Cart

Code Block
languagexml
linenumberstrue
    <page id="AddItemToCart" type="UnplannedItemRegistration" icon="CartIcon">
      <title defaultValue="@{AddItemToCart}" />
      <unplannedItemRegistrationConfiguration type="AddItemToCart" useRegistrationCollector="true">
        <header configurationKey="AddItemToCartHeader" automaticAcceptAfterLastScan="true" automaticAcceptOnOpen="true"/>
        <onSuccessfulPost close="true"/>
      </unplannedItemRegistrationConfiguration>
    </page>
 


Load/Unload Switch Mode

Code Block
languagexml
linenumberstrue
    <page id="CartSwitchMode" type="UnplannedItemRegistration" icon="CartEmpty">
      <title defaultValue="@{CartUnload}" />
      <unplannedItemRegistrationConfiguration type="CartSwitchMode" useRegistrationCollector="false">
        <header configurationKey="CartContentFilter" automaticAcceptAfterLastScan="true" automaticAcceptOnOpen="true"/>
        <onSuccessfulPost close="true"/>
      </unplannedItemRegistrationConfiguration>
    </page>