Gracias Rui Pinto (Rapinto)
COBOL Foro
Foro dedicado a COBOL, a la Programación y a la Informática.
Retroceder   COBOL Foro > IDE-s y compiladores COBOL > Fujitsu COBOL > PowerCOBOL (ActiveX, v4 - v11)
PowerCOBOL (ActiveX, v4 - v11) Versiones del IDE basadas en ActiveX
Noticias y Avisos
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[Aporte] Manejo de control CmListView (Grid) Josber Cocina PowerCOBOL 17 24 de septiembre de 2019 16:04
[Sintaxis] Ayuda con libreria epson InterfaceEpsonNF.dll drvedia1981 PowerCOBOL (ActiveX, v4 - v11) 2 24 de noviembre de 2017 02:05
[Compilador] Error de generación del reporte de Crash JuanJuan77 PowerCOBOL (ActiveX, v4 - v11) 2 7 de julio de 2017 21:02
[Información] Utilización de OCX impresora fiscal en RM/Cobol 7 mainero RM/COBOL 3 29 de junio de 2017 22:34
Motocicletas de nueva generación Kuk Espacio "Offtop" 0 24 de diciembre de 2016 15:24
Respuesta
 
Herramientas

  #1
Antiguo 10 de abril de 2017, 22:27
IDENTIFICATION DIVISION
fastpho
Novato Junior
ENVIRONMENT DIVISION
Avatar de fastpho
DATA DIVISION
Forero desde (Registrado)diciembre 2016
Argentina
UbicaciónMendoza
Edad49 años
Última Actividad17.10.2019 15:30
PROCEDURE DIVISION
PostsPosts: 71
Ha dicho GraciasEnviado: 41
Ha recibido agradecimientosRecibido: 23
Mejores respuestasSoluiones: 4
ReputaciónReputación: 5
fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point
Impresora Manejo OCX impresora Fiscal Epson nueva generación

Hola Amigos tengo problemas con la ocx de las impresoras Fiscales de la nueva generacion
alguien esta trabajando con ella ?

Saludos y gracias
fastpho no ha iniciado sesión   Responder Con Cita
  #2
Antiguo 11 de abril de 2017, 08:16
IDENTIFICATION DIVISION
Kuk
Administrador
ENVIRONMENT DIVISION
Avatar de Kuk
DATA DIVISION
Forero desde (Registrado)enero 2015
España
UbicaciónMadrid
Edad34 años
Última Actividad17.10.2019 15:47
PROCEDURE DIVISION
PostsPosts: 1.417
Ha dicho GraciasEnviado: 318
Ha recibido agradecimientosRecibido: 540
Mejores respuestasSoluiones: 87
ReputaciónReputación: 10
Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road
Predeterminado

fastpho, y el resto de los foreros...

Diciendo simplemente "tengo problemas" ¡prácticamente no decís nada! Cuando contáis un problema, dadnos detalles (como qué tipo de error tenéis exactamente) y cuantos más detalles deis mejor os podremos ayudar.


NORMAS DEL FORO - obligatorias de conocer para TODOS.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale Pinchando en su Nick:

Kuk no ha iniciado sesión   Responder Con Cita
  #3
Antiguo 12 de abril de 2017, 14:02
IDENTIFICATION DIVISION
fastpho
Novato Junior
ENVIRONMENT DIVISION
Avatar de fastpho
DATA DIVISION
Forero desde (Registrado)diciembre 2016
Argentina
UbicaciónMendoza
Edad49 años
Última Actividad17.10.2019 15:30
PROCEDURE DIVISION
PostsPosts: 71
Ha dicho GraciasEnviado: 41
Ha recibido agradecimientosRecibido: 23
Mejores respuestasSoluiones: 4
ReputaciónReputación: 5
fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point
Teclado Impresoras Fiscales nueva generacion

Buen dia amigos : Les cuento un poco de cero , la empresa Epson Argentina provee una ocx para
comunicarte con la impresora fiscal , posee comandos para enviarle a la impresora para que haga algo ... Por ejemplo hay un comando que es para saber el estado de la impresora que puede ser fiscal o estado de hardware del impresor los datos hay que mandarlos en hexadecimal cuando ejecuto el comando la fiscal me da el siguiente error : el frame con contiene el minimo aceptado
He bajado un soft que monitorea los datos enviados y comparando con un programa que funciona
en visual comparo lo que yo envio y lo que envia el otro soft y aca les dejo las diferencias:


Código:
06 02 99 00 01 1C 00 00 03 30 30 42 42            bien el de visual

06 02 FF 00 1C 00 03 30 31 32 30                     mal mi soft



Código COBOL:
  1. WORKING-STORAGE SECTION.
  2.  01 ReturnDEValue        PIC S9(9) COMP-5 VALUE 0.
  3.  01 LINEA-ESTADO.
  4.     03 Comando            PIC X VALUE  X"00".
  5.     03 Comandobis         PIC X VALUE  X"01".
  6.  01 LINEA-EXTRA.  
  7.     03 DataField1         PIC X VALUE  X"00".
  8.     03 DataField2         PIC X VALUE  X"00".
  9. *01 ReturnString       PIC X(12).
  10. *01 Variable           PIC 9(3).
  11.  PROCEDURE       DIVISION.
  12. * abre el puerto
  13.      INVOKE EpsonFPHostControl1 "OpenPort"                         RETURNING ReturnDEValue.
  14. * dato a enviar al impresor
  15.      INVOKE EpsonFPHostControl1 "AddDataField" USING LINEA-ESTADO  RETURNING ReturnDEValue.
  16. * dato a enviar al impresor
  17.      INVOKE EpsonFPHostControl1 "AddDataField" USING LINEA-EXTRA   RETURNING ReturnDEValue.
  18. * aca envia el paquete de datos
  19.      INVOKE EpsonFPHostControl1 "SendCommand"                      RETURNING ReturnDEValue.
fastpho no ha iniciado sesión   Responder Con Cita
  #4
Antiguo 13 de abril de 2017, 07:54
IDENTIFICATION DIVISION
Kuk
Administrador
ENVIRONMENT DIVISION
Avatar de Kuk
DATA DIVISION
Forero desde (Registrado)enero 2015
España
UbicaciónMadrid
Edad34 años
Última Actividad17.10.2019 15:47
PROCEDURE DIVISION
PostsPosts: 1.417
Ha dicho GraciasEnviado: 318
Ha recibido agradecimientosRecibido: 540
Mejores respuestasSoluiones: 87
ReputaciónReputación: 10
Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road
Predeterminado

fastpho, ambas colecciones de valores que muestras son bastante más largos que lo que tienes en el código COBOL que has publicado.

¿Tu problema es que no sabes cómo enviar a la impresora un string con estos valores? ¿Tienes algún ejemplo de un programa que funcione, sea en el lenguaje que sea (el de "Visual" por ejemplo)?

También, publica aquí las instrucciones exactas de esa OCX. No hace falta que sea todo el manual, pero un ejemplo de lo que quieres hacer. E intentaremos crear el código desde 0 de nuevo, a lo mejor se te ha escapado algo y es por eso que no te funciona.


NORMAS DEL FORO - obligatorias de conocer para TODOS.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale Pinchando en su Nick:

Kuk no ha iniciado sesión   Responder Con Cita
  #5
Antiguo 17 de abril de 2017, 13:41
IDENTIFICATION DIVISION
fastpho
Novato Junior
ENVIRONMENT DIVISION
Avatar de fastpho
DATA DIVISION
Forero desde (Registrado)diciembre 2016
Argentina
UbicaciónMendoza
Edad49 años
Última Actividad17.10.2019 15:30
PROCEDURE DIVISION
PostsPosts: 71
Ha dicho GraciasEnviado: 41
Ha recibido agradecimientosRecibido: 23
Mejores respuestasSoluiones: 4
ReputaciónReputación: 5
fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point
Estadística Impresoras Fiscales nueva generacion

Gracias Kuk por tu respuesta voy a tratar de explicar y pongo un parte del codigo en visual basic que funciona con la ocx que provee epson , el string ha enviar deben ser valores en hexadecimal por lo que veo de la linea que dice LINEA-ESTADO la ocx se come el valor que dice (01) ... 03 Comandobis PIC X VALUE X"01"
de la linea LINEA-EXTRA se come los valores nulos y me agrega "00"
Las lineas que pege en power cobol corresponde al comando estado
Voy a pegar aqui la linea de visual que funcionan (comando x , comando z y comando estado) :

Código VB:
  1. Case 0
  2.         '---------------------------
  3.        ' Cierre X
  4.        '---------------------------
  5.            sCmd = Chr$(&H8) + Chr$(&H2)
  6.             MsgBox sCmd
  7.             If bAnswer Then bAnswer = Me.EpsonFP.AddDataField(sCmd)
  8.            sCmdExt = Chr$(&HC) + Chr$(&H21)
  9.           '  sCmdExt = Chr$(&H0) + Chr$(&H1)
  10.            If bAnswer Then bAnswer = Me.EpsonFP.AddDataField(sCmdExt)
  11.             If bAnswer Then bAnswer = Me.EpsonFP.SendCommand
  12.             Call FPDelay
  13.             If Me.EpsonFP.ReturnCode <> 0 Then ShowMsg
  14.            
  15.  Case 1
  16.         '---------------------------
  17.        ' Cierre Z
  18.        '---------------------------
  19.            sCmd = Chr$(&H8) + Chr$(&H1)
  20.             If bAnswer Then bAnswer = Me.EpsonFP.AddDataField(sCmd)
  21.             sCmdExt = Chr$(&HC) + Chr$(&H0)
  22.             If bAnswer Then bAnswer = Me.EpsonFP.AddDataField(sCmdExt)
  23.             If bAnswer Then bAnswer = Me.EpsonFP.SendCommand
  24.             Call FPDelay
  25.             If Me.EpsonFP.ReturnCode <> 0 Then ShowMsg
  26.            
  27. Case 6
  28.         '---------------------------
  29.        ' Estado
  30.        '---------------------------
  31.            sCmd = Chr$(&H0) + Chr$(&H1)
  32.             If bAnswer Then bAnswer = Me.EpsonFP.AddDataField(sCmd)
  33.             sCmdExt = Chr$(&H0) + Chr$(&H0)
  34.             If bAnswer Then bAnswer = Me.EpsonFP.AddDataField(sCmdExt)
  35.             If bAnswer Then bAnswer = Me.EpsonFP.SendCommand
  36.             Call FPDelay
  37.             ShowMsg
desde ya muchas gracias por su ayuda
fastpho no ha iniciado sesión   Responder Con Cita
  #6
Antiguo 17 de abril de 2017, 15:02
IDENTIFICATION DIVISION
Kuk
Administrador
ENVIRONMENT DIVISION
Avatar de Kuk
DATA DIVISION
Forero desde (Registrado)enero 2015
España
UbicaciónMadrid
Edad34 años
Última Actividad17.10.2019 15:47
PROCEDURE DIVISION
PostsPosts: 1.417
Ha dicho GraciasEnviado: 318
Ha recibido agradecimientosRecibido: 540
Mejores respuestasSoluiones: 87
ReputaciónReputación: 10
Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road
Predeterminado

fastpho, usa los Tag-s de resalto de sintaxis como lo dicen las normas del foro (enlace en mi firma): [Información] "No sé dónde y cómo publicar posts..." - COBOL Foro

En cuanto al código VB que has citado, me parece que te has liado. Estamos hablando de 1 byte cada vez, con lo cual el siguiente

Código VB:
  1. sCmd = Chr$(&H0) + Chr$(&H1)
  2. sCmdExt = Chr$(&HC) + Chr$(&H0)

En COBOL equivale a:

Código COBOL:
  1.  01  sCmd            PIC X(2) VALUE X'0001'.
  2.  01  sCmdExt         PIC X(2) VALUE X'0C00'.

Es decir, que cada valor mencionado en VB se ubique en 1 byte, dando así el conjunto de resultado de llamada de las 2 funciones Chr$ daría un String de un total de 2 bytes.

Haz las modificaciones correspondientes según el ejemplo que te he dado, pruébalo y nos cuentas.


NORMAS DEL FORO - obligatorias de conocer para TODOS.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale Pinchando en su Nick:

Kuk no ha iniciado sesión   Responder Con Cita
Ha dicho Gracias : 1
fastpho (18 de abril de 2017)
  #7
Antiguo 18 de abril de 2017, 21:18
IDENTIFICATION DIVISION
fastpho
Novato Junior
ENVIRONMENT DIVISION
Avatar de fastpho
DATA DIVISION
Forero desde (Registrado)diciembre 2016
Argentina
UbicaciónMendoza
Edad49 años
Última Actividad17.10.2019 15:30
PROCEDURE DIVISION
PostsPosts: 71
Ha dicho GraciasEnviado: 41
Ha recibido agradecimientosRecibido: 23
Mejores respuestasSoluiones: 4
ReputaciónReputación: 5
fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point
Predeterminado

Gracias Kuk por tu respuesta pero no me funciona me hace lo mismo que antes, lo que he notado que solo envia el caracter nulo 00 , por que use el comando reporte x y en ese caso si me envia el string que corresponde pero me agrega el caracter nulo

Código:
Estado del Impresor

06 02 99 00 01 1C 00 00 03 30 30 42 42            forma correcta soft en vb6

06 02 FF 00 1C 00 03 30 31 32 30                  forma incorrecta powercobol


informe x

 06 02 FA 08 1B 02 1C 0C 21 03 30 31 36 44         forma correcta soft en vb6

 06 02 9C 08 1B 02 00 1C 0C 21 00 03 30 31 30 46    forma incorrecta powercobol
fastpho no ha iniciado sesión   Responder Con Cita
  #8
Antiguo 19 de abril de 2017, 07:56
IDENTIFICATION DIVISION
Kuk
Administrador
ENVIRONMENT DIVISION
Avatar de Kuk
DATA DIVISION
Forero desde (Registrado)enero 2015
España
UbicaciónMadrid
Edad34 años
Última Actividad17.10.2019 15:47
PROCEDURE DIVISION
PostsPosts: 1.417
Ha dicho GraciasEnviado: 318
Ha recibido agradecimientosRecibido: 540
Mejores respuestasSoluiones: 87
ReputaciónReputación: 10
Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road
Predeterminado

fastpho, explícame bien qué son todos estos valores porque la verdad es que no me estoy enterando de dónde vienen tantos si sólo enviamos un par de Bytes... ¿Estos churros de datos de dónde los sacas?

Mira, te voy a traducir exactamente una parte del código, debería ser así que yo sepa:

Código COBOL:
  1.      WORKING-STORAGE SECTION.
  2.      01  sCmd            PIC X(2) VALUE X'0001'.
  3.      01  sCmdExt         PIC X(2) VALUE X'0C00'.
  4.      01  bAnswer         PIC S9(9) COMP-5.
  5.      PROCEDURE DIVISION
  6.        
  7.          *> código de antes...............
  8.        
  9.          *> Estado        
  10.          MOVE X'00' & X'01' TO sCmd
  11.          
  12.          IF  bAnswer NOT = ZEROS
  13.              INVOKE EpsonFP "AddDataField" USING sCmd RETURNING bAnswer
  14.              
  15.              MOVE X'00' & X'00' TO sCmdExt
  16.              
  17.              IF  bAnswer NOT = ZEROS            
  18.                  INVOKE EpsonFP "AddDataField" USING sCmdExt RETURNING bAnswer
  19.                  
  20.                  IF  bAnswer NOT = ZEROS
  21.                      INVOKE EpsonFP "SendCommand"
  22.                      
  23.                      CALL "FPDelay"
  24.            
  25.                      PERFORM ShowMsg
  26.                  END-IF
  27.              END-IF
  28.          END-IF

Rapinto, Dasije, corregidme si me estoy equivocando en algo.


NORMAS DEL FORO - obligatorias de conocer para TODOS.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale Pinchando en su Nick:

Kuk no ha iniciado sesión   Responder Con Cita
Ha dicho Gracias : 1
fastpho (19 de abril de 2017)
  #9
Antiguo 19 de abril de 2017, 15:03
IDENTIFICATION DIVISION
fastpho
Novato Junior
ENVIRONMENT DIVISION
Avatar de fastpho
DATA DIVISION
Forero desde (Registrado)diciembre 2016
Argentina
UbicaciónMendoza
Edad49 años
Última Actividad17.10.2019 15:30
PROCEDURE DIVISION
PostsPosts: 71
Ha dicho GraciasEnviado: 41
Ha recibido agradecimientosRecibido: 23
Mejores respuestasSoluiones: 4
ReputaciónReputación: 5
fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point
Predeterminado

Gracias Kuk, esos valores que me preguntas es el string de datos que le envia la ocx de epson al impresor que tiene un formato :
06 (ack) 02 (stx) 99(nro secuencia) 00 01 (comando a ejecutar sCmd) 1C (separador de campo) 00 00 (campo extra sCmdExt) 03 (etx) y los numero restantes checksum 30 30 42 42
Estos valores los puedo ver porque estoy corriendo un programa que monitorea los datos que salen por el puerto serie (com1) donde esta conectada la impresora fiscal
Y el problema que veo es que al comparar los datos enviados por el programa en vb6 a la ocx y lo que envia el powercobol 5.0 a la ocx es el caracter 00
En el caso del comando estado que es sCmd 00 01 y el comando extra que es 00 00 estos valores cuando los envia a la ocx que es el intermediario entre la fiscal y la aplication
fastpho no ha iniciado sesión   Responder Con Cita
  #10
Antiguo 20 de abril de 2017, 13:52
IDENTIFICATION DIVISION
Kuk
Administrador
ENVIRONMENT DIVISION
Avatar de Kuk
DATA DIVISION
Forero desde (Registrado)enero 2015
España
UbicaciónMadrid
Edad34 años
Última Actividad17.10.2019 15:47
PROCEDURE DIVISION
PostsPosts: 1.417
Ha dicho GraciasEnviado: 318
Ha recibido agradecimientosRecibido: 540
Mejores respuestasSoluiones: 87
ReputaciónReputación: 10
Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road
Predeterminado

fastpho, la verdad es que no lo entiendo... Enviamos 2 bytes con los mismos valores... Parece ser que la OCX no recibe lo mismo, si envía cosas diferentes a la impresora.

¿Cual es la codificación del OCX, no será Unicode?


NORMAS DEL FORO - obligatorias de conocer para TODOS.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale Pinchando en su Nick:

Kuk no ha iniciado sesión   Responder Con Cita
Ha dicho Gracias : 1
fastpho (20 de abril de 2017)
Respuesta

Tags
argentina , epson , fiscal , impresora , ocx


Usuarios activos actualmente viendo este tema: 1 (0 miembros y 1 visitantes)
 
Herramientas

Derechos de Publicación
No puedes publicar nuevos temas
No puedes publicar posts/responder
No puedes adjuntar archivos
No puedes editar tus posts

BB code is habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado



La franja horaria es GMT +1. Ahora son las 07:41.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2019, Jelsoft Enterprises Ltd.