Customize Sub Form? 10.2.300

We are currently upgrading from 10.1.500.35 to 10.2.300.4. We have a few customized sub forms, in Quote Entry -> Actions -> Create Sales Order … (Quote Order Wizard Form) and Receipt Entry ->Actions -> Mass Receipt (Mass Receipts Form). In 10.1.500 these customization appeared in menu maintenance under the parent form, Quote Entry and Receipt Entry. Now in 10.2.300 I do not see these sub form customizations in menu maintenance. How do we activate the sub form customization in 10.2.300?

Maybe this will help?

Note: I’m not on 10.2.300 so it’s just a guess

Where do I find the program name associated with the Mass Receipts form? I don’t get a Process Calling dialog popup in developer mode.

hmm. Are you able to go into dev mode on Mass Receipts I assume? There’s a form name in there. Let me poke around

Yes, already done the customizations in 10.1.500. Erp.UI.App.ReceiptEntry.MassReceiptsForm

I just remember I don’t have a 10.2.300 environment, so I can’t test for you. Sorry

I managed to get it working. I created a customization on the main form, nothing customized, with the same name used on the sub form customization. Select the customization on the main form in menu maintenance and everything worked. I did not need to do that in 10.1

Sure? I remember having to have to do that in 10.0 as well.

Is that because the customization would be applied to any/all forms within that assembly?

I think of it more as a call chain. When we start a program from the menu, there are multiple entry points (base, customizations, etc.). The menu has the customization included when starting the main form but when a subform is called (potentially the same subform across multiple commands), there needs to be a way to pass the customization entry point to the subform. It appears to me that Epicor passes along the customization of the parent to the calling form and that’s why you have to create a “blank” customization so it can pass it to any other subforms it may call. At least that’s how it seems to work in my head.

Mark W.

1 Like

When a new Form is called from a currently running UI, there are two paths to opening the second form.

If the second Form is part of another DLL, opening that form passes through the Process Calling logic where the UI Framework is given control and Menu Security and the Menu Options can be applied. When going through that path, there is a “hook” (the menu record) for specifying the Customization to load.

If the second Form is just another entry point in the same DLL as the original UI, the UI Framework does not get control so it is not possible to apply additional Security (you are already running the DLL) and there is no “hook” point where the Framework can deflect to a specified Menu record. As a result, the only thing we can do is load a Customization with the same name as the Customization on the Parent Form. This behavior has existed since the early days of Vantage 8.0.

3 Likes

Thanks for the info, makes sense now.