Ignition Reporting Module Help

I'm looking to print a report for each row in a query dataset. I can't seem to figure out how to do this. The only way i've been able to accomplish it is by passing a parameter into the report with a popup screen and then manually printing it.

I need it to print for each row on its own on the schedule given by the report module. I attached some pictures for further detail.

Any and all help is greatly appreciated!! :upside_down_face:



If I'm understanding you want to print that first picture (Of an example work order) for as many times as there are work orders?

This sounds like it might be a use case for a table group, and possibly nested query results. Are you using both queries or is 1 the one you are using for the single print with popup entry?

1 Like

Ryan,
The one using the 'id' parameter is for the popup. I am still going to use that in case a work order needs to be reprinted.
The customer would like all new work orders to be printed at 6 am so their maintenance personnel can grab their assigned work orders and complete them each day.

Your first assumption is correct. I need a report printed for each work order.

I don't really know how to go about the nested queries and make it print for each work order that fall within the criteria of my WHERE statement on the second image.

Since you are only using one query you do not need to worry about the nested queries.

So, place a table on your report, in the property inspector, scroll all the way down until you see a button called 'Make TableGroup' and click that.

Property Inspector

Then, once you have the table group, in the project browser tree, click through the children until you have the 'Table' listed under 'TableGroup' selected.

Table selected

Untitled_Report1

Then, in the 'Configure Table' tab of the property Inspector, overwrite the Data Key with your data source (query name). You can click and drag from the key browser, or just type it in the data key field, the grouping below it should update.

Updated Data Key

You will also want to check the 'Header' box under the 'Rows' property.

If you expand the selected table in the Project browser, you should see 'your data key name Header' and 'your data key name Details'

Table Hierarchy

1 Like

At this point you can drag the table so it takes up the entirety of the page (stretch it to the margin lines if you have them defined).

If you select the header or details items in the project browser, you can adjust the height of the items.

Select the header item and then in the property browser, unselect 'Structured Columns'. This will let you free form put whatever you want in whatever position in the header.

Since we will be re-using the header from your original report, figure out how much space the 'Work Order' and 'Aug 3, 2023' labels take up vertically. If you select them, you can look at the properties tab in the Properties Inspector and scroll down to find the width/height.

Once you have figured out the total height, select the header item in the table group and adjust the height to that value. Then, copy the two header labels from your other report and paste them into the header object area.

Feel free to move them around and get them centered in there. After you are happy with the header, select the details section and expand it downwards so it takes up the rest of the page area. Also, unselect 'Structured Columns' in the properties.

Copy all the other body items from your original report and paste them into the details area on the table. You might have to move some stuff around to get it to fit. Assuming you are using the same column names in the single query as you are in the query that returns multiple records, this should now 'just work'.

You can double check by going into the preview. Assuming you have valid values in your report parameters, your query should return multiple rows and you should now have multiple pages that have the same layout but each page has a different work order and associated details.

1 Like

Ryan,
I decided not to use headers, I hope that doesn't make a difference in the way its performing. I added another work order to database to effectively test this. Made the table group as you said, but its only showing the most recent work order created. It isn't making a seperate page for each.

Here is a picture showing that the query is giving back more than one result


Here is a picture showing the table group and information inside of it.

And here is the preview. Not sure if I didn't do something correct or what LOL.

Thank you so much for the help!

GOT IT! So the header things do matter. I put the Work Order text in the header and it worked, it must not like that I have static text outside the table component.

Thanks again for your help @ryan.white

1 Like

That's funky. Glad you were able to correct it, though its strange that it doesn't like the static text outside of the table. I have reports with static text on the lower part of the page and use table groups with no issue