Imprimir Várias Vias
Enviado: 16 Set 2010 00:46
Ola, esse relatório e do tipo ficha, gostaria de aprender como imprimir várias vias, ou seja, após o o filtro, dar a opção de quantas vias ! Ele ta imprimindo certinho, na tela, impressora e arquivo.
Obrigado,
Josmar
Código: Selecionar todos
SET COLOR TO 21,79
FILTRO := SPACE( 5 )
SAVE SCREEN TO TELA1
SET COLOR TO N/W
@ 04,07 CLEAR TO 09,50
@ 04,7 TO 09,50
WHILE .T.
SET COLOR TO N/W,W+/R,,,N/W
@ 06, 10 SAY "Digite o codigo do cliente.....:" GET FILTRO
SET CURSOR ON
READ
SET CURSOR OFF
IF LASTKEY()=27
RESTORE SCREEN FROM TELA1
EXIT
ENDIF
SEEK FILTRO
IF EOF()
BEEP()
ALERT("Registro nao encontrado...")
MENSAGEM("TECLE ESC PARA SAIR")
LOOP
ENDIF
EXIT
ENDDO
IF LASTKEY()=27
RETURN
ENDIF
RESTORE SCREEN FROM TELA1
TIPO_PRN="I"
IF .NOT. MENU_PRN1("ARQUIVO")
RETURN
ENDIF
SET DEVICE TO PRINTER
X=1
PAG=1
SAI_DA="S"
DO WHILE .NOT. EOF()
IF INKEY()=27
SET DEVICE TO SCREEN
SAI_DA=PERGUNTA("CONTINUA A IMPRESSAO")
SET DEVICE TO PRINTER
IF SAI_DA="N"
EXIT
ENDIF
ENDIF
IF .NOT.(CODIGO=FILTRO_1)
EXIT
ENDIF
IF X=1
IF TIPO_PRN<>"T"
@ 00,01 SAY CHR(18)
ENDIF
@ 01,01 SAY "RELATÓRIO DE CLIENTES TIPO FICHA"
@ 01,45 SAY "PAGINA:"+SUBS(STR(PAG+10000,5),2)
PAG=PAG+1
@ 02,01 SAY ""
@ 02,45 SAY "DATA:" +DTOC(DATE())
@ 04,01 SAY REPL("-",58)
X=05
ENDIF
@ X+00,001 SAY "CODIGO:"
@ X+00,009 SAY CODIGO
@ X+01,001 SAY "NOME..:"
@ X+01,009 SAY NOME1
X=X+4
SKIP
IF X>58
X=1
ENDIF
ENDDO
EJECT
SET DEVICE TO SCREEN
IF TIPO_PRN="A"
SET PRINTER TO
ELSEIF TIPO_PRN = "T" .AND. SAI_DA="S"
SET PRINTER TO
IMP_TELAT("ARQUIVO",59, 1)
RESTORE SCREEN FROM TELA1
ENDIF
Josmar