Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations wOOdy-Soft on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Duplex printing - need back of page to be constant

Status
Not open for further replies.

kbieber

MIS
Aug 14, 2000
118
US
After trying all the combinations in other threads, I'm still not able to get this to work. I am using CR7 and setting up a purchase order print on a duplex printer. I need the front to show the PO info and the back to always print some boilerplate text. So the page printing sequence needs to be PO1 - text - po2 - text - po3(page1) - text - po3(page2) - text. The multi-page PO is the problem. The PO itself is a PH, GH1, GH2, and GF1. The records are printing in the GH1 and GH2 and may be variable due to additional descriptions and comments. GF1 prints the total for each PO. Any suggestions on how to get the print sequence correct?
 
This would be easy enough to do if you were willing to make GH1 and GH2 the same standard size. This would mean they would have to the maximum height to accommodate the longest note allowed.

To get the page for the text at the end of the PO, you would insert another group footer section GF#1_b and resize so that it corresponds to the size of a page excluding the page header and footer, and then format this section to "new page before" and for "new page after" enter a conditional formula:

not onlastrecord

For the text page for multiple page POs, you would create two formulas:

//{@reset} to be placed in the page header:
whileprintingrecords;
numbervar linecnt := 0;

//{@linecnt} to be placed in the GH#2 section:
whileprintingrecords;
numbervar linecnt := linecnt + 1;

Place this on the report and note the number at the bottom of the page.

Insert a second GH#2_b section that is also the size of the page excluding page header and footer. Then go to the section expert->GH#2_b->suppress->x+2 and enter:

{@linecnt} <> 30 //Use the number from the end of the page as noted
//earlier in place of "30"

Place your text in both the GH#2_b section and the GF#1_b.

You might be able to work with differently sized GH#2 sections if you do the following:

First reformat the comment that grows to a non-proportional font like Courier. Then count how many characters, including spaces, appear in each complete line of the comment before it wraps. Use this number in a formula {@lines}:

-int(-len({table.comment})/25) //substitute the line length for "25"

Then change the linecnt formula to:

//{@linecnt} to be placed in the GH#2 section:
whileprintingrecords;
numbervar linecnt := linecnt + {@lines};

Then for your suppression formula for GH#2_b you would need to use a range, e.g.,

not({@linecnt} in 26 to 30)

You would have to experiment to determine the correct range.

-LB
 
Maybe I oversimplified the problem or I don't understand your solution - I have GH2a thru GH2j which may or may not print based on conditional suppression formulas. Several will print 1 or 2 lines, others can expand based on comments entered. When I entered the linecnt formula, it increments only when the group changes, regardless of how many lines actually printed on the page. So I may have printed 30 lines, but the linecnt will be equal to 4 if the group has changed 3 times. I think what you are suggesting is to count lines as they print so that my boilerplate always prints on the back side of the page, and I'm not able to do that with what you've told me so far. I'm not very strong on Crystal, so maybe I've missed something in your solution.
 
Before diving into more complex solutions, consider the following approach:

1. print just the boiler plate text as single-sided stack of paper.

2. Load it (flipped) into a paper tray.

3. Print just the PO stuff single-sided.

hth,
- Ido

Visual CUT & DataLink Viewer:
view, e-mail, export, burst, distribute, and schedule Crystal Reports.
 
I've considered that, but the POs will be printed 1 and 2 at a time throughtout the day and others use the printer for reports, etc. We could do that in a pinch, but would prefer not to.
 
If you have a printer with multiple trays, just stack the pre-printed pages in one tray and set the PO report to use that printer tray...

Cheers,
- Ido

Visual CUT & DataLink Viewer:
view, e-mail, export, burst, distribute, and schedule Crystal Reports.
 
To use my solution, you would have to use the last part of my post and build in the suppression criteria into the accumulation formula. Maybe it's too complicated given the complexity of your report.

-LB
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top