Gracias Rui Pinto (Rapinto)
COBOL Foro
Foro dedicado a COBOL, a la Programación y a la Informática.
  COBOL Foro > IDE-s y compiladores COBOL > Fujitsu COBOL > PowerCOBOL (ActiveX, v4 - v11)
PowerCOBOL (ActiveX, v4 - v11) Versiones del IDE basadas en ActiveX
Comunicados
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[Sintaxis] Ayuda con libreria epson InterfaceEpsonNF.dll drvedia1981 PowerCOBOL (ActiveX, v4 - v11) 3 1 de febrero de 2022 12:34
[Aporte] Manejo de control CmListView (Grid) Josber Cocina PowerCOBOL 27 18 de noviembre de 2019 08:16
[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 14:24
Respuesta
 
Herramientas

  #11
Antiguo 20 de abril de 2017, 15:08
IDENTIFICATION DIVISION
fastpho
 Senior
Concurso: Primer puesto: Ganador/a del Primer puesto en un concurso - Razón: Acceso a datos Cobol vía web 
ENVIRONMENT DIVISION
Avatar de fastpho
DATA DIVISION
diciembre 2016
Mendoza
51 años
23.05.2022 22:21
PROCEDURE DIVISION
Posts: 218
Enviado: 136
Recibido: 134
Soluciones: 21
Reputación: 19
fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point 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

Hola Kuk claro vos le mandas a la ocx el comando a ejecutar sobre la impresora y la ocx lo que hace es completar con los datos necesarios para cumplir con el protocolo de comunicacion de la impresora , la ocx es la que se encarga realmente de comunicarse con el impresor y procesar la respuesta del dato enviado.
Cuando uno invoca al comando "SendCommand" Este método retorna verdadero , si las condiciones internas del control son válidas para el inicio de la transacción con la impresora fiscal. Si el estado del control indica que esta cerrado o que existe una operación en progreso el retorno es falso.
Esto es lo que dice la ayuda del comando "AddDataField" :

Descripción

Suma un campo al buffer de comandos.

Parámetro
String

Retorno

Booleano

Requerido
Si

Observaciones

Cada comando que recibe la impresora fiscal esta compuesto comúnmente por varios campos separados por un carácter especial que oficia de separador. Cuando el comando así lo requiera ejecute tantas veces este método, con el campo específico como parámetro, para llenar toda la información que requiera el comando. Este método retorna verdadero si los campos especificados en los parámetros son validos, la siguiente regla se aplica según el tipo del protocolo.
  • Protocolo compatible son válidos los caracteres entre el 32 y el 255 de la tabla ASCII
  • Protocolo extendido son válidos los caracteres de toda la tabla ASCII

Si el comando requiere caracteres no imprimibles, utilice la notación específica de su lenguaje de programación para embeber estos.
Voy a subir el ejemplo completo en vb6 y la ayuda de la ocx junto con la ocx
Archivos Adjuntos
Tipo de Archivo: zip EpsonFPExtendedSample.zip (372,7 KB, 119 descargas Quién descargó)
fastpho no ha iniciado sesión   Responder Con Cita
  #12
Antiguo 20 de abril de 2017, 23:04
IDENTIFICATION DIVISION
Rapinto
 Gran amigo del Foro y Guru de COBOL
Activista del Foro: Activista del Foro - Razón: ¡Gracias!  Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Razón: Por ayudar mucho a los foreros  Guru de los Gurus: Por solidos y amplios conocimientos - Razón: Por saber demasiado! 
ENVIRONMENT DIVISION
Avatar de Rapinto
DATA DIVISION
febrero 2015
Porto
29.01.2018 19:23
PROCEDURE DIVISION
Posts: 246
Enviado: 19
Recibido: 225
Soluciones: 47
Reputación: 17
Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road
Predeterminado

Kuk,

os dados a enviar para a impressora, pelo exemplo Chr$(&H8)
podem ter que ser enviados em decimal e não em hexadecimal.
POderá ter que converter X"0A" para 10.
Eu não conheço a epson fiscale, pois em Portugal não se usa muito.
Só com o OCX e alguma documentação (não tenho a impressora para testar)
é que poderíamos analisar melhor.
(Desculpa escrever em Português).
Un saludo,
Rui Pinto
Rapinto no ha iniciado sesión   Responder Con Cita
Ha dicho Gracias : 1
fastpho (20 de abril de 2017)
  #13
Antiguo 20 de abril de 2017, 23:25
IDENTIFICATION DIVISION
fastpho
 Senior
Concurso: Primer puesto: Ganador/a del Primer puesto en un concurso - Razón: Acceso a datos Cobol vía web 
ENVIRONMENT DIVISION
Avatar de fastpho
DATA DIVISION
diciembre 2016
Mendoza
51 años
23.05.2022 22:21
PROCEDURE DIVISION
Posts: 218
Enviado: 136
Recibido: 134
Soluciones: 21
Reputación: 19
fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point 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 Rapinto probe de mandar los datos en decimal tambien pero no funciona, con el comando informe x lo que logre ver es que le agrega siempre el caracter 00 despues del comando sCmd y del sCmdExt que no lo hace en el ejemplo de visual.-
fastpho no ha iniciado sesión   Responder Con Cita
  #14
Antiguo 20 de abril de 2017, 23:46
IDENTIFICATION DIVISION
Rapinto
 Gran amigo del Foro y Guru de COBOL
Activista del Foro: Activista del Foro - Razón: ¡Gracias!  Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Razón: Por ayudar mucho a los foreros  Guru de los Gurus: Por solidos y amplios conocimientos - Razón: Por saber demasiado! 
ENVIRONMENT DIVISION
Avatar de Rapinto
DATA DIVISION
febrero 2015
Porto
29.01.2018 19:23
PROCEDURE DIVISION
Posts: 246
Enviado: 19
Recibido: 225
Soluciones: 47
Reputación: 17
Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road
Predeterminado

Em VB todas as strings terminal com o Hex 00
O cobol não faz isso. Temos que adicionar o Hex 00
por exemplo:
Código COBOL:
  1. 01  aa       pic x(015).
  2.  
  3. move "abcde" to aa.
  4. move x"00"    to aa(5:1).
Poderá ser isso?
Rui
Rapinto no ha iniciado sesión   Responder Con Cita
Ha dicho Gracias : 1
fastpho (21 de abril de 2017)
  #15
Antiguo 21 de abril de 2017, 07:55
IDENTIFICATION DIVISION
Kuk
 Administrador
ENVIRONMENT DIVISION
Avatar de Kuk
DATA DIVISION
diciembre 2014
Madrid
37 años
25.05.2022 10:45
PROCEDURE DIVISION
Posts: 1.990
Enviado: 688
Recibido: 850
Soluciones: 100
Reputació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

Citación del post de Rapinto Ver Mensaje
Em VB todas as strings terminal com o Hex 00
Es vedad, podría ser por eso. Casi todos los lenguajes, al menos bajo Windows, suelen trabajar con "null-terminated strings" y posiblemente el OCX espere por defecto recibir siempre un nulo al final de cada string, de manera implícita...



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk está en línea   Responder Con Cita
Ha dicho Gracias : 1
fastpho (21 de abril de 2017)
  #16
Antiguo 21 de abril de 2017, 15:54
IDENTIFICATION DIVISION
fastpho
 Senior
Concurso: Primer puesto: Ganador/a del Primer puesto en un concurso - Razón: Acceso a datos Cobol vía web 
ENVIRONMENT DIVISION
Avatar de fastpho
DATA DIVISION
diciembre 2016
Mendoza
51 años
23.05.2022 22:21
PROCEDURE DIVISION
Posts: 218
Enviado: 136
Recibido: 134
Soluciones: 21
Reputación: 19
fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point 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

voy a probar de mandar esto a ver que hace :
Código COBOL:
  1.  move X'00' & X'01' & X'00' to sCmd.
Código COBOL:
  1.  move X'00' & X'00' & X'00' to sCmdExt


---------- Post añadido : 15:54 ---------- Post anterior : 15:11 ----------

No es al reves el power le manda al final de cada string el caracter X"00" el tema es como sacarlo
cuando es necesario porque para el informe "X" no es necesario enviarlo por que para
Código COBOL:
  1.     move X"08" & X"02"  to sCmd.
  2.      INVOKE EpsonFPHostControl1 "AddDataField" USING sCmd        RETURNING ReturnDEValue.
  3.      move X"0C" & X"21"  to sCmdExt.
  4.      INVOKE EpsonFPHostControl1 "AddDataField" USING sCmdExt     RETURNING ReturnDEValue.
y escribe en el puerto
06 02 9C 08 1B 02 00 1C 0C 21 00 03 30 31 30 46
no deberia ir el X"00"
para el caso del informe estado
Código COBOL:
  1.    move X'00' & X'01'   to sCmd.
  2.      if bAnswer not = zeros
  3.              INVOKE EpsonFPHostControl1 "AddDataField" USING sCmd          RETURNING bAnswer
  4.              move X'00' & X'00'   to sCmdExt
  5.                   if bAnswer not = zeros
  6.                                 INVOKE EpsonFPHostControl1 "AddDataField" USING sCmdExt          RETURNING bAnswer
  7.                                
  8.                                if bAnswer not = zeros
  9.                                   INVOKE EpsonFPHostControl1 "SendCommand"                      RETURNING bAnswer
  10.                                   CALL "BUSY"
  11.                                end-if
  12.                   end-if
  13.      end-if.
y escribe en el puerto
06 02 FF 00 1C 00 03 30 31 32 30
fastpho no ha iniciado sesión   Responder Con Cita
  #17
Antiguo 21 de abril de 2017, 16:29
IDENTIFICATION DIVISION
Kuk
 Administrador
ENVIRONMENT DIVISION
Avatar de Kuk
DATA DIVISION
diciembre 2014
Madrid
37 años
25.05.2022 10:45
PROCEDURE DIVISION
Posts: 1.990
Enviado: 688
Recibido: 850
Soluciones: 100
Reputació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, lo siguiente:
Citación del post de fastpho Ver Mensaje
No es al reves el power le manda al final de cada string el caracter X"00"
Pasa porque hemos definido los campos como:

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

Intenta hacer pruebas con:

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



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk está en línea   Responder Con Cita
Ha dicho Gracias : 1
fastpho (21 de abril de 2017)
  #18
Antiguo 21 de abril de 2017, 22:38
IDENTIFICATION DIVISION
fastpho
 Senior
Concurso: Primer puesto: Ganador/a del Primer puesto en un concurso - Razón: Acceso a datos Cobol vía web 
ENVIRONMENT DIVISION
Avatar de fastpho
DATA DIVISION
diciembre 2016
Mendoza
51 años
23.05.2022 22:21
PROCEDURE DIVISION
Posts: 218
Enviado: 136
Recibido: 134
Soluciones: 21
Reputación: 19
fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point 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

le mande esto para obtener el informe
Código COBOL:
  1.  01  sCmd            PIC X(250) VALUE X'0802'.
  2.  01  sCmdExt         PIC X(250) VALUE X'0C21'.    
y es lo mismo que esto
Código COBOL:
  1.      01  sCmd             PIC X(4) VALUE X'0802'.
  2.      01  sCmdExt         PIC X(4) VALUE X'0C21'.    
siempre le ponde el x'00' al final de cada campo

---------- Post añadido : 22:38 ---------- Post anterior : 22:29 ----------

tengo que lograr sacarle el "null-terminated strings" para que me funcione
fastpho no ha iniciado sesión   Responder Con Cita
  #19
Antiguo 22 de abril de 2017, 09:38
IDENTIFICATION DIVISION
Kuk
 Administrador
ENVIRONMENT DIVISION
Avatar de Kuk
DATA DIVISION
diciembre 2014
Madrid
37 años
25.05.2022 10:45
PROCEDURE DIVISION
Posts: 1.990
Enviado: 688
Recibido: 850
Soluciones: 100
Reputació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

Citación del post de fastpho Ver Mensaje
siempre le pone el x'00' al final de cada campo
¿Estas seguro de ello? Porque no es normal, en COBOL aunque hagamos
Código COBOL:
  1.      MOVE "A" TO WS-CAMPO *> PIC X(1000)

Se le mueve la "A" en la posición 1 y el resto se rellena de espacios.



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk está en línea   Responder Con Cita
Ha dicho Gracias : 1
fastpho (24 de abril de 2017)
  #20
Antiguo 23 de abril de 2017, 23:07
IDENTIFICATION DIVISION
Rapinto
 Gran amigo del Foro y Guru de COBOL
Activista del Foro: Activista del Foro - Razón: ¡Gracias!  Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Razón: Por ayudar mucho a los foreros  Guru de los Gurus: Por solidos y amplios conocimientos - Razón: Por saber demasiado! 
ENVIRONMENT DIVISION
Avatar de Rapinto
DATA DIVISION
febrero 2015
Porto
29.01.2018 19:23
PROCEDURE DIVISION
Posts: 246
Enviado: 19
Recibido: 225
Soluciones: 47
Reputación: 17
Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road
Predeterminado

fastpho,
Alguns exemplos de Argentina que eu vi, dizem que o OCX é para .Net (Dot.NET)
vi alguns exemplos e usavam Visual Studio 10.
O problema deve ser esse.
Un saludo,
Rui Pinto
Rapinto no ha iniciado sesión   Responder Con Cita
Ha dicho Gracias : 1
fastpho (24 de abril de 2017)
Respuesta

Tags
argentina , epson , fiscal , impresora , ocx


Usuarios activos actualmente viendo este tema: 2 (0 miembros y 2 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 10:50.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2022, Jelsoft Enterprises Ltd.