cuerpoDebo.js 3.54 KB
module.exports = function(comprobante, afipTablas, entities, item) {

  let precio = item.unidadReferenciaDescripcion == 'CU' ? item.precioUnitarioSinImpuestos :
    ((item.precioUnitarioSinImpuestos && item.numeroUnidadesPorUnidadEmbalaje) ?
    (item.precioUnitarioSinImpuestos / item.numeroUnidadesPorUnidadEmbalaje) : item.precioUnitarioSinImpuestos);

  return {
    TIP: afipTablas(comprobante.identificaxComprobante.tipo).letraComprobante, // [char](1) NOT NULL, LETRA DEL COMPROBANTE (A,B,C,M)
    TCO: afipTablas(comprobante.identificaxComprobante.tipo).tipoComprobante, // [char](2) NOT NULL, TIPO DE COMPROBANTE  (FT,NC,ND)
    SUC: parseInt(comprobante.identificaxComprobante.puntoVenta), // [int] NOT NULL, PUNTO DE VENTA DE LA FACTURA
    NCO: parseInt(comprobante.identificaxComprobante.numero), // [bigint] NOT NULL, NUMERO DE COMPROBANTE	
    PRO: 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'
    ORD: parseInt(item.numeroLinea), // [int] NOT NULL, ORDEN DEL ITEM, EMPIEZA EN 1 Y SUMA DE A 1 POR CADA REGISTRO DE MOVIMIENTO
    COD: item.CodSec, // [int] NOT NULL, SECTOR DEBO DEL PRODUCTO
    ART: item.CodArt, // [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'
    RUB: item.CodRub, // [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
    TIO: item.DET_LAR, // [varchar](60) NOT NULL DESCRIPCION DEL PRODUCTO DEL PUNTO ANTERIOR DET_LAR
    LI0: item.descripcion, // [varchar](60) NOT NULL, DESCRIPCION ENVIADA POR EL PROVEEDOR
    CAN: item.cantidad * item.numeroUnidadesPorUnidadEmbalaje, // [money] NOT NULL, CANTIDAD DEL ITEM
    PUN: precio, // [decimal](20, 8) NOT NULL  PRECIO UNITARIO DEL PRODUCTO ITEM
    IMI: item.impuestoInterno ? item.impuestoInterno.importeImpuesto : 0, // [money] NOT NULL, IMPORTE IMPUESTOS INTERNOS DEL ITEM
    IVA: item.alicuotaIVAAplicable ? (precio * item.alicuotaIVAAplicable) / 100 : 0,
    PUT: item.precioUnitarioSinImpuestos, // [money] NOT NULL, IGUAL AL PUN
    LEG: 0, // [int] NOT NULL, FIJO 0
    CMF: 0, // [int] NOT NULL, FIJO 0
    TUR: 0, // [int] NOT NULL, FIJO 0
    PLA: 0, // [int] NOT NULL, FIJO 0
    LUG: 0, // [int] NOT NULL, FIJO 0
    ESC: 0, // [bit] NOT NULL, FIJO 0
    TAN: 0, // [int] NOT NULL, FIJO 0
    CCO: 0, // [bigint] NOT NULL, FIJO 0
    E_HD: '', // [varchar](8) NOT NULL, FIJO '' VACIO NO NULO
    C_HD: '', // [varchar](1) NOT NULL, FIJO '' VACIO NO NULO
    DTO: 0, // Comprobante.detalleDescuentosItemFactura.importeDescuento; [money] NOT NULL, IMPORTE DESCUENTO DE LA FACTURA
    PTA: 0, // [int] NOT NULL, FIJO 0
    SUBM: 0, // [int] NOT NULL, FIJO 0
    E_HD2: '', // [varchar](12) NOT NULL, FIJO '' VACIO NO NULO
    C_HD2: '', // [varchar](1) NOT NULL, FIJO '' VACIO NO NULO
    COMISION: 0, // [money] NOT NULL, FIJO 0
    LIQ_VTA: '', // [varchar](20) NOT NULL, FIJO '' VACIO NO NULO
    COSTO_PMOV: item.precioUnitarioSinImpuestos, // [money] NOT NULL, IGUAL AL PUN	
    SAL_ITEM: 0, // [money] NOT NULL, fijo 0  es el que se llenara al mostrar en la tablet o telefono para que llene operador
    TASIVA: item.alicuotaIVAAplicable, // [money] NOT NULL, TASA DE IVA DEL ITEM = 21.00 / 10.50 / ETC.
    gln: comprobante.identificaxSucursalReceptorFactura.glnSucursal, //gln sucursal
    codigoBarras: item.codigoUPCEAN13
  };
}