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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbkR0ZUlkZW50aWZpY2FjaW9uRG9jdW1lbnRvLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvanNvbkR0ZUlkZW50aWZpY2FjaW9uRG9jdW1lbnRvLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw0RUFBbUQ7QUFDbkQsOEVBQXFEO0FBRXJELE1BQU0scUNBQXFDO0lBQ3pDOzs7Ozs7T0FNRztJQUNJLDhCQUE4QixDQUFDLE1BQVcsRUFBRSxJQUFTO1FBQzFELE1BQU0sVUFBVSxHQUFRO1lBQ3RCLFVBQVUsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDaEQsYUFBYSxFQUFFLDJCQUFnQixDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FDN0QsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQzNELENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO1NBQ3BCLENBQUM7UUFFRixJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM3QyxvQkFBb0I7WUFDcEIsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLElBQUksRUFBRSxFQUFFO2dCQUNyRixVQUFVLENBQUMsV0FBVyxDQUFDLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzNEO2dHQUNnRjthQUNqRjtTQUNGO1FBQ0QsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDN0MsZ0JBQWdCO1lBQ2hCLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ3pDLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDOUQ7OztvQkFHSTthQUNMO1lBQ0QsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFO2dCQUNoRCxVQUFVLENBQUMsWUFBWSxDQUFDLEdBQUcsNEJBQWlCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUM1Rzs7O29CQUdJO2FBQ0w7WUFDRCxJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUN0QyxVQUFVLENBQUMsYUFBYSxDQUFDLEdBQUcsNEJBQWlCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDbkc7OEhBQzhHO2FBQy9HO1lBQ0QsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDdkMsVUFBVSxDQUFDLFlBQVksQ0FBQyxHQUFHLDRCQUFpQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ25HO2dJQUNnSDthQUNqSDtZQUNELElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsc0JBQXNCLENBQUMsRUFBRTtnQkFDckQsVUFBVSxDQUFDLGFBQWEsQ0FBQyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLENBQUM7Z0JBQzlFLFVBQVUsQ0FBQyxjQUFjLENBQUMsR0FBRywyQkFBZ0IsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQzFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLENBQ3hFLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBQ3BCOzs7b0JBR0k7YUFDTDtZQUNELElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ3RDOzs7O21CQUlHO2dCQUNILFVBQVUsQ0FBQyxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDN0Q7OEhBQzhHO2FBQy9HO1NBQ0Y7UUFDRCxJQUNFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztZQUN6QixJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztZQUM1QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLE1BQU0sSUFBSSxFQUFFLEVBQ3pEO1lBQ0EsVUFBVSxDQUFDLFlBQVksQ0FBQyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUMxRjtRQUNELElBQ0UsSUFBSSxDQUFDLG1CQUFtQixDQUFDO1lBQ3pCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLHlCQUF5QixDQUFDO1lBQ3BELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLENBQUMsTUFBTSxJQUFJLEVBQUUsRUFDakU7WUFDQSxVQUFVLENBQUMsV0FBVyxDQUFDLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMseUJBQXlCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ2pHO1FBRUQsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDN0MsK0JBQStCO1lBQy9CLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtnQkFDL0M7Ozs7Ozs7Ozs7bUJBVUc7Z0JBRUgsVUFBVSxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQ3JFLFVBQVUsQ0FBQyxhQUFhLENBQUMsR0FBRywyQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQ2xFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQ2xFLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBQ3BCLFVBQVUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUM7Z0JBQ3hFLFVBQVUsQ0FBQyxhQUFhLENBQUMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO2FBQzVFO1NBQ0Y7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksa0JBQWtCLENBQUMsTUFBVyxFQUFFLElBQVM7UUFDOUMsTUFBTSxVQUFVLEdBQVE7WUFDdEIsYUFBYSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGNBQWMsQ0FBQztZQUMvRCxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxZQUFZLENBQUM7WUFDaEUsV0FBVyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGVBQWUsQ0FBQztZQUM5RCxhQUFhLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsZUFBZSxDQUFDO1lBQ2hFLGdCQUFnQixFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGVBQWUsQ0FBQztZQUNuRSxXQUFXLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsZUFBZSxDQUFDO1lBQzlELFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxlQUFlLENBQUM7WUFDNUQsWUFBWSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGVBQWUsQ0FBQztTQUNoRSxDQUFDO1FBRUYsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztDQUNGO0FBRUQsa0JBQWUsSUFBSSxxQ0FBcUMsRUFBRSxDQUFDIn0=