Page 1 of 1
IMPRESION EN TM-U220PA
Posted: Tue Jul 01, 2008 6:40 pm
by LuisPonce
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
Posted: Tue Jul 01, 2008 9:20 pm
by Willi Quintana
oPrn:Command("27","109") // corte de pagina para la TMU200D //
oPrn:Command("27","100","48") // corte de pagina para la STAR 2xxxxx
Salu2
TM-U220PA
Posted: Wed Jul 02, 2008 1:29 pm
by LuisPonce
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()
Posted: Thu Jul 03, 2008 12:42 am
by Willi Quintana
oPrn:Command("27","109") // corte de pagina para la
oPrn:Command("27","7") // NO SE QUE PARA LA EPSON RARA
oPrn:Command("27","110") // NO SE QUE PARA LA EPSON RARA
antes del oprn:end()
Salu2
Posted: Thu Jul 03, 2008 1:12 pm
by LuisPonce
Willy
No pasa nada, de todos modos gracias, creo que mejor estaba con clipper para DOS ahi si funcionaba
Si de algo sirve esta printer tiene puerto paralelo
no tengo tus fonos
Posted: Thu Jul 03, 2008 5:32 pm
by LuisPonce
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
Posted: Thu Jul 03, 2008 5:40 pm
by Willi Quintana
Asegurate que la TMU esta "suicheada" para el protocolo "EPSON ESC"
Salu2
Posted: Thu Jul 03, 2008 5:42 pm
by LuisPonce
Sabes cual es la posicion de los swichts ???
no tengo su manual y no veo data al respecto
Posted: Thu Jul 03, 2008 5:49 pm
by Willi Quintana
me parece que el manual esta en el internet,,, podrias bajarlo i zas,.,,,,
Salu2
PD. (984906626)
Posted: Fri Jul 04, 2008 4:48 am
by mmercado
Hola Luis:
Prueba lo siguiente:
oPrnCmp:Say( nRow,0, Chr( 27 ) + Chr( 109 ), nCompress ) //Corte completo
oPrnCmp:Say( nRow,0, Chr( 27 ) + Chr( 105 ), nCompress ) //medio corte
Saludos.
Manuel Mercado
Posted: Fri Jul 04, 2008 11:46 pm
by LuisPonce
Muchas Gracias Manuel,
Tenia que ser uno de los Masters... obviamente funciono de maravilla, en teoria el oPrn:Command() debe realizar esa tarea.
Saludos desde PERU
Att.
Posted: Sat Jul 05, 2008 12:37 am
by Willi Quintana
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
Posted: Sun Jul 06, 2008 12:44 am
by LuisPonce
Y si la printer fuera una Serial conectada al COM1, como haria con la TDOSPRN, esta solo imprime en LPT1.
Esto alguna vez lo solucione utilizando la PRINT ... FROM USER, es la unica solucion ?, o hay forma de que la TDOSPRN imprima en puerto serial
Gracias