MARSAN Posted September 15, 2009 Report Share Posted September 15, 2009 Pessoal como vcs fazem pra efetuar a impressao tipo venda-orcamento em impressora nao fiscal? Gostaria de imprimir linha a linha, logo apos registrar o item, gostaria que imprimisse.... estou tendo dificuldades no fwh... no clipper eu dava o set device to print e ia so usando o "?", depois qd queria parar dava o device to screen, e mais adiante qd eu quisesse continuar a impressao bastava dar o device to print novamente que ele continuava a imprimir na posicao certa, sem saltos ...+- assim : set device to print ? m_razsoc+" DATA: "+DTOC(M_DATE) ? "ENDERECO: " ? "telefone" set device to screen agora tento fazer assim: *usando a imp. instalada no windows...modo grafico * IMPRIME CABECCALHO E ETC oPrn:Startpage() oPrn:Say(1,01*NCOL,m_razsoc,oFt5) oPrn:Say(1*NLIN,50*NCOL,"DATA: "+DTOC(M_DATE),oFt4) oPrn:Say(2*nLIN,01*NCOL,"ENDERECO: ",oFt5) oPrn:Say(3*nLIN,01*NCOL,"TELEFONE: ",oFt5) OPrn:SAY(5*NLIN,1*NCOL,"----------------- ORCAMENTO -------------",oFt5) OPrn:SAY(6*NLIN,1*NCOL,"COD DESCRICAO DO PRODUTO UNID",oFt5) OPrn:SAY(7*NLIN,1*NCOL,"QTD X PRECO UNIT. TOTAL",oFt5) OPrn:SAY(8*NLIN,1*NCOL,"------------------------------------------",oFt5) M_LIN=9 oPrn:EndPAGE() EndPrint apos esta impressao, a papeleta da um salto enorme, e quando tento imprimir mais em frente a linha de detalhe da venda por exemplo ja da um erro...como vcs fazem? desde ja obrigado fwh 9.03+xharbour,bcc55,xdev Quote Link to comment Share on other sites More sharing options...
MARSAN Posted September 15, 2009 Author Report Share Posted September 15, 2009 Pessoal como vcs fazem pra efetuar a impressao tipo venda-orcamento em impressora nao fiscal? Gostaria de imprimir linha a linha, logo apos registrar o item, gostaria que imprimisse.... estou tendo dificuldades no fwh... no clipper eu dava o set device to print e ia so usando o "?", depois qd queria parar dava o device to screen, e mais adiante qd eu quisesse continuar a impressao bastava dar o device to print novamente que ele continuava a imprimir na posicao certa, sem saltos ...+- assim : set device to print ? m_razsoc+" DATA: "+DTOC(M_DATE) ? "ENDERECO: " ? "telefone" set device to screen agora tento fazer assim: *usando a imp. instalada no windows...modo grafico * IMPRIME CABECCALHO E ETC oPrn:Startpage() oPrn:Say(1,01*NCOL,m_razsoc,oFt5) oPrn:Say(1*NLIN,50*NCOL,"DATA: "+DTOC(M_DATE),oFt4) oPrn:Say(2*nLIN,01*NCOL,"ENDERECO: ",oFt5) oPrn:Say(3*nLIN,01*NCOL,"TELEFONE: ",oFt5) OPrn:SAY(5*NLIN,1*NCOL,"----------------- ORCAMENTO -------------",oFt5) OPrn:SAY(6*NLIN,1*NCOL,"COD DESCRICAO DO PRODUTO UNID",oFt5) OPrn:SAY(7*NLIN,1*NCOL,"QTD X PRECO UNIT. TOTAL",oFt5) OPrn:SAY(8*NLIN,1*NCOL,"------------------------------------------",oFt5) M_LIN=9 oPrn:EndPAGE() EndPrint apos esta impressao, a papeleta da um salto enorme, e quando tento imprimir mais em frente a linha de detalhe da venda por exemplo ja da um erro...como vcs fazem? desde ja obrigado fwh 9.03+xharbour,bcc55,xdev Quote Link to comment Share on other sites More sharing options...
gunafe Posted September 15, 2009 Report Share Posted September 15, 2009 Boa Noite Marsan, Quando se trata de impressora não fiscal, o melhor seria voce imprimir tudo ao término dos lançamentos, somente na impressora fiscal que há esta exigencia, de impressão conocomitante, ou seja, vendeu o item, mostra na tela e imprime. Eu montei uma rotina para impressora não fiscal que só mando a impressão ao término dos lançamentos, mas, vou mostrando na tela os itens, tendeu? Caso interesse, posso te passar a sintaxe da rotina. []´s Luiz Augusto São José dos Pinhais - PR xHarbour + Fivewin + Workshop + Sql via Odbc Vamos Aderir:"Retorne avisando se a dica funcionou" Quote Link to comment Share on other sites More sharing options...
leandroptu Posted September 16, 2009 Report Share Posted September 16, 2009 Bom eu tambem trabalho desta forma acima e não niguem e tambem não em nenhum sistema a impressão concomitante em impressora DUAL (Não fiscal). Fivewin 2.7 + XHarbour Build 0.99.60 + WorkShop + vLib + SqlLib + MySQL 5.0.27 + xDev Studio E-mail: leandrolopes@success.inf.br Msn: leandroptu@ada.com.br Paracatu/MG Quote Link to comment Share on other sites More sharing options...
crisvam Posted September 16, 2009 Report Share Posted September 16, 2009 Marsan, Você pode fazer isto de duas formas: 1 - utilizando a mp2032.dll se a impressora for bematech 2 - ou na munheca, usando as funções de baixo nivel: Falou... Crisvam - xHarbour_FWH_9.02 - Whorkshop Quote Link to comment Share on other sites More sharing options...
MARSAN Posted September 16, 2009 Author Report Share Posted September 16, 2009 Ok. Pensei que alguém ja tivesse passado por isso....de precisar concomitante...No clipper eu usava a impressao so no final do pedido tbm, mas acabei mudando e passei a usar concomitante igual a imp. fiscal, pois qd a nota era grande, os clientes reclamavam que a venda ja tinha terminado e ficavam presos na fila so esperando a impressora terminar....principalmente em super-mercados... valeu a atencao obrigado fwh 9.03+xharbour,bcc55,xdev Quote Link to comment Share on other sites More sharing options...
kapiaba Posted September 16, 2009 Report Share Posted September 16, 2009 citação:Ok. Pensei que alguém ja tivesse passado por isso....de precisar concomitante...No clipper eu usava a impressao so no final do pedido tbm, mas acabei mudando e passei a usar concomitante igual a imp. fiscal, pois qd a nota era grande, os clientes reclamavam que a venda ja tinha terminado e ficavam presos na fila so esperando a impressora terminar....principalmente em super-mercados... valeu a atencao obrigado fwh 9.03+xharbour,bcc55,xdev id=quote>id=quote>SE ENTENDI, VOCE PODE USAR A CLASSE TDOPRN.PRG, E PODE MANDAR IMPRIMIR ITEM A ITEM, DESDE QUE VOCE ENVIE A IMPRESSAO PARA O SPOOL DO WINDOWS. É ISSO QUE VOCÊ QUER?? Abraços. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Fone: (11) 3106-2832 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
valdecir Posted September 16, 2009 Report Share Posted September 16, 2009 Veja se funciona como abaixo (eu nunca testei mais deve funcionar) oImpr:=FCREATE("LPT1.PRN") Imp(oImpr,chr(15) ) Imp(oImpr,"Linha 1") Imp(oImpr,"Linha 2") FCLOSE(oImpr) oImpr:=FCREATE("LPT1.PRN") Imp(oImpr,"Linha 3 ") Imp(oImpr,"Linha 4 ") Imp(oPrn,chr(12)) //Eject FCLOSE(oImpr) //*********************** Function Imp(nHandle, cString) FWrite(nHandle, CString+Chr(10)+Chr(13)) Return(Nil) Quote Link to comment Share on other sites More sharing options...
MARSAN Posted September 16, 2009 Author Report Share Posted September 16, 2009 ola kapiaba....queria isso mesmo...concomitante, que nem uma imp. fiscal...passa o item na tela e imprime....sendo que a impressora é usb, pelo que ja li a dosprn nao funciona nao é isso? fwh 9.03+xharbour,bcc55,xdev Quote Link to comment Share on other sites More sharing options...
MARSAN Posted September 16, 2009 Author Report Share Posted September 16, 2009 Boa noite srs. Segui a orientação da rapaziada ai e fiz a impressao ao final do pedido, funcionou legal, porem o salto na bobina está muito grande ao final do pedido. Gostaria de diminuir o avanço da bobina, pula quase um aplmo ....estou usando uma impressora usb da daruma dr700 para estes testes e a rotina esta mais ou menos assim: FUNCTION ROTPRN() oPrn:Startpage() oPrn:Say(1,01*NCOL,"FARMACIA PINHEIRO",oFt5) oPrn:Say(2*NLIN,1*NCOL,"DATA: "+DTOC(M_DATE)+" HORA:"+TIME(),oFt5) * oPrn:Say(2*nLIN,01*NCOL,"ENDERECO: ",oFt5) * oPrn:Say(3*nLIN,01*NCOL,"TELEFONE: ",oFt5) OPrn:SAY(3*NLIN,1*NCOL,"----------------- ORCAMENTO -------------",oFt5) OPrn:SAY(4*NLIN,1*NCOL,"COD DESCRICAO DO PRODUTO ",oFt5) OPrn:SAY(5*NLIN,1*NCOL,"QTD UNID. X PRECO UNIT. TOTAL",oFt5) OPrn:SAY(6*NLIN,1*NCOL,"------------------------------------------",oFt5) M_LIN=7 SELE DIGTMP GO TOP DO WHILE .NOT. EOF() OPrn:SAY(M_LIN*NLIN,1*NCOL,DIGTMP->CODREF+" "+DIGTMP->DESCREF,oFt5) M_LIN=M_LIN+1 OPrn:SAY(M_LIN*NLIN,1*NCOL,STR(DIGTMP->QTDREF,9,2)+DIGTMP->UNIPE+STR(DIGTMP->PVENREF,9,2)+SPACE(04)+STR(DIGTMP->PTOTREF,9,2),oFt5) M_LIN=M_LIN+1 sKIP *IMPRIME ITEM ENDDO OPrn:SAY(M_LIN*NLIN,1*NCOL,"---------------------------------",oFt5) M_LIN=M_LIN+1 OPrn:SAY(M_LIN*NLIN,1*NCOL,"TOTAL:",OFT5) OPRN:SAY(M_LIN*NLIN,16*NCOL,TRANSF(M_TOTGER,"999999.99"),oFt5) M_LIN=M_LIN+1 IF M_VLDI>0 OPrn:SAY(M_LIN*NLIN,1*NCOL,"DINHEIRO:",oFt5) OPRN:SAY(M_LIN*NLIN,16*NCOL,TRANSF(M_VLDI,"999999.99"),oFt5) M_LIN=M_LIN+1 ENDIF iF M_VLC1>0 OPRn:SAY(M_LIN*NLIN,1*NCOL,"CARTAO: " ,oFt5) oprn(M_LIN*NLIN,16*NCOL,TRANSF(M_VLC1,"999999.99"),oFt5) M_LIN=M_LIN+1 ENDIF IF M_TROCO>0 OPRn:SAY(M_LIN*NLIN,1*NCOL,"TROCO: ",oFt5) opRN:SAY(M_LIN*NLIN,16*NCOL,TRANSF(M_TROCO,"999999.99"),oFt5) M_LIN=M_LIN+1 ENDIF OPRn:SAY(M_LIN*NLIN,1*NCOL,"OPERADOR: "+M_NOMUSU+" DOC."+M_DOC,oFt5) M_LIN=M_LIN+1 OPRn:SAY(M_LIN*NLIN,1*NCOL,"OBRIGADO E VOLTE SEMPRE!! ",oFt5) oPrn:EndPAGE() * EndPrint RETURN .T. fwh 9.03+xharbour,bcc55,xdev Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.