Now, there is one thing about WMS that puzzles me: If you take for example a sales order without ‘Require shipment’ on location, one could change the ‘Qty. to Ship’ on the Sales Line. When dealing with ‘Require shipment’ location ‘Qty. to Ship’ on Sales Line is not used; shipping is done with Warehouse Shipment. However, the qtys. on Warehouse Shipment Lines are not editable. It is an all or nothing deal. The only way to partially ship is not to have the item availabe to pick. Inspecting the code that governs creation of Warehouse Shipment, there is some functionality that actually expects partial quantities, however it does not work correctly. It fails because it wants to combine apples and oranges - in other words, is not aware of unit of measure. By changing the piece of code in codeunit 5750: //VALIDATE(Quantity,ABS(SalesLine.“Outstanding Quantity” - SalesLine.“Whse. Outstanding Qty. (Base)”)); //original Navision 4.0 VALIDATE(Quantity, ABS(SalesLine.“Outstanding Quantity” - SalesLine.“Whse. Outstanding Qty. (Base)” / SalesLine.“Qty. per Unit of Measure”)); //suggested change and also setting field ‘Quantity’ in Warehouse Shipment Line editable, it is now possible to change quantity in W. S. Line and acctually make parital shipments. As far as I’ve tested everything seems to work well (tested with directed put and pick location). Still, I’m wondering why this is not icluded in Navision by default, why the obvious error in code - not being aware of different unit of measure? Anyone tried this or would like to test it? Any comments on what could go wrong? This was all done in navision 4.0, but I checked the code in 3.6, it looks the same. Kind regards and thanks for any feedback, Marko
Hi Marko From the warehouse shipment you can create picks and pick partial amounts depending upon your settings, this then sets the quantity to ship correctly and part ships. Without knowing all your settings and what you are trying to achieve it is a little difficult to comment, but the idea of the warehouse shipment from my memory is to create the pick, this depending upon configurations picks what is there, this is registered, updating the quantity to ship on the warehouse shipment and then you partially ship the order.
I changed in our system codeunit 5750 to only create a warehouse shipment for items on sales lines that are reserved on inventory and only for the reserved qty’s. Sometimes it’s possible that we have for example 20 pcs on inventory and a number of sales orders for this item. The people that organize the shipments can controle how many pieces are going to each customer based on priority or location of the customer. This is easy to controle by the standard reservation system.