How to set up Child UD Table of Standard Table

Thanks! I’ll check it out! This is kind of like the story of my Epicor life so far. I fart around with something until I finally am on the verge of being “capable” and then I learn that there’s a better way and start over!! :thinking:

So I tried this method. I love the concept. If I wasn’t trying to make an updatable grid, this would certainly be the easy way to do it. However, my original post has evolved into an updatable child UD table. We are using a table to track lower level serialized parts (for reference). We don’t want to “serial track” all our purchased parts. We just want to make a note of which serialized components go into which finished products.

Our strategy is to use a UD table that is a child of the SerialNo table. I have created a new tab that will display the children components that have serial numbers. All is well except that I can’t quite take it as far as I want. I have an updateable dashboard right now which seems like it’s the winner. But I want certain columns to be auto-populated. For instance, if I want to add a new row, I want the key and another column to populate based on the already entered key that is filtering my grid. I tried to use the mapping expression in the BAQ to do a lookup to ttResult but it wasn’t having it.

Any ideas how to get the columns to automatically use existing data from the filtered grid?

If it is a child table to the parent table, you could just use the Wizard. If you open the Script Editor under Tools -> Wizards there will be a Wizard to add a UD Table as a Child. Then you restart the form and you will see the UD Table as an EpiBinding, you can then create a Grid and bind to UDXX.

That’s the start, then you have to do some more code to get the full native experience, its just boilerplate.

EDIT

I am reading this post backwards, I see you got that far - good. So you have the boilerplate, now you need to modify the code to support everything it lacks - epicor’s wizard is old, it misses alot of stuff like RefreshTool… you have to add all that

Gotcha. Thanks!

So I finally have something I feel works for our needs. I ended up ditching all the “slick tricks” and just did a customization featuring an Ultragrid with a couple buttons. I modified Extended Properties to prevent directly editing the columns I am auto-populating.

The stock behavior of the Child UD Wizard had a few odd behaviors.It would delete all rows if you did not select any. I think this is because it’s relying on you to hit the Delete button to delete a row… but I added that method to the Delete button I created. So I was able to fix that.

It also would insert a row but not call the method of the GetNewUD13Record() when you hit Enter in the grid - which left a partially filled row that would never save. So I added a Cancel to the beforeRowInsert event and then called the GetNewUD13Record() method. Now when you hit Enter, it acts just like you would expect.

Thank you everyone who has commented and helped. I’ll have to figure out which is the closest to the solution :slight_smile:

This was the solution I went with. I struggled a bit with it because I didn’t realize I had to close and re-launch to bind it and then close and re-launch to see the collection in the grid to modify columns. But this ended up being the most straightforward option.