Here is my question
What printers first when duplex printing?
1. The front page?
2. The back page?
Here is my issue (and I can repeat this with Word and RBase):
If I am tring to print a single page (1 sided document) all is ok.
If it is a 2 sided invoice then the back page prints first and the front side
second. This was is major issue since we are using single sided pre printed
forms.
In our case all the invoice information is on the front and then there are case
notes and tire installation information that in some cases carry over on the
back.
Thes invoices are run ussing the following code. Each invoice is generated
seperatly in a while loop. So as long as the invoice is one sided all is ok.
When a two page (sided) invoice is generated it prints back page on the letter
Head or Preprinted invoice side first and then front on the blank side. On the
next invoice if only one page all is ok.
Any Ideas.
Help I am in a real bind on this one and under a time line.
Thanks
Stephen Breen
CDI Services, Inc.
Road Support Division
-- new_INVPRINT.RMD
-- Print invoices for a specified billing date
-- This prints all invoices for all customers for the specified date,
-- in invoice number order based on parmets set up
RUN myset_off
-- RUN myset
-- start of code
DIALOG 'Do You Want To Select A Invoice Number Range To Print By ...'
vresponse1 vendkey1 no +
CAPTION 'Invoice Selection Option ...' +
ICON attention +
OPTION BUTTON_YES_CAPTION YES +
|BUTTON_NO_CAPTION NO +
|OPTION MESSAGE_FONT_NAME ARIAL FB|MESSAGE_FONT_SIZE 12
IF vresponse1 = yes THEN
GOTO invoice_range
ENDIF
IF vresponse1 = no THEN
GOTO start_print
ENDIF
LABEL invoice_range
RUN new_Get_Invoice2.rmd
IF vinvoice1 OR vinvoice2 IS NULL THEN
-- RUN errmsg.rmd USING 'No Invoice Number Entered'
GOTO finish
ENDIF
DELETE ROWS FROM attinv_master_cust WHERE cdiinv < .vinvoice1 OR cdiinv >
.vinvoice2
DELETE ROWS FROM attinv_charge_desc WHERE cdiinv < .vinvoice1 OR cdiinv >
.vinvoice2
-- end of code
LABEL start_print
-- START OF CODE FOR TWO PAGE INVOICES
-- CURRENTLY ONLY TRANSADVANTAGE NEEDS TWO PAGE INVOICES
DROP CURSOR c1
DECLARE c1 CURSOR FOR SELECT pon FROM attinv_master_cust +
WHERE (parentcustid = 164 OR parentcustid = 110 OR parentcustid = 193) +
ORDER BY cdiinv pon
OPEN c1
WHILE (1=1) THEN
FETCH c1 INTO vpon IND i1
IF SQLCODE <> 0 THEN
BREAK
ENDIF
PRINT new_invoice2 WHERE pon = .vpon +
OPTION PRINTER +
|DUPLEX horizontal +
|COPIES 1 +
-- using default printer here
ENDWHILE
-- END OF TRANSADVANTAGE 1ST PAGE PRINTING CODE
-- START OF CODE
-- RUN INV_PRINT_ATTENTION.rmd
-- DIALOG box
-- (CHAR(009)) = Tab Key (Indent)
-- (CHAR(013)) = Carriage Return
CLS
SET VAR vmsg = +
('The First or Customer Copies Of The TransAdvantage Invoices Have
Printed'+(CHAR(013))+ +
''+(CHAR(013))+ +
'Do You Wish To Print The Second or Payment Copy at this Time ??'+(CHAR(013))+ +
''+(CHAR(013))+ +
'If Printing Second Copy - Remove First Copy From Printer Now - Then Click Yes
'+(CHAR(013))+ +
''+(CHAR(013))+ +
'Otherwise Still Remove Copies From Printer Now Before Printing Other Customer
Invoices'+(CHAR(013))+ +
' Then Click NO or
Press Enter'++(CHAR(013)))
DIALOG .vmsg vresponse2 vendkey2 no +
CAPTION ' INVOICE PRINTING ATTENTION NOTIFICATON ...' +
ICON question +
OPTION TITLE_FONT_COLOR BLACK +
|TITLE_FONT_NAME ARIAL +
|TITLE_FONT_SIZE 12 +
|TITLE_BOLD ON +
|TITLE_BACK_COLOR WHITE +
|TRANSPARENCY 255 +
|WINDOW_BACK_COLOR WHITE +
|BUTTON_YES_CAPTION &YES +
|BUTTON_NO_CAPTION &NO +
|BUTTON_YES_COLOR GREEN +
|BUTTON_NO_COLOR RED +
|BUTTON_YES_FONT_COLOR WHITE +
|BUTTON_NO_FONT_COLOR WHITE +
|TOP 250 +
|LEFT 200
IF vresponse2 = yes THEN
GOTO start_print2
ENDIF
IF vresponse2 = no THEN
GOTO trans_printing_done
ENDIF
-- END OF CODE
LABEL start_print2
-- START OF CODE FOR TWO PAGE INVOICES
-- CURRENTLY ONLY TRANSADVANTAGE NEEDS TWO PAGE INVOICES
DROP CURSOR c1
DECLARE c1 CURSOR FOR SELECT pon FROM attinv_master_cust +
WHERE (parentcustid = 164 OR parentcustid = 110 OR parentcustid = 193) +
ORDER BY cdiinv pon
OPEN c1
WHILE (1=1) THEN
FETCH c1 INTO vpon IND i1
IF SQLCODE <> 0 THEN
BREAK
ENDIF
PRINT new_invoice2 WHERE pon = .vpon +
OPTION PRINTER +
|DUPLEX horizontal +
|COPIES 1 +
-- using default printer here
ENDWHILE
-- END OF TWO PAGE CODE
CLS
PAUSE 2 USING 'THE 2ND COPY OF TRANSADVANTAGE INVOICES HAS PRINTED - PLEASE
REMOVE FROM PRINTER' +
CAPTION 'INVOICE ACTION REQUEST - PRESS ENTER OR OK TO PRINTING
NON-TRANSADVANTAGE INVOICES' ICON attention
CLS
LABEL trans_printing_done
-- START OF CODE FOR SINGLE PAGE INVOICES
-- CURRENTLY ONLY TRANSADVANTAGE NEEDS TWO PAGE INVOICES
DROP CURSOR c1
DECLARE c1 CURSOR FOR SELECT pon FROM attinv_master_cust +
WHERE (parentcustid NE 164 AND parentcustid NE 110 AND parentcustid NE 193) +
ORDER BY cdiinv pon
OPEN c1
WHILE (1=1) THEN
FETCH c1 INTO vpon IND i1
IF SQLCODE <> 0 THEN
BREAK
ENDIF
PRINT new_invoice2 WHERE pon = .vpon +
OPTION PRINTER +
|DUPLEX horizontal +
|COPIES 1 +
-- using default printer here
ENDWHILE
-- END OF SINGLE PAGE CODE
CLS
PAUSE 2 USING 'ALL INVOICES HAVE FINISHED PRINTING - PLEASE REMOVE FROM
PRINTER' +
CAPTION 'INVOICE ACTION REQUEST - PRESS ENTER OR OK TO FINISH' ICON attention
LABEL finish
DROP CURSOR c1
RETURN