Commit 55c7bcadb161130cada4029db40f17087bbae51c
1 parent
5eda16ee29
Exists in
master
avances
Showing
6 changed files
with
51 additions
and
36 deletions
Show diff stats
debo/cabeceraDebo.js
1 | module.exports = function(comprobante, afipTablas) { | 1 | module.exports = function(comprobante, afipTablas, entities) { |
2 | 2 | ||
3 | return { | 3 | return { |
4 | TIP: afipTablas(comprobante.identificaxComprobante.tipo).letraComprobante, // [char](1) NOT NULL, LETRA DEL COMPROBANTE (A,B,C,M,E) | 4 | TIP: afipTablas(comprobante.identificaxComprobante.tipo).letraComprobante, // [char](1) NOT NULL, LETRA DEL COMPROBANTE (A,B,C,M,E) |
5 | TCO: afipTablas(comprobante.identificaxComprobante.tipo).tipoComprobante, // [char](2) NOT NULL, TIPO DE COMPROBANTE (FT,NC,ND,RE,CI,LP) | 5 | TCO: afipTablas(comprobante.identificaxComprobante.tipo).tipoComprobante, // [char](2) NOT NULL, TIPO DE COMPROBANTE (FT,NC,ND,RE,CI,LP) |
6 | SUC: parseInt(comprobante.identificaxComprobante.puntoVenta), // [int] NOT NULL, PUNTO DE VENTA | 6 | SUC: parseInt(comprobante.identificaxComprobante.puntoVenta), // [int] NOT NULL, PUNTO DE VENTA |
7 | NCO: parseInt(comprobante.identificaxComprobante.numero), // [bigint] NOT NULL, NUMERO DE COMPROBANTE | 7 | NCO: parseInt(comprobante.identificaxComprobante.numero), // [bigint] NOT NULL, NUMERO DE COMPROBANTE |
8 | COD: null, // [int] NOT NULL, CODIGO DEL PROVEEDOR NECESITAS RELACION -- BUSCAR SI ENVIAN EL CUIT DEL PROVEEDOR SELECT COD FROM PROVEED WHERE CUIT= '30-54775125-2' | 8 | COD: entities.proveedores.COD, // [int] NOT NULL, CODIGO DEL PROVEEDOR NECESITAS RELACION -- BUSCAR SI ENVIAN EL CUIT DEL PROVEEDOR SELECT COD FROM PROVEED WHERE CUIT= '30-54775125-2' |
9 | FEC: comprobante.identificaxComprobante.fechaComprobante, // [smalldatetime] NULL, FECHA DEL COMPROBANTE | 9 | FEC: comprobante.identificaxComprobante.fechaComprobante, // [smalldatetime] NULL, FECHA DEL COMPROBANTE |
10 | NOM: null, // [varchar](40) NOT NULL, NOMBRE DEL PROVEEDOR TABLA PROVEED CAMPO NOM | 10 | NOM: entities.proveedores.NOM, // [varchar](40) NOT NULL, NOMBRE DEL PROVEEDOR TABLA PROVEED CAMPO NOM |
11 | TIV: null, // [tinyint] NOT NULL, TIPO DE IVA CAMPO IVA TABLA PROVEED | 11 | TIV: entities.proveedores.IVA, // [tinyint] NOT NULL, TIPO DE IVA CAMPO IVA TABLA PROVEED |
12 | CUI: null, // [char](13) NOT NULL, CUIT DEL PROVEEDOR CAMPO CUIT DEL PROVEEDOR O EL QUE VIENE EN LA COMUNICACION | 12 | CUI: entities.proveedores.CUIT, // [char](13) NOT NULL, CUIT DEL PROVEEDOR CAMPO CUIT DEL PROVEEDOR O EL QUE VIENE EN LA COMUNICACION |
13 | FPA: null, // [tinyint] NOT NULL, FORMA DE PAGO CAMPO FPA TABLA PROVEED | 13 | FPA: entities.proveedores.FPA, // [tinyint] NOT NULL, FORMA DE PAGO CAMPO FPA TABLA PROVEED |
14 | TCA: 1, // [money] NOT NULL, FIJO 1 | 14 | TCA: 1, // [money] NOT NULL, FIJO 1 |
15 | DTO: comprobante.descuentosGlobalesFactura.importe, // [money] NOT NULL, DESCUENTO TOTAL SUMATORIA DE LOS DTO POR ITEM | 15 | DTO: comprobante.descuentosGlobalesFactura.importe, // [money] NOT NULL, DESCUENTO TOTAL SUMATORIA DE LOS DTO POR ITEM |
16 | PDT: 0, // [money] NOT NULL, FIJO 0 | 16 | PDT: 0, // [money] NOT NULL, FIJO 0 |
17 | NET: null, // [money] NOT NULL, SUMATORIA DE LOS NETOS POR ITEM QUE TIENEN IVA <> 0 | 17 | NET: null, // [money] NOT NULL, SUMATORIA DE LOS NETOS POR ITEM QUE TIENEN IVA <> 0 |
18 | NEE: null, // [money] NOT NULL, SUMATORIA DE LOS NETOS POR ITEM QUE TIENEN IVA = 0 | 18 | NEE: null, // [money] NOT NULL, SUMATORIA DE LOS NETOS POR ITEM QUE TIENEN IVA = 0 |
19 | IRI: comprobante.detallesImportesIVA.importeLiquidado, // [money] NOT NULL, SUMATORIA DE LOS IVA POR ITEM | 19 | IRI: comprobante.detallesImportesIVA.importeLiquidado, // [money] NOT NULL, SUMATORIA DE LOS IVA POR ITEM |
20 | IRS: 0, // [money] NOT NULL, FIJO 0 | 20 | IRS: 0, // [money] NOT NULL, FIJO 0 |
21 | IMI: comprobante.importesTotales.importeImpuestosInternos, // [money] NOT NULL, SUMATORIA DE LOS IMPUESTOS INTERNOS POR ITEM | 21 | IMI: comprobante.importesTotales.importeImpuestosInternos, // [money] NOT NULL, SUMATORIA DE LOS IMPUESTOS INTERNOS POR ITEM |
22 | RGA: null, // [money] NOT NULL, IMPORTE RETENCION DE GANANCIAS | 22 | RGA: null, // [money] NOT NULL, IMPORTE RETENCION DE GANANCIAS |
23 | RIB: null, // [money] NOT NULL, IMPORTE RETENCION DE INBRESOS BRUTOS | 23 | RIB: null, // [money] NOT NULL, IMPORTE RETENCION DE INGRESOS BRUTOS |
24 | PIV: null, // [money] NOT NULL, IMPORTE PERCEPCION DE IVA | 24 | PIV: null, // [money] NOT NULL, IMPORTE PERCEPCION DE IVA |
25 | CNG: comprobante.importesTotales.totalConceptosNoNetoGravado, // [money] NULL, IMPORTE DE CONCEPTOS NO GRAVADOS | 25 | CNG: comprobante.importesTotales.totalConceptosNoNetoGravado, // [money] NULL, IMPORTE DE CONCEPTOS NO GRAVADOS |
26 | TOT: null, // [money] NOT NULL, IMPORTE TOTAL DE LA FACTURA | 26 | TOT: null, // [money] NOT NULL, IMPORTE TOTAL DE LA FACTURA |
27 | ZON: null, // [int] NOT NULL, NUMERO DE LA EMPRESA SELECT ZON FROM APAREMP | 27 | ZON: entities.empresa.ZON, // [int] NOT NULL, NUMERO DE LA EMPRESA SELECT ZON FROM APAREMP |
28 | FEV: comprobante.identificaxComprobante.fechaComprobante, // [datetime] NULL, FECHA DE VENCIMIENTO | 28 | FEV: comprobante.identificaxComprobante.fechaComprobante, // [datetime] NULL, FECHA DE VENCIMIENTO |
29 | OCP: null, // [char](10) NOT NULL, SI VIENE LA ORDEN DE COMPRA FORMATO "0000000000" (DOS PRIMERO PARA PVE Y 8 ULTIMOS EL NUMERO DE LA OC) | 29 | OCP: null, // [char](10) NOT NULL, SI VIENE LA ORDEN DE COMPRA FORMATO "0000000000" (DOS PRIMERO PARA PVE Y 8 ULTIMOS EL NUMERO DE LA OC) |
30 | OPE: 0, // [int] NOT NULL, FIJO 0 | 30 | OPE: 0, // [int] NOT NULL, FIJO 0 |
31 | REC: 0, // [bigint] NOT NULL, FIJO 0 | 31 | REC: 0, // [bigint] NOT NULL, FIJO 0 |
32 | FEP: null, // [datetime] NULL, ITEM FECHA FACTURA | 32 | FEP: null, // [datetime] NULL, ITEM FECHA FACTURA |
33 | NPE: 0, // [bigint] NOT NULL, NOTA DE PEDIDO FIJO 0 | 33 | NPE: 0, // [bigint] NOT NULL, NOTA DE PEDIDO FIJO 0 |
34 | CPA: 0, // [int] NOT NULL, FIJO 0 | 34 | CPA: 0, // [int] NOT NULL, FIJO 0 |
35 | ENV: 0, // [int] NOT NULL, FIJO 0 | 35 | ENV: 0, // [int] NOT NULL, FIJO 0 |
36 | REM: 0, // [bigint] NOT NULL, FIJO 0 | 36 | REM: 0, // [bigint] NOT NULL, FIJO 0 |
37 | PRO: ' ', // [char](1) NOT NULL, FIJO ' ' VACIO NO NULO | 37 | PRO: ' ', // [char](1) NOT NULL, FIJO ' ' VACIO NO NULO |
38 | ANU: ' ', // [char](1) NOT NULL, FIJO ' ' VACIO NO NULO | 38 | ANU: ' ', // [char](1) NOT NULL, FIJO ' ' VACIO NO NULO |
39 | TUR: 0, // [int] NOT NULL, FIJO 0 | 39 | TUR: 0, // [int] NOT NULL, FIJO 0 |
40 | PLA: 0, // [int] NOT NULL, FIJO 0 | 40 | PLA: 0, // [int] NOT NULL, FIJO 0 |
41 | LUG: 0, // [int] NOT NULL, FIJO 0 | 41 | LUG: 0, // [int] NOT NULL, FIJO 0 |
42 | ATO: 0, // [numeric](18, 0) NOT NULL, FIJO 0 | 42 | ATO: 0, // [numeric](18, 0) NOT NULL, FIJO 0 |
43 | CCO: 0, // [bigint] NOT NULL, FIJO 0 | 43 | CCO: 0, // [bigint] NOT NULL, FIJO 0 |
44 | IMA: 0, // [int] NOT NULL, FIJO 0 | 44 | IMA: 0, // [int] NOT NULL, FIJO 0 |
45 | CCA1: 0, // [int] NOT NULL, FIJO 0 | 45 | CCA1: 0, // [int] NOT NULL, FIJO 0 |
46 | CCA2: 0, // [int] NOT NULL, FIJO 0 | 46 | CCA2: 0, // [int] NOT NULL, FIJO 0 |
47 | CCA3: 0, // [int] NOT NULL, FIJO 0 | 47 | CCA3: 0, // [int] NOT NULL, FIJO 0 |
48 | CCA4: 0, // [int] NOT NULL, FIJO 0 | 48 | CCA4: 0, // [int] NOT NULL, FIJO 0 |
49 | CCA5: 0, // [int] NOT NULL, FIJO 0 | 49 | CCA5: 0, // [int] NOT NULL, FIJO 0 |
50 | CCA6: 0, // [int] NOT NULL, FIJO 0 | 50 | CCA6: 0, // [int] NOT NULL, FIJO 0 |
51 | CCA7: 0, // [int] NOT NULL, FIJO 0 | 51 | CCA7: 0, // [int] NOT NULL, FIJO 0 |
52 | CCA8: 0, // [int] NOT NULL, FIJO 0 | 52 | CCA8: 0, // [int] NOT NULL, FIJO 0 |
53 | CCA0: 0, // [int] NOT NULL, FIJO 0 | 53 | CCA0: 0, // [int] NOT NULL, FIJO 0 |
54 | OBS: comprobante.importesTotales.observaciones, // [varchar](60) NOT NULL, SI VIENEN OBSERVACIONES PONER AQUI SINO VACIO NO NULO | 54 | OBS: comprobante.importesTotales.observaciones, // [varchar](60) NOT NULL, SI VIENEN OBSERVACIONES PONER AQUI SINO VACIO NO NULO |
55 | RIV: null, // [money] NOT NULL, IMPORTE RETENCION DE IVA | 55 | RIV: null, // [money] NOT NULL, IMPORTE RETENCION DE IVA |
56 | FECCAI: comprobante.identificaxComprobante.fechaVencimientoCai, // [smalldatetime] NOT NULL, FECHA DEL CAI | 56 | FECCAI: comprobante.identificaxComprobante.fechaVencimientoCai, // [smalldatetime] NOT NULL, FECHA DEL CAI |
57 | CAI: comprobante.identificaxComprobante.cai, // [char](16) NOT NULL, NUMERO DE CAI | 57 | CAI: comprobante.identificaxComprobante.cai, // [char](16) NOT NULL, NUMERO DE CAI |
58 | CHO: 0, // [int] NOT NULL, FIJO 0 | 58 | CHO: 0, // [int] NOT NULL, FIJO 0 |
59 | CTR: '', // [char](1) NOT NULL, VACIO NO NULO | 59 | CTR: '', // [char](1) NOT NULL, VACIO NO NULO |
60 | PER: null, // [money] NOT NULL, IMPORTE DE PERCEPCIONES | 60 | PER: null, // [money] NOT NULL, IMPORTE DE PERCEPCIONES |
61 | CCA9: 0, // [int] NOT NULL, FIJO 0 | 61 | CCA9: 0, // [int] NOT NULL, FIJO 0 |
62 | FECVEN: comprobante.identificaxComprobante.fechaVencimiento, // [smalldatetime] NOT NULL, FECHA DE VENCIMIENTO DE LA FACTURA | 62 | FECVEN: comprobante.identificaxComprobante.fechaVencimiento, // [smalldatetime] NOT NULL, FECHA DE VENCIMIENTO DE LA FACTURA |
63 | CNG2: null, // [money] NOT NULL, IMPORTE DE CONCEPTOS NO GRAVADOS 2 | 63 | CNG2: null, // [money] NOT NULL, IMPORTE DE CONCEPTOS NO GRAVADOS 2 |
64 | E_HD: '', // [varchar](8) NOT NULL, VACIO NO NULO | 64 | E_HD: '', // [varchar](8) NOT NULL, VACIO NO NULO |
65 | C_HD: '', // [varchar](1) NOT NULL, VACIO NO NULO | 65 | C_HD: '', // [varchar](1) NOT NULL, VACIO NO NULO |
66 | RSS: null, // [money] NOT NULL, IMPORTE RETENCIONS SUSS | 66 | RSS: null, // [money] NOT NULL, IMPORTE RETENCIONS SUSS |
67 | E_HD2: '', // [varchar](12) NOT NULL, VACIO NO NULO | 67 | E_HD2: '', // [varchar](12) NOT NULL, VACIO NO NULO |
68 | C_HD2: '', // [varchar](1) NOT NULL, VACIO NO NULO | 68 | C_HD2: '', // [varchar](1) NOT NULL, VACIO NO NULO |
69 | DTO2: null, // [money] NOT NULL, IMPORTE DE OTROS DESCUENTOS | 69 | DTO2: null, // [money] NOT NULL, IMPORTE DE OTROS DESCUENTOS |
70 | ENLP: 0, // [bit] NOT NULL, FIJO 0 | 70 | ENLP: 0, // [bit] NOT NULL, FIJO 0 |
71 | COD_TRANS: comprobante.identificaxComprobante.numeroRegistrado, // [bigint] NOT NULL, VER DE PONER EL NUMERO DE REFERENCIA QUE PUEDA UNIRNOS A LO QUE VIENE DESDE PLANEX | 71 | COD_TRANS: comprobante.identificaxComprobante.numeroRegistrado, // [bigint] NOT NULL, VER DE PONER EL NUMERO DE REFERENCIA QUE PUEDA UNIRNOS A LO QUE VIENE DESDE PLANEX |
72 | RETMUN: comprobante.importesTotales.importeImpuestosMunicipales, // [money] NOT NULL, IMPORTE DE RETENCIONES MUNICIPALES | 72 | RETMUN: comprobante.importesTotales.importeImpuestosMunicipales, // [money] NOT NULL, IMPORTE DE RETENCIONES MUNICIPALES |
73 | TIPO_OPERACION: 0, // [int] NOT NULL, FIJO 0 | 73 | TIPO_OPERACION: 0, // [int] NOT NULL, FIJO 0 |
74 | IRD: 0, // [money] NOT NULL, FIJO 0 | 74 | IRD: 0, // [money] NOT NULL, FIJO 0 |
75 | AUX1: 0, // [money] NOT NULL, FIJO 0 | 75 | AUX1: 0, // [money] NOT NULL, FIJO 0 |
76 | AUX2: 0, // [money] NOT NULL, FIJO 0 | 76 | AUX2: 0, // [money] NOT NULL, FIJO 0 |
77 | AUX3: 0, // [money] NOT NULL, FIJO 0 | 77 | AUX3: 0, // [money] NOT NULL, FIJO 0 |
78 | AUX4: 0, // [money] NOT NULL, FIJO 0 | 78 | AUX4: 0, // [money] NOT NULL, FIJO 0 |
79 | ARBA: null, // [money] NOT NULL, IMPORTE RETENCION ARBA | 79 | ARBA: null, // [money] NOT NULL, IMPORTE RETENCION ARBA |
80 | DGR: null, // [money] NOT NULL, IMPORTE RETENCION DGR | 80 | DGR: null, // [money] NOT NULL, IMPORTE RETENCION DGR |
81 | DTO_PIE: null, // [money] NOT NULL, IMPORTE DE DESCUENTO AL PIE, NO POR ITEM | 81 | DTO_PIE: null, // [money] NOT NULL, IMPORTE DE DESCUENTO AL PIE, NO POR ITEM |
82 | OPERACIONES_3711: 1, // [int] NOT NULL, FIJO 1 (PORQUE SON BIENES) | 82 | OPERACIONES_3711: 1, // [int] NOT NULL, FIJO 1 (PORQUE SON BIENES) |
83 | ORC: null, // [bigint] NOT NULL, NUMERO DE ORDEN DE COMPRA | 83 | ORC: null, // [bigint] NOT NULL, NUMERO DE ORDEN DE COMPRA |
84 | NC_ES_NP: 0, // [bit] NOT NULL, FIJO 0 | 84 | NC_ES_NP: 0, // [bit] NOT NULL, FIJO 0 |
85 | CABA: null, // [money] NOT NULL, IMPORTE RETENCION CABA | 85 | CABA: null, // [money] NOT NULL, IMPORTE RETENCION CABA |
86 | ARBA_PER: null, // [money] NOT NULL, IMPORTE PERCEPCION ARBA | 86 | ARBA_PER: null, // [money] NOT NULL, IMPORTE PERCEPCION ARBA |
87 | CABA_PER: null, // [money] NOT NULL, IMPORTE PERCEPCION CABA | 87 | CABA_PER: null, // [money] NOT NULL, IMPORTE PERCEPCION CABA |
88 | PERMUN: comprobante.importesTotales.importeImpuestosMunicipales, // [money] NOT NULL, IMPORTE PERCEPCIONES MUNICIPALES | 88 | PERMUN: comprobante.importesTotales.importeImpuestosMunicipales, // [money] NOT NULL, IMPORTE PERCEPCIONES MUNICIPALES |
89 | IMI2: 0, // [money] NOT NULL, FIJO 0 | 89 | IMI2: 0, // [money] NOT NULL, FIJO 0 |
90 | }; | 90 | }; |
91 | } | 91 | } |
92 | 92 |
debo/cuerpoDebo.js
1 | module.exports = function(comprobante) { | 1 | module.exports = function(comprobante, afipTablas, entities) { |
2 | 2 | ||
3 | return { | 3 | return { |
4 | TIP: null, // [char](1) NOT NULL, LETRA DEL COMPROBANTE (A,B,C,M) | 4 | TIP: afipTablas(comprobante.identificaxComprobante.tipo).letraComprobante, // [char](1) NOT NULL, LETRA DEL COMPROBANTE (A,B,C,M) |
5 | TCO: null, // [char](2) NOT NULL, TIPO DE COMPROBANTE (FT,NC,ND) | 5 | TCO: afipTablas(comprobante.identificaxComprobante.tipo).tipoComprobante, // [char](2) NOT NULL, TIPO DE COMPROBANTE (FT,NC,ND) |
6 | SUC: parseInt(comprobante.identificaxComprobante.puntoVenta), // [int] NOT NULL, PUNTO DE VENTA DE LA FACTURA | 6 | SUC: parseInt(comprobante.identificaxComprobante.puntoVenta), // [int] NOT NULL, PUNTO DE VENTA DE LA FACTURA |
7 | NCO: parseInt(comprobante.identificaxComprobante.numero), // [bigint] NOT NULL, NUMERO DE COMPROBANTE | 7 | NCO: parseInt(comprobante.identificaxComprobante.numero), // [bigint] NOT NULL, NUMERO DE COMPROBANTE |
8 | PRO: null, // [int] NOT NULL, CODIGO DEL PROVEEDOR NECESITAS RELACION -- BUSCAR SI ENVIAN EL CUIT DEL PROVEEDOR SELECT COD FROM PROVEED WHERE CUIT= '30-54775125-2' | 8 | PRO: entities.proveedor.COD, // [int] NOT NULL, CODIGO DEL PROVEEDOR NECESITAS RELACION -- BUSCAR SI ENVIAN EL CUIT DEL PROVEEDOR SELECT COD FROM PROVEED WHERE CUIT= '30-54775125-2' |
9 | ORD: parseInt(comprobante.itemsFactura.numeroLinea), // [int] NOT NULL, ORDEN DEL ITEM, EMPIEZA EN 1 Y SUMA DE A 1 POR CADA REGISTRO DE MOVIMIENTO | 9 | ORD: parseInt(comprobante.itemsFactura.numeroLinea), // [int] NOT NULL, ORDEN DEL ITEM, EMPIEZA EN 1 Y SUMA DE A 1 POR CADA REGISTRO DE MOVIMIENTO |
10 | COD: null, // [int] NOT NULL, SECTOR DEBO DEL PRODUCTO | 10 | COD: null, // [int] NOT NULL, SECTOR DEBO DEL PRODUCTO |
11 | ART: null, // [int] NOT NULL, ARTICULO DEBO DEL PRODUCTO ESTOS 2 SE OBTIENEN A PARTIR DEL CODIGO DE BARRAS: SELECT CodSec AS SECTOR,CodArt AS ARTICULO FROM CODBAR WHERE CODBAR='03239210540' | 11 | ART: null, // [int] NOT NULL, ARTICULO DEBO DEL PRODUCTO ESTOS 2 SE OBTIENEN A PARTIR DEL CODIGO DE BARRAS: SELECT CodSec AS SECTOR,CodArt AS ARTICULO FROM CODBAR WHERE CODBAR='03239210540' |
12 | RUB: null, // [int] NOT NULL, CODIGO DE RUBRO SE OBTIENE DE LA TABLA ARTICULOS SELECT DET_LAR,CODRUB FROM ARTICULOS WHERE CODSEC=SECTOR AND CODART=ARTICULO (DATOS OBTENIDOS EN NOTA ANTERIOR | 12 | RUB: null, // [int] NOT NULL, CODIGO DE RUBRO SE OBTIENE DE LA TABLA ARTICULOS SELECT DET_LAR,CODRUB FROM ARTICULOS WHERE CODSEC=SECTOR AND CODART=ARTICULO (DATOS OBTENIDOS EN NOTA ANTERIOR |
13 | TIO: null, // [varchar](60) NOT NULL DESCRIPCION DEL PRODUCTO DEL PUNTO ANTERIOR DET_LAR | 13 | TIO: null, // [varchar](60) NOT NULL DESCRIPCION DEL PRODUCTO DEL PUNTO ANTERIOR DET_LAR |
14 | LI0: comprobante.itemsFactura.descripcion, // [varchar](60) NOT NULL, DESCRIPCION ENVIADA POR EL PROVEEDOR | 14 | LI0: comprobante.itemsFactura.descripcion, // [varchar](60) NOT NULL, DESCRIPCION ENVIADA POR EL PROVEEDOR |
15 | CAN: comprobante.itemsFactura.cantidad, // [money] NOT NULL, CANTIDAD DEL ITEM | 15 | CAN: comprobante.itemsFactura.cantidad, // [money] NOT NULL, CANTIDAD DEL ITEM |
16 | PUN: comprobante.itemsFactura.precioUnitario, // [decimal](20, 8) NOT NULL PRECIO UNITARIO DEL PRODUCTO ITEM | 16 | PUN: comprobante.itemsFactura.precioUnitario, // [decimal](20, 8) NOT NULL PRECIO UNITARIO DEL PRODUCTO ITEM |
17 | IMI: comprobante.detalleImpuestosItemFactura.importeImpuesto, // [money] NOT NULL, IMPORTE IMPUESTOS INTERNOS DEL ITEM | 17 | IMI: comprobante.detalleImpuestosItemFactura.importeImpuesto, // [money] NOT NULL, IMPORTE IMPUESTOS INTERNOS DEL ITEM |
18 | IVA: comprobante.itemsFactura.importeIVA, // [money] NOT NULL, IMPORTE IVA DEL ITEM | 18 | IVA: comprobante.itemsFactura.importeIVA, // [money] NOT NULL, IMPORTE IVA DEL ITEM |
19 | PUT: comprobante.itemsFactura.precioUnitario, // [money] NOT NULL, IGUAL AL PUN | 19 | PUT: comprobante.itemsFactura.precioUnitario, // [money] NOT NULL, IGUAL AL PUN |
20 | LEG: 0, // [int] NOT NULL, FIJO 0 | 20 | LEG: 0, // [int] NOT NULL, FIJO 0 |
21 | CMF: 0, // [int] NOT NULL, FIJO 0 | 21 | CMF: 0, // [int] NOT NULL, FIJO 0 |
22 | TUR: 0, // [int] NOT NULL, FIJO 0 | 22 | TUR: 0, // [int] NOT NULL, FIJO 0 |
23 | PLA: 0, // [int] NOT NULL, FIJO 0 | 23 | PLA: 0, // [int] NOT NULL, FIJO 0 |
24 | LUG: 0, // [int] NOT NULL, FIJO 0 | 24 | LUG: 0, // [int] NOT NULL, FIJO 0 |
25 | ESC: 0, // [bit] NOT NULL, FIJO 0 | 25 | ESC: 0, // [bit] NOT NULL, FIJO 0 |
26 | TAN: 0, // [int] NOT NULL, FIJO 0 | 26 | TAN: 0, // [int] NOT NULL, FIJO 0 |
27 | CCO: 0, // [bigint] NOT NULL, FIJO 0 | 27 | CCO: 0, // [bigint] NOT NULL, FIJO 0 |
28 | E_HD: '', // [varchar](8) NOT NULL, FIJO '' VACIO NO NULO | 28 | E_HD: '', // [varchar](8) NOT NULL, FIJO '' VACIO NO NULO |
29 | C_HD: '', // [varchar](1) NOT NULL, FIJO '' VACIO NO NULO | 29 | C_HD: '', // [varchar](1) NOT NULL, FIJO '' VACIO NO NULO |
30 | DTO: comprobante.detalleDescuentosItemFactura.importeDescuento, // [money] NOT NULL, IMPORTE DESCUENTO DE LA FACTURA | 30 | DTO: comprobante.detalleDescuentosItemFactura.importeDescuento, // [money] NOT NULL, IMPORTE DESCUENTO DE LA FACTURA |
31 | PTA: 0, // [int] NOT NULL, FIJO 0 | 31 | PTA: 0, // [int] NOT NULL, FIJO 0 |
32 | SUBM: 0, // [int] NOT NULL, FIJO 0 | 32 | SUBM: 0, // [int] NOT NULL, FIJO 0 |
33 | E_HD2: '', // [varchar](12) NOT NULL, FIJO '' VACIO NO NULO | 33 | E_HD2: '', // [varchar](12) NOT NULL, FIJO '' VACIO NO NULO |
34 | C_HD2: '', // [varchar](1) NOT NULL, FIJO '' VACIO NO NULO | 34 | C_HD2: '', // [varchar](1) NOT NULL, FIJO '' VACIO NO NULO |
35 | COMISION: 0, // [money] NOT NULL, FIJO 0 | 35 | COMISION: 0, // [money] NOT NULL, FIJO 0 |
36 | LIQ_VTA: '', // [varchar](20) NOT NULL, FIJO '' VACIO NO NULO | 36 | LIQ_VTA: '', // [varchar](20) NOT NULL, FIJO '' VACIO NO NULO |
37 | COSTO_PMOV: comprobante.itemsFactura.precioUnitario, // [money] NOT NULL, IGUAL AL PUN | 37 | COSTO_PMOV: comprobante.itemsFactura.precioUnitario, // [money] NOT NULL, IGUAL AL PUN |
38 | SAL_ITEM: 0, // [money] NOT NULL, fijo 0 es el que se llenara al mostrar en la tablet o telefono para que llene operador | 38 | SAL_ITEM: 0, // [money] NOT NULL, fijo 0 es el que se llenara al mostrar en la tablet o telefono para que llene operador |
39 | TASIVA: comprobante.itemsFactura.alicuotaIVAAplicable, // [money] NOT NULL, TASA DE IVA DEL ITEM = 21.00 / 10.50 / ETC. | 39 | TASIVA: comprobante.itemsFactura.alicuotaIVAAplicable, // [money] NOT NULL, TASA DE IVA DEL ITEM = 21.00 / 10.50 / ETC. |
40 | }; | 40 | }; |
41 | } | 41 | } |
42 | 42 |
debo/index.js
1 | module.exports = function(comprobante) { | 1 | module.exports = function(comprobante, entities) { |
2 | 2 | ||
3 | var afipTablas = require('../afip/index'); | 3 | var afipTablas = require('../afip/index'); |
4 | 4 | ||
5 | return { | 5 | return { |
6 | cabecera: require('./cabeceraDebo')(comprobante, afipTablas), | 6 | cabecera: require('./cabeceraDebo')(comprobante, afipTablas, entities), |
7 | cuerpo: require('./cuerpoDebo')(comprobante, afipTablas) | 7 | cuerpo: require('./cuerpoDebo')(comprobante, afipTablas) |
8 | }; | 8 | }; |
9 | } | 9 | } |
10 | 10 |
index.js
1 | config = require('./config/config.json'); | 1 | config = require('./config/config.json'); |
2 | 2 | ||
3 | require('./watch/index')(config.dir, onGetFile); | 3 | require('./watch/index')(config.dir, onGetFile); |
4 | 4 | ||
5 | const wsServer = require('./webSocketServer/index')(); | 5 | const wsServer = require('./webSocketServer/index')(); |
6 | 6 | ||
7 | function onGetFile(event, fileString) { | 7 | function onGetFile(event, fileString) { |
8 | 8 | ||
9 | if (!fileString) return; | 9 | if (!fileString) return; |
10 | 10 | ||
11 | var planex = require('./planex/index')(fileString); | 11 | var planex = require('./planex/index')(fileString); |
12 | 12 | ||
13 | var entidades = []; | 13 | var entities = {}; |
14 | 14 | ||
15 | wsServer.getEntidad('7790968003283', 'PROVEED').then(function(data) { | 15 | var tipoCuit = planex.identificaxEmisor.cuit.slice(0, 2); |
16 | entidades.push({ entidad:'proveedores', data: data}) | 16 | var digitoVerificador = planex.identificaxEmisor.cuit[planex.identificaxEmisor.cuit.length - 1]; |
17 | }); | 17 | |
18 | var cuitToDebo = tipoCuit + '-' + planex.identificaxEmisor.cuit.slice(2, 10) + '-' + digitoVerificador; | ||
18 | 19 | ||
19 | console.log(entidades.length); | 20 | var promiseProveedores = wsServer.getEntidad('7790968003283', 'PROVEED', {CUIT: cuitToDebo}); |
21 | var promiseEmp = wsServer.getEntidad('7790968003283', 'APAREMP'); | ||
20 | 22 | ||
21 | var debo = require('./debo/index')(planex, entidades); | 23 | Promise.all([promiseProveedores, promiseEmp]).then(function(data) { |
22 | 24 | ||
23 | // console.log(debo); | 25 | entities.proveedores = data[0]; |
26 | entities.empresa = data[1]; | ||
27 | |||
28 | var debo = require('./debo/index')(planex, entities); | ||
29 | }); | ||
24 | 30 | ||
31 | console.log(planex); | ||
25 | } | 32 | } |
26 | 33 | ||
27 | console.log('listen websocket port ' + config.port); | 34 | console.log('listen websocket port ' + config.port); |
28 | console.log('Ejecutar programa como administrador...'); | 35 | console.log('Ejecutar programa como administrador...'); |
29 | 36 |
watch/index.js
1 | module.exports = function(dir, callback) { | 1 | module.exports = function(dir, callback) { |
2 | 2 | ||
3 | const fs = require('fs'); | 3 | const fs = require('fs'); |
4 | 4 | ||
5 | fs.watch(dir, function(event, file) { | 5 | fs.watch(dir, function(event, file) { |
6 | 6 | ||
7 | var extencion = file.split('.')[1]; | 7 | var extencion = file.split('.')[1]; |
8 | 8 | ||
9 | if (extencion == 'plx') { | 9 | if (extencion == 'plx' && event == 'change') { |
10 | 10 | ||
11 | fs.readFile(dir + '\\' + file, 'utf8', function(err , fileString) { | 11 | fs.readFile(dir + '\\' + file, 'utf8', function(err , fileString) { |
12 | 12 | ||
13 | callback(event, fileString); | 13 | callback(event, fileString); |
14 | }) | 14 | }) |
15 | } | 15 | } |
16 | 16 | ||
17 | }); | 17 | }); |
18 | 18 | ||
19 | }; | 19 | }; |
20 | 20 |
webSocketServer/index.js
1 | module.exports = function() { | 1 | module.exports = function() { |
2 | 2 | ||
3 | const webSocketServer = require('ws').Server; | 3 | const webSocketServer = require('ws').Server; |
4 | var clients = []; | 4 | var clients = []; |
5 | var idsSolicitud = []; | ||
5 | 6 | ||
6 | const objWs = {}; | 7 | const objWs = {}; |
7 | 8 | ||
8 | objWs.wsServer = new webSocketServer({ | 9 | objWs.wsServer = new webSocketServer({ |
9 | port: config.port | 10 | port: config.port |
10 | }); | 11 | }); |
11 | 12 | ||
12 | objWs.wsServer.on('connection', function connection(ws) { | 13 | objWs.wsServer.on('connection', function connection(ws) { |
13 | 14 | ||
14 | console.log('open socket server'); | 15 | console.log('open socket server'); |
15 | 16 | ||
16 | ws.on('message', function incoming(message) { | 17 | ws.on('message', function incoming(message) { |
17 | 18 | ||
18 | message = JSON.parse(message.toString('utf8')); | 19 | message = JSON.parse(message.toString('utf8')); |
19 | 20 | ||
20 | switch (message.action) { | 21 | switch (message.action) { |
21 | case 'gln': | 22 | case 'gln': |
22 | clients.push({ws: ws, gln: message.gln}); | 23 | clients.push({ws: ws, gln: message.gln}); |
23 | break; | 24 | break; |
24 | default: | 25 | default: |
25 | console.log(message.action); | 26 | // console.log(message.action); |
26 | } | 27 | } |
27 | }); | 28 | }); |
28 | }); | 29 | }); |
29 | 30 | ||
30 | objWs.getEntidad = function(gln, tableName, where) { | 31 | objWs.getEntidad = function(gln, tableName, where) { |
31 | 32 | ||
32 | return new Promise(function(resolve, reject) { | 33 | return new Promise(function(resolve, reject) { |
33 | 34 | ||
34 | clients.forEach(client => { | 35 | var client = clients.filter(function(client) { |
36 | return client.gln == gln | ||
37 | })[0]; | ||
35 | 38 | ||
36 | if (client.gln == gln) { | 39 | var idSolicitud = Math.round(Math.random() * 1000); |
37 | 40 | ||
38 | var enviar = { | 41 | var enviar = { |
39 | action: 'getEntity', | 42 | action: 'getEntity', |
40 | tableName: tableName, | 43 | tableName: tableName, |
41 | where: where | 44 | where: where || {}, |
42 | } | 45 | idSolicitud: idSolicitud |
46 | } | ||
47 | |||
48 | idsSolicitud.push(idSolicitud); | ||
43 | 49 | ||
44 | client.ws.send(JSON.stringify(enviar)); | 50 | client.ws.send(JSON.stringify(enviar)); |
45 | 51 | ||
46 | client.ws.on('message', function(message) { | 52 | client.ws.on('message', function(message) { |
47 | 53 | ||
48 | console.log(JSON.parse(message)); | 54 | message = JSON.parse(message); |
49 | 55 | ||
50 | resolve(message.data); | 56 | if (idSolicitud == message.idSolicitud) { |
51 | }); | 57 | |
58 | resolve(message.data); | ||
52 | } | 59 | } |
60 | |||
53 | }); | 61 | }); |
54 | }); | 62 | }); |
55 | } | 63 | } |
56 | 64 | ||
57 | return objWs; | 65 | return objWs; |
58 | } | 66 | } |