Basic customization - something disabling my checkbox

I’m fairly new to Epicor and I’ve only dabbled a bit with customizations - mostly making minor mods to existing ones.

Production wants a checkbox on Job Entry that we can manually check when we print a traveler for a sub-assembly. There’s a timestamp field, but it’s too generic. We need to know if a traveler has been printed for each sub. At present, we just want to indicate it manually. Simple, right?

Well, my checkbox - bound to a UD field on JobAsmbl - will go disabled whenever you select an assembly in the treeview that has no subs underneath it. I’d love to know what’s driving that behavior, and/or a clean way to fix/offset it.

My instinct is to add event handlers and just set the enabled to true as much as it takes. But I don’t know if those instincts are good. I’m reading about row/rule wizards, but getting tripped up. I’ve done a bit of .net in a former life, but the customization interface is still bewildering to me.

Can someone put me on the correct path?

JobAssmbl is your sub assembiles if the dataview has no sub assemblies then there is no row to be bound to and it will be read only. Were you looking for the checkbox to be checked on each sub if so then that is what you have and it’s behaving right. If you wanted it to be check able at the parent then you have the UD field on the wrong table.

I see what you are saying… I am selecting a node that has no sub-assemblies (no child rows), hence no data to bind to. But on what table does it belong then? I am trying to refer to each sub-assembly in a job whether it has children or not.

So to confirm you are looking for the checkbox to be on this tab as it relates to this information here.

Correct - that is the screen on which the flag will appear, ideally.

That is the CurrAssm not the JobAssm but it appears that is also bound to the JobAsmbl adapter data.
Look in that dataview on your binding for the same UD field see if it’s there.

this.currentAssyView.dataView = new DataView(jobAdapter.JobEntryData.JobAsmbl); 

Ah! So simple. Thank you very much!

To be clear, for posterity - I just had to change the binding on my control to use the CurrAsm dataview instead of JobAsmbl. Thanks again, Joshua.

Except now the top level assembly is disabled. I guess at level 0 it does not use the CurrAsm dataview? Can the EpiBinding be changed on the fly, or would I need a new control? They also want to be able to click the box without un-engineering the job…

You would need another control is my guess with a binding at the job head level that’s assm 0 as far as I can recall. When it comes to checking without unengineering I believe there is a value at the company settings that let’s you modify engineered jobs that you would need to enable or you’ll have to hit BPMs to make that work.