Is it possible to have an Ignition report on one gateway using the reporting module be viewed from a project on a second gateway with or without the reporting module?
You could use system.util.sendRequest()
to trigger a message handler on the gateway that has the report, which then uses system.report.executeReport()
to build the report and return the binary data.
Thanks. Seems to work. My report server is a redundant pair. How do I specify the remoteServer in system.util.sendRequest() so that it will hit the backup gateway when the master gateway is down?
You shouldn’t have to, if I remember correctly. Since you just specify the gateway name, your gateway should automatically route to the backup if the master is down.
@PGriffith HI Paul, I had a follow up on this topic. Is the Report Viewer component able to display the returned binary data or is the intention to save it to a file and use the PDF Viewer to display the report?
The (Vision) Report Viewer doesn’t directly support rendering bytes; you would have to use the PDF viewer for display.
Perspective is a different kettle of fish; you would have to ‘host’ the bytes somewhere (ideally, through a Webdev endpoint) and return them on a real HTTP request to display in Perspective’s PDF viewer.
Thank you!
I have exactly same case. I already have message handler on Gateway with report and it returns Byte array. This Byte array i can see on recepient Gateway, but i can't figure out how to display this byte array in Perspective Report Viewer.
Can You help me with this?
-
You need the PDF Viewer for the bytes, not the Report Viewer.
-
You need to expose the bytes via URL. Typically this is done with the WebDev module. If you have a database where you can stash your bytes as blobs, you could use my Blob Server module (free).