Hey all,
So, like almost everyone, I’m pretty new to Report Studio in IFS Cloud. We have been using Crystal Reports and because that is getting deprecated, I’m having to learn it pretty quickly.
Anyway, there have been two things whilst making the laser check print, that should have been easy to do, but weren’t, and because I couldn’t find them, I thought I’d share.
The first was the payee address, this was coming out as a single line, which is less than ideal. After a week, I brute forced it after adding a calculated field to the ADDRESS_LINE table, with the data member as the ADDRESS_LINE and the expression as [].Join( [PAYEE_ADDRESS], Char(10) ). Nowhere in the documentation, does it explain this, especially that part where [] is the data member.
The second part was the amount. We pad the start with asterisks, but the format would not stick for whole numbers, so, 1200 would not come out as ****1200.00 even though I had the format setup. After a day of trying I came up with this:
Iif(Round([LASER_PRINT_CHECK_REP_REQUEST.LASER_PRINT_CHECK_REP.SUPPLIER_CHECKS.SUPPLIER_CHECK.CHECK_FOOTERS.CHECK_FOOTER.CHECK_AMOUNT])==[LASER_PRINT_CHECK_REP_REQUEST.LASER_PRINT_CHECK_REP.SUPPLIER_CHECKS.SUPPLIER_CHECK.CHECK_FOOTERS.CHECK_FOOTER.CHECK_AMOUNT],PadLeft(Concat(ToStr([LASER_PRINT_CHECK_REP_REQUEST.LASER_PRINT_CHECK_REP.SUPPLIER_CHECKS.SUPPLIER_CHECK.CHECK_FOOTERS.CHECK_FOOTER.CHECK_AMOUNT]),'.00'),19,'*'),Round([LASER_PRINT_CHECK_REP_REQUEST.LASER_PRINT_CHECK_REP.SUPPLIER_CHECKS.SUPPLIER_CHECK.CHECK_FOOTERS.CHECK_FOOTER.CHECK_AMOUNT],1)==[LASER_PRINT_CHECK_REP_REQUEST.LASER_PRINT_CHECK_REP.SUPPLIER_CHECKS.SUPPLIER_CHECK.CHECK_FOOTERS.CHECK_FOOTER.CHECK_AMOUNT],PadLeft(Concat(ToStr([LASER_PRINT_CHECK_REP_REQUEST.LASER_PRINT_CHECK_REP.SUPPLIER_CHECKS.SUPPLIER_CHECK.CHECK_FOOTERS.CHECK_FOOTER.CHECK_AMOUNT]),'0'),19,'*'),PadLeft(ToStr([LASER_PRINT_CHECK_REP_REQUEST.LASER_PRINT_CHECK_REP.SUPPLIER_CHECKS.SUPPLIER_CHECK.CHECK_FOOTERS.CHECK_FOOTER.CHECK_AMOUNT]),19,'*'))
So basically, I concat the .00 and 0 onto the end of the amount if the rounded number is equal to 0 and 1 decimal places.
As my post suggests, if anyone can come up with better solutions to these, I’d be really interested.