By item grid do you mean the item list? And by available inventory do you mean a boolean field to confirm inventory available? If so presume operates the same way as the Inventory field in Nav in that your boolean would be ticked if Inventory non zero?
If so easy to do without creating new field. If not, please confirm what you mean.
As these are all calculated fields and assuming you do not want to field filter on the new data I would add a new column and include in the source expression for the new column as inventory -qty on sales order-qty on components. You will need to include the qty* fields on the list as well so that the calcfields is done.
Or create new global variable and on the OnAfterGetRecord section of code clear the new variable, calcfields and then calculate the new global. Add new global to columns
Make sense? I can create screen shots illustrating this and sent you a web shortcut to our web page if required. Just let me know which of the above options you prefer.
Hope this helps!
Just because you can do something doesn't mean you should. Have you given thought to the potential performance impact this will have to the item list. The performance issue will similar to why it is not recommended to overload list forms with flowfields. Your "Available Inventory" value will need to be calculated for each item being displayed in the list. As the list is scrolled, it will need to be calculated or recalculated for the additional items that show.
Yes I take your point re not doing something for the sake of it and avoiding too many flowfields as this causes database issues but sometimes you need data in one place and specific to your business. I was proposing as a solution collecting data 'on the fly' which minimises any database performance issues and allows the business to see data useful to them but has the disadvantage of now allowing data filters as the data does not exist on the relevant table. And sometimes the data required cannot be achieved through flowfields.
@bbrown performance is a valid worry, but it really depends. Things got far better with contemporary hardware and NAV tweaks than in 2005 for example. Currently e.g. a system where there are three people processing orders and two doing accounting, and has about a 10GB database, in NAV 2009 classic with modern hardware survives this kind of scenario really well.
In other words, performance is something one should test in a given scenario, and "invest" into important things, not simply one should always avoid to hit.
This kind of thing tends to be really important - it is usually order entry, making sales on the phone, talking to customers "we don't have X on inventory we can give you Y" - you know how most managers think sales is the first, second and third priority. So this deserves investing performance into.
Firstly, thanks for many informative replies here.
Just to reopen this discussion, it is the 'projected availability' figure that we wish to display on the items grid, and indeed we do wish for it to be filterable.
The reason being, we are very rarely able to re-order items easily on demand. Therefore, our sales guys are restricted to selling what is available in on-hand inventory. This from a NAV catalog of 10,000+ items.
Additionally, many of the sales orders involve customization of ATO BOM items.
Therefore, what I am looking to achieve is the ability for a salesperson to open the items grid from the sales order line/assemble order line and have it immediately filtered to show only items with inventory available, and indeed the quantity available.
Your input is kindly appreciated on the feasibility of this requirement, or indeed any alternative suggested workflows.
This would best be achieved through calling the inventory list form/page via code where the code checks for available stock as inventory less qty on sales etc. before showing the data.
Comments
By item grid do you mean the item list? And by available inventory do you mean a boolean field to confirm inventory available? If so presume operates the same way as the Inventory field in Nav in that your boolean would be ticked if Inventory non zero?
If so easy to do without creating new field. If not, please confirm what you mean.
Neil
Thanks for your reply.
I do indeed mean the item list.
And I mean the active 'available inventory' figure (inventory less qty on sales order & qty on assembly order).
Thanks
As these are all calculated fields and assuming you do not want to field filter on the new data I would add a new column and include in the source expression for the new column as inventory -qty on sales order-qty on components. You will need to include the qty* fields on the list as well so that the calcfields is done.
Or create new global variable and on the OnAfterGetRecord section of code clear the new variable, calcfields and then calculate the new global. Add new global to columns
Make sense? I can create screen shots illustrating this and sent you a web shortcut to our web page if required. Just let me know which of the above options you prefer.
Hope this helps!
Neil
Just in case private message response does not get through, please use the following email:
neil@fpconsult.co.uk
Neil
Yes I take your point re not doing something for the sake of it and avoiding too many flowfields as this causes database issues but sometimes you need data in one place and specific to your business. I was proposing as a solution collecting data 'on the fly' which minimises any database performance issues and allows the business to see data useful to them but has the disadvantage of now allowing data filters as the data does not exist on the relevant table. And sometimes the data required cannot be achieved through flowfields.
Anyway just some thoughts.
Neil
In other words, performance is something one should test in a given scenario, and "invest" into important things, not simply one should always avoid to hit.
This kind of thing tends to be really important - it is usually order entry, making sales on the phone, talking to customers "we don't have X on inventory we can give you Y" - you know how most managers think sales is the first, second and third priority. So this deserves investing performance into.
Just to reopen this discussion, it is the 'projected availability' figure that we wish to display on the items grid, and indeed we do wish for it to be filterable.
The reason being, we are very rarely able to re-order items easily on demand. Therefore, our sales guys are restricted to selling what is available in on-hand inventory. This from a NAV catalog of 10,000+ items.
Additionally, many of the sales orders involve customization of ATO BOM items.
Therefore, what I am looking to achieve is the ability for a salesperson to open the items grid from the sales order line/assemble order line and have it immediately filtered to show only items with inventory available, and indeed the quantity available.
Your input is kindly appreciated on the feasibility of this requirement, or indeed any alternative suggested workflows.
This would best be achieved through calling the inventory list form/page via code where the code checks for available stock as inventory less qty on sales etc. before showing the data.
Hope this helps.
Neil