UNPKG

facturacionelectronicapy-recibo-xmlgen

Version:

API Node JS para generar el archivo XML del Recibo similar al exigido por la SET en base a JSON

128 lines 12.3 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const constante_service_1 = __importDefault(require("./constante.service")); const StringUtil_service_1 = __importDefault(require("./StringUtil.service")); class JSonDteIdentificacionDocumentoService { /** * H. Campos que identifican al documento asociado (H001-H049) * * @param params * @param data * @param options */ generateDatosDocumentoAsociado(params, data) { const jsonResult = { iTipDocAso: data['documentoAsociado']['formato'], dDesTipDocAso: constante_service_1.default.tiposDocumentosAsociados.filter((td) => td.codigo === data['documentoAsociado']['formato'])[0]['descripcion'], }; if (data['documentoAsociado']['formato'] == 1) { //H002 = Electronico if (data['documentoAsociado']['cdc'] && data['documentoAsociado']['cdc'].length >= 44) { jsonResult['dCdCDERef'] = data['documentoAsociado']['cdc']; /*} else { throw new Error('Debe indicar el CDC asociado en data.documentoAsociado.cdc');*/ } } if (data['documentoAsociado']['formato'] == 2) { //H002 = Impreso if (data['documentoAsociado']['timbrado']) { jsonResult['dNTimDI'] = data['documentoAsociado']['timbrado']; /*} else { throw new Error( 'Debe especificar el Timbrado del Documento impreso Asociado en data.documentoAsociado.timbrado', );*/ } if (data['documentoAsociado']['establecimiento']) { jsonResult['dEstDocAso'] = StringUtil_service_1.default.leftZero(data['documentoAsociado']['establecimiento'] + '', 3); /*} else { throw new Error( 'Debe especificar el Establecimiento del Documento impreso Asociado en data.documentoAsociado.establecimiento', );*/ } if (data['documentoAsociado']['punto']) { jsonResult['dPExpDocAso'] = StringUtil_service_1.default.leftZero(data['documentoAsociado']['punto'] + '', 3); /*} else { throw new Error('Debe especificar el Punto del Documento impreso Asociado en data.documentoAsociado.punto');*/ } if (data['documentoAsociado']['numero']) { jsonResult['dNumDocAso'] = StringUtil_service_1.default.leftZero(data['documentoAsociado']['numero'] + '', 7); /*} else { throw new Error('Debe especificar el Número del Documento impreso Asociado en data.documentoAsociado.numero');*/ } if (data['documentoAsociado']['tipoDocumentoImpreso']) { jsonResult['iTipoDocAso'] = data['documentoAsociado']['tipoDocumentoImpreso']; jsonResult['dDTipoDocAso'] = constante_service_1.default.tiposDocumentosImpresos.filter((td) => td.codigo === data['documentoAsociado']['tipoDocumentoImpreso'])[0]['descripcion']; /*} else { throw new Error( 'Debe especificar el Tipo del Documento Impreso Asociado en data.documentoAsociado.tipoDocumentoImpreso', );*/ } if (data['documentoAsociado']['fecha']) { /*if ((data['documentoAsociado']['fecha'] + '').length != 10) { throw new Error( 'La Fecha del Documento impreso Asociado en data.documentoAsociado.fecha debe tener una longitud de 10 caracteres', ); }*/ jsonResult['dFecEmiDI'] = data['documentoAsociado']['fecha']; /*} else { throw new Error('Debe especificar la Fecha del Documento impreso Asociado en data.documentoAsociado.fecha');*/ } } if (data['documentoAsociado'] && data['documentoAsociado']['numeroRetencion'] && data['documentoAsociado']['numeroRetencion'].length >= 15) { jsonResult['dNumComRet'] = data['documentoAsociado']['numeroRetencion'].substring(0, 15); } if (data['documentoAsociado'] && data['documentoAsociado']['resolucionCreditoFiscal'] && data['documentoAsociado']['resolucionCreditoFiscal'].length >= 15) { jsonResult['dNumResCF'] = data['documentoAsociado']['resolucionCreditoFiscal'].substring(0, 15); } if (data['documentoAsociado']['formato'] == 3) { //H002 = Constancia electronica if (data['documentoAsociado']['constanciaTipo']) { /*if ( constanteService.tiposConstancias.filter((um) => um.codigo === data['documentoAsociado']['constanciaTipo']) .length == 0 ) { throw new Error( "Tipo de Constancia '" + data['documentoAsociado']['constanciaTipo'] + "' en data.documentoAsociado.constanciaTipo no encontrado. Valores: " + constanteService.tiposConstancias.map((a) => a.codigo + '-' + a.descripcion), ); }*/ jsonResult['iTipCons'] = data['documentoAsociado']['constanciaTipo']; jsonResult['dDesTipCons'] = constante_service_1.default.tiposConstancias.filter((tc) => tc.codigo === data['documentoAsociado']['constanciaTipo'])[0]['descripcion']; jsonResult['dNumCons'] = +data['documentoAsociado']['constanciaNumero']; jsonResult['dNumControl'] = data['documentoAsociado']['constanciaControl']; } } return jsonResult; } /** * G1. Campos generales de la carga (G050 - G099) * * @param params * @param data * @param options */ generateDatosCarga(params, data) { const jsonResult = { cUniMedTotVol: data['complementarios']['carga']['unidadMedida'], dDesUniMedTotVol: data['complementarios']['carga']['ordenVenta'], dTotVolMerc: data['complementarios']['carga']['numeroAsiento'], cUniMedTotPes: data['complementarios']['carga']['numeroAsiento'], dDesUniMedTotPes: data['complementarios']['carga']['numeroAsiento'], dTotPesMerc: data['complementarios']['carga']['numeroAsiento'], iCarCarga: data['complementarios']['carga']['numeroAsiento'], dDesCarCarga: data['complementarios']['carga']['numeroAsiento'], }; return jsonResult; } } exports.default = new JSonDteIdentificacionDocumentoService(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaWJvWG1sSWRlbnRpZmljYWNpb25Eb2N1bWVudG8uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9yZWNpYm9YbWxJZGVudGlmaWNhY2lvbkRvY3VtZW50by5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNEVBQW1EO0FBQ25ELDhFQUFxRDtBQUVyRCxNQUFNLHFDQUFxQztJQUN6Qzs7Ozs7O09BTUc7SUFDSSw4QkFBOEIsQ0FBQyxNQUFXLEVBQUUsSUFBUztRQUMxRCxNQUFNLFVBQVUsR0FBUTtZQUN0QixVQUFVLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ2hELGFBQWEsRUFBRSwyQkFBZ0IsQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLENBQzdELENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUMzRCxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztTQUNwQixDQUFDO1FBRUYsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDN0Msb0JBQW9CO1lBQ3BCLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxJQUFJLEVBQUUsRUFBRTtnQkFDckYsVUFBVSxDQUFDLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMzRDtnR0FDZ0Y7YUFDakY7U0FDRjtRQUNELElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzdDLGdCQUFnQjtZQUNo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