UNPKG

facturacionelectronicapy-ts-xmlgen

Version:

Genera el contenido del archivo XML del Documento electrónico exigido por la SET

171 lines (170 loc) 5.91 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); class TransporteXMLSG { /**E10. Campos que describen el transporte de las mercaderías (E900-E999)*/ get_gTransp(data) { const transporte = data.transporte; if (!transporte) return; return { // E901 iTipTrans: transporte.tipo, // E902 dDesTipTrans: transporte.tipoDescripcion, // E903 iModTrans: transporte.modalidad, // E904 dDesModTrans: transporte.modalidadDescripcion, // E905 iRespFlete: transporte.tipoResponsable, // E906 cCondNeg: transporte.condicionNegociacion, // E907 dNuManif: transporte.numeroManifiesto, // E908 dNuDespImp: transporte.numeroDespachoImportacion, // E909 dIniTras: transporte.inicioEstimadoTranslado, // E910 dFinTras: transporte.finEstimadoTranslado, // E911 cPaisDest: transporte.paisDestino, // E912 dDesPaisDest: transporte.paisDestinoNombre, // E10.1. Campos que identifican el local de salida de las mercaderías (E920-E939) gCamSal: this.get_gCamSal(data), // E10.2. Campos que identifican el local de entrega de las mercaderías (E940-E959) gCamEnt: this.get_gCamEnt(data), // E10.3. Campos que identifican el vehículo de traslado de mercaderías (E960-E979) gVehTras: this.get_gVehTras(data), // E10.4. Campos que identifican al transportista (persona física o jurídica) (E980-E999) gCamTrans: this.get_gCamTrans(data), }; } /**E10.1. Campos que identifican el local de salida de las mercaderías (E920-E939)*/ get_gCamSal(data) { const salida = data.transporte?.salida; if (!salida) return; return { // E921 dDirLocSal: salida.direccion, // E922 dNumCasSal: salida.numeroCasa, // E923 dComp1Sal: salida.complementoDireccion1, // E924 dComp2Sal: salida.complementoDireccion2, // E925 cDepSal: salida.departamento, // E926 dDesDepSal: salida.departamentoDescripcion, // E927 cDisSal: salida.distrito, // E928 dDesDisSal: salida.distritoDescripcion, // E929 cCiuSal: salida.ciudad, // E930 dDesCiuSal: salida.ciudadDescripcion, // E931 dTelSal: salida.telefonoContacto, }; } /**E10.2. Campos que identifican el local de entrega de las mercaderías (E940-E959)*/ get_gCamEnt(data) { const entrega = data.transporte?.entrega; if (!entrega) return; return { // E941 dDirLocEnt: entrega.direccion, // E942 dNumCasEnt: entrega.numeroCasa, // E943 dComp1Ent: entrega.complementoDireccion1, // E944 dComp2Ent: entrega.complementoDireccion2, // E945 cDepEnt: entrega.departamento, // E946 dDesDepEnt: entrega.departamentoDescripcion, // E947 cDisEnt: entrega.distrito, // E948 dDesDisEnt: entrega.distritoDescripcion, // E949 cCiuEnt: entrega.ciudad, // E950 dDesCiuEnt: entrega.ciudadDescripcion, // E951 dTelEnt: entrega.telefonoContacto, }; } /**E10.3. Campos que identifican el vehículo de traslado de mercaderías (E960-E979)*/ get_gVehTras(data) { const vehiculo = data.transporte?.vehiculo; if (!vehiculo) return; return { // E961 dTiVehTras: vehiculo.tipo, // E962 dMarVeh: vehiculo.marca, // E967 dTipIdenVeh: vehiculo.documentoTipo, // E963 dNroIDVeh: vehiculo.documentoNumero, // E964 dAdicVeh: vehiculo.obs, // E965 dNroMatVeh: vehiculo.numeroMatricula, // E966 dNroVuelo: vehiculo.numeroVuelo, }; } /**E10.4. Campos que identifican al transportista (persona física o jurídica) (E980-E999)*/ get_gCamTrans(data) { const transportista = data.transporte?.transportista; if (!transportista) return; const { chofer, agente } = transportista; return { // E981 iNatTrans: transportista.contribuyente, // E982 dNomTrans: transportista.nombre, // E983 dDirTrans: transportista.direccion, // E984 dRucTrans: transportista.rucID, // E985 dDVTrans: transportista.rucDV, // E986 iTipIDTrans: transportista.documentoTipo, // E987 dDTipIDTrans: transportista.documentoTipoDescripcion, // E988 dNumIDTrans: transportista.documentoNumero, // E989 cNacTrans: transportista.pais, // E990 dDesNacTrans: transportista.paisDescripcion, // E991 dNumIDChof: chofer.documentoNumero, // E992 dNomChof: chofer.nombre, // E993 dDirChof: chofer.direccion, // E994 dNombAg: agente?.nombre, // E995 dRucAg: agente?.rucID, // E996 dDVAg: agente?.rucDV, // E997 dDirAge: agente?.direccion, }; } } exports.default = new TransporteXMLSG();