Olá Janis,
Na verdade o sistema ainda não tem nenhum relatório funcionando, esta é a única rotina de impressão que já foi migrada de um sistema antigo.
Essa rotina eu obtive descompilando o sistema antigo de meu cliente com o Valkirie e fiz algumas alterações, mas tanto a original como a modificada só funcionam quando compiladas com Clipper 5.x, com Harbour nem pensar, trava sempre na penúltima linha.
Se tiver um tempinho, aí está a rotina completa:
Código: Selecionar todos
if msgYesNo( "Imprimir nota desta locação?", "Impressão" )
dbGoTop()
seek cCodLoc
set printer to LPT1
set printer on
set device to printer
@ PRow(), PCol() say chr(15)
@ PRow() + 1, 26 say " xxxxxxxxxxx LOCADORA"
@ PRow() + 2, 26 say "RUA CANDIDO xxxxxxxxxxxxxxxxxLJ.A"
@ PRow(), 26 say " TELEFONE: XXX-XXXX "
@ PRow() + 2, 17 say Time()
*-------
@ PRow(), 36 say "CODIGO:"
@ PRow(), 43 say CODCLI
@ PRow(), 54 say "LOCA NUM:"
@ PRow(), 63 say allTrim(cCodLoc)
@ PRow() + 2, 17 say "NOME: "
@ PRow(), 23 say CLIENTE
if DEP != "TITULAR"
@ PRow() + 1, 17 say "DEPD: "
@ PRow(), 23 say DEP
endif
@ PRow() + 1, 17 say Replicate("-", 50)
*-------
nItens := 1
do while ! eof()
if nItens == 1
@ PRow() + 2, 17 say CODFILME
@ PRow(), 23 say left( FILME, 37 )
@ PRow(), 62 say Str(VALOR, 5, 2)
nTotal := nTotal + VALOR
nItens := nItens + 1
skip
else
@ PRow() + 1, 17 say CODFILME
@ PRow(), 23 say left( FILME, 37 )
@ PRow(), 62 say Str(VALOR, 5, 2)
nTotal := nTotal + VALOR
nItens := nItens + 1
skip
endif
enddo
*--------
@ PRow() + 2, 17 say Replicate("-", 50)
@ PRow() + 1, 17 say "DATA SAIDA: " + dtoc( frmLocacao2.dt1.value )
@ PRow(), 55 say "TOTAL: " + str( nTotal, 5, 2 )
@ PRow() + 1, 17 say "DATA RETORNO: " + dtoc( frmLocacao2.dt2.value )
@ PRow(), 56 say "PAGO: " + frmLocacao2.txPago.value
@ PRow() + 1, 55 say "RESTA: " + frmLocacao2.txResta.value
@ PRow() + 1, 17 say Replicate("-", 50)
@ PRow() + 1, 29 say "ENTREGA ATE AS 19:00 HORAS"
@ PRow() + 1, 17 say Replicate("-", 50)
@ PRow() + 1, 17 say "Normas de Utilizacao:"
@ PRow() + 1, 17 say "1 - Fica ciente a partir deste momento, que o"
@ PRow() + 1, 17 say "locatario tem total reponsabilidade pelo Filme/CD"
@ PRow() + 1, 17 say "locado. Devendo para tanto entrega-lo em"
@ PRow() + 1, 17 say "perfeita ordem, no prazo de 10(dez) dias. "
@ PRow() + 1, 17 say "2 - Havendo extravio de filme/cd a locadora pode"
@ PRow() + 1, 17 say "imediatamente emitir um documento de cobranca para"
@ PRow() + 1, 17 say "que o locatario faca o ressarcimento do valor do"
@ PRow() + 1, 17 say "mesmo. "
********************************************************
* AQUI TRAVA E VOLTA NORMALMENTE QDO FECHA O SISTEMA
********************************************************
@ PRow() + 4, 17 say Replicate("-", 41)
@ PRow() + 1, 33 say "CLIENTE"
@ PRow() + 17, 17 say " "
@ PRow(), PCol() say chr(18)
set device to screen
set printer off
set printer to
endif
close impac_07
select impac_01
frmLocacao.release
O que será que tem de errado?? Sinceramente acredito que esteja comemetendo algum erro qto a incompatibilidae do Clipper com o Harbour!
Mais uma vez muito obrigado.