Ver Mensaje Individual
  #97
Antiguo 30 de julio de 2020, 17:29
fastpho
El Foro es mi casa
Innovación: Por aportar innovaciones - Issue reason: SQLite + OO Cobol class Concurso: Primer puesto: Ganador/a del Primer puesto en un concurso - Issue reason: Acceso a datos Cobol vía web 
Última Actividad 30.09.2026 19:12
Posts Posts: 365
Likes enviados Enviados: 252
Likes recibidos Recibidos: 243

@jhjacomo, Etiqueta las lineas de programa para que sea mas facil leer , con respecto a la comunicacion con el impresor fiscal , tenes que chequear Siempre cada vez que envias algo al impresor las propiedades de comunicacion para saber que pasa del otro lado: puede que te apagaron el impresor , no tenga papel , pasaron mas de 24 hs y corresponde hacer una Z si o si
Código VB:
  1. Prototype: getState( void );
Código VB:
  1. Prototype: int getLastError( void );

Por que siempre el impresor por medio de la libreria te devolvera algo ....
Por ejemplo:
Código COBOL:
  1. *> OPEN  PORT.
  2.      move spaces       TO FUNC-EPSON-LIB.
  3.      MOVE "OpenPort"   TO FUNC-EPSON-LIB.
  4.      CALL FUNC-EPSON-LIB WITH  STDCALL  USING BY REFERENCE VERSION.
  5.        
  6.      move spaces       TO FUNC-EPSON-LIB.
  7.      MOVE "getLastError" TO FUNC-EPSON-LIB.
  8.      CALL FUNC-EPSON-LIB WITH  STDCALL RETURNING  iError.
  9.      display              iError.
  10.      IF iError = 4  then MOVE "Error de escritura verifique el impresor" to "Text" OF CmCOMUNICACION.
  11.      IF iError = 0  then MOVE "ok" to "Text" OF CmCOMUNICACION.
  12.      IF iError = 1  then MOVE "Puerto ocupado" to  "Text" OF CmCOMUNICACION.
  13.      IF iError = 2  then MOVE "Puerto invalido" to "Text" OF CmCOMUNICACION.
  14.      IF iError = 10  then MOVE "Error de escritura verifique el impresor" to "Text" OF CmCOMUNICACION.

Código COBOL:
  1. ENVIRONMENT     DIVISION.
  2.  DATA            DIVISION.
  3.  WORKING-STORAGE SECTION.
  4.  01 Respuesta          PIC S9(9) COMP-5 VALUE 0.
  5.  
  6.  PROCEDURE       DIVISION.
  7.      move "getState" to FUNC-EPSON-LIB.
  8.      CALL FUNC-EPSON-LIB WITH  STDCALL  RETURNING Respuesta.
  9. *    display "state 1" , Respuesta  
  10.      perform until Respuesta not = 2 *> esta ocupada la impresora
  11.           CALL FUNC-EPSON-LIB WITH  STDCALL RETURNING Respuesta
  12. *     display "state 2" , Respuesta
  13.      end-perform.      
Esta informacion esta en el manual del protocolo de la libreria....
Si estas trabajando por medio de usb podes mirar en Dispositivos e Impresoras de windows ,debe estar el impresor sin error
Saludos
fastpho is offline   Responder Con Cita