Cobol Foro

Cobol Foro (https://www.cobolforo.es/index.php)
-   PowerCOBOL (ActiveX, v4 - v11) (https://www.cobolforo.es/forumdisplay.php?f=9)
-   -   [Sintaxis] Manejo OCX impresora Fiscal Epson nueva generación (https://www.cobolforo.es/showthread.php?t=601)

Rapinto 5 de mayo de 2017 00:27

fastpho,

Não será necessário utilizar:
Código COBOL:
  1. * define na Working
  2. 01  WSRESULT PIC S9(009)   COMP-5.
  3.  
  4. CALL FUNC WITH  STDCALL  USING BY REFERENCE CODIGO-CmImpresor
  5.                                         RETURNING WSRESULT.
Espero que resolva.
Un saludo,
Rui Pinto

Kuk 5 de mayo de 2017 08:48

fastpho, mirando el prototipo C de la función, vemos:

Código CPP:
  1. int getPrinterStatus( void )

int - es el Integer, equivalente a PIC S9(9) COMP-5 y es lo que la función devuelve.
void - quiere decir NADA, o sea que no hay parámetros a pasar para esta función.

Ahora, viendo cómo lo haces tú:

Código COBOL:
  1. CALL FUNC WITH  STDCALL  USING BY REFERENCE CODIGO-CmImpresor.

Le estás pasando un puntero (la dirección del campo CODIGO-CmImpresor) y por el contrario no recibes el valor Integer que devuelve dicha función.

La forma correcta de llamarla sería:

Código COBOL:
  1. CALL FUNC WITH  STDCALL RETURNING CODIGO-CmImpresor.

fastpho 5 de mayo de 2017 14:29

Gracias Kuk y Rui voy a probar y despues cuento como me fue

---------- Post añadido : 13:29 ---------- Post anterior : 13:24 ----------

Funciona de las dos maneras Gracias Kuk y Rui
Código COBOL:
  1.      CALL FUNC WITH  STDCALL  USING BY REFERENCE CODIGO-CmImpresor returning CODIGO-CmImpresor.
  2.      CALL FUNC WITH  STDCALL RETURNING CODIGO-CmImpresor.          

Laura 7 de diciembre de 2017 22:29

Kuk, Hola.. Necesito hacer funcionar la impresora EPSON TM 900 nueva generación y no encuentro la forma de usar la OCX o la DLL.. Vi en el foro que la están usando.. me pueden ayudar x favor?

Gracias...

Josber 8 de diciembre de 2017 19:34

Laura, Kuk, no está usándo ese controlador, supongo que por que aquí en España, fiscalmente no es obligatorio, el que te tendría que ayudar es fastpho, que parece ser que ha conseguido ponerlo en marcha. Lo único que ha hecho Kuk y otros, y no es poco, es ayudar con un problema.

Un saludo.-

Kuk 9 de diciembre de 2017 11:11

Laura, como ha dicho Josber, yo no las uso. Pero dinos qué problema tienes, técnicamente te podremos ayudar.

fastpho 11 de diciembre de 2017 14:39

Laura, Hola Laura , tendrias que bajar desde la pagina web de epson argentina , yo logre hacerla andar yo estoy utilizando EpsonFiscalDriver.DLL para facturar y sacar informes
bajatelos y te ayudo
Suerte

Laura 11 de diciembre de 2017 20:07

Hola.. buenísimo.. yo tengo la DLL (EpsonFiscalInterface.DLL) y la OCX (comEsponFiscalDriver.OCX) q me enviaron de Espon, incluso fui a un curso pero no supieron decirme como usarlas en el Fujitsu. La OCX intento incluirla como un Custom Control pero pero me sale una leyenda This is not a custom control file.. Podés pasarme los códigos para incluir la DLL? NO encuentro la forma.. Muchísimas gracias..

---------- Post añadido : 16:07 ---------- Post anterior : 15:59 ----------

Gracias.. Te cuento rápido mi problema. Espon provee una DLL para la impresora fiscal para lenguaje de alto nivel y también una OCX para lenguaje de bajo nivel.. No se como utilizar la DLL en el Fujitsu y así utilizarla. Tampoco puedo incluir la OCX como custom control porq me dice This is not a custom control file y tampoco conozco otra forma de utilizarla. Fui a un curso en Espon y no hay nadie q desarrolle en Fijitsu, somos pocos y entonces no tienen las respuestas para ayudarnos.

fastpho 11 de diciembre de 2017 22:09

Laura, Si lees bien el problema en paginas anteriores en el foro la ocx no funciona con pwc y como te dije tenes que usar la libreria EpsonFiscalDriver.DLL que funciona muy bien.
Tenes que copiar tal libreria donde compile tu programa y en el archivo cobol85.cbr incluir las llamadas de las funciones que necesitas te paso unas lineas de programa y lo que debe incluir
el archivo cobol85.cbr


Lineas de Cobol85.cbr
Código:

[TPV.ENTRY]
AddDataField=EpsonFiscalDriver.DLL
ClosePort=EpsonFiscalDriver.DLL
GetAPIVersion=EpsonFiscalDriver.DLL
GetExtraField=EpsonFiscalDriver.DLL
GetReceivedFrame=EpsonFiscalDriver.DLL
GetSentFrame=EpsonFiscalDriver.DLL
OpenPort=EpsonFiscalDriver.DLL
Purge=EpsonFiscalDriver.DLL
SendCommand=EpsonFiscalDriver.DLL
getBaudRate=EpsonFiscalDriver.DLL
getComPort=EpsonFiscalDriver.DLL
getExtraFieldCount=EpsonFiscalDriver.DLL
getFiscalStatus=EpsonFiscalDriver.DLL
getLastError=EpsonFiscalDriver.DLL
getPrinterStatus=EpsonFiscalDriver.DLL
getProtocolType=EpsonFiscalDriver.DLL
getReturnCode=EpsonFiscalDriver.DLL
getState=EpsonFiscalDriver.DLL
setBaudRate=EpsonFiscalDriver.DLL
setComPort=EpsonFiscalDriver.DLL
setProtocolType=EpsonFiscalDriver.DLL
setComPort=EpsonFiscalDriver.DLL
setLog=EpsonFiscalDriver.DLL

Lineas de Programa:
Código COBOL:
  1.      MOVE "GetAPIVersion" TO FUNC-EPSON-LIB.
  2.      CALL FUNC-EPSON-LIB WITH  STDCALL  USING BY REFERENCE VERSION.  
  3. ***    set log
  4. **    move spaces       to FUNC-EPSON-LIB.
  5. **    MOVE "SetLog" TO FUNC-EPSON-LIB.
  6. **    MOVE "./" TO InBuffer.
  7. **    MOVE 0 TO BufferLen.
  8. **    CALL FUNC-EPSON-LIB WITH  STDCALL  USING BY REFERENCE   InBuffer
  9. ** *                                  BY VALUE  BufferLen
  10. **    COM SET      
  11.      move spaces       TO FUNC-EPSON-LIB.
  12.      MOVE "setComPort" TO FUNC-EPSON-LIB.
  13.      MOVE 1            TO sPort *> activamos COM1
  14.      CALL FUNC-EPSON-LIB WITH  STDCALL   USING BY VALUE sPort.
  15. **    BAUDIOS SET    
  16.      MOVE spaces       TO FUNC-EPSON-LIB.
  17.      MOVE "setBaudRate" TO FUNC-EPSON-LIB.
  18.      move 9600          TO sBaudio *> set baudios
  19.      CALL FUNC-EPSON-LIB WITH  STDCALL   USING BY VALUE sBaudio.
  20. **    MOVE spaces       TO FUNC-EPSON-LIB.
  21. **    MOVE "getBaudRate" TO FUNC-EPSON-LIB.
  22. **         CALL FUNC-EPSON-LIB WITH  STDCALL   USING BY REFERENCE sBaudio.
  23. **    DISPLAY sBaudio
  24. **    PROTOCOL SET
  25.      move spaces       TO FUNC-EPSON-LIB.
  26.      MOVE "setProtocolType" TO FUNC-EPSON-LIB.
  27.      MOVE 1                 TO SProtocol.
  28.      CALL FUNC-EPSON-LIB WITH  STDCALL   USING BY VALUE SProtocol.
  29. *> OPEN  PORT.
  30.      move spaces       TO FUNC-EPSON-LIB.
  31.      MOVE "OpenPort"   TO FUNC-EPSON-LIB.
  32.      CALL FUNC-EPSON-LIB WITH  STDCALL  USING BY REFERENCE VERSION.
  33.        
  34.      move spaces       TO FUNC-EPSON-LIB.
  35.      MOVE "getLastError" TO FUNC-EPSON-LIB.
  36.      CALL FUNC-EPSON-LIB WITH  STDCALL RETURNING  iError.          
  37.      IF iError = 0  then MOVE "ok" to "Text" OF CmCOMUNICACION.
  38.      IF iError = 1  then MOVE "Puerto ocupado" to  "Text" OF CmCOMUNICACION.
  39.      IF iError = 2  then MOVE "Puerto invalido" to "Text" OF CmCOMUNICACION.
  40.      IF iError = 10  then MOVE "Error de escritura verifique el impresor" to "Text" OF CmCOMUNICACION.
  41. **    display    iError
  42. *    
  43. *
  44. *    MOVE "ClosePort"   TO FUNC-EPSON-LIB.
  45. *    CALL FUNC-EPSON-LIB WITH  STDCALL  USING BY REFERENCE VERSION.
  46. *      
  47.  

Laura 12 de diciembre de 2017 00:18

Estuve probando con un ejemplo q pusieron justamente con lo de "setComPort" y copié la DLL en mi release pero cuando lo ejecuto me da error, como q no reconoce el setComPort, lo moví a la variable también.. pero con éste ejemplo q vos me pusiste voy a seguir probando mañana. Muchas gracias.. ojalá también pueda ayudar en algo..

fastpho 4 de enero de 2018 23:38

Laura, Hola!!! te molesto otra vez xq no hay manera q me funcione la DLL en mi programa. Te comento, estoy usando pwc versión 7.. vos cuál usas?

Creé mi cobol85.cbr igual al q vos me indicaste, copié la DLL en la release (y x las dudas también en la del proyecto)

Hice la prueba con el comando de setear el puerto moviéndolo a una variable y sin moverlo, y cuando lo ejecuto me da el siguiente error:

JMP0015I-U [PID:000011A8 TID:00000698] CANNOT CALL PROGRAM 'setComPort'. CODE=0x7e PGM=PRUEBA ADR=0040173F


mi código es el sgte:

Código COBOL:
  1. move spaces TO FUNC-EPSON-LIB.
  2. MOVE "setComPort" TO FUNC-EPSON-LIB.
  3. MOVE 1 TO sPort
  4. CALL FUNC-EPSON-LIB WITH STDCALL USING BY VALUE sPort.

Estaría super agradecida q me ayudes xq si o si tengo q hacerlas funcionar. Decime si tengo q pagarte la capacitación o lo q sea..

Muchas gracias..

Laura
El problema lo tenes me parecen en el archivo cobol85.cbr , el nombre del formulario principal es el nombre que tenes que utilizar en el archivo cobol85.cbr

Laura 8 de enero de 2018 23:48

Mi error es q usaba la otra DLL "EpsonFiscalInterface.DLL", ahora al menos no me dio error cuando lo ejecuto. Voy a probar con los comandos. Te cuento como me va..

fastpho 9 de enero de 2018 20:14

Laura, Tenes que usar la libreria EpsonFiscalDriver.DLL , en el archivo cobol85.cbr que te mande especifica esa libreria

Joseg 10 de enero de 2018 13:42

Cita:

Citación del post de fastpho (Mensaje 3857)
Laura, Tenes que usar la libreria EpsonFiscalDriver.DLL , en el archivo cobol85.cbr que te mande especifica esa libreria

Usar DLLs/OCX feitos em "C/C++", é em ALGUNS CASOS, necessário compilar com a diretiva "BINARY(BYTE)".

Ter igualmente atenção a campos com sinal PIC S9...

Por exemplo:
Código COBOL:
  1. 01 aaa pic s9(5) COMP-5
em fujitsu representa-se de uma forma em Microfocus/Outros tem outro valor (analisando em hexadecimal da para ver as diferenças).

Laura 16 de enero de 2018 22:12

fastpho, Hola.. tenés algún ejemplo para mostrarme de como x ejemplo enviar un cierre Z o X, no encuentro ejemplos bien claros, los q tengo y muchos es con la otra DLL q no me sirve. O sino donde puedo conseguir ejemplos así arranco xq estoy estancada..

Muchas gracias..

fastpho 17 de enero de 2018 14:06

Laura, te paso un ejemplo de Informe X e Informe Z
Informe X
Código COBOL:
  1. ENVIRONMENT     DIVISION.
  2.  DATA            DIVISION.
  3.  WORKING-STORAGE SECTION.
  4.  01 ReturnDEValue        PIC S9(9) COMP-5 VALUE 0.
  5.  01 LINEA-INFORME-X.
  6.     03 Comando            PIC X VALUE  X"08".
  7.     03 Comandobis         PIC X VALUE  X"02".
  8.  01 LINEA-EXTRA.  
  9.     03 DataField1         PIC X VALUE  X"0C".
  10.     03 DataField2         PIC X VALUE  X"21".
  11.  01 ReturnValue Pic S9(9) Comp-5 Value 0.    
  12.  01 N-Length pic 99    value zero.  
  13.  01 lpString1   pic x(2).
  14.  01 lpString2   pic x(2).
  15.  
  16.  01 x pic x(4).
  17.  01 Cantidad           PIC S9(9) COMP-5 VALUE 0.
  18.  01 ReturnString       PIC X(4) VALUE HIGH-VALUE.
  19.  01 Variable           PIC 9(3).
  20.  PROCEDURE       DIVISION.
  21.      move spaces        TO FUNC-EPSON-LIB.
  22.      MOVE 2             TO BufferLen
  23.      MOVE "AddDataField" TO FUNC-EPSON-LIB
  24.    *> La propia llamada a la FUNC-EPSON-LIBión:
  25.      CALL FUNC-EPSON-LIB WITH STDCALL USING BY REFERENCE LINEA-INFORME-X
  26.                                   BY VALUE BufferLen    
  27.  
  28.      move spaces       TO FUNC-EPSON-LIB.  
  29.  
  30.      MOVE 2             TO BufferLen
  31.      MOVE "AddDataField" TO FUNC-EPSON-LIB
  32.    *> La propia llamada a la FUNC-EPSON-LIBión:
  33.      CALL FUNC-EPSON-LIB WITH STDCALL USING BY REFERENCE LINEA-EXTRA
  34.                                    BY VALUE BufferLen    
  35. *SEND  COMMAND                                  
  36.      move spaces       TO FUNC-EPSON-LIB.
  37.      MOVE "SendCommand" TO FUNC-EPSON-LIB.
  38.      CALL FUNC-EPSON-LIB WITH  STDCALL  USING BY REFERENCE VERSION.  
Informe Z
Código COBOL:
  1.  WORKING-STORAGE SECTION.
  2.  01 ReturnDEValue        PIC S9(9) COMP-5 VALUE 0.
  3.  01 Comando            PIC X VALUE  X"39".
  4.  01 LINEA-INFORME-Z.
  5.     03 Comando            PIC X VALUE  X"08".
  6.     03 Comandobis         PIC X VALUE  X"01".
  7.  01 LINEA-EXTRA.  
  8.     03 DataField1         PIC X VALUE  X"0C".
  9.     03 DataField2         PIC X VALUE  X"00".
  10.  
  11.  01 Cantidad           PIC S9(9) COMP-5 VALUE 0.
  12.  01 ReturnString       PIC X(12).
  13.  01 Variable           PIC 9(3).
  14.  PROCEDURE       DIVISION.
  15.  
  16.    
  17.  
  18.      move spaces        TO FUNC-EPSON-LIB.
  19.      MOVE 2             TO BufferLen
  20.      MOVE "AddDataField" TO FUNC-EPSON-LIB
  21.  
  22.      CALL FUNC-EPSON-LIB WITH STDCALL USING BY REFERENCE LINEA-INFORME-Z
  23.                                   BY VALUE BufferLen    
  24.  
  25.      move spaces       TO FUNC-EPSON-LIB.  
  26.  
  27.      MOVE 2             TO BufferLen
  28.      MOVE "AddDataField" TO FUNC-EPSON-LIB
  29.  
  30.      CALL FUNC-EPSON-LIB WITH STDCALL USING BY REFERENCE LINEA-EXTRA
  31.                                    BY VALUE BufferLen    
  32. *SEND  COMMAND                                  
  33.      move spaces       TO FUNC-EPSON-LIB.
  34.      MOVE "SendCommand" TO FUNC-EPSON-LIB.
  35.      CALL FUNC-EPSON-LIB WITH  STDCALL  USING BY REFERENCE VERSION.  
  36.      

Laura 17 de enero de 2018 22:12

GRACIAS!!! Voy a probar entonces.. después te cuento..

Softdac 3 de agosto de 2018 00:37

Estimada Laura, disculpe el atrevimiento, pero me podría resumir como soluciono el inconveniente? ya que tengo desarrollado un sistema en powercobol 7 con la ocx EpsonFPHostControlX en modo compatible funcionando Ok, hasta que me solicitaron confeccionar notas de debitos, y ahí se me vino la noche, renegué un montón, hasta que consultando en Epson, me indicaron que debía usar el protocolo extendido del ocx, pero no encontré manera de hacerla funcionar, me dieron varias alternativas pero nada, hasta que encontré este tema en el foro, por lo que decidí molestarla.
Desde ya muchas gracias, por su atención.
Saludos
Daniel

drvedia1981 3 de agosto de 2018 17:04

Hola tenes un sistema funcionando con EpsonFPHostControlX en una tm220af o anteriores o las nuevas con cual queres hacer nota de credito ? Saludos

Softdac 4 de agosto de 2018 05:54

Hola drvedia1981, el sistema viene funcionando desde ya hace unos años, con powercobol 7 y el ocx EpsonFPHostControlX, en modo compatible en impresora tm220AFII, pero ojo, lo que no puedo hacer es notas de débitos, ya para eso tengo trabajar en modo extendido, y es ahí en donde reniego para pasarles los valores hexadecimales al controlador. Según la gente de epson, me dijo que cuando le paso en un comando el valor x'00' el controlador lo toma como nulo, por lo que me descarta el comando, pero hasta ahora no le encontré la vuelta.
Gracias por tu interes.

panzaverde 12 de febrero de 2019 18:55

Consulta sobre version PowerCobol
 
Hola, estoy trabajando con PowerCobol v3, y queria saber si funciona el EpsonFiscalDriver.DLL con esta version.
He copiado los ejemplos que ustedes han posteado, e instalado la .DLL y creado el cobol85.cbr con los metodos y propiedades, referenciados a "=EpsonFiscalDriver" enlazado con el nombre dl form principal, pero al ejecutar me da un error de ejecucion y no me devuelve codigo alguno. Cancela "pgm.exe dejo de funcionar. Cerrar el programa".
Desde ya muchas gracias.
Saludos.
Alberto

Kuk 12 de febrero de 2019 21:05

Cita:

Citación del post de panzaverde (Mensaje 4755)
"=EpsonFiscalDriver"

¿No era EpsonFiscalDriver.dll?

Revisalo todo bien, porque por lo visto a la gente le ha funcionado. Y el mecanismo de usar una DLL vía COBOL85.CBR no ha evolucionado desde la v3, que yo sepa.

panzaverde 13 de febrero de 2019 17:31

Gracias Kuk, por la respuesta.
Como te comente, copie los post de Uds, rutina, definiciones.
La definición de cobol85.cbr yo me equivoque al pasarte la pregunta, lo copie un posteo de Fastpho
Código:

[SHEET1.ENTRY]
AddDataField=EpsonFiscalDriver.DLL
ClosePort=EpsonFiscalDriver.DLL", etc, eso por un lado.

Por otra parte puede ser que la opción "returning" no este soportada por la version v3.

El manual explica
Código COBOL:
  1.         [Format 1] ON OVERFLOW phrase
  2.          CALL [WITH STDCALL LINKAGE]
  3.                   [BY REFERENCE] {identifier-2} …
  4.          USING BY CONTENT … …
  5.                    BY VALUE { identifier-3} …]
  6.               [ON OVERFLOW imperative-statement-1]
  7.               [END-CALL]

Desde ya muchas gracias.
Saludos Alberto.

Kuk 13 de febrero de 2019 22:15

panzaverde, efectivamente, creo recordar que RETURNING no existe en Power v3. Pero lo que devuelve el returning en otras versiones, en Power v3 lo tienes en el campo reservado PROGRAM-STATUS.

¿Tu Form se llama SHEET1? Si es otro nombre, no va a funcionar. Debes poner [nombre_de_tu_form.ENTRY]

panzaverde 14 de febrero de 2019 01:14

Muchas gracias Kuk por la respuesta. Probe el PROGRAM-STATUS y me devuelve el valor del campo enviado o no devuelve nada.
Voy a seguir investigando un poco mas y seguramente te molestare nuevamente.
Saludos Alberto.

---------- Post añadido : 21:14 ---------- Post anterior : 21:10 ----------

Kuk me olvidaba, el form principal se llama "SHEET1".
Gracias.

rodolfo 18 de marzo de 2019 21:34

Ejemplo impresión ticket en TM-T900FA
 
Buenas tardes, estoy utilizando epsonFiscalDriver.dll y puedo imprimir Cierre X/Z, pero con la impresión de un ticket llego hasta la impresión de ítem, no toma el pago, a pesar que utilizó los parámetros tal como figuran en https://files.support.epson.com/pdf/...anual_revc.pdf, página 150.
La secuencia utilizada de comandos es:

Establecer protocolo (1)
Establecer velocidad
Establecer puerto
Abrir puerto
Abrir ticket
Item
Pago
Cerrar ticket
Cerrar puerto

Agradecería algún ejemplo puntual.

Kuk 19 de marzo de 2019 19:21

rodolfo, ¿qué modelo de impresora es?

rodolfo 20 de marzo de 2019 14:18

Cita:

Citación del post de Kuk (Mensaje 4824)
rodolfo, ¿qué modelo de impresora es?

Buen día, es una TM-T900FA.

fastpho 21 de marzo de 2019 15:29

rodolfo Para realizar el pago primero fijate el importe que estas enviando sea mayor al valor del item de todas maneras sin realizar el pago con el comando cerrar te lo deberia hacer sin el pago

rodolfo 2 de abril de 2019 03:18

Devolución de ítem
 
Gracias por responder, ya logro imprimir un comprobante completo, lo que no puedo es imprimir una devolución dentro de un ticket, según la documentación es:

Código:

EnviarComando("0A02|0001|||||Item devuelto|Cantidad|PrecioUnitario|AlicuotaIVA|||||||")
No logro que imprima dicha línea, las otras correspondientes a venta de ítem, si lo hace.
Y el importe total del ítem devuelto lo suma como pago EFECTIVO en vez de restarlo del total de pagos.
Desde ya muchas gracias.
Saludos.

fastpho 4 de abril de 2019 00:01

rodolfo que libreria estas utilizando pq en la libreria EpsonFiscalDriver.dll no existe ese comando

rodolfo 8 de abril de 2019 02:27

Cita:

Citación del post de fastpho (Mensaje 4847)
rodolfo que libreria estas utilizando pq en la libreria EpsonFiscalDriver.dll no existe ese comando

Hola fastpho, estoy usando EpsonFiscalInterface.dll.

Fito 13 de agosto de 2019 23:01

Holaaa:

Estoy renegando con la Epson TM-T900FA, ya pude hacer un X y un Z. Pero ahora quiero recuperar desde la impresora el puesto de venta y no logro hacerlo. Mando un comando OBTENER ID que en el campo 5 tiene el puesto de venta y no logro nada.

Código COBOL:
  1.  WORKING-STORAGE SECTION.
  2.  
  3.  01  LINEA-OBTENER-ID    pic xx value X"0005".
  4.  01  LINEA-EXTRA         pic xx value X"0000".
  5.  
  6.  01  xsucursal           pic x(500).
  7.  01  redefines xsucursal.
  8.      02 wsucursal        pic 99999.
  9.      02                  pic x(495).
  10.  
  11.  01  variables-nuevas.
  12.      02 BufferLen           pic s9(9) comp-5.
  13.      02 campo               pic s9(9) comp-5.
  14.  
  15.  PROCEDURE       DIVISION.
  16.  
  17. *...... Obtener el punto de venta ..................................    
  18.      move "OpenPort"       to Epson
  19.      call Epson with stdcall using by reference version.    
  20.  
  21.      move "Purge"          to Epson
  22.      call Epson with stdcall using by reference version.    
  23.  
  24.      move 2                to BufferLen
  25.      move "AddDataField"   to Epson
  26.      call Epson with stdcall using by reference LINEA-OBTENER-ID
  27.                                    by value     BufferLen
  28.      
  29.      move 2                to BufferLen
  30.      move "AddDataField"   to Epson
  31.      call Epson with stdcall using by reference LINEA-EXTRA
  32.                                       by value     BufferLen.
  33.      
  34.      move "SendCommand"    to Epson
  35.      call Epson with stdcall using by reference version.
  36.      
  37.      move "GetExtraField"  to Epson
  38.      move 5                to campo
  39.      move 5                to BufferLen
  40.      call Epson with stdcall using by value campo
  41.                                    by reference xsucursal
  42.                                    by value BufferLen.
  43.                                    
  44.      move wsucursal        to suc-default.
  45.  
  46.      invoke pow-self "DisplayMessage" using xsucursal.
  47.  
  48.      
  49.      move "ClosePort"      to Epson
  50.      call Epson with stdcall using by reference version.    
  51. *...... /Obtener el punto de venta ..................................    

Si alguien tiene una idea, bienvenida sea.

Saludos.

Fito...

fastpho 14 de agosto de 2019 02:47

Hola Fito, el problema lo tenes en :
Código COBOL:
  1.  01  LINEA-OBTENER-ID    pic xx value X"00".
  2.  01  LINEA-EXTRA         pic xx value X"05".
esta es la manera correcta , lo tenes al reves
Saludos

---------- Post añadido : 01:47 ---------- Post anterior : 00:36 ----------

Fito te conste cualquiera ...
ahora re leyendo me di cuenta
Que están bien los parametros
Mañana lo pruebo bien yo utilizo otra función pq la getextra field nunca me devolvió nada

Fito 14 de agosto de 2019 04:52

Hola Fastpho:

Gracias por contestar. Hasta ahora logré solamente hacer cierre x y z. A la tiqueadora la conecté por usb pero instalé y configuré el Epson Virtual Port y lo manejo como serial.

Ahora estoy intentando hacer un tique factura, veremos cómo me va.

Gracias. Saludos.

Fito...

fastpho 14 de agosto de 2019 15:06

Fito, Buen dia mira probe tu codigo con el simulador , y tu codigo me esta
devolviendo el la variable xsucursal el valor 12345 que es el punto de venta en el simulador

Fito 14 de agosto de 2019 16:13

Holaaaa:

Entonces será problema de conexión? Tenga la tiqueadora sin inicializar, será por eso que no puedo hacer mucho? porque intenté hacer la cabecera del Tique Factura y tampoco logré nada.

Saludos.

Fito...

fastpho 14 de agosto de 2019 16:54

Fito, cuando la impresora esta sin fiscalizar no te va ha dar el pto de venta pq el campo es zero , podes facturar , sacar x y z no podes obtener las declaraciones juradas , no podes re imprimir comprobantes , por eso es mejor trabajar con el simulador

Fito 19 de agosto de 2019 17:21

Holaa Fastpho:

Qué emulador estás usando?

Y otengo uno, pero no tiene este modelo ..

Saludos.

Fito...

fastpho 20 de agosto de 2019 14:42

Fito, Buen dia , el simulador de impresora fiscal para la tm900 es la version 1.3
es con el que yo trabajo o tambien si tenes la impresora es que casi igual como te comente anteriormente , con el simulador podes hacer casi todas las funciones del protocolo : facturar , sacar informes , obtener los informes de ventas para presentar a la afip (f8010,f8011,f8012) , reimprimir algun comprobante por cualquier motivo , etc y la comunicacion con el simulador es serie , para el caso de trabajar directamente con la impresora la comunicacion puede ser serie o usb (recomendada por la gente de epson) en este caso si esta sin fiscalizar el impresor podes facturar (ticket c.final , ticket "a"y "b" , nota de credito "a" y "b" , sacar x y z
Saludos


La franja horaria es GMT +2. Ahora son las 05:05.

Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.