Buenos días, se me presenta una inquietud.
Tengo un método que imprime en una impresora fiscal y va linea por linea, si en medio de la impresión la impresora se apaga, se traba el papel o lo que sea que devuelva error, no debería seguir ejecutando las próximas lineas.
Lo que veo engorroso es preguntar después de cada linea si hubo un error, ya que a veces el código es de unas 100 lineas y si hago un IF por cada linea es muy poco practico.
Existe alguna forma de que por cada linea que ejecute se evalué una variable y genere una acción?
Por ejemplo en el próximo código, cada linea que se ejecute evalué la variable "err"
err = loTm88.imprimirLineaNoFiscal(REPLICATE('-',40))
err = loTm88.imprimirLineaNoFiscal('ARQUEO DE CAJA')
err = loTm88.imprimirLineaNoFiscal('')
err = loTm88.imprimirLineaNoFiscal('Total Efectivo: '+STR(comprobanteturno.turefectivo,10,2))
err = loTm88.imprimirLineaNoFiscal('Total T. Crédito: '+STR(comprobanteturno.turtarjeta ,10,2))
err = loTm88.imprimirLineaNoFiscal('Total T. Débito: '+STR(comprobanteturno.turtickets ,10,2))
err = loTm88.imprimirLineaNoFiscal('Total Cuenta Cte.: '+STR(comprobanteturno.turctacte ,10,2))
err = loTm88.imprimirLineaNoFiscal('Total Otras F. Pago: '+STR(comprobanteturno.turotros ,10,2))
err = loTm88.imprimirLineaNoFiscal(' ----------')
err = loTm88.imprimirLineaNoFiscal('TOTAL REAL CAJA: '+STR(comprobanteturno.turtotalcaja,10,2))
err = loTm88.imprimirLineaNoFiscal('Total Caja Teorica: -'+STR(comprobanteturno.turcajateorica,10,2))
err = loTm88.imprimirLineaNoFiscal('Diferencia de Caja: ='+STR(comprobanteturno.turdiferencia,10,2))
err = loTm88.imprimirLineaNoFiscal(REPLICATE('-',40))
err = loTm88.imprimirLineaNoFiscal('')
***Busco una opción para no hacer esto:****************
err = loTm88.imprimirLineaNoFiscal(REPLICATE('-',40))
IF err
RETURN .F.
ENDIF
err = loTm88.imprimirLineaNoFiscal('ARQUEO DE CAJA')
IF err
RETURN .F.
ENDIF
err = loTm88.imprimirLineaNoFiscal('')
IF err
RETURN .F.
ENDIF
err = loTm88.imprimirLineaNoFiscal('Total Efectivo: '+STR(comprobanteturno.turefectivo,10,2))
IF err
RETURN .F.
ENDIF