In that case a new table like you were trying to create is how I would try & do it.
when I mentioned temp table I was really thinking a seperate table that would hold the inputed data temporarily untill it was ready to go. I'm not sure why your copy of the item table is giving you fits. but maybe if you delete all the unnecessary fields on your item table copy it will be easier.
How are you handling the situation if the item number they use already exists?
Honestly - I'm too new to C/AL to be able to diagnose the issue here - and the docs are of no help.
I think I may just try to start over. I had originally created the form to look at the Item table, and then changed it when I realized that my first Idea wasn't going to work. I wonder if there are some lingering references there.
How are you handling the situation if the item number they use already exists?
Sometimes I need to take a step back and re-think the solution. There are alot of good ideas in this post perhaps a combination of some will bring you to your final answer.
Sometimes it's hard to visualize what someone is doing right/wrong from a few posts.
Just create the new table and entry form and once that's done you can worry about the c\al code needed to transfer the info.
Why would you want to let the users create items in another table (or in memory) and then transfer it to the real item-table?
If you use another table (or memory), you will have a lot of work getting it work.
It is better (like Savatage said) to create them as blocked. This limits the changes you have to make. And you keep the logic of Navision.
Regards,Alain Krikilion No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
1. Create a spreadsheet-like interface that allows tab-and-enter data entry of new items. The plant managers do not like the native Navision interface - they think it takes too long to create a new item.
2. The system should be able to create one or many new items at a time.
3. No user should see any items other than those that they are working on at the current time. No previous items, and no items that are being created by other users should be shown.
Personally - I don't want the users entering data into the live 'Items' table because:
1. I need to validate their entries, which suggests having the record create itself as they're typing (Delayed Insert -> Off)... but -
2. I don't want the possibilty of junk records (if the user starts entering, but then stops or realizes that it's wrong).
This has lead me to 2 possibilities -
1. Using a temporary table. I know how to create them, but I can find no good documentation on how to use them. I'd love to use this, and hold all of the records on the client - even though it's heavier - because it ensures separation both from the live Items table, and from other clients. I can't find any way of doing so, though.
2. Creating a holding tank - a clone of the Items table. Have the client work against this, and clear out all of their records whenever they click a button ("OK", "Create Items", etc...).
I'm just cynical - I've been programming too long, and I don't trust users to do anything correctly .
I like the idea to create Items as blocked, and write a workflow process to validate them. Make the Blocked field not editable and write a function to unblock them. Add a 'Validate Items' boolean field to User Setup and only allow users that have this checked to validate Items.
If users need to enter massive numbers of Items at a time I understand that they prefer a sheet type form. Otherwise I'd suggest fo them to just accept the way it works. You could make a copy of the Item List form, and make it editable. The field validation should still work that way, and you can give your users a spreadsheet type of data entry form.
You can keep the code I gave you.
Add in it that the item is created as blocked and and add also a field as WHO has is working on it but didn't confirm it yet.
Add a function to confirm items (= unblock the item and blank the field who is working on it).
When opening the form, put a filter (in FILTERGROUP 6) on blocked and WHO is working on it.
In this way you don't need the MARKED-flag anymore.
I think this is the best way between ease of programming and working area.
Regards,Alain Krikilion No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
I said it once, but I think it is worth repeating, use the non-stock feature. It is made for this and with just a little modification would do exactly what you want.
The item Category table contains the defaults that the non-stock card uses to fill item card entries. You expand this table to include a few more fields to default. We have it default the following fields when creating the item card.
We have modified the non-stock card to put all the critical items on one tab, So the user
Enters:
Manuafature code
Vendor No.
Vendor Item No
Description
Unit of measure
Cost
List price
Item Category
The non-stock table has many more fields you can use (the above is all we need) such as net weight, gross weight, barcode, product group codes. You can add more if you need, pretty easily.
We have the fields validated as they are entered, and a button on the bottom, says, “Create Item”, when they have entered the basic information, they press the button and Navision creates the items, Navision validation takes care of making sure everything is there and correct. The item category code, insures all the defualts are valid.
You could add a user id to the non-stock table then filter the form to only show items the user has created, Once the item has been created Navision populates the field ”Item No” in the non-stock table with the number that was created, so you could filter your form so that it only shows records that had a null value for “Item No” this would make the records disappear once they were created. (they would still be in the non-stock table, in case you ever needed to see them, and they can be deleted without problem)
The non-stock list can be editable and you could make it your tabular form. This would involve no new tables, no temp tables, very little modification to standard code, thus making upgrading easier.
Your big set up involve making the item category codes and the defaults, once that is done, it doesn’t take any additional maintenance
Amazing how your mindset can be warped by all the custom stuff that you do. Themave is right, that is exactly what non-stock items are made for, and would be perfect for your need, mabe with a little bit of tweaking.
I'm looking into the idea of using non-stock items. I had intended to use them for a different purpose, and didn't want to muddy the waters - but it's apparent that I'm not being heard on that issue, so I may be able to use them after all.
Thanks all. I've been pulled off of this and told to work on something else ](*,), so I'll try that as soon as I can get back to this issue.
I've been pulled off of this and told to work on something else ](*,), so I'll try that as soon as I can get back to this issue.
That's funny, You brainstorm & brainstorm and just when your at the end - they say forget it for now.
Reminds me of a customer who wanted to go EDI with us immediately. So I spent hours & hours mapping imports & exports & setting up there item#'s, ship-to's, etc etc. After I was done I asked for them to send me a test PO..that was 5 months ago.
The worst part about that is once they take it off their backburner, I have to go over everyhing I did to refresh my memory. It's like doing the project twice. #-o
I managed to convince everyone that this was not the best way to do it.
They, however, did not like the use of the "nonstock" option, so I had to throw that out.
I have created a new tab on the item card with all of the necessary fields, in tab order of importance, and grouped them. I've eliminated unnecessary fields by hiding frames based on user selections. It is working, and has been received well.
Note I created a similar table form for mass entry. Now one of the easiest ways to make item entry easy is to create an Add/Change Tab
I've added it to the end of all the tabs so not to be accidentally entered & changes by mistake. Most of the other tabs you cannot make any changes to fields you need to go into this tab.
On this tab I have all the Necessary Fields for us when adding an item.
Usually when we get a new item a "Paper" new item form is filled with the important info then this form is in the SAME order as the Navision form so anyone can do it without messing it up.
I remember you writing that - it's actually the reason I suggested it.
This is what it looks like. I've wrapped up some functionality that would normally take 2 or 3 steps into checkboxes, and set up the Replenishment area so that it hides the Manufacturing information (all in one frame) when you select "Purchase", and vice versa.
Answers
when I mentioned temp table I was really thinking a seperate table that would hold the inputed data temporarily untill it was ready to go. I'm not sure why your copy of the item table is giving you fits. but maybe if you delete all the unnecessary fields on your item table copy it will be easier.
How are you handling the situation if the item number they use already exists?
http://www.BiloBeauty.com
http://www.autismspeaks.org
Honestly - I'm too new to C/AL to be able to diagnose the issue here - and the docs are of no help.
I think I may just try to start over. I had originally created the form to look at the Item table, and then changed it when I realized that my first Idea wasn't going to work. I wonder if there are some lingering references there.
Thanks again.
Sometimes I need to take a step back and re-think the solution. There are alot of good ideas in this post perhaps a combination of some will bring you to your final answer.
Sometimes it's hard to visualize what someone is doing right/wrong from a few posts.
Just create the new table and entry form and once that's done you can worry about the c\al code needed to transfer the info.
http://www.BiloBeauty.com
http://www.autismspeaks.org
If you use another table (or memory), you will have a lot of work getting it work.
It is better (like Savatage said) to create them as blocked. This limits the changes you have to make. And you keep the logic of Navision.
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
The requirements of this are as follows -
1. Create a spreadsheet-like interface that allows tab-and-enter data entry of new items. The plant managers do not like the native Navision interface - they think it takes too long to create a new item.
2. The system should be able to create one or many new items at a time.
3. No user should see any items other than those that they are working on at the current time. No previous items, and no items that are being created by other users should be shown.
Personally - I don't want the users entering data into the live 'Items' table because:
1. I need to validate their entries, which suggests having the record create itself as they're typing (Delayed Insert -> Off)... but -
2. I don't want the possibilty of junk records (if the user starts entering, but then stops or realizes that it's wrong).
This has lead me to 2 possibilities -
1. Using a temporary table. I know how to create them, but I can find no good documentation on how to use them. I'd love to use this, and hold all of the records on the client - even though it's heavier - because it ensures separation both from the live Items table, and from other clients. I can't find any way of doing so, though.
2. Creating a holding tank - a clone of the Items table. Have the client work against this, and clear out all of their records whenever they click a button ("OK", "Create Items", etc...).
I'm just cynical - I've been programming too long, and I don't trust users to do anything correctly
If users need to enter massive numbers of Items at a time I understand that they prefer a sheet type form. Otherwise I'd suggest fo them to just accept the way it works. You could make a copy of the Item List form, and make it editable. The field validation should still work that way, and you can give your users a spreadsheet type of data entry form.
RIS Plus, LLC
Add in it that the item is created as blocked and and add also a field as WHO has is working on it but didn't confirm it yet.
Add a function to confirm items (= unblock the item and blank the field who is working on it).
When opening the form, put a filter (in FILTERGROUP 6) on blocked and WHO is working on it.
In this way you don't need the MARKED-flag anymore.
I think this is the best way between ease of programming and working area.
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
The item Category table contains the defaults that the non-stock card uses to fill item card entries. You expand this table to include a few more fields to default. We have it default the following fields when creating the item card.
Default – Gen Product Posting group, Inventory posting group, tax group, tax prod posting group, costing method, item tracking code, item/cust disc group
We have modified the non-stock card to put all the critical items on one tab, So the user
Enters:
Manuafature code
Vendor No.
Vendor Item No
Description
Unit of measure
Cost
List price
Item Category
The non-stock table has many more fields you can use (the above is all we need) such as net weight, gross weight, barcode, product group codes. You can add more if you need, pretty easily.
We have the fields validated as they are entered, and a button on the bottom, says, “Create Item”, when they have entered the basic information, they press the button and Navision creates the items, Navision validation takes care of making sure everything is there and correct. The item category code, insures all the defualts are valid.
You could add a user id to the non-stock table then filter the form to only show items the user has created, Once the item has been created Navision populates the field ”Item No” in the non-stock table with the number that was created, so you could filter your form so that it only shows records that had a null value for “Item No” this would make the records disappear once they were created. (they would still be in the non-stock table, in case you ever needed to see them, and they can be deleted without problem)
The non-stock list can be editable and you could make it your tabular form. This would involve no new tables, no temp tables, very little modification to standard code, thus making upgrading easier.
Your big set up involve making the item category codes and the defaults, once that is done, it doesn’t take any additional maintenance
RIS Plus, LLC
http://www.BiloBeauty.com
http://www.autismspeaks.org
Thanks all. I've been pulled off of this and told to work on something else ](*,), so I'll try that as soon as I can get back to this issue.
That's funny, You brainstorm & brainstorm and just when your at the end - they say forget it for now.
Reminds me of a customer who wanted to go EDI with us immediately. So I spent hours & hours mapping imports & exports & setting up there item#'s, ship-to's, etc etc. After I was done I asked for them to send me a test PO..that was 5 months ago.
The worst part about that is once they take it off their backburner, I have to go over everyhing I did to refresh my memory. It's like doing the project twice. #-o
http://www.BiloBeauty.com
http://www.autismspeaks.org
RIS Plus, LLC
If you're ever in Louisville - I owe you a beer. Or a bourbon - after all - it's only made in Kentucky.
I got a 16,000 line sales order posting...I got time - LOL!
Look at how many different ways we came up with - perhaps it will help someone seaching in the future for the same topic.
it's all good O:)
http://www.BiloBeauty.com
http://www.autismspeaks.org
I managed to convince everyone that this was not the best way to do it.
They, however, did not like the use of the "nonstock" option, so I had to throw that out.
I have created a new tab on the item card with all of the necessary fields, in tab order of importance, and grouped them. I've eliminated unnecessary fields by hiding frames based on user selections. It is working, and has been received well.
Thanks again!
It actually is a good solution - we love it here.
http://www.BiloBeauty.com
http://www.autismspeaks.org
This is what it looks like. I've wrapped up some functionality that would normally take 2 or 3 steps into checkboxes, and set up the Replenishment area so that it hides the Manufacturing information (all in one frame) when you select "Purchase", and vice versa.
http://www.geocities.com/rws5344/QuickSetup.png
Thanks again.
http://www.BiloBeauty.com
http://www.autismspeaks.org