# Launch customized form code

**URL:** <https://www.epiusers.help/t/launch-customized-form-code/62207>\
**Category:** Epicor ERP 10\
**Tags:** customization\
**Created:** [November 26, 2019, 10:10am UTC](https://www.epiusers.help/t/launch-customized-form-code/62207 "2019-11-26T10:10:39Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![pawel.malicki](https://www.epiusers.help/user_avatar/www.epiusers.help/pawel.malicki/32/67408_2.png) [@pawel.malicki](https://www.epiusers.help/u/pawel.malicki)\
**Post date:** [November 26, 2019, 10:10am UTC](https://www.epiusers.help/t/launch-customized-form-code/62207/1 "2019-11-26T10:10:39Z")

</div>

Hello.  
I’m working on customization where I prepared customized Customer form and Case Entry form.  
In the Case Entry I have button that should launch customized Customer form. Is it any other way to do it than adding new menu item for customized Customer?

---

<div class="post-metadata">

**Author:** ![A.Baeisa](https://www.epiusers.help/user_avatar/www.epiusers.help/a.baeisa/32/8988_2.png) [@A.Baeisa](https://www.epiusers.help/u/A.Baeisa)\
**Post date:** [November 26, 2019, 10:31am UTC](https://www.epiusers.help/t/launch-customized-form-code/62207/2 "2019-11-26T10:31:35Z")

</div>

if you disable the new created Customer menu item (with this Customer customized form), then the only access to it will be your button on the Case Entry form

---

<div class="post-metadata">

**Author:** ![pawel.malicki](https://www.epiusers.help/user_avatar/www.epiusers.help/pawel.malicki/32/67408_2.png) [@pawel.malicki](https://www.epiusers.help/u/pawel.malicki)\
**Post date:** [November 26, 2019, 10:36am UTC](https://www.epiusers.help/t/launch-customized-form-code/62207/3 "2019-11-26T10:36:00Z")

</div>

Thanks for solution but that was not what I’m looking for. I would like to avoid creating mess. Of course sometimes it’s needed because there is no straight way but at first I need to make sure.

---

<div class="post-metadata">

**Author:** ![dhewi](https://www.epiusers.help/user_avatar/www.epiusers.help/dhewi/32/14166_2.png) [@dhewi](https://www.epiusers.help/u/dhewi)\
**Post date:** [November 26, 2019, 11:00am UTC](https://www.epiusers.help/t/launch-customized-form-code/62207/4 "2019-11-26T11:00:56Z")

</div>

Here’s how you can do it from within customization code for CRMCallEntry (because that’s what I have to hand).

```auto
Erp.UI.App.CRMCallEntry.CRMCallArgs callargs = new Erp.UI.App.CRMCallEntry.CRMCallArgs(
					strRelatedToFile,
					strKey1,
					strKey2,
					strKey3,
					strCallSeqNum,
					strCustID
					);
ProcessCaller.LaunchCallbackForm(oTrans, menuID, callargs);

```

You’ll need the reference to the right UI form dll and to assemble the right CallArgs object for the form you want. “menuID” is whichever menu ID you already have working elsewhere.

---

<div class="post-metadata">

**Author:** ![hkeric.wci](https://www.epiusers.help/user_avatar/www.epiusers.help/hkeric.wci/32/52019_2.png) [@hkeric.wci](https://www.epiusers.help/u/hkeric.wci)\
**Post date:** [November 26, 2019, 11:03am UTC](https://www.epiusers.help/t/launch-customized-form-code/62207/5 "2019-11-26T11:03:35Z")

</div>

You can always create a New Menu ID under Processes section of the tree in Menu Maintenance, so it won’t show up on Menu selection, but then you can call it via code.

Is there a way to call it without adding it, I am sure one could debug what Epicor calls when you enter Customization Mode and select a layer. I believe its possible, I just haven’t taken the time to debug it, because I always use the Menu Maintenance instead, because layer names change and relying on a special layer name is more fragile than adding a Menu Item under Processes section in Menu Maintenance – Plus then you can re-purpose the same Menu ID everywhere easily, without hardcoding layer names.

![image](https://epiusers.help/uploads/default/original/3X/4/4/4420d93492684b34cac999045d02a066659adf19.png)

### Custom Processes

I even see a Custom Processes folder, even better - you can add them to that.  
 ![image](https://epiusers.help/uploads/default/original/3X/0/9/092f051168d455c77d59c371ec3a081c8b2bd459.png)

---

<div class="post-metadata">

**Author:** ![pawel.malicki](https://www.epiusers.help/user_avatar/www.epiusers.help/pawel.malicki/32/67408_2.png) [@pawel.malicki](https://www.epiusers.help/u/pawel.malicki)\
**Post date:** [November 26, 2019, 12:01pm UTC](https://www.epiusers.help/t/launch-customized-form-code/62207/6 "2019-11-26T12:01:39Z")

</div>

Thanks for your commitment Daryl!  
Unfortunately I getting error playing around different variations of method names.

`Erp.UI.App.CustomerEntry.CustomerEntryArgs`  
The type or namespace name ‘CustomerEntryArgs’ does not exist in the namespace ‘Erp.UI.App.CustomerEntry’ (are you missing an assembly reference?)

Do you have access to any documentation of it or more complex Object Browser than Epicor provided?

---

<div class="post-metadata">

**Author:** ![dhewi](https://www.epiusers.help/user_avatar/www.epiusers.help/dhewi/32/14166_2.png) [@dhewi](https://www.epiusers.help/u/dhewi)\
**Post date:** [November 26, 2019, 12:42pm UTC](https://www.epiusers.help/t/launch-customized-form-code/62207/7 "2019-11-26T12:42:51Z")

</div>

I’m afraid I don’t.

I use trial and error, trace logs and, when desperate, a decompiler (which isn’t usually as helpful as you’d think it should be). In this case the best option is probably to turn on trace logging, right-click “open with” to the Customer Entry screen, and see what’s in the trace.

---

<div class="post-metadata">

**Author:** ![hkeric.wci](https://www.epiusers.help/user_avatar/www.epiusers.help/hkeric.wci/32/52019_2.png) [@hkeric.wci](https://www.epiusers.help/u/hkeric.wci)\
**Post date:** [November 26, 2019, 12:54pm UTC](https://www.epiusers.help/t/launch-customized-form-code/62207/8 "2019-11-26T12:54:20Z")

</div>

> [@pawel.malicki](#):
>
> (are you missing an assembly reference?)

Usually that means you have to Reference the CustomerEntry Assembly, in the Customization Tools Dialog under **Tools → Assembly Reference Manager**

![image](https://www.epiusers.help/uploads/default/original/3X/e/0/e0325ab3f3853739665f15791b00f7a4bd9c96ca.png)

CustomerEntryArgs inherits LaunchFormOptions and is defined actually in the Adapter **Erp.Adapters.Customer.dll**  
[https://www.epiusers.help/search?q=launchformoptions](https://www.epiusers.help/search?q=launchformoptions)

You could even reference it all much easier by using the Wizard:  
 ![image](https://www.epiusers.help/uploads/default/original/3X/d/4/d42aaabc990f62fc8ac34381efb725096f727636.png)  
 ![image](https://www.epiusers.help/uploads/default/original/3X/1/d/1d16f3e6ece0ffdfc779139ab676b919c20c2163.png)

---

<div class="post-metadata">

**Author:** ![pawel.malicki](https://www.epiusers.help/user_avatar/www.epiusers.help/pawel.malicki/32/67408_2.png) [@pawel.malicki](https://www.epiusers.help/u/pawel.malicki)\
**Post date:** [November 27, 2019, 12:23pm UTC](https://www.epiusers.help/t/launch-customized-form-code/62207/9 "2019-11-27T12:23:42Z")

</div>

Hello.  
Thank you everyone for help!  
Going through new menu item seems to be the best option for me. I will get some more control on it after when I will apply customization in new environment.

---

<div class="post-metadata">

**Author:** ![Vincent](https://www.epiusers.help/user_avatar/www.epiusers.help/vincent/32/26893_2.png) [@Vincent](https://www.epiusers.help/u/Vincent)\
**Post date:** [July 26, 2024, 2:35pm UTC](https://www.epiusers.help/t/launch-customized-form-code/62207/10 "2024-07-26T14:35:00Z")

</div>

Is that possible to call a UD Form which i have some customization inside to perform the dispatching Req and Approval process, and I would like this this schedule in process.
