Duvida MP 4200 Nao Fiscal
Moderador: Moderadores
-
andrelucass
- Usuário Nível 3

- Mensagens: 145
- Registrado em: 25 Fev 2005 10:40
Duvida MP 4200 Nao Fiscal
Ola a todos
Tenho uma rotina de impressão de cupom nao fiscal, na impressora epson tm -t20 imprime corretamenta, agora na impressora mp 4200 da bematech a impressão sai diferente.
Atenciosamente
André Lucas souza
Tenho uma rotina de impressão de cupom nao fiscal, na impressora epson tm -t20 imprime corretamenta, agora na impressora mp 4200 da bematech a impressão sai diferente.
Atenciosamente
André Lucas souza
-
AutomoSistema
- Usuário Nível 2

- Mensagens: 87
- Registrado em: 27 Nov 2015 22:09
- Localização: Jardim-MS
Duvida MP 4200 Nao Fiscal
Bom dia, tem como vê o codigo fonte da impressão ou você criou es código com win32prn?
-
andrelucass
- Usuário Nível 3

- Mensagens: 145
- Registrado em: 25 Fev 2005 10:40
-
AutomoSistema
- Usuário Nível 2

- Mensagens: 87
- Registrado em: 27 Nov 2015 22:09
- Localização: Jardim-MS
Duvida MP 4200 Nao Fiscal
Tenho aplicativo que trabalha com win32prn e não tenho problema nenhum com mudança de impressora a unica diferença esta na gaveta
com a impressora bematech abertura é automotico e com a epson tenho que informar que a impressora vai trabalhar com gaveta
com a impressora bematech abertura é automotico e com a epson tenho que informar que a impressora vai trabalhar com gaveta
-
andrelucass
- Usuário Nível 3

- Mensagens: 145
- Registrado em: 25 Fev 2005 10:40
-
AutomoSistema
- Usuário Nível 2

- Mensagens: 87
- Registrado em: 27 Nov 2015 22:09
- Localização: Jardim-MS
Duvida MP 4200 Nao Fiscal
Exemplo de Impressão de cupon não fiscal com uso do win32prn
Código: Selecionar todos
local oPrinter,linha,desenho
local cFileName, oWin32Bmp,nome_impressora,xcalculo,xcopia
local xempresa,xendereco,xbairro,xcidade,xtelefone
dbselectarea(9) // data
dbsetorder(1)
dbseek("1")
xempresa := field -> cliente
xendereco := field -> endereco
xbairro := field -> bairro
xcidade := field -> cidade
xtelefone := field -> telefone
xcalculo := xtotal := 0
xcopia := 1
nome_impressora := GetDefaultPrinter()
// Create printer object and configure print job
oPrinter := Win32Prn():new( nome_impressora )
oPrinter:landscape := .f.
oPrinter:formType := DMPAPER_A4
oPrinter:copies := xcopia
// Create device context
IF .NOT. oPrinter:create()
Alert( "Cannot create device context" )
QUIT
ENDIF
// Create print job
if ! oPrinter:startdoc( "Emissão de Pedido" ) // nome do arquivo para impressao
Alert( "Cannot create document" )
QUIT
ENDIF
linha := 1
desenho := 320
oPrinter:newline()
oPrinter:newline()
oPrinter:setfont('courier new',10,{1,13}, 700 ,.F.,.F.)
oPrinter:setprc( oPrinter:Prow() , Pcol() + 8 )
oPrinter:textout( alltrim(xempresa) )
oPrinter:newline()
oPrinter:setfont('courier new',8,{1,13}, 700 ,.F.,.F.)
oPrinter:setprc( oPrinter:Prow() , Pcol() + 2 )
oPrinter:textout( alltrim(xendereco) )
oPrinter:newline()
oPrinter:setprc( oPrinter:Prow() , Pcol() + 2 )
oPrinter:textout( alltrim(xbairro) + " - " + alltrim(xcidade) )
oPrinter:newline()
oPrinter:setprc( oPrinter:Prow() , Pcol() + 2 )
oPrinter:textout( alltrim(xtelefone) )
oPrinter:newline()
oPrinter:newline()
if xforma = "CREDIÁRIO"
dbselectarea(5) // cliente
dbsetorder(1)
dbseek( xcodcliente )
oPrinter:setprc( oPrinter:Prow() , Pcol() )
oPrinter:textout( "Cliente : " + alltrim(f_cliente) )
oPrinter:newline()
oPrinter:setprc( oPrinter:Prow() , Pcol() )
oPrinter:textout( "End : " + left( field -> end,30) )
oPrinter:newline()
oPrinter:setprc( oPrinter:Prow() , Pcol() )
oPrinter:textout( "Bairro : " + left( field -> bairro,30) )
oPrinter:newline()
if field -> cnpj = space(1)
oPrinter:setprc( oPrinter:Prow() , Pcol() )
oPrinter:textout( "C.P.F : " + field -> cpf )
else
oPrinter:setprc( oPrinter:Prow() , Pcol() )
oPrinter:textout( "CNPJ : " + field -> cnpj )
endif
oPrinter:newline()
oPrinter:setprc( oPrinter:Prow() , Pcol() )
oPrinter:textout( "Telefone : " + field -> telefone )
else
oPrinter:setprc( oPrinter:Prow() , Pcol() )
oPrinter:textout( "Cliente : " + alltrim(f_cliente) )
endif
oPrinter:newline()
oPrinter:setprc( oPrinter:Prow() , Pcol() )
oPrinter:textout( "Pedido N° : " + alltrim(str(xpedido)) )
oPrinter:newline()
oPrinter:setprc( oPrinter:Prow() , Pcol() )
oPrinter:textout( "Emissão : " + dtoc(xdata) )
oPrinter:newline()
oPrinter:setprc( oPrinter:Prow() , Pcol() )
oPrinter:textout( "Meios de Pagamento : " + alltrim(xforma) )
oPrinter:newline()
oPrinter:setprc( oPrinter:Prow() , Pcol() )
oPrinter:textout( replicate( "-" , 76 ) )
oPrinter:newline()
oPrinter:setprc( oPrinter:Prow() , Pcol() + 10 )
oPrinter:textout( "DESCRIÇÃO" )
oPrinter:newline()
oPrinter:setprc( oPrinter:Prow() , Pcol() )
oPrinter:textout( "QTD" )
oPrinter:setprc( oPrinter:Prow() , Pcol() + 10 )
oPrinter:textout( "PR. UNIT." )
oPrinter:setprc( oPrinter:Prow() , Pcol() + 29 )
oPrinter:textout( "TOTAL" )
oPrinter:newline()
oPrinter:setprc( oPrinter:Prow() , Pcol() )
oPrinter:textout( replicate( "-" , 76 ) )
oPrinter:newline()
dbselectarea(7) // his_vend
dbsetorder(1)
OrdScope( 0 , xpedido )
OrdScope( 1 , xpedido )
dbgotop()
do while ! eof()
if deleted()
dbskip()
loop
endif
if field -> quantidade <> 0
linha += 2
oPrinter:setprc( oPrinter:Prow() , Pcol() )
oPrinter:textout( field -> produto )
oPrinter:newline()
oPrinter:setprc( oPrinter:Prow() , Pcol() )
oPrinter:textout( alltrim( str( field -> quantidade ) ) )
oPrinter:setprc( oPrinter:Prow() , Pcol() + 7 )
oPrinter:textout( "X" )
oPrinter:setprc( oPrinter:Prow() , Pcol() + 10 )
oPrinter:textout( transform( field -> valor , "@E 99,999.99" ) )
oPrinter:setprc( oPrinter:Prow() , Pcol() + 25 )
oPrinter:textout( transform( field -> total , "@E 99,999.99" ) )
oPrinter:newline()
xcalculo += field -> total
if linha = 62
linha := 0
oPrinter:newpage()
endif
endif
dbskip()
enddo
oPrinter:setprc( oPrinter:Prow() , Pcol() )
oPrinter:textout( replicate( "-" , 76 ) )
oPrinter:newline()
oPrinter:setprc( oPrinter:Prow() , Pcol() )
oPrinter:textout( "VALOR DA COMPRA R$ " + transform( xcalculo , "@E 99,999.99" ) )
oPrinter:newline()
oPrinter:setprc( oPrinter:Prow() , Pcol() )
oPrinter:textout( "DESCONTO R$ " + transform( xdesconto , "@E 99,999.99" ) )
oPrinter:newline()
oPrinter:setprc( oPrinter:Prow() , Pcol() )
oPrinter:textout( "ACRÉSCIMO R$ " + transform( xacrescimo , "@E 99,999.99" ) )
oPrinter:newline()
oPrinter:setprc( oPrinter:Prow() , Pcol() )
oPrinter:textout( "ENTRADA R$ " + transform( xentrada , "@E 99,999.99" ) )
oPrinter:newline()
oPrinter:setprc( oPrinter:Prow() , Pcol() )
oPrinter:textout( "TOTAL R$ " + transform( xpagar , "@E 99,999.99" ) )
oPrinter:newline()
oPrinter:setprc( oPrinter:Prow() , Pcol() )
oPrinter:textout( "DINHEIRO R$ " + transform( xdinheiro , "@E 99,999.99" ) )
oPrinter:newline()
oPrinter:setprc( oPrinter:Prow() , Pcol() )
oPrinter:textout( "TROCO R$ " + transform( xtroco , "@E 99,999.99" ) )
if xforma = "CREDIÁRIO"
oPrinter:newline()
oPrinter:newline()
oPrinter:newline()
oPrinter:newline()
oPrinter:setprc( oPrinter:Prow() , Pcol() + 5 )
oPrinter:textout( replicate( "-" , 23 ) )
oPrinter:newline()
oPrinter:setprc( oPrinter:Prow() , Pcol() + 5 )
oPrinter:textout( "Assinatura do Cliente" )
endif
oPrinter:newline()
oPrinter:newline()
oPrinter:setprc( oPrinter:Prow() , Pcol() )
oPrinter:textout( "." )
oPrinter:endDoc()
oPrinter:destroy()
Editado pela última vez por Toledo em 10 Mai 2016 12:17, em um total de 1 vez.
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
-
andrelucass
- Usuário Nível 3

- Mensagens: 145
- Registrado em: 25 Fev 2005 10:40
-
andrelucass
- Usuário Nível 3

- Mensagens: 145
- Registrado em: 25 Fev 2005 10:40
Duvida MP 4200 Nao Fiscal
Ainda estou precisando de outro exemplo, usando os proprios comandos do esc/bema
Duvida MP 4200 Nao Fiscal
Esse modelo da Bematech eu uso através da dll mp3032.dll com funções do harbour
Usando Win_Prn() não dá um eject no final??
Usando Win_Prn() não dá um eject no final??
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
-
andrelucass
- Usuário Nível 3

- Mensagens: 145
- Registrado em: 25 Fev 2005 10:40
Duvida MP 4200 Nao Fiscal
Uso essa rotina para imprimir um cupom não fiscal na epsom tm t20, gostaria de imprimir na mp 4200
Código: Selecionar todos
procedure ICupomNaoFiscal(cNumPed)
local nContador := 1,nDesc := 0,cTelefone
Clientes->(dbsetorder(1),dbseek(Pedidos->CodCli))
Vendedor->(dbsetorder(1),dbseek(Pedidos->CodVen))
Plano->(dbsetorder(1),dbseek(Pedidos->CodPla))
Cidades->(dbsetorder(1),dbseek(cEmpCodcid))
set printer tO ( GetDefaultPrinter() ) && PARA COMPILAR EM CLIPPER RETIRAR ESSA LINHA
set device to print
SET MARGIN TO 0
SETPRC( 0, 0 )
@ prow(),pcol() say chr(27)+chr(64) // ** Inicializa a impressora
@ prow()+1,00 say padc(left(rtrim(clNome),38), 48 )
@ prow(),pcol() say CHR(27) + CHR(33) + CHR(1) // ** Muda para a FontB para que o Texto seja impresso em 1 linha
@ PROW()+1,00 say rtrim(cEmpEndereco)+","+cEmpNumero+rtrim(cEmpBairro)+" "+rtrim(Cidades->NomCid)+"-"+;
Cidades->EstCid
@ prow()+1,00 say "Fone: "+transform(cEmpTelefone1,"@r (999)99999-9999")+" "+;
transform(cEmpTelefone2,"@r (999)99999-9999")
@ prow(),pcol() say CHR(27) + CHR(33) + CHR(0) // ** Volta para a FontA
@ PROW()+1,00 SAY REPLI( "-", 48 )
@ PROW()+1,00 SAY PADC( "CUPOM NAO FISCAL", 48 )
@ PROW()+1,00 SAY "Proposta No: "+cNumPed+" "+dtoc(Pedidos->Data)+" "+time()
@ prow()+1,00 say " Cliente: "+Pedidos->CodCli+" "+left(Clientes->NomCli,30)
@ prow()+1,00 say "Vendedor: "+Pedidos->CodVen+" "+Vendedor->Nome
@ prow()+1,00 say replicate("-",48)
@ PROW()+1,0 SAY "#|COD|DESC|QTD|UN|VL UN R$|(VLTR R$)*|VL ITEM R$"
@ PROW()+1,0 SAY REPLI( "-", 48 )
@ prow(),pcol() say CHR(27) + CHR(33) + CHR(1) // ** Muda para a FontB para que o Texto seja impresso em 1 linha
ItemPed->(dbsetorder(1),dbseek(cNumPed))
do while ItemPed->NumPed == cNumPed .and. ItemPed->(!eof())
Produtos->(dbsetorder(1),dbseek(ItemPed->CodPro))
@ prow()+1,00 say strzero(nContador,3,0)+space(01)+;
ItemPed->CodItem+space(01)+;
left(Produtos->FanPro,30)+space(01)+;
transform(ItemPed->QtdPro,"@e 999,999.999")+space(01)+;
Produtos->EmbPro+space(01)+;
"X"+space(01)+;
transform(ItemPed->PcoVen,"@e 99,999.999")+space(01)+;
transform(ItemPed->PcoLiq*ItemPed->QtdPro,"@e 999,999.99")
ItemPed->(dbskip())
if ItemPed->(eof())
exit
endif
nContador += 1
enddo
@ prow(),pcol() say CHR(27) + CHR(33) + CHR(0) // Muda para fontA
@ PROW()+1,00 SAY REPLI( "-", 48 )
@ prow()+1,00 say "Itens: "+strzero(nContador,3,0)
@ prow() ,20 say "Sub-Total: "+transform(Pedidos->SubTotal,"@e 999,999.99")
if Pedidos->ValDesc > 0
nDesc := Pedidos->ValDesc
endif
if Pedidos->PerDesc > 0
nDesc := Pedidos->SubTotal*(Pedidos->PerDesc/100)
endif
@ prow()+1,20 say "Desconto: "+transform(nDesc,"@e 999,999.99")
@ prow()+1,20 say " Total: "+transform(Pedidos->SubTotal-nDesc,"@e 999,999.99")
@ prow()+1,00 say "Pagamento: "+Plano->DesPla
if !empty(Sequencia->MCupom1) .or. !empty(Sequencia->MCupom2) .or. !empty(Sequencia->MCupom3)
@ prow()+1,00 say replicate("-",48)
if !empty(Sequencia->MCupom1)
@ prow()+1,00 say padc(rtrim(Sequencia->MCupom1),48)
endif
if !empty(Sequencia->MCupom2)
@ prow()+1,00 say padc(rtrim(Sequencia->MCupom2),48)
endif
if !empty(Sequencia->MCupom3)
@ prow()+1,00 say padc(rtrim(Sequencia->MCupom3),48)
endif
endif
@ PROW()+7,00 SAY ""
@ PROW(),0 SAY CHR(29) + CHR(86) + CHR(0) // Aciona Guilhotina
set device to screen
set printer to
return
// *****************************************************************************
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Duvida MP 4200 Nao Fiscal
Amiguinhos,
Esta impressoras usam ESC/POS e/ou ESC/POS Bema.
Use o Bematech User Interface para verificar qual configuração está ativa para ela. Geralmente ela vem padronizada para ESC/POS Bema onde o formato da impressão é diferente do ESC/POS padrão.
Esta impressoras usam ESC/POS e/ou ESC/POS Bema.
Use o Bematech User Interface para verificar qual configuração está ativa para ela. Geralmente ela vem padronizada para ESC/POS Bema onde o formato da impressão é diferente do ESC/POS padrão.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
