Hi Dojo!
Can I use a session variable from a visual as index in a Set as part of an automation script, that is triggered from the same visual?
The use case is that we have services, that include changeover switches in different slots of a modular frame. We want to control two parameters per switch from a table, which has the slot ID as display key.
We have a view with a custom property "SlotID". A visual is assigned to this view that makes use of this property in the changeover switch shapes to show the information of the switch in this slot in that shape.
I use the value of the property as value in a variable "SlotIDVar" inside the visual, which works fine using:
SlotIDVar:[Property:Slot ID]
The changeover switch executes an automation script "Switch Control" with shape data 'Execute':
Script:Switch Control|Switch=DmaID/ElementID|Input Selection=#Switch Input Selection;Slot=[var:SlotID]||Change AV Switch Input|NoConfirmation
Inside the automation script I have defined parameters "Input Selection" and "Slot". I use the visual script designer to set values for the two parameters depending on the "Input Selection" (List of available Inputs). Can I use the variable from the visual as table index of the parameter, I would like to control? My understanding is that with the 'Execute' shape data this value is available in the parameter "Slot" in the automation script!?
Note: I am using the graphical UI in the automation editor, not C# code!
An example: The property of the view is set to "2". This value is passed to the automation script and filled in as table index above to control the switch installed in slot ID 2.
Many thanks for any help!
If the script only needs to set 2 cells in a table, you can use the following code to achieve this:
You can find the id of the column parameter by double clicking a cell value in the table (this is an example from a random protocol):
The value to set can be found in the protocol itself. In your case, it's using "discreets". The interval value can be found in the protocol xml (again a random example):
If the values you want to configure depend on the input of your script, then you'll need a bit more code off course. Feel free to contact me directly if you need more help.
Hi André,
If I understand correctly, the table index is passed in a script parameter and you would like to use that to set the values in that row? I don't believe this is possible without using C#.
Is there any reason to not use C#? If those sets are the only thing the script is doing, then I can provide you with the sample code you need to get this working.
I provided more details in a separate answer with a few screenshots. Feel free to reach out if you need more help.
Refer to Joey's answer because I too believe we will need a C# script, but I also wanted to offer the insight that the "[var:...]" or whatever other way you want to use to access your session variable directly will not work.
However, you have used the right shape data and thus will only need to get the script parameter "Slot" to get the value of your variable from within your script.
Hi Joey,
the simple reason why I did not use C# is that I am not a programmer and do not have sufficient experience with the creation of scripts in C#. If I have a framework I would indeed be able to tailor it further to my needs.