I have recently taken on supporting our company's deployment of Microsoft Dynamics SL 6.5. It uses Crystal Reports 10 (10.0.0.533) for all of it's reports. There's a problem with one of the canned reports. This is really tricky, so I'll try to explain it clearly. The problem is in relation to the values presented in the page header being out of sync with the values presented in group 1 header on the same page. Here's the layout of the report:
RH suppress PH default options PH a default PH b default PH c default PH d default GH 1 Keep Together GH 2 New Page Before GH 2a Keep Together GH 2b Keep Together GH 3 Keep Together GH 4 Suppress/Keep Together GH 5 Suppress/Keep Together Details Suppress/Keep Together GF 5 Keep Together GF 4 Keep Together GF 3 Keep Together GF 2 New Page After GF 2a Keep Together GF 2b New Page Before/Keep Together/Suppress Blank Section GF 2c New Page Before/Keep Together/Suppress Blank Section GF 1 Suppress/Keep Together RF Suppress PF Suppress
GH 1 contains a sub-report, and nothing else GF 2b contains a sub-report, and nothing else GF 2C contains a sub-report, and nothing else
If at the end of group 1 if GF 2c is not suppressed (that is, the sub-report's dataset is not blank) then everything is good. However, if at the end of group 1, if the sub-report on GF 2c is blank then the next page contains a mismatched page header and GH 1. That is, the page header shows the group 1 value from the group that just ended, whereas the sub-report in GH 1 on the same page shows the correct group 1 value that just began. This is not directly a result of anything in the sub-report on GH 1. I've tested this by putting a database field for the group 1 value directly in GH 1, and it is out of sync with the page header on the same page.
To boil it down further, it appears that the New
Page After on GF 2 works at the end of group 1 only if GF 2c is not
suppressed. This New Page After works within group 1 as the group 2
value changes. It just seems that when the group 1 value changes it
only works if the there is data for the sub-report on GF 2c.
I've tried inserting sub-groups in various places, changing around new page after/new page before in a number of places. So far, the closest I've come is to turn the "New Page After" off for GF 2, then break GF 1 into two. GF 1a contains what was in GF 1 and as the same settings (Suppress/Keep Together). GF 1b has nothing in it, and is set to New Page After/Keep Together. With this change, as before, if the sub-report on GF 2c has data at the end of group 1, then everything works good, the new GF 1b appears on the same page directly beneath GF 2c. If however at the end of group 1 GF 2c is suppressed (that is, the last footer to appear is either GF 2a or GF 2b) then the new GF 1b appears on a page by itself, that is, a blank page with nothing put a page header. Then, the next page shows the correct values in the page header and also contains the sub-report in GH 1.
Again, to simplify, it would appear that if the GF 2c is not suppressed then somehow a "new page after" is inserted, if it is suppressed this magical "new page after" is not getting inserted.
This is baffling. I have stepped away from it and returned over the course of a couple weeks as not to miss the forest for the trees. I don't think there's anything simple that I'm missing. I'm starting to wonder if it's a bug.
I hope I explained things clearly. If not, ask questions. I hope someone can help, or at least provide some meaningful suggestions. Meanwhile, I keep plugging away.
Thanks!
|