Con este driver podemos manipular impresoras fiscales marca Hasar de una forma super practica.
Note: All other models can be added easily and is a to do task, if you need another please open an issue or make a pull request.
Note: you need a fiscal printer model 715 connected or an fiscal emulator runing, for other models, edit command.json before run.
const HasarFiscalPrinter = require('hasar-fp');
// First argument is a fiscal printer model, for example: '715'
var fiscalPrinter = new HasarFiscalPrinter('715');
// Do something with fiscalPrinter...
HasarFiscalPrinter.whatCanIDo(); // First argument can be a model, for example: '715'
fiscalPrinter.reporteX()
.then(function(data) {
console.log('Reporte X success.');
console.log(data);
})
.catch(function(error) {
console.error('Reporte X failed.');
console.error(error);
});
var from = new Date('2016/09/10'),
to = new Date('2016/10/10');
fiscalPrinter.reporteZ(from, to)
.then(function() {
console.log('Reporte Z success.');
})
.catch(function(error) {
console.error('Reporte Z failed.');
console.error(error);
});
var ticket = {
"text": "Software: craving.com.ar",
"client": {
"name": "Pablo Nehuen Prados",
"id": "20371209590",
"idType": "CUIT",
"address": "Maipu 86",
"regimen": "RESPONSABLE_INSCRIPTO"
},
"items": [
{
"title": "Gaseosa",
"price": 20.25,
"quantity": 3,
"iva": 21,
"discount": 50
},
{
"title": "Golosinas",
"price": 5.55,
"iva": 21,
"quantity": 5
},
{
"title": "Encendedores",
"price": 7.55,
"quantity": 5,
"iva": 21,
"discount": 20
}
],
"discount": 10
}
fiscalPrinter.ticketFiscal('TICKET_FACTURA_B', ticket)
.then(function(nro) {
console.log('Ticket #' + nro + ' success.');
})
.catch(function(error) {
console.error('Ticket failed.');
console.error(error);
});
This driver can be used by any language, not only node.js, the precompile binary "driver.exe" (comming soon for linux) can be called without any params, only require the file "command.json" in the same folder. This file, is a common json config file, that contains for example:
{
"model":"715",
"action":"REPORTE_X"
}
{
"model":"715",
"action":"REPORTE_Z",
"from":"160910",
"to":"161010"
}
{
"model":"715",
"action":"TICKET",
"type":"TICKET_FACTURA_B",
"client":{
"name":"Pablo Nehuen Prados",
"id":"20371209590",
"idType":"CUIT",
"address":"Los Andes 892",
"regimen":"RESPONSABLE_INSCRIPTO"
},
"text":"Software: craving.com.ar",
"items":[
{
"title":"Gaseosa",
"price":100.25,
"quantity":3,
"iva":21,
"discount":50
},
{
"title":"Golosinas",
"price":20.55,
"quantity":5,
"iva":21
},
{
"title":"Encendedores",
"price":20.55,
"quantity":5,
"iva":21,
"discount":20
}
],
"discount":10
}
Para comenzar a utilizar esta herramienta en tu sitio web, tienes que seguir los siguientes pasos:
Nota: Este paso lo puede realizar cualquier persona con conocimientos basicos de pc, incluidos los usuarios finales.
Nota: Probablemente luego de que selecciones el modelo de impresora correcta no volveras a utilizar el icono de la extencion nunca mas.
var fiscalPrinter = new HasarFiscalPrinter();
fiscalPrinter.reporteX().then(console.log);
Nota: Aca no es necesario indicar el modelo, ya que el mismo fue seleccionado en el punto 2 desde la extencion, esto permite escribir el software de forma totalmente independiente a la impresora que se esta utilizando, si necesitas saber que modelo se selecciono, puedes hacerlo de la siguiente manera:
var fiscalPrinter = new HasarFiscalPrinter();
console.log(fiscalPrinter.model);