IMPRESION EN TM-U220PA
IMPRESION EN TM-U220PA
Hola
Neesito imprimir en una impresora ticketera, es la EPSON TM-U220PA, tengo problemas para hace funcinar el corte de papel, o existe alguna libreria adicional.
En Clipper para DOS solia hacerlo sin problemas con la TM-300c era CHR(27)+"i" y listo, pero en Five Win no me funciona.
De ante mano
Gracias
Att.
Luis Ponce
Neesito imprimir en una impresora ticketera, es la EPSON TM-U220PA, tengo problemas para hace funcinar el corte de papel, o existe alguna libreria adicional.
En Clipper para DOS solia hacerlo sin problemas con la TM-300c era CHR(27)+"i" y listo, pero en Five Win no me funciona.
De ante mano
Gracias
Att.
Luis Ponce
Luis Ponce
- Willi Quintana
- Posts: 859
- Joined: Sun Oct 09, 2005 10:41 pm
- Location: Cusco - Perú
- Contact:
TM-U220PA
Gracias Willy, pero te comento que no funciono, lo probe antes del oPrn:End() y despues, con comillas y sin comillas... tampoco funciona ahi te paso mi codigo:
nVer:=10
nVerSon:=(nVer+nMaxDoc)
nRow:=2
oPrnCmp:=TDosPrn():New(cLptDoc)
oPrnCmp:Command( { 27, 64 } )
IF lCabecera // imprime cabecera ??
oPrnCmp:Say( nRow, 00, PADC(cMiCia,40) )
nRow++
oPrnCmp:Say( nRow, 00, Repl('-',40), nCompress )
nRow++
oPrnCmp:Say( nRow, 00, PADC('R.U.C. '+IMPRUC,40), nCompress )
nRow++
oPrnCmp:Say( nRow, 00, PADC('N/s '+TRIM(IMPSIT),40), nCompress )
nRow++
ENDIF
oPrnCmp:Say( nRow, 00, Repl('-',40), nCompress )
nRow++
oPrnCmp:Say( nRow, 00, PADR(TRIM(cDesDoc)+' N° '+cNroSer+'-'+cNroTik,40), nCompress )
oPrnCmp:Say( nRow, 00, PADL("Vendedor : "+LEFT(cGrFero,5),40), nCompress )
nRow++
oPrnCmp:Say( nRow, 00, PADL(CFECHA(dFecAct,'E')+' '+TIME(),40), nCompress )
nRow++
oPrnCmp:Say( nRow, 01, "Cantidad Std Descripcion Importe", { nItalic,nCompress } )
Select("IFacturas")
IF IFacturas->( DbSeek( cCodDoc+cNroSer+'-'+cNroTik ) )
WHILE IFacturas->CARGO=cCodDoc.and.IFacturas->TIKET=cNroSer+'-'+cNroTik
cCodSer :=IFacturas->CODSER
nCanSer :=IFacturas->CANTIDAD
nPrecio :=IFacturas->PRECIO
nItmPre :=IFacturas->PREBSE
Select("IItems")
If IItems->( DbSeek( UPPER( cCodSer) ) )
cItmDes:=PADL(IItems->DESITM,15)
cItmUnd:=IItems->UNDITM
ELSE
cItmDes:=PADL('NO EXISTE...',15)
cItmUnd:='XXX'
ENDIF
Select("IFacturas")
oPrnCmp:Say( nVer,00, TRANS(IFacturas->CANTIDAD,MA53)+" "+cCodSur+" "+cItmDes, nCompress )
oPrnCmp:Say( nVer,29, TRANS(IFacturas->IMPORTE,MA72C), nCompress )
nVer ++
nTotIgv+=IFacturas->IGV
nTotFac+=IFacturas->IMPORTE
nTotBse+=IFacturas->BSEIMP
* Continua con otro item
IFacturas->(DbSKIP())
END
ENDIF
* a pagar
nVer ++
oPrnCmp:Say( nVer, 00, PADL("TOTAL"+cMoneda+" "+TRANS(nTotFac,MA72C),40), nCompress )
nVer ++
nVer ++
oPrnCmp:Say( nVer, 00, "FW "+mmINICIAL+' '+LEFT(cCancela,3)+" "+AUT, nCompress )
nVer+=8
oPrnCmp:Say( nVer, 00, " ", nCompress )
oPrnCmp:Command( { 27, 109 } )
oPrnCmp:End()
nVer:=10
nVerSon:=(nVer+nMaxDoc)
nRow:=2
oPrnCmp:=TDosPrn():New(cLptDoc)
oPrnCmp:Command( { 27, 64 } )
IF lCabecera // imprime cabecera ??
oPrnCmp:Say( nRow, 00, PADC(cMiCia,40) )
nRow++
oPrnCmp:Say( nRow, 00, Repl('-',40), nCompress )
nRow++
oPrnCmp:Say( nRow, 00, PADC('R.U.C. '+IMPRUC,40), nCompress )
nRow++
oPrnCmp:Say( nRow, 00, PADC('N/s '+TRIM(IMPSIT),40), nCompress )
nRow++
ENDIF
oPrnCmp:Say( nRow, 00, Repl('-',40), nCompress )
nRow++
oPrnCmp:Say( nRow, 00, PADR(TRIM(cDesDoc)+' N° '+cNroSer+'-'+cNroTik,40), nCompress )
oPrnCmp:Say( nRow, 00, PADL("Vendedor : "+LEFT(cGrFero,5),40), nCompress )
nRow++
oPrnCmp:Say( nRow, 00, PADL(CFECHA(dFecAct,'E')+' '+TIME(),40), nCompress )
nRow++
oPrnCmp:Say( nRow, 01, "Cantidad Std Descripcion Importe", { nItalic,nCompress } )
Select("IFacturas")
IF IFacturas->( DbSeek( cCodDoc+cNroSer+'-'+cNroTik ) )
WHILE IFacturas->CARGO=cCodDoc.and.IFacturas->TIKET=cNroSer+'-'+cNroTik
cCodSer :=IFacturas->CODSER
nCanSer :=IFacturas->CANTIDAD
nPrecio :=IFacturas->PRECIO
nItmPre :=IFacturas->PREBSE
Select("IItems")
If IItems->( DbSeek( UPPER( cCodSer) ) )
cItmDes:=PADL(IItems->DESITM,15)
cItmUnd:=IItems->UNDITM
ELSE
cItmDes:=PADL('NO EXISTE...',15)
cItmUnd:='XXX'
ENDIF
Select("IFacturas")
oPrnCmp:Say( nVer,00, TRANS(IFacturas->CANTIDAD,MA53)+" "+cCodSur+" "+cItmDes, nCompress )
oPrnCmp:Say( nVer,29, TRANS(IFacturas->IMPORTE,MA72C), nCompress )
nVer ++
nTotIgv+=IFacturas->IGV
nTotFac+=IFacturas->IMPORTE
nTotBse+=IFacturas->BSEIMP
* Continua con otro item
IFacturas->(DbSKIP())
END
ENDIF
* a pagar
nVer ++
oPrnCmp:Say( nVer, 00, PADL("TOTAL"+cMoneda+" "+TRANS(nTotFac,MA72C),40), nCompress )
nVer ++
nVer ++
oPrnCmp:Say( nVer, 00, "FW "+mmINICIAL+' '+LEFT(cCancela,3)+" "+AUT, nCompress )
nVer+=8
oPrnCmp:Say( nVer, 00, " ", nCompress )
oPrnCmp:Command( { 27, 109 } )
oPrnCmp:End()
Last edited by LuisPonce on Fri Jul 04, 2008 11:50 pm, edited 1 time in total.
Luis Ponce
- Willi Quintana
- Posts: 859
- Joined: Sun Oct 09, 2005 10:41 pm
- Location: Cusco - Perú
- Contact:
Willy
Creo que lo que sucede es que no recibe ningun comando, le pongo con la tdosprn :
oPrnCmp:Say( nRow, 00, PADC(cMiCia,40),nBold )
y tampoco pasa nada. deberia imprimir el titulo en negrita y no hace nada, baje un pdf con los codigos de impresion y es el mismo que me dices 27,109 tendran algo que ver los swicht que estan debajo de la printer ???? por que no recibe los codigos ESC/POS
Creo que lo que sucede es que no recibe ningun comando, le pongo con la tdosprn :
oPrnCmp:Say( nRow, 00, PADC(cMiCia,40),nBold )
y tampoco pasa nada. deberia imprimir el titulo en negrita y no hace nada, baje un pdf con los codigos de impresion y es el mismo que me dices 27,109 tendran algo que ver los swicht que estan debajo de la printer ???? por que no recibe los codigos ESC/POS
Luis Ponce
- Willi Quintana
- Posts: 859
- Joined: Sun Oct 09, 2005 10:41 pm
- Location: Cusco - Perú
- Contact:
- Willi Quintana
- Posts: 859
- Joined: Sun Oct 09, 2005 10:41 pm
- Location: Cusco - Perú
- Contact:
- Willi Quintana
- Posts: 859
- Joined: Sun Oct 09, 2005 10:41 pm
- Location: Cusco - Perú
- Contact:
Talvez sea cuestion de versiones, yo trabajo asi: Salu2
...
nRow := nRow + 7
oPrn:Say(nRow,0,"") // vacia el buffers
oPrn:Command("27","50") //1/6 salto vertical
CutPaper(oPrn,nRow)
Return(Nil)
//----------------------------------------------------
Function CutPaper(oPrn,nRow,vModo)
DEFAULT vModo := 1
Do Case
Case vModo = 1
oPrn:Command("27","109") // corte de pagina para la TMU200D //oPrn:Command("27","100","48") // corte de pagina para la STAR 2000 / SP2520
Case vModo = 2
oPrn:Command("27","7") // NO SE QUE PARA LA EPSON RARA
oPrn:Command("27","110") // NO SE QUE PARA LA EPSON RARA
Case vModo = 3
oPrn:Say(nRow,0,Chr(29),Chr(86),Chr(1)) //oPrn:Write( Chr(29)+Chr(86)+Chr(1) )
oPrn:Say(nRow,0,Chr(7))
oPrn:Say(nRow,0,Chr(27),Chr(112),Chr(0),Chr(25),Chr(250))
Other
Return Nil
EndCase
Return Nil
...
nRow := nRow + 7
oPrn:Say(nRow,0,"") // vacia el buffers
oPrn:Command("27","50") //1/6 salto vertical
CutPaper(oPrn,nRow)
Return(Nil)
//----------------------------------------------------
Function CutPaper(oPrn,nRow,vModo)
DEFAULT vModo := 1
Do Case
Case vModo = 1
oPrn:Command("27","109") // corte de pagina para la TMU200D //oPrn:Command("27","100","48") // corte de pagina para la STAR 2000 / SP2520
Case vModo = 2
oPrn:Command("27","7") // NO SE QUE PARA LA EPSON RARA
oPrn:Command("27","110") // NO SE QUE PARA LA EPSON RARA
Case vModo = 3
oPrn:Say(nRow,0,Chr(29),Chr(86),Chr(1)) //oPrn:Write( Chr(29)+Chr(86)+Chr(1) )
oPrn:Say(nRow,0,Chr(7))
oPrn:Say(nRow,0,Chr(27),Chr(112),Chr(0),Chr(25),Chr(250))
Other
Return Nil
EndCase
Return Nil