====== Group Picklist Proposals ======
===== Overview =====
If there are multiple sales orders selected for the same customer/address, it is possible to group the lines of the sales orders on the same proposal if no picklist has been created yet.
Each time you create a new proposal, the system closes the existing one(s) and creates one new proposal for all the lines on the sales orders.
The function applies to
* Sales Order screen
* [[implementation:wms:screens_sales#open_sales_orders|Open Sales Orders screen]]
* [[implementation:wms:screens_inventory#picklist_proposal_manager|Picklist Proposal Manager screen]]
* [[implementation:wms:tools#robot_tool|Picklist Robot]] with related view: PMX_PICK_LIST_ROBOT_CREATE_PROPOSALS
===== Configuration =====
1. Open the Organizational Structure.
2. Go to Extension Parameters > Picklist Proposal Generator.
3. Select extension: Picklist Proposal Generator - Generates Picklist Proposals Grouped by Customer-Address
4. Enable the //Try to group items on 1 proposal? (Y/N)// setting.
{{ :implementation:functionalguide:controller_1_.png |Picklist Proposal Generator}}
===== Adding new line to sales order or creating stock for a sales order line =====
If you add new line to sales order or create stock for a sales order line which didn't have any, the following two options are possible:
* The system (the view) returns all sales order lines which were present in the already created picklist proposal, it closes the initial picklist proposal and creates a new picklist proposal which will contain the new line as well. \\ (This is the default behavior when creating proposal(s) from the Sales Order form.)
* The system (the view) does NOT return all sales order lines which were present in the already created picklist proposal, it keeps the initial picklist proposal and creates a new picklist proposal for the new line. \\ (This is the default behavior when creating proposal(s) with the Picklist Robot.)
**Example**
We have an initial sales order 101 and a generated picklist proposal 1001.
|sales order 101||initial picklist proposal 1001||
|Item A|10|Item A|10|
|Item B|20|Item B|20|
|Item C|10|Item C|10|
We add a new line to sales order with item D.
|sales order 101||
|Item A|10|
|Item B|20|
|Item C|10|
|Item D|30|
Option a) The system (the view) returns all items, it closes the initial picklist proposal 1001 and creates the new picklist proposal 1002.
|new picklist proposal 1002||
|Item A|10|
|Item B|20|
|Item C|10|
|Item D|30|
Option b) The system (the view) does NOT return all the original items, it does not close the initial picklist proposal 1001 and creates a new picklist proposal 1002 for the new line.
|initial picklist proposal 1001||new picklist proposal 1002||
|Item A|10|-|-|
|Item B|20|-|-|
|Item C|10|-|-|
|-|-|Item D|30|
===== Changing quantity on sales order =====
If you change the quantity on (a) sales order(s), the following two options are possible:
* The system (the view) returns all sales order lines which were present in the already created picklist proposal, it closes the initial picklist proposal and creates a new picklist proposal. \\ (This is the default behavior when creating proposal(s) from the Sales Order form.)
* The system (the view) does NOT return all sales order lines which were present in the already created picklist proposal, it keeps the initial picklist proposal and creates a new picklist proposal for the extra quantity. \\ (This is the default behavior when creating proposal(s) with the Picklist Robot.)
**Example 1**
We have an initial sales order and an initial picklist proposal with the same items and quantities:
|sales order 101||initial picklist proposal 1001||
|Item A|10|Item A|10|
|Item B|20|Item B|20|
|Item C|10|Item C|10|
We decide to increase the quantities for items B and C.
|sales order 101||
|Item A|10|
|Item B|20 + 5 = 25|
|Item C|10 + 5 = 15|
Option a) The system returns all items, it closes the initial picklist proposal 1001 and creates the new picklist proposal 1002.
|sales order||new picklist proposal 1002||
|Item A|10|Item A|10|
|Item B|25|Item B|25|
|Item C|15|Item C|15|
Option b) The system does not return all the original items, it does not close the initial picklist proposal 1001 because item A is not in the view. It keeps the initial picklist proposal 1001 and creates a new picklist proposal 1002 for the extra quantity.
|sales order||initial picklist proposal 1001||new picklist proposal 1002||
|Item A|10|Item A|10|-|-|
|Item B|25|Item B|20|Item B|5|
|Item C|15|Item C|10|Item C|5|
**Example 2**
We have two initial sales orders 101 and 102 and a generated picklist proposal 1001.
|sales order 101||sales order 102||initial picklist proposal 1001||
|Item A|10|-|-|Item A|10|
|Item B|20|-|-|Item B|20|
|Item C|10|-|-|Item C|10|
|-|-|Item D|30|Item D|30|
We decide to increase the quantities for items B, C and D.
|sales order 101||
|Item A|10|
|Item B|20 + 5 = 25|
|Item C|10 + 5 = 15|
|sales order 102||
|Item D|30 + 5 = 35|
Option a) The system returns all items, it closes the initial picklist proposal 1001 and creates the new picklist proposal 1002.
|new picklist proposal 1002||
|Item A|10|
|Item B|25|
|Item C|15|
|Item D|35|
Option b) The system does not return all the original items, it does not close the initial picklist proposal 1001 because item D is not in the view. It keeps the initial picklist proposal 1001 and creates a new picklist proposal 1002 for the extra quantity.
|initial picklist proposal 1001||new picklist proposal 1002||
|Item A|10|-|-|
|Item B|20|Item B|5|
|Item C|10|Item C|5|
|Item D|30|-|-|