Hola
Tengo este codigo que siempre funciono en 16bits y ahora se cuelga :
lImprime:=.T.
lImpDos :=.T.
cLptDoc:="LPT1"
IMPF00=5
nLinDoc:=36
nTotFac:=nTotBse:=nTotIgv:=nTotDes:=nTotUnd:=0
Select("IFacturas")
* proceso
msginfo(lImprime,"lImprime")
msginfo(lImpDos,"lImpDos")
msginfo(IMPF00,"IMPF00")
msginfo(cLptDoc,"cLptDoc")
msginfo(nLinDoc,"nLinDoc")
IF lImprime
IF lImpdos
nVer:=11
nVerSon:=(nVer+nMaxDoc)+1
nRow:=4
? "Voy a Iniciar la Clase TDosPrn"
oPrnCmp:=TDosPrn():New(cLptDoc)
// oPrnCmp:=TDosPrn():New('LPT2')
oPrnCmp:Command( { 27, 64 } )
oPrnCmp:Command( { 27, 67, nLinDoc } )
oPrnCmp:Say( nRow, 70, cDoc+cNro, nCompress )
nRow ++
oPrnCmp:Say( nRow, 05, cCodClt+" "+cNombre, { nBold , nCompress } )
oPrnCmp:Say( nRow, 42, cCancela, nCompress )
nRow ++
oPrnCmp:Say( nRow, 05, cDirClt, nCompress )
// oPrnCmp:Say( nRow, 42, CFECHA(dFecAct,'E'), nCompress )
nRow ++
oPrnCmp:Say( nRow, 05, cNroRuc, nPica )
oPrnCmp:Say( nRow, 26, cPlaca, nPica )
// oPrnCmp:Say( nRow, 26, cCodClt, nPica )
oPrnCmp:Say( nRow, 42, cGrFero, nPica )
nRow ++
oPrnCmp:Say( nRow, 05, CFECHA(dFecAct,'E'), nCompress )
nRow ++
nRow ++
Select("IFacturas")
IF IFacturas->( DbSeek( cCodDoc+cNroSer+'-'+cNroTik ) )
? "Encontre "+cCodDoc+cNroSer+'-'+cNroTik
WHILE IFacturas->CARGO=cCodDoc.and.IFacturas->TIKET=cNroSer+'-'+cNroTik
cCodSer :=IFacturas->CODSER
cCodSur :=IFacturas->SURTIDOR
nCanSer :=IFacturas->CANTIDAD
Select("IItems")
If IItems->( DbSeek( UPPER( cCodSer) ) )
cItmDes:=IItems->DESITM
cItmUnd:=IItems->UNDITM
ELSE
cItmDes:=PADL('NO EXISTE....',50)
cItmUnd:='XXX'
ENDIF
nDctoItem:=IIF(nItmPre>nPrecio,(nItmPre-nPrecio)*nCanSer,0)
Select("IFacturas")
oPrnCmp:Say( nVer, 00, TRANS(IFacturas->CANTIDAD,MA53)+" "+cItmUnd, nCompress )
oPrnCmp:Say( nVer, 10, cCodSer, { nPica,nCompress } )
IF !EMPTY(cCodSur)
oPrnCmp:Say( nVer, 15, cCodSur, nPica )
oPrnCmp:Say( nVer, 18, cItmDes, nPica )
ELSE
oPrnCmp:Say( nVer, 15, cItmDes, nPica )
ENDIF
oPrnCmp:Say( nVer, 56, TRANS(nPrecio,MA52)+" "+IIF(!EMPTY(nDctoItem).AND.IMPIDC,TRANS(nDctoItem/nCanSer,MA34),SPACE(8))+TRANS(IFacturas->IMPORTE,MA72C), nPica )
nVer ++
nTotUnd+=IFacturas->CANTIDAD
nTotDes+=IIF(nDctoItem>0.00.AND.IMPIDC,nDctoItem,0)
nTotIgv+=IFacturas->IGV
nTotFac+=IFacturas->IMPORTE
nTotBse+=IFacturas->BSEIMP
* Continua con otro item
IFacturas->(DbSkip())
END
ENDIF
oPrnCmp:Say( nVerSon, 40, IIF (EMPTY(IMPMS2),' ',IMPMS2),,nCenter )
nVerSon ++
oPrnCmp:Say( nVerSon, 40, IIF (EMPTY(IMPMS3),' ',IMPMS3),,nCenter )
oPrnCmp:End()
ENDIF
ENDIF
Le puse mensajes para ver donde se cuelga y no llega a "Encontre".... le hice cambios
oPrnCmp:Command( "27, 64" )
igual, no pasa nada
O no funciona la TDOSPRN con FH 8.2, en este foro he visto que si, entonces no me explico en que puedo estar fallando
Gracias
Att