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

Reply via email to