Hello Guilherme
I have already done something like this yes. To work it is necessary to place a select that returns only 1 result in the <report> tag. And in my case I also needed to place a <group> below the <group> where the CreateResultSet is. Stays like this:
{
<report xmlns="http://www.intersystems.com/zen/report/definition" name="rReport" sql="Select TOP 1 ID FROM anytable">
<group name="gTest1" OnCreateResultSet="CreateRS1">
<group name="gTest1A">
<attribute name="name" field='name'/>
</group>
</group>
<group name="gTest2" OnCreateResultSet="CreateRS2">
<group name="gTest2B">
<attribute name="name" field='name'/>
</group>
</group>
Hello Maik
Perhaps using the command "zenSynchronousMode = 1" will solve your problem. It tells ZEN to call the methods synchronously, so it will only call your method when refreshTable () is finished. Stays like this:
refreshTable();
initializeTableFeatures();
zenSynchronousMode = 0; //returns to the original value
You can use pdfbox which is already used by ZEN for some pdf conversions. To make a pdf require a password, just run this command with $ZF(-100):
java -cp /opt/cachesys/fop/lib/pdfbox-app-1_7_1.jar org.apache.pdfbox.Encrypt -U 12345 /arquivos/file.pdf