librería de enlace dinámico rev 1.1 “tfhkaif.dll”

13
Librería de Enlace Dinámico “TFHKAIF.DLL” Rev 1.1 31/01/08 1 INDICE 1.- Declaración de la DLL 3 2.- Funciones de la DLL 4 2.1- BOOL OpenFpctrl (LPCSTR lpPortName) 4 2.2- BOOL CloseFpctrl ( ) 4 2.3- BOOL CheckFprinter ( ) 5 2.4- BOOL ReadFpStatus (LPINT status, LPINT error) 5 2.5- BOOL SendCmd (LPINT status, LPINT error, LPCSTR cmd) 6 2.6- INT SendCmd (LPINT status, LPINT error, LPCSTR cmd) 6 2.7- INT SendFileCmd (LPINT status, LPINT error, LPCSTR file) 7 2.8- BOOL UploadReportCmd (LPINT status, LPINT error, LPCSTR cmd, LPCSTR file) 7 2.9- BOOL UploadStatusCmd (LPINT status, LPINT error, LPCSTR cmd, LPCSTR file) 8 3.- Anexos 9 Anexo 1 10 Anexo 2 11 Anexo 3 12 Nota 1: Instale le archivo DLL en el “System32” ó en la carpeta donde se ejecutara el Software. Nota 2: La Impresora ya viene predeterminada inicialmente en Modo Entrenamiento Nota 3: Para Ejemplificar el uso de la DLL se emplea el programa “The Factory HKA. Demo Informativo”

Upload: others

Post on 18-Jan-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Librería de Enlace Dinámico “TFHKAIF.DLL”

Rev 1.1 31/01/08

1

INDICE

1.- Declaración de la DLL 3

2.- Funciones de la DLL 4

2.1- BOOL OpenFpctrl (LPCSTR lpPortName) 4

2.2- BOOL CloseFpctrl ( ) 4

2.3- BOOL CheckFprinter ( ) 5

2.4- BOOL ReadFpStatus (LPINT status, LPINT error) 5

2.5- BOOL SendCmd (LPINT status, LPINT error, LPCSTR cmd) 6

2.6- INT SendCmd (LPINT status, LPINT error, LPCSTR cmd) 6

2.7- INT SendFileCmd (LPINT status, LPINT error, LPCSTR file) 7

2.8- BOOL UploadReportCmd (LPINT status, LPINT error, LPCSTR cmd, LPCSTR file) 7

2.9- BOOL UploadStatusCmd (LPINT status, LPINT error, LPCSTR cmd, LPCSTR file) 8

3.- Anexos 9

Anexo 1 10

Anexo 2 11

Anexo 3 12

Nota 1: Instale le archivo DLL en el “System32” ó en la carpeta donde se ejecutara el Software.

Nota 2: La Impresora ya viene predeterminada inicialmente en Modo Entrenamiento

Nota 3: Para Ejemplificar el uso de la DLL se emplea el programa “The Factory HKA. Demo Informativo”

Librería de Enlace Dinámico “TFHKAIF.DLL”

Rev 1.1 31/01/08

2

Figura 1. “The Factory HKA. Demo Informativo”

Selección de Puertos:Selección de Puertos:Selección de Puertos:Selección de Puertos: Seleccione el puerto de comunicación con el cual va trabajar.

EnvíoEnvíoEnvíoEnvío de Comandos por Archivo:de Comandos por Archivo:de Comandos por Archivo:de Comandos por Archivo: Estructura creada para la búsqueda y selección de archivos

(*.dat) y ejecución de los comandos internos en los mismos.

Datos:Datos:Datos:Datos: Generación de eventos en el visor relacionas a la lectura de la impresora.

Reportes:Reportes:Reportes:Reportes: Diseño de reportes X y Z.

Aplicación:Aplicación:Aplicación:Aplicación: Diseño de aplicaciones de modo ejemplo para la realización en modo prueba de una

factura y de la lectura de la memoria Fiscal.

Ventana de Eventos:Ventana de Eventos:Ventana de Eventos:Ventana de Eventos: Visor de la ejecución de comandos y datos....

Lectura de Memoria FiscalLectura de Memoria FiscalLectura de Memoria FiscalLectura de Memoria Fiscal:::: Imprime y Carga a la Ventana de Eventos, los reportes realizados

tanto por Fecha como por Numero de Z

Librería de Enlace Dinámico “TFHKAIF.DLL”

Rev 1.1 31/01/08

3

1.- DECLARACIÓN DE LA DLL (TFHKAIF.DLL)

Para: C y C++

BOOL _stdcall OpenFpctrl(LPCSTR lpPortName);

BOOL _stdcall CloseFpctrl();

BOOL _stdcall CheckFprinter();

BOOL _stdcall ReadFpStatus(LPINT status, LPINT error);

BOOL _stdcall SendCmd(LPINT status, LPINT error , LPCSTR cmd );

int _stdcall SendNCmd(LPINT status, LPINT error , LPCSTR buffer );

int _stdcall SendFileCmd(LPINT status, LPINT error, LPCSTR file );

BOOL _stdcall UploadReportCmd(LPINT status, LPINT error, LPCSTR cmd, LPCSTR file );

Para: Visual Basic

Declare Function OpenFpctrl Lib “TFHKAIF.DLL” (ByVal lpPortName As String) As Long

Declare Function CloseFpctrl Lib “ TFHKAIF.DLL” () As Long

Declare Function CheckFprinter Lib “ TFHKAIF.DLL” () As Long

Declare Function ReadFpStatus Lib “ TFHKAIF.DLL” (status As Long, error As Long) As Long

Declare Function SendCmd Lib “ TFHKAIF.DLL” (status As Long, error As Long, ByVal cmd As String) As Long

Declare Function SendNCmd Lib “ TFHKAIF.DLL” (status As Long, error As Long, ByVal buffer As String) As Long

Declare Function SendFileCmd Lib “ TFHKAIF.DLL” (status As Long, error As Long, ByVal file As String) As Long

Declare Function UploadReportCmd Lib “ TFHKAIF.DLL” (status As Long, error As Long, ByVal cmd As String,

ByVal file As String) As Long

Librería de Enlace Dinámico “TFHKAIF.DLL”

Rev 1.1 31/01/08

4

2. – FUNCIONES DE LA DLL

2.1.- BOOL OpenFpctrl (LPCSTR lpPortName)

Nombre Puerto COM (Ej. “COM1” o “COM2”)

Función Apertura del Puerto Serial “COM”

Retorno Puerto Abierto = True Falla de Apertura = False

Esta función debe ser llamada antes que otras funciones

Figura 2. Extracto de Código para el funcionamiento de la función “OpenFpctrl (LPCSTR lpPortName)”

2.2.- BOOL CloseFpctrl()

Nombre Puerto COM (Ej. “COM1” o “COM2”)

Función Cierre del Puerto Serial “COM”

Figura 3. Extracto de Código para el funcionamiento de la función “CloseFpctrl()”

Librería de Enlace Dinámico “TFHKAIF.DLL”

Rev 1.1 31/01/08

5

2.3 .- BOOL CheckFprinter ()

Función Verifica si la Impresora esta Conectada

Retorno Si esta Conectada = True Si no esta Conectada = False

Figura 4. Extracto de Código para el funcionamiento de la función “CheckFprinter()”

2.4.- BOOL ReadFpStatus (LPINT status, LPINT error)

Función Lectura Referente a la Información del Status & Error de la Impresora Fiscal

Retorno Stand-by = True Error = False

Status: Pointer de Status (Ver Anexo 1)

Error: Pointer de Error (Ver Anexo 2)

Figura 5. Extracto de Código para el funcionamiento de la función “ReadFpStatus (LPINT status, LPINT error)”

Librería de Enlace Dinámico “TFHKAIF.DLL”

Rev 1.1 31/01/08

6

2.5.- BOOL SendCmd (LPINT status, LPINT error, LPCSTR cmd)

Función Envía una Línea de Comando a la Impresora Fiscal

Retorno Stand-by = True Error = False

Ejemplo de uso: (Indicador #1 comando) “500001”+{LF} LF=0Ah

Ver Anexo 3

Figura 6. Extracto de Código para el funcionamiento de la función

“SendCmd (LPINT status, LPINT error, LPCSTR cmd)”

2.6.- Int SendCmd (LPINT status, LPINT error, LPCSTR cmd)

Función Envía n Líneas de Comandos a la Impresora Fiscal

Retorno Numero de Comando Valido

Ejemplo de n comandos al buffer -CMD#- -Comentario- 1: “T1”+{LF} (Inicio en Modo Entrenamiento) 2: “500001”+{LF} ( Indicador #1) 3: “O”+{LF}+{NULL or EOF} (Drawer Open)

Cuando Recibe Error desde la Impresora Fiscal, envía un comando para detener el proceso. En este

caso esta función retorna un numero de comandos e información referente al status.

Figura 7. Extracto de Código para el funcionamiento de la función

“SendCmd (LPINT status, LPINT error, LPCSTR cmd)”

Librería de Enlace Dinámico “TFHKAIF.DLL”

Rev 1.1 31/01/08

7

2.7.- Int SendFileCmd (LPINT status, LPINT error, LPCSTR file)

Función Envía una serie de comandos en cadena contenidos en un archivo a la impresora fiscal

Retorno Numero de Comando Valido en Stand by

File = Nombre o ruta donde se ubica el archivo a enviar

Figura 8. Extracto de Código para el funcionamiento de la función

“SendFileCmd (LPINT status, LPINT error, LPCSTR file)”

2.8.- BOOL UploadReportCmd (LPINT status, LPINT error, LPCSTR cmd, LPCSTR file)

Función Carga un reporte de datos y a los almacena en una archivo (ASCII)

Retorno Numero de Comando Valido en Stand by

In caso de existir algún archivo de dato, previo al archivo de dato generado este será actualizado

Figura 9. Extracto de Código para el funcionamiento de la función “UploadReportCmd (LPINT status, LPINT

error, LPCSTR cmd, LPCSTR file)”

Librería de Enlace Dinámico “TFHKAIF.DLL”

Rev 1.1 31/01/08

8

2.8.- BOOL UploadStatusCmd (LPINT status, LPINT error, LPCSTR cmd, LPCSTR file)

Función Carga los Status de la impresora (S1, S2, S3)

Retorno Numero de Comando Valido en Stand by

Figura 9. Extracto de Código para el funcionamiento de la función “UploadStatusCmd (LPINT status, LPINT

error, LPCSTR cmd, LPCSTR file)”

Comando Status “S1”

Librería de Enlace Dinámico “TFHKAIF.DLL”

Rev 1.1 31/01/08

9

Comando Status “S2”

Comando Status “S3”

Librería de Enlace Dinámico “TFHKAIF.DLL”

Rev 1.1 31/01/08

10

3.- ANEXOS

Anexo 1

“Información del Status de la Impresora Fiscal”

STATUS

Retorno

(Hex)

Retorno

(Decimal) Comentario

0 0 Status Desconocido

1 1 En Modo Prueba y en Espera

2 2 En Modo Prueba y Emisión de Documentos Fiscales

3 3 En Modo Prueba y Emisión de Documentos No Fiscales

4 4 En Modo Fiscal y en Espera

5 5 En Modo Fiscal y Emisión de Documentos Fiscales

6 6 En Modo Fiscal y Emisión de Documentos No Fiscales

7 7 En Modo Fiscal y Cercana Carga Completa De La Memoria Fiscal Y en Espera

8 8 En Modo Fiscal y Cercana Carga Completa De La Memoria Fiscal Y en Emisión de

Documentos Fiscales

9 9 En Modo Fiscal y Cercana Carga Completa De La Memoria Fiscal Y en Emisión de

Documentos No Fiscales

0A 10 En Modo Fiscal y Carga Completa De La Memoria Fiscal Y en Espera

0B 11 En Modo Fiscal y Carga Completa De La Memoria Fiscal Y en Emisión de

Documentos Fiscales

0C 12 En Modo Fiscal y Carga Completa De La Memoria Fiscal Y en Emisión de

Documentos No Fiscales

Librería de Enlace Dinámico “TFHKAIF.DLL”

Rev 1.1 31/01/08

11

Anexo 2

“Información del Error de la Impresora Fiscal”

Error

Retorno (Hex) Retorno (Decimal) Comentarios Valido / Invalido

00 0 No hay Error VALIDO

01 1 Fin en la Entrega de papel VALIDO

02 2 Error de índole Mecánico en la entrega de Papel VALIDO

03 3 Fin en la Entrega de papel y Error Mecánico VALIDO

50 80 Comando Invalido / Valor Invalido INVALIDO

54 84 Tasa Invalida INVALIDO

58 88 No hay Asignadas Directivas INVALIDO

5C 92 Comando Invalido INVALIDO

60 96 Error Fiscal INVALIDO

64 100 Error de la Memoria Fiscal INVALIDO

6C 108 Memoria Fiscal llena INVALIDO

70 112 Buffer Completo (Debe enviar el Comando de

Reinicio)

INVALIDO

80 128 Error en la Comunicación INVALIDO

89 137 No Hay Respuesta INVALIDO

90 144 Error LRC INVALIDO

91 145 Error Interno API INVALIDO

99 153 Error en la Apertura del Archivo INVALIDO

Librería de Enlace Dinámico “TFHKAIF.DLL”

Rev 1.1 31/01/08

12

Anexo 3

“Guía de Referencia de Comandos”

CMD Hex Sub CMD Operación

20-25 Ítem de Ventas

‘ 0 ’ 30 No Ventas

‘ 1 ’ 31 Cierre Promedio Directo

‘ 2 ’ 32 Promedio de Precaución

‘ 3 ’ 33 Impresión del Sub total w

‘ 5 ’ 35 Indicadores

‘ 6 ’ 36 Indicador Off

‘ 7 ’ 37 Cancelación de la Transacción

‘ 8 ’ 38 Impresión del Texto

‘ 9 ’ 39 P/O , R/A

‘ B ’ 42 Bloqueo de la Impresora Fiscal

‘ D ’ 44 Lugar de Programación

‘ I ’ 49 ‘ 0 ’ Reporte de Transacción ( Fiscal Z )

‘ 1 ’ Reporte de Transacción actual

‘ 2 ’ Lectura del Reporte Fiscal por Fecha

‘ 3 ’ Lectura del Reporte Fiscal por Numero Z

‘ P ’ 50 ‘ A ’ Programación de las Tasa de Impuesto

‘ B ’ Programación del Registro de Identificación

‘ C ’ Programación del Nombre y código Secreto

‘ E ’ Programación del Cierre Promedio

‘ F ’ Programación de la Hora

‘ G ’ Programación de la Fecha

‘ H ’ Programación de los Mensajes de Cabecera

‘ J ’ programación de las Bandera para las funciones del Sistema

‘ K ’ Programación de los símbolos de Transacción

‘ L ’ Programación de Mensajes de Impresión

‘ M ’ Iniciación Fiscal

‘ N ’ Programación del Numero de la Maquina

‘ S ’ Programación del Nombre de la Tienda

Librería de Enlace Dinámico “TFHKAIF.DLL”

Rev 1.1 31/01/08

13

‘ T ’ Programación de las Tasas de Impuesto

‘ V ’ Programación de la Responsabilidad VAT

‘ a ’ Almacenamiento de las Tasas de Impuesto dentro de la Memoria Fiscal

‘ b ’ Almacenamiento del Registro de Identificación dentro de la Memoria Fiscal

‘ n ’ Almacenamiento del numero de la Maquina dentro de la Memoria Fiscal

‘ s ’ Almacenamiento del Nombre de la Tienda dentro de la Memoria Fiscal

‘ v ’ Almacenamiento de la Responsabilidad VAT dentro de la Memoria Fiscal

‘ S ’ 53 Lectura de Información

‘ T ’ 54 Inicio y Finalización del modo de entrenamiento

‘ U ’ 55 ‘ 0 ’ Carga del Reporte de una Transacción Fiscal Z

‘ 1 ’ Carga del Reporte de Transacción

‘ 2 ’ Carga de los Reportes Fiscales por Fecha

‘ 3 ’ Carga de los Reportes Fiscales por numero Z

‘ X ’ 58 ‘ 1 ’ Limpieza de los datos de la Transacciones

‘ b ’ 62 Retorno Embotellado

‘ c ’ 63 Numero de la Tarjeta de Crédito / Recibo del numero impreso

‘ e ’ 65 Restaurar

‘ k ’ 6B Error Correcto

‘ o ’ 6F Apertura de la Impresora Fiscal

‘ p ’ 70 Porcentaje Correcto

‘ t ’ 74 P/O, R/A Total

‘ x ’ 78 Impresión de Prueba

‘ z ’ 7A Cierre de la Impresora Fiscal

A0-A5 Ítem de la Transacción Vacía

E2 Vacío del Retorno Embotellado