Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integracion con PHP? #1

Open
vousys opened this issue Aug 1, 2017 · 7 comments
Open

Integracion con PHP? #1

vousys opened this issue Aug 1, 2017 · 7 comments

Comments

@vousys
Copy link

vousys commented Aug 1, 2017

Hola! no lo tenes compilado para instalar en server linux en entorno LAMP? (apache + php)

@codermapuche
Copy link
Owner

Hola! actualmente no lo compile para linux, según los de Hasar debería poder compilarse sin problemas (El código fuente es el oficial del fabricante) pero después de todo lo que renegué para compilarlo en windows se me fueron las ganas.

Si lo compilas seria bienvenido un PR con un binario para agregar al repositorio.

En lo que respecta a PHP te comento que no es necesario una librería para utilizarlo, aunque es viable hacer una.

Te comento que esto no esta pensado para ser utilizado desde el servidor sino directamente desde el navegador, es decir, hacer una aplicación web que sea genérica y que cada usuario acceda a ella desde internet, por ejemplo, un sistema de ventas, el usuario se registra con su usuario y clave, accede a su cuenta y en la pantalla donde carga sus ventas tiene un botón para "Guardar e imprimir ticket" por ejemplo, cuando clickea ahí, se dispara el proceso de guardado propio del sistema y luego se llama a la función javascript para que imprima el ticket correspondiente, en este caso, es el cliente quien tiene que tener su impresora fiscal conectada a su computadora y el sistema en si no sabe nada de ella.

El mejor ejemplo de esto lo podes encontrar aca donde los pasos 1 y 2 los puede realizar cualquier mortal con conocimientos básicos de pc, y el paso 3 es que deberíamos realizar los desarrolladores en nuestras aplicaciones.

Para no irme del tema, en lo que respecta a PHP (si pensamos en un entorno WAMP) abría que trabajar sobre las bases donde lo que habria que hacer con php es escribir el archivo command.json en el formato adecuado y luego invocar al driver.exe, si hago a tiempo este fin de semana armo una versión en php del index.js que básicamente eso es lo que hace.

En teoria, si se compilara para linux, tendría que andar todo exactamente de la misma manera.

@vousys
Copy link
Author

vousys commented Aug 1, 2017

Gracias nene, como siempre un placer leerte :)

@vousys
Copy link
Author

vousys commented Aug 5, 2017

Nehuen consulta: te acordas que modelo exacto era la hasar? y si era de las 1era generacion o 2da?

@codermapuche
Copy link
Owner

Actualmente funciona para la Hasar 615 y la Hasar 715F, si te bajas la extensión y clickeas en el icono tenes una foto de cada modelo soportado.

Solo hice esas dos que fueron las que necesite, pero en teoría esto funciona con todos los modelos Hasar, de 8 y 16Bits, de primera y segunda generación, este es el código fuente detrás de los ocx, dlls y demás que andan circulando en internet.

Para agregar otros modelos tienes que hacer lo siguiente:

  1. Aca Agregar una constante mas con el nombre del modelo, toma de ejemplo las dos existentes que corresponden a los modelos 615 y 715 respectivamente, en este punto lo que estas haciendo es darle un nombre interno unico al modelo que queres incorporar.
  2. Aca Agregar una nueva condición if tomando como referencia tal como están actualmente las de los modelos 615 y 715, en este punto, lo que estas haciendo es mapear el valor que esperas en archivo command.json al codigo interno unico del modelo que creaste en el paso anterior.
  3. Aca Agregar una nueva condición case tomando como referencia tal como están actualmente las de los modelos 615 y 715, en este punto, lo que estas haciendo es mapear el codigo interno único que creaste al principio con el driver propiamente dicho que proporciona el fabricante. Puede que tengas que agregar al inicio de dicho archivo, el #include "PMODEL.h" correspondiente, dentro del archivo del modelo en cuestión, vas a encontrar el nombre que los de hasar le dieron al modelo.

Eso es todo. Recorda que a la hora de compilar para que no explote, tenes que tener o bien la impresora fiscal conectada, o el emulador activado con el modelo correcto, ya que al ejecutarse el driver se intenta conectar para ejecutar el comando.

Yo estoy compilando con el perfil "debug" usando esta version del visual studio.

@vousys
Copy link
Author

vousys commented Aug 5, 2017 via email

@codermapuche
Copy link
Owner

Recien le agregue compatibilidad con el modelo 320 (por agregar uno al azar) podes ver los cambios que hice en este commit en particular mira los 3 archivos que te mencione, los demás son cambios propios del proceso de recompilación.

@vousys
Copy link
Author

vousys commented Aug 5, 2017 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants