Transaction group problem

I’m trying to setup a transaction group. I have created 2 tag for the group. One tags is a bool to act as the trigger. The other is a string to store the result. I have also created a triggered expression item which update the result tag. If I set the expression to a string of if statement everything works. But when I change the expression to runScript("…") I get an error.

com.inductiveautomation.ignition.gateway.web.pages.config.systemconsole.LogViewer$SerializableLoggingEvent$ClonedThrowable: Error executing script for runScript() expression:app.control.test(‘t6est’)

def test(pointPath):
return pointPath

Unfortunately, App functions currently won’t run in an Expression Item. This is something we are working on.

As of 7.1.2, App functions will not work in DB Tags, Transaction Groups, and Gateway Event Scripts. They will work in Client Tags and of course in windows/components.

Now I know,


Is this problem still prevailing? (App functions currently won’t run in an Expression Item)

I have version 7.1.7 and I am not able to attach written script with DB tag. Script itself executes well by triggering from Numeric Text Field for example, but when attaching namely with DB tag problem arises.

Is there any alternative to locate Expression trigger, if I want to execute script even thought nobody is signed in or given window is not opened?
error_occured_in_a_tag.log (7.06 KB)


The problem is that the “app” scripts are hosted under a project- but SQLTags are not. We would need to add some sort of “global scope” for scripts in order to be able to access them from tags, or or perhaps add a name qualifier to resolve the function.

However, Transaction Groups are obviously part of the project, and they can call the scripts successfully with [tt]runScript[/tt]. So you should be able to do what you want by creating expression items in a transaction group, if you have the SQL Bridge module.

If none of the items in the group reference the database, you can turn off “auto create table” and “store timestamp”, and the group should not try to access the DB. In this way, you can use it to run the script periodically, or on a trigger, any time- even if no clients are open.