Passing values to app-open tile

In ERP10 i used environmental variables to pass variables from a parent screen to a subscreen.
For example; I had a dashboard with all available work (operations) in a grid. I could select a record click on a button Start Setup and the next form opens and the required textboxes, combo boxes etc. are already entered.

In the parent:
Environment.SetEnvironmentVariable

in the child:
Environment.GetEnvironmentVariable

Is there some way to pass data like this in application studio?

I have created a layer in Erp.UI.Mes and it’s calling Erp.UI.StartSetupActivityEntry using an open-app tile (sliding form). I tried to use callContextBpmData, but this value is already lost in the next form.

During debugging I found 3 potentials tables (no columns) to pass data → TransView, KeyFields, KeyFieldParams

Anyone who has a solution for this?

Woo, this was a wild ride and I think I’ll write up an official HowTo on this, but see if this works for you:

Here are the Launch Options. contextValue is going to be your extra fields you’re sending over.

On the receiving form, you need to add an event (I used After Form_OnLoad, but find what works for you) to set the fields into a view of your choice. I typically use TransView because it’s already there and you can add fields to it on the fly. In the event, use a row-update widget and set the value to that disgusting string.

image

3 Likes

That looks exactly like what I need to finish my plan. I tried it before with the ContextValue, but I didn’t know how to set those parameters like you did. Thank you very much!

I do however have an issue with application studio missing de epBinding field. The problem occurs in the full-client and in the web-client. Most of the time the field is hidden. Any idea what triggers this field to appear?

It shouldn’t need a trigger; it should always be there.
If you can replicate it, submit a ticket to support.

In the meantime, try clearing your cache in the client and the browser and see if that helps.

If I add a textbox somewhere and bind it to an epBinding and throw it away it is triggered and the field can be used :stuck_out_tongue:

Still struggeling. I tried the example you gave me, but I can’t get the params send to the next screen. I see you are able to find them in the debugging mode, but how did you get there? I get lost in the many transaction and values that are shown in the console/ sources and network tabs.

To debug the set and get logic i created a button in the next screen to read the value in the initialValueIn data as I couldn’t get it into a textbox by the ‘after form load’. During this phase i even couldn’t get employeeID to display which should be stored in the valueIn (not contextvalue).

From the Erp.UI.Mes:
Start Setup button sends out {“employeeID”: “{Constant.CurrentEmployeeID}”}

In the Erp.UI.StartSetupActivityEntry:
Added new button to display the value:
Message: “%session.context.initialValueIn.employeeID%”

Result: “”

if i call for “%session.context.initialValueIn.contextValue.Param1%” the popup doesn’t even follow, so I think it’s not even there.

How To: Debugging Kinetic (Browser) - Experts’ Corner - Epicor User Help Forum (epiusers.help)

This should be:

Message: “%session.context.initialValueIn.ValueIn.employeeID%”

This will only work if you named your value “Param1” in the contextValue object; you can name them whatever you want.

Use a different event downstream. “After” AfterInitialize may work for your needs. You could also try “after” Execute_GetByID. Experiment with events to find the one that works for your needs.

Ah finally got it. Couldn’t get the dev tools operating normal (ctrl + shift + 8) and so on. Turned out that my keyboard setting in language Dutch was causing the problem. Changed it to English(US) and I could finally start debugging.

The problem i was facing is the bug that an app-open tile can’t be changed. Everytime it changed back to the settings (Value options) i entered the first time. Deleting the tile and 10 attempts further deleting the whole button_click event (everytime it was back :expressionless: ) I could build a new open-app tile with the right value in information.

Thank you very much! Without your help I probably would have thrown my laptop out of the window :stuck_out_tongue:

1 Like

Isn’t that great? lol
SO annoying.