Execute Permanent Query

    This is a simple little script for form views. It executes the first permanent query from the list of all stored permanent queries and shows it in the form.

    //This sample button script will run first permanent query in data tree
    
    evaluate = { widget ->
        def rs = widget.form.resultSet
        def dataTree = rs.dataTree
    
        def queries = dataTree.getQueries()
    
        //Change number in get(0) to run any other permanent query, 0 will pick first DFQuery from List of all permanent queries
        def DFQuery = queries.getItems().get(0)
        def expression = DFQuery.getExpression()
    
        //Query name is returned via DFItem interface, refer to Instant Jchem developer javadoc
        println "Executed query name: " + DFQuery.getHandle().getInstance().getName()
    
        def rsLock = rs.lockable.withLock('querying'){ rsEnv ->
            rs.applyQuery(expression, rsEnv)
        }
    }