Adding new Planned function (Windows Mobile)
What is a Planned function
A Planned function is designed to work with "Document" like Receive, Pick etc.
It can however be any custom data entity as well.
It's counter-part is Ad-hoc functions like Unplanned Move and Unplanned Count.
How to add a new Planned function
There are four parts to a Planned function
- Service Manager - A system definition
- Filter - The filter screen is the first thing the user will see when selecting from the Main menu
- Order List - The list screen the user will select the primary entity (Order)
- Order Line - The list screen the user will select the secondary entity (Line)
In this example shows how to add a Planned function called "NewFeature".
To setup the function add the new ServiceManager
service in app.config
and move the NewFeature
service configuration into the list of <services>
provided by the manager.
<add type="TaskletFactory.WMS.Services.ServiceManager, TaskletFactory.WMS.Services.Base" factory="TaskletFactory.WMS.Services.ServiceManagerFactory, TaskletFactory.WMS.Services.Base" startup="true"> <configuration xmlns="http://schemas.taskletfactory.com/MDMF/MobileWMS/Services/2015/01/ServiceManagerConfiguration.xsd"> <services> <add id="NewFeature"> <configuration xmlns="http://schemas.taskletfactory.com/MDMF/MobileWMS/Services/2009/01/ServiceConfiguration.xsd"> <DatabaseName>AppDatabase</DatabaseName> <PostOrderRequestDocumentName>PostNewFeatureOrder</PostOrderRequestDocumentName> <GetOrdersRequestDocumentName>GetNewFeatureOrders</GetOrdersRequestDocumentName> <GetFilteredOrdersRequestDocumentName>GetFilteredNewFeatureOrders</GetFilteredOrdersRequestDocumentName> <GetOrderLinesRequestDocumentName>GetNewFeatureOrderLines</GetOrderLinesRequestDocumentName> <GetBackendInfoRequestDocumentName>GetBackendInfo</GetBackendInfoRequestDocumentName> <LockOrderRequestDocumentName>LockOrder</LockOrderRequestDocumentName> <UnlockOrderRequestDocumentName>UnlockOrder</UnlockOrderRequestDocumentName> <UseOrderLocking>true</UseOrderLocking> <ScanBehaviourWhenRegisteringQuantity>SCAN_NEXT_ITEM</ScanBehaviourWhenRegisteringQuantity> <DataSource>ONLINE</DataSource> <ExpirationDateSeparator>,</ExpirationDateSeparator> <BarcodeSeparator>;</BarcodeSeparator> <AddOrderLineRequestDocumentName>AddOrderLine</AddOrderLineRequestDocumentName> <AutoPostWhenAllLinesComplete>true</AutoPostWhenAllLinesComplete> <ServiceType>NewFeature</ServiceType> </configuration> </add> </services> </configuration> </add>
Tasklet Configuration
Edit UserRole.xml
Add Filter page
Add the following
<tasklet name="NewFeatureFilter" text="NewFeature filter" type="TaskletFactory.WMS.Tasklets.GenericFilter, TaskletFactory.WMS.Tasklets.Filter"> <configuration> <appSettings> <add key="okMenuItem" value="filterMenuOk"/> </appSettings> <filterConfiguration> <service id="NewFeature" /> </filterConfiguration> </configuration> <actions> <open name="filterMenuOk" tasklet="NewFeatureList" priority="110" text="OK_" context=""></open> <exitTasklet name="unplanRegMenuBack" text="Back" priority="1" icon="Arrow Left.bmp" context="The text on the softkey that goes back to the previous tasklet"></exitTasklet> </actions> </tasklet>
The important bits here are type="TaskletFactory.WMS.Tasklets.GenericFilter, TaskletFactory.WMS.Tasklets.Filter"
and the <filterConfiguration>
element containing the service reference.
Below follows the configuration for the order list, order lines and registration tasklets. For all of these it is a matter of instantiating the correct generic type and referencing the service by id
.
Add Order List
<tasklet name="NewFeatureList" text="NewFeature orders" icon="NewFeature.bmp" type="TaskletFactory.WMS.Tasklets.GenericOrderList, TaskletFactory.WMS.Tasklets.OrderList"> <configuration> <appSettings> ... </appSettings> <orderListConfiguration xmlns="http://schemas.taskletfactory.com/MDMF/MobileWMS/Tasklets/2013/08/OrderListConfigurationSection.xsd"> <service id="NewFeature" /> </orderListConfiguration> <listConfiguration xmlns="http://Schemas.TaskletFactory.com/MDMF/Platform/Controls/2008/10/CustomizableList.xsd"> ... </listConfiguration> </configuration> <actions> ... </actions> </tasklet>
Add Order Lines
<tasklet name="NewFeatureOrderLines" text="NewFeature order lines" icon="NewFeature.bmp" type="TaskletFactory.WMS.Tasklets.GenericOrderLines, TaskletFactory.WMS.Tasklets.OrderLines"> <configuration> <appSettings> ... </appSettings> <shortcut enabled="true"> ... </shortcut> <orderLineConfiguration xmlns="http://Schemas.TaskletFactory.com/MDMF/Platform/Tasklets/2009/01/OrderLineConfiguration.xsd"> <service id="NewFeature" /> ... </orderLineConfiguration> <listConfiguration xmlns="http://Schemas.TaskletFactory.com/MDMF/Platform/Controls/2008/10/CustomizableList.xsd"> ... </listConfiguration> </configuration> <actions> ... </actions> <outputMappings> ... </outputMappings> </tasklet>
Add Registration
<tasklet name="Registrations_NewFeature" text="Registrations" icon="Notepad.bmp" type="TaskletFactory.WMS.Tasklets.GenericRegistration, TaskletFactory.WMS.Tasklets.RegistrationTasklet"> <configuration> <appSettings> ... </appSettings> <registrationConfiguration xmlns="http://Schemas.TaskletFactory.com/MDMF/MobileWMS/Tasklets/2015/01/RegistrationConfiguration.xsd"> <service id="NewFeature"/> </registrationConfiguration> <listConfiguration xmlns="http://Schemas.TaskletFactory.com/MDMF/Platform/Controls/2008/10/CustomizableList.xsd"> ... </listConfiguration> </configuration> <actions> ... </actions> </tasklet>