SSRS Footer Issue

On our custom job traveler form I need to add the job number to the footer and it needs to be dynamic for when we mass print. This report can also be anywhere from 1 to 3 pages based on the amount of materials used and the amount of operations for the job. After researching this I found that I should create a jobnum field in my body, hide it, and then point to it with ReportItems! in the footer. I attacked this a few steps at a time. Added the field in the body as the first row under the header and set it to RepeatOnNewPage in the advanced mode in groups. Worked great. Added a footer with just the string “test” and it broke. Now the jobnum field won’t repeat on my second pages. Deleted the footer and it worked fine. Why would the footer break the RepeatOnNewPage?

One thing to keep in mind with any batchable report (report that can be run for multiple records, like AR Form, Job Traveler, etc…) is that Epicor renders it as a single report. So things like SSRS’s First and Last pages, refer to the whole batch. The first page is the first page of the first Invoice, Job, etc… in the batch. The Last page is the last page of the last lnvoice, job etc… in the batch.

1 Like

What do you mean by “it broke”?

It broke was probably a bad narrative choice. It may be behaving exactly like it should I just don’t understand the logic. I just meant that it stopped repeating the RepeatOnNewPage field that was previously working.

Another thing that I was never clear about with SSRS reports is that the report doesn’t really know when a new page is rendered, unless it was directed to do so (like if there is a “PageBreakBefore”)

I was responding to your original comment but I don’t think that is really my issue. I understand that if I mass print 10 travelers it takes the job number from the first one and applies that to all of them in the footer. I solved that by adding the field in the body and pointing to that field via ReportItems.Textbox.Value. It works fine if all my reports were a single page. I can mass print 10 travelers and get 10 job numbers in the footer. It just doesn’t work if any of the 10 travelers are 2 or 3 pages. I think you nailed the problem with it being a page break issue.

which of the following (if any) does it do:

  • One traveler occupying one page

    • prints as expected, on the bottom of the traveler’s single page
  • Several travelers, each just one page:

    • prints as expected (on the bottom of each traveler’s single page)
    • prints once on the bottom of the last page (the last traveler in the batch)
  • Several travelers, some are single page, some are mulitpage:

    • prints as expected (on the bottom of each page of each traveler - I’m guessing that this is what you want)
    • prints once on each traveler, but only on that traveler’s last page
    • prints once, on the last page of the last traveler in the batch
1 Like

For each situation this is what the result is:

  • One traveler occupying one page
    • prints as expected, on the bottom of the traveler’s single page
  • Several travelers, each just one page:
    • prints as expected (on the bottom of each traveler’s single page)
  • Several travelers, some are single page, some are multipage:
    • prints once on each traveler, but only on that traveler’s first page
1 Like

Your response threw me at first. Wasn’t expecting it to be only on the first page of each traveler.
That is until I re-read …

That row with the value only appear on the first page of each traveler. You could put one in the group footer, and that might add it to the last page.

What is in the footer, did you add a rectangle?

One thing you might want to check is if you actually set the footer to repeat or only some element contained in the footer.

1 Like