Launch dashboard or a menu item from Configurator

Hello all,

did anyone tried launching a dashboard or menu item from configurator (runtime) button click event?

if so, could you please give me some pointers?

below is the code i tried, but not working very well.

i am in E10 … what one unusual thing i did is, i copied across EpiClientLib.dll from client to server assemblies folder, added the EpiClientLib.dll reference in Page Load event of the configurator, so that I could access Ice.Lib.Framework.

under button click event in configurator, here is the code i am playing…

Ice.Lib.Framework.LaunchFormOptions formOptions = new Ice.Lib.Framework.LaunchFormOptions();
formOptions.IsModal = false;
Ice.Lib.Framework.ProcessCaller.LaunchForm(this.Refresh,“UDCRMPGl” ,formOptions);
//Ice.Lib.Framework.UIReflector ui = Ice.Lib.Framework.ProcessCaller.LaunchCallbackForm(this.Refresh, “Erp.UI.CRMCallEntry.dll”, formOptions);

//UDCRMPGI is a process menu item which calls “Erp.UI.CRMCallEntry.dll”

thank you for your time.

I don’t understand why you copied the EpiClientLib to the Server Assemblies folder… that won’t work there are a ton of dependencies, further more the configurator RunTime runs client side, you should be able to just do the below without moving any DLL’s around

Ice.Lib.Framework.ProcessCaller.LaunchForm(this,“OMMT3001”);

The issue is that as far as I can tell there is no object in the current Context that implements ILauncher or Session so that LaunchForm can work.

Hi @josecgomez.trigemco, thanks for your prompt response. Tried calling the Job Tracker menu

Ice.Lib.Framework.ProcessCaller.LaunchForm(this,“SVGO0012”);

But system raised error saying “menu id not valid for current user”. there is no security restriction in our system for job tracker . anyone can access it. Donno why it says that error. It is the same case if i call any other menu item from main menu or process menu.

therefore tried calling the form as

Ice.Lib.Framework.ProcessCaller.LaunchForm(this,“Erp.UI.JobTracker.dll”);

system raised error saying “Invalid request – object Sender must be Core.Session or implement ILaunch”

(Exception caught in: Ice.Lib.EpiClientLib

Error Detail

Message: Invalid request – object Sender must be Core.Session or implement ILaunch
Program: Ice.Lib.EpiClientLib.dll
Method: GetSessionFromSender

Client Stack Trace

at Ice.Lib.Framework.FormFunctions.GetSessionFromSender(Object sender)
at Ice.Lib.Framework.EpiBaseAdapter.get_Session()
at Ice.Lib.Framework.EpiBaseAdapter.BOConnect()
at Erp.UI.App.JobTracker.Transaction.TransactionLoad())

because the error clearly says it needs session object, thought I may need to use ILaunch out of EpiClient dll. therefore, copied across the EpiClient dll to server assemblies and played with it. however, you clearly mentioned no object exist in configurator and that dll has lot of dependencies. I agree with it. I removed that dll.

Really curious to find a way in achieving my objective.

You can launch from the configurator using this syntax. This is mapped to an Input control so if you create a button make sure to change this part of the code below (LaunchJobTracker) to the name of your control. You could also use a menu id instead of the library name

Ice.Lib.Framework.ProcessCaller.LaunchForm(((InputControlValueBound<EpiButton,string>)Inputs["LaunchJobTracker"].Value).Control.EpiTransaction,"Erp.UI.JobTracker.dll");
1 Like

Thanks Dan,… this will reduce my baq calls and codes.