Systematic print of BAQ report every 12th record

Hello all,

I have created a dashboard that houses our Receiving Inspection data, replacing the old paper log that had been used prior. The dashboard works great.

However: There are still inspection stations that do not have access to Epicor and need the log in its paper form. I created a BAQ report that generates a printable log that looks the way its always looked for folks. Problem is, I need a systematic way to print this log every 12 records. 12 records is what fits on one log page so I need the new page to print when it is “full”.

Does anyone have any thoughts about how I might achieve this?

Here are some screenshots…

The dashboard: ("Receiver #"s are our Lot #'s):

The parameters for the printable report:
2

And the 12 record log format (when printed):

If you are using Crystal, there is a way to create a variable and count the records being processed during the print rendering, and then react at every 12th record with a Page break. I’ve seen it done, but have not done it myself.

If you are using SSRS, this might be more difficult (or impossible) using ReportBuilder, but might be possible if editing using Visual Studio.

I think a google search for ‘page breaks after a number of records’ for both crystal and ssrs might yield some ideas :slight_smile:

Thank you Mike! We are done using Crystal, but I will explore the “page break after X records” idea.

If I were to try to trigger an alert message every 10 records, telling user to print log, is there a C# expression for the condition that the Receiver (lot) # ends in a 0??

Lot # is a varchar field so string expressions should work.Your condition could be
the "lotnum" field of the "modified row" "ends with" the "0" expression

Receiver.Right(1) == '0'

Will be true if the right most character of the string named Receiver is a ‘0’. Might want to add a TRIM() function to filter off any trailing spaces that might work their way in.

Receiver.Trim().Right(1) == '0'

If you really want to do every 12th, first convert the Receiver to an integer, then use the remainder operator.

(Int32.Parse(Receiver) % 12) == 0

will be true when Receiver is a multiple of twelve.

EDIT

FTR - that last one only does every 12th’ if the Receiver Lot#'s are sequential with no gaps or repeats.

2 Likes

One more thing… If you’re looking to auto print the report, you’ll need to use a Standard Data Directive.

1 Like

looks like I can’t autoprint a baq report from a directive so I’m trying to think outside the box. Thank you so much for the C# bits. They will be handy.

You could Autoprint from a Data Directive.

looks like its not permitted to autoprint a baq report. that’s disappointing.

That’s weird… In another ongoing thread, a user said he could ONLY get the BAQ Report to print

that is so odd. we are on 10.1.400.20.

I haven’t read all of the following, but it might have insight for auto printing via an Execute Custome Code widget.

1 Like