Page 2 of 11 FirstFirst 1 2 3 4 5 6 7 8 9 10 11 LastLast
Results 11 to 20 of 102

Thread: Manejo OCX impresora Fiscal Epson nueva generación

  1. #11
    Senior
    Idade
    51
    Posts
    219
    Rep Power
    19

    Default

    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
    Attached Files Attached Files

  2. #12
    Gran amigo del Foro y Guru de COBOL Rapinto's Avatar
    Posts
    246
    Rep Power
    17

    Default

    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

  3. #13
    Senior
    Idade
    51
    Posts
    219
    Rep Power
    19

    Default

    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.-

  4. #14
    Gran amigo del Foro y Guru de COBOL Rapinto's Avatar
    Posts
    246
    Rep Power
    17

    Default

    Em VB todas as strings terminal com o Hex 00
    O cobol não faz isso. Temos que adicionar o Hex 00
    por exemplo:
    COBOL Code:
    1. 01  aa       pic x(015).
    2.  
    3. move "abcde" to aa.
    4. move x"00"    to aa(5:1).
    Poderá ser isso?
    Rui

  5. #15
    Administrador Kuk's Avatar
    Idade
    37
    Posts
    2,000
    Rep Power
    10

    Default

    Quote Originally Posted by Rapinto View Post
    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

  6. #16
    Senior
    Idade
    51
    Posts
    219
    Rep Power
    19

    Default

    voy a probar de mandar esto a ver que hace :
    COBOL Code:
    1. move X'00' & X'01' & X'00' to sCmd.
    COBOL Code:
    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
    COBOL Code:
    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
    COBOL Code:
    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

  7. #17
    Administrador Kuk's Avatar
    Idade
    37
    Posts
    2,000
    Rep Power
    10

    Default

    fastpho, lo siguiente:
    Quote Originally Posted by fastpho View Post
    No es al reves el power le manda al final de cada string el caracter X"00"
    Pasa porque hemos definido los campos como:

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

    Intenta hacer pruebas con:

    COBOL Code:
    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

  8. #18
    Senior
    Idade
    51
    Posts
    219
    Rep Power
    19

    Default

    le mande esto para obtener el informe
    COBOL Code:
    1. 01  sCmd            PIC X(250) VALUE X'0802'.
    2.  01  sCmdExt         PIC X(250) VALUE X'0C21'.     
    y es lo mismo que esto
    COBOL Code:
    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

  9. #19
    Administrador Kuk's Avatar
    Idade
    37
    Posts
    2,000
    Rep Power
    10

    Default

    Quote Originally Posted by fastpho View Post
    siempre le pone el x'00' al final de cada campo
    ¿Estas seguro de ello? Porque no es normal, en COBOL aunque hagamos
    COBOL Code:
    1.      MOVE "A" TO WS-CAMPO *> PIC X(1000)
    2.  

    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

  10. #20
    Gran amigo del Foro y Guru de COBOL Rapinto's Avatar
    Posts
    246
    Rep Power
    17

    Default

    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

Page 2 of 11 FirstFirst 1 2 3 4 5 6 7 8 9 10 11 LastLast

Thread Information

Users Browsing this Thread

There are currently 2 users browsing this thread. (0 members and 2 guests)

Similar Threads

  1. [Sintaxis] Ayuda con libreria epson InterfaceEpsonNF.dll
    By drvedia1981 in forum PowerCOBOL (ActiveX, v4 - v11)
    Replies: 3
    Last Post: 01-02-2022, 12:34
  2. [Aporte] Manejo de control CmListView (Grid)
    By Josber in forum Cocina PowerCOBOL
    Replies: 27
    Last Post: 18-11-2019, 08:16
  3. [Compilador] Error de generación del reporte de Crash
    By JuanJuan77 in forum PowerCOBOL (ActiveX, v4 - v11)
    Replies: 2
    Last Post: 07-07-2017, 21:02
  4. [Información] Utilización de OCX impresora fiscal en RM/Cobol 7
    By mainero in forum RM/COBOL
    Replies: 3
    Last Post: 29-06-2017, 22:34
  5. Motocicletas de nueva generación
    By Kuk in forum Espacio "Offtop"
    Replies: 0
    Last Post: 24-12-2016, 14:24

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •