UNPKG

dte

Version:

Clases que representan los DTE descritos por el SII

1,034 lines 243 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const firma_electronica_1 = require("./firma_electronica"); var FacturaElectronica; (function (FacturaElectronica) { /**Envio de Documentos Tributarios Electronicos. */ class EnvioDTE { constructor() { this.version = "1.0"; this.ParseFromXMLElement = (Node) => { let nd; if (Node.hasAttribute('version')) this.version = Node.getAttribute('version'); nd = Node.getElementsByTagName('SetDTE'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.SetDTE = new SetDTE(); this.SetDTE.ParseFromXMLElement(nd[i]); break; } nd = Node.getElementsByTagName('Signature'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.Signature = new firma_electronica_1.FirmaElectronica.Signature(); this.Signature.ParseFromXMLElement(nd[i]); break; } }; } } FacturaElectronica.EnvioDTE = EnvioDTE; /**Conjunto de DTE enviados. */ class SetDTE { constructor() { this.ParseFromXMLElement = (Node) => { let nd; if (Node.hasAttribute('ID')) this.ID = Node.getAttribute('ID'); nd = Node.getElementsByTagName('Caratula'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.Caratula = new Caratula(); this.Caratula.ParseFromXMLElement(nd[i]); break; } nd = Node.getElementsByTagName('DTE'); if (nd.length > 0) { this.DTE = []; for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.DTE.push(new DTE()); this.DTE[i].ParseFromXMLElement(nd[i]); } } }; } } FacturaElectronica.SetDTE = SetDTE; /**Resumen de Informacion Enviada. */ class Caratula { constructor() { this.version = "1.0"; this.ParseFromXMLElement = (Node) => { let nd; if (Node.hasAttribute('version')) this.version = Node.getAttribute('version'); nd = Node.getElementsByTagName('RutEmisor'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.RutEmisor = nd[i].textContent; break; } nd = Node.getElementsByTagName('RutEnvia'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.RutEnvia = nd[i].textContent; break; } nd = Node.getElementsByTagName('RutReceptor'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.RutReceptor = nd[i].textContent; break; } nd = Node.getElementsByTagName('FchResol'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.FchResol = new Date(nd[i].textContent); break; } nd = Node.getElementsByTagName('NroResol'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.NroResol = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('TmstFirmaEnv'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.TmstFirmaEnv = new Date(nd[i].textContent); break; } nd = Node.getElementsByTagName('SubTotDTE'); if (nd.length > 0) { this.SubTotDTE = []; for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.SubTotDTE.push(new SubTotDTE()); this.SubTotDTE[i].ParseFromXMLElement(nd[i]); } } }; } } FacturaElectronica.Caratula = Caratula; /**Subtotales de DTE enviados. */ class SubTotDTE { constructor() { this.ParseFromXMLElement = (Node) => { let nd; nd = Node.getElementsByTagName('NroDTE'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.NroDTE = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('TpoDTE'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.TpoDTE = parseInt(nd[i].textContent); break; } }; } } FacturaElectronica.SubTotDTE = SubTotDTE; /**Todos los tipos de Documentos Tributarios Electronicos. */ let DOCType; (function (DOCType) { DOCType[DOCType["FacturaElectronica"] = 33] = "FacturaElectronica"; DOCType[DOCType["FacturaElectronicadeVentadeBienesyServiciosNoafectosoExentodeIVA"] = 34] = "FacturaElectronicadeVentadeBienesyServiciosNoafectosoExentodeIVA"; DOCType[DOCType["N_43"] = 43] = "N_43"; DOCType[DOCType["FacturadeCompraElectronica"] = 46] = "FacturadeCompraElectronica"; DOCType[DOCType["GuiadeDespachoElectronica"] = 52] = "GuiadeDespachoElectronica"; DOCType[DOCType["NotadeDebitoElectronica"] = 56] = "NotadeDebitoElectronica"; DOCType[DOCType["NotadeCreditoElectronica"] = 61] = "NotadeCreditoElectronica"; DOCType[DOCType["N_110"] = 110] = "N_110"; DOCType[DOCType["N_111"] = 111] = "N_111"; DOCType[DOCType["N_112"] = 112] = "N_112"; })(DOCType = FacturaElectronica.DOCType || (FacturaElectronica.DOCType = {})); /**Documento Tributario Electronico. */ class DTE { constructor() { this.version = "1.0"; this.ParseFromXMLElement = (Node) => { let nd; if (Node.hasAttribute('version')) this.version = Node.getAttribute('version'); nd = Node.getElementsByTagName('Documento'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.Documento = new Documento(); this.Documento.ParseFromXMLElement(nd[i]); break; } nd = Node.getElementsByTagName('Liquidacion'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.Liquidacion = new Liquidacion(); this.Liquidacion.ParseFromXMLElement(nd[i]); break; } nd = Node.getElementsByTagName('Exportaciones'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.Exportaciones = new Exportaciones(); this.Exportaciones.ParseFromXMLElement(nd[i]); break; } nd = Node.getElementsByTagName('Signature'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.Signature = new firma_electronica_1.FirmaElectronica.Signature(); this.Signature.ParseFromXMLElement(nd[i]); break; } }; } } FacturaElectronica.DTE = DTE; /**Informacion Tributaria del DTE. */ class Documento { constructor() { this.ParseFromXMLElement = (Node) => { let nd; if (Node.hasAttribute('ID')) this.ID = Node.getAttribute('ID'); nd = Node.getElementsByTagName('Encabezado'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.Encabezado = new DocumentoEncabezado(); this.Encabezado.ParseFromXMLElement(nd[i]); break; } nd = Node.getElementsByTagName('Detalle'); if (nd.length > 0) { this.Detalle = []; for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.Detalle.push(new DocumentoDetalle()); this.Detalle[i].ParseFromXMLElement(nd[i]); } } nd = Node.getElementsByTagName('SubTotInfo'); if (nd.length > 0) { this.SubTotInfo = []; for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.SubTotInfo.push(new DocumentoSubTotInfo()); this.SubTotInfo[i].ParseFromXMLElement(nd[i]); } } nd = Node.getElementsByTagName('DscRcgGlobal'); if (nd.length > 0) { this.DscRcgGlobal = []; for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.DscRcgGlobal.push(new DocumentoDscRcgGlobal()); this.DscRcgGlobal[i].ParseFromXMLElement(nd[i]); } } nd = Node.getElementsByTagName('Referencia'); if (nd.length > 0) { this.Referencia = []; for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.Referencia.push(new DocumentoReferencia()); this.Referencia[i].ParseFromXMLElement(nd[i]); } } nd = Node.getElementsByTagName('Comisiones'); if (nd.length > 0) { this.Comisiones = []; for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.Comisiones.push(new DocumentoComisiones()); this.Comisiones[i].ParseFromXMLElement(nd[i]); } } nd = Node.getElementsByTagName('TED'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.TED = new DocumentoTED(); this.TED.ParseFromXMLElement(nd[i]); break; } nd = Node.getElementsByTagName('TmstFirma'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.TmstFirma = new Date(nd[i].textContent); break; } }; } } FacturaElectronica.Documento = Documento; /**Identificacion y Totales del Documento. */ class DocumentoEncabezado { constructor() { this.ParseFromXMLElement = (Node) => { let nd; nd = Node.getElementsByTagName('IdDoc'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.IdDoc = new DocumentoIdDoc(); this.IdDoc.ParseFromXMLElement(nd[i]); break; } nd = Node.getElementsByTagName('Emisor'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.Emisor = new DocumentoEmisor(); this.Emisor.ParseFromXMLElement(nd[i]); break; } nd = Node.getElementsByTagName('RUTMandante'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.RUTMandante = nd[i].textContent; break; } nd = Node.getElementsByTagName('Receptor'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.Receptor = new DocumentoReceptor(); this.Receptor.ParseFromXMLElement(nd[i]); break; } nd = Node.getElementsByTagName('RUTSolicita'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.RUTSolicita = nd[i].textContent; break; } nd = Node.getElementsByTagName('Transporte'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.Transporte = new DocumentoTransporte(); this.Transporte.ParseFromXMLElement(nd[i]); break; } nd = Node.getElementsByTagName('Totales'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.Totales = new DocumentoTotales(); this.Totales.ParseFromXMLElement(nd[i]); break; } nd = Node.getElementsByTagName('OtraMoneda'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.OtraMoneda = new DocumentoOtraMoneda(); this.OtraMoneda.ParseFromXMLElement(nd[i]); break; } }; } } FacturaElectronica.DocumentoEncabezado = DocumentoEncabezado; /**Identificacion del DTE. */ class DocumentoIdDoc { constructor() { this.ParseFromXMLElement = (Node) => { let nd; nd = Node.getElementsByTagName('IndNoRebaja'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.IndNoRebaja = parseInt(nd[i].textContent); break; } nd = Node.getElementsByTagName('TipoDespacho'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.TipoDespacho = parseInt(nd[i].textContent); break; } nd = Node.getElementsByTagName('IndTraslado'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.IndTraslado = parseInt(nd[i].textContent); break; } nd = Node.getElementsByTagName('TpoImpresion'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.TpoImpresion = nd[i].textContent; break; } nd = Node.getElementsByTagName('IndServicio'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.IndServicio = parseInt(nd[i].textContent); break; } nd = Node.getElementsByTagName('MntBruto'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.MntBruto = parseInt(nd[i].textContent); break; } nd = Node.getElementsByTagName('FmaPago'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.FmaPago = parseInt(nd[i].textContent); break; } nd = Node.getElementsByTagName('FmaPagExp'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.FmaPagExp = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('TpoCtaPago'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.TpoCtaPago = nd[i].textContent; break; } nd = Node.getElementsByTagName('NumCtaPago'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.NumCtaPago = nd[i].textContent; break; } nd = Node.getElementsByTagName('BcoPago'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.BcoPago = nd[i].textContent; break; } nd = Node.getElementsByTagName('TermPagoCdg'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.TermPagoCdg = nd[i].textContent; break; } nd = Node.getElementsByTagName('TermPagoGlosa'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.TermPagoGlosa = nd[i].textContent; break; } nd = Node.getElementsByTagName('TermPagoDias'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.TermPagoDias = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('TipoDTE'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.TipoDTE = parseInt(nd[i].textContent); break; } nd = Node.getElementsByTagName('Folio'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.Folio = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('FchEmis'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.FchEmis = new Date(nd[i].textContent); break; } nd = Node.getElementsByTagName('FchCancel'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.FchCancel = new Date(nd[i].textContent); break; } nd = Node.getElementsByTagName('MntCancel'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.MntCancel = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('SaldoInsol'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.SaldoInsol = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('MntPagos'); if (nd.length > 0) { this.MntPagos = []; for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.MntPagos.push(new DocumentoMntPagos()); this.MntPagos[i].ParseFromXMLElement(nd[i]); } } nd = Node.getElementsByTagName('PeriodoDesde'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.PeriodoDesde = new Date(nd[i].textContent); break; } nd = Node.getElementsByTagName('PeriodoHasta'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.PeriodoHasta = new Date(nd[i].textContent); break; } nd = Node.getElementsByTagName('MedioPago'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.MedioPago = nd[i].textContent; break; } nd = Node.getElementsByTagName('FchVenc'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.FchVenc = new Date(nd[i].textContent); break; } }; } } FacturaElectronica.DocumentoIdDoc = DocumentoIdDoc; /***/ let DocumentoIndNoRebaja; (function (DocumentoIndNoRebaja) { DocumentoIndNoRebaja[DocumentoIndNoRebaja["NotadeCreditosinDerechoaDescontarDebito"] = 1] = "NotadeCreditosinDerechoaDescontarDebito"; })(DocumentoIndNoRebaja = FacturaElectronica.DocumentoIndNoRebaja || (FacturaElectronica.DocumentoIndNoRebaja = {})); /***/ let DocumentoTipoDespacho; (function (DocumentoTipoDespacho) { DocumentoTipoDespacho[DocumentoTipoDespacho["DespachoporCuentadelComprador"] = 1] = "DespachoporCuentadelComprador"; DocumentoTipoDespacho[DocumentoTipoDespacho["DespachoporCuentadelEmisoraInstalacionesdelComprador"] = 2] = "DespachoporCuentadelEmisoraInstalacionesdelComprador"; DocumentoTipoDespacho[DocumentoTipoDespacho["DespachoporCuentadelEmisoraOtrasInstalaciones"] = 3] = "DespachoporCuentadelEmisoraOtrasInstalaciones"; })(DocumentoTipoDespacho = FacturaElectronica.DocumentoTipoDespacho || (FacturaElectronica.DocumentoTipoDespacho = {})); /***/ let DocumentoIndTraslado; (function (DocumentoIndTraslado) { DocumentoIndTraslado[DocumentoIndTraslado["OperacionConstituyeVenta"] = 1] = "OperacionConstituyeVenta"; DocumentoIndTraslado[DocumentoIndTraslado["VentaporEfectuar"] = 2] = "VentaporEfectuar"; DocumentoIndTraslado[DocumentoIndTraslado["Consignacion"] = 3] = "Consignacion"; DocumentoIndTraslado[DocumentoIndTraslado["PromocionoDonacionRUTEmisorRUTReceptor"] = 4] = "PromocionoDonacionRUTEmisorRUTReceptor"; DocumentoIndTraslado[DocumentoIndTraslado["TrasladoInterno"] = 5] = "TrasladoInterno"; DocumentoIndTraslado[DocumentoIndTraslado["OtrosTrasladosquenoConstituyenVenta"] = 6] = "OtrosTrasladosquenoConstituyenVenta"; DocumentoIndTraslado[DocumentoIndTraslado["GuiadeDevolucion"] = 7] = "GuiadeDevolucion"; DocumentoIndTraslado[DocumentoIndTraslado["N_8"] = 8] = "N_8"; DocumentoIndTraslado[DocumentoIndTraslado["N_9"] = 9] = "N_9"; })(DocumentoIndTraslado = FacturaElectronica.DocumentoIndTraslado || (FacturaElectronica.DocumentoIndTraslado = {})); /***/ let DocumentoIndServicio; (function (DocumentoIndServicio) { DocumentoIndServicio[DocumentoIndServicio["FacturaciondeServiciosPeriodicosDomiciliarios"] = 1] = "FacturaciondeServiciosPeriodicosDomiciliarios"; DocumentoIndServicio[DocumentoIndServicio["FacturaciondeOtrosServiciosPeriodicos"] = 2] = "FacturaciondeOtrosServiciosPeriodicos"; DocumentoIndServicio[DocumentoIndServicio["FacturadeServicio"] = 3] = "FacturadeServicio"; })(DocumentoIndServicio = FacturaElectronica.DocumentoIndServicio || (FacturaElectronica.DocumentoIndServicio = {})); /***/ let DocumentoMntBruto; (function (DocumentoMntBruto) { DocumentoMntBruto[DocumentoMntBruto["MontodeLineasdeDetalleCorrespondeaValoresBrutosIVAImpuestosAdicionales"] = 1] = "MontodeLineasdeDetalleCorrespondeaValoresBrutosIVAImpuestosAdicionales"; })(DocumentoMntBruto = FacturaElectronica.DocumentoMntBruto || (FacturaElectronica.DocumentoMntBruto = {})); /***/ let DocumentoFmaPago; (function (DocumentoFmaPago) { DocumentoFmaPago[DocumentoFmaPago["PagoContado"] = 1] = "PagoContado"; DocumentoFmaPago[DocumentoFmaPago["PagoCredito"] = 2] = "PagoCredito"; DocumentoFmaPago[DocumentoFmaPago["SinCosto"] = 3] = "SinCosto"; })(DocumentoFmaPago = FacturaElectronica.DocumentoFmaPago || (FacturaElectronica.DocumentoFmaPago = {})); /**Tipos de Documentos Tributarios Electronicos. */ let DTEType; (function (DTEType) { DTEType[DTEType["FacturaElectronica"] = 33] = "FacturaElectronica"; DTEType[DTEType["FacturaElectronicadeVentadeBienesyServiciosNoafectosoExentodeIVA"] = 34] = "FacturaElectronicadeVentadeBienesyServiciosNoafectosoExentodeIVA"; DTEType[DTEType["FacturadeCompraElectronica"] = 46] = "FacturadeCompraElectronica"; DTEType[DTEType["GuiadeDespachoElectronica"] = 52] = "GuiadeDespachoElectronica"; DTEType[DTEType["NotadeDebitoElectronica"] = 56] = "NotadeDebitoElectronica"; DTEType[DTEType["NotadeCreditoElectronica"] = 61] = "NotadeCreditoElectronica"; })(DTEType = FacturaElectronica.DTEType || (FacturaElectronica.DTEType = {})); /**Tabla de Montos de Pago. */ class DocumentoMntPagos { constructor() { this.ParseFromXMLElement = (Node) => { let nd; nd = Node.getElementsByTagName('GlosaPagos'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.GlosaPagos = nd[i].textContent; break; } nd = Node.getElementsByTagName('FchPago'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.FchPago = new Date(nd[i].textContent); break; } nd = Node.getElementsByTagName('MntPago'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.MntPago = parseFloat(nd[i].textContent); break; } }; } } FacturaElectronica.DocumentoMntPagos = DocumentoMntPagos; /**Datos del Emisor. */ class DocumentoEmisor { constructor() { this.ParseFromXMLElement = (Node) => { let nd; nd = Node.getElementsByTagName('RznSoc'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.RznSoc = nd[i].textContent; break; } nd = Node.getElementsByTagName('GiroEmis'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.GiroEmis = nd[i].textContent; break; } nd = Node.getElementsByTagName('Telefono'); if (nd.length > 0) { this.Telefono = []; for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) this.Telefono.push(nd[i].textContent); } nd = Node.getElementsByTagName('Acteco'); if (nd.length > 0) { this.Acteco = []; for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) this.Acteco.push(parseFloat(nd[i].textContent)); } nd = Node.getElementsByTagName('Sucursal'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.Sucursal = nd[i].textContent; break; } nd = Node.getElementsByTagName('CdgSIISucur'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.CdgSIISucur = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('DirOrigen'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.DirOrigen = nd[i].textContent; break; } nd = Node.getElementsByTagName('CdgVendedor'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.CdgVendedor = nd[i].textContent; break; } nd = Node.getElementsByTagName('IdAdicEmisor'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.IdAdicEmisor = nd[i].textContent; break; } nd = Node.getElementsByTagName('RUTEmisor'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.RUTEmisor = nd[i].textContent; break; } nd = Node.getElementsByTagName('CorreoEmisor'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.CorreoEmisor = nd[i].textContent; break; } nd = Node.getElementsByTagName('GuiaExport'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.GuiaExport = new DocumentoGuiaExport(); this.GuiaExport.ParseFromXMLElement(nd[i]); break; } nd = Node.getElementsByTagName('CmnaOrigen'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.CmnaOrigen = nd[i].textContent; break; } nd = Node.getElementsByTagName('CiudadOrigen'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.CiudadOrigen = nd[i].textContent; break; } }; } } FacturaElectronica.DocumentoEmisor = DocumentoEmisor; /**Emisor de una Guía de despacho para Exportación . */ class DocumentoGuiaExport { constructor() { this.ParseFromXMLElement = (Node) => { let nd; nd = Node.getElementsByTagName('CdgTraslado'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.CdgTraslado = parseInt(nd[i].textContent); break; } nd = Node.getElementsByTagName('FolioAut'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.FolioAut = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('FchAut'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.FchAut = new Date(nd[i].textContent); break; } }; } } FacturaElectronica.DocumentoGuiaExport = DocumentoGuiaExport; /***/ let DocumentoCdgTraslado; (function (DocumentoCdgTraslado) { DocumentoCdgTraslado[DocumentoCdgTraslado["N_1"] = 1] = "N_1"; DocumentoCdgTraslado[DocumentoCdgTraslado["N_2"] = 2] = "N_2"; DocumentoCdgTraslado[DocumentoCdgTraslado["N_3"] = 3] = "N_3"; DocumentoCdgTraslado[DocumentoCdgTraslado["N_4"] = 4] = "N_4"; })(DocumentoCdgTraslado = FacturaElectronica.DocumentoCdgTraslado || (FacturaElectronica.DocumentoCdgTraslado = {})); /**Datos del Receptor. */ class DocumentoReceptor { constructor() { this.ParseFromXMLElement = (Node) => { let nd; nd = Node.getElementsByTagName('CdgIntRecep'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.CdgIntRecep = nd[i].textContent; break; } nd = Node.getElementsByTagName('GiroRecep'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.GiroRecep = nd[i].textContent; break; } nd = Node.getElementsByTagName('Contacto'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.Contacto = nd[i].textContent; break; } nd = Node.getElementsByTagName('DirRecep'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.DirRecep = nd[i].textContent; break; } nd = Node.getElementsByTagName('DirPostal'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.DirPostal = nd[i].textContent; break; } nd = Node.getElementsByTagName('RUTRecep'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.RUTRecep = nd[i].textContent; break; } nd = Node.getElementsByTagName('RznSocRecep'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.RznSocRecep = nd[i].textContent; break; } nd = Node.getElementsByTagName('Extranjero'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.Extranjero = new DocumentoExtranjero(); this.Extranjero.ParseFromXMLElement(nd[i]); break; } nd = Node.getElementsByTagName('CorreoRecep'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.CorreoRecep = nd[i].textContent; break; } nd = Node.getElementsByTagName('CmnaRecep'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.CmnaRecep = nd[i].textContent; break; } nd = Node.getElementsByTagName('CiudadRecep'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.CiudadRecep = nd[i].textContent; break; } nd = Node.getElementsByTagName('CmnaPostal'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.CmnaPostal = nd[i].textContent; break; } nd = Node.getElementsByTagName('CiudadPostal'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.CiudadPostal = nd[i].textContent; break; } }; } } FacturaElectronica.DocumentoReceptor = DocumentoReceptor; /**Receptor Extranjero. */ class DocumentoExtranjero { constructor() { this.ParseFromXMLElement = (Node) => { let nd; nd = Node.getElementsByTagName('NumId'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.NumId = nd[i].textContent; break; } nd = Node.getElementsByTagName('Nacionalidad'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.Nacionalidad = nd[i].textContent; break; } }; } } FacturaElectronica.DocumentoExtranjero = DocumentoExtranjero; /**Informacion de Transporte de Mercaderias. */ class DocumentoTransporte { constructor() { this.ParseFromXMLElement = (Node) => { let nd; nd = Node.getElementsByTagName('Patente'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.Patente = nd[i].textContent; break; } nd = Node.getElementsByTagName('DirDest'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.DirDest = nd[i].textContent; break; } nd = Node.getElementsByTagName('RUTTrans'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.RUTTrans = nd[i].textContent; break; } nd = Node.getElementsByTagName('Chofer'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.Chofer = new DocumentoChofer(); this.Chofer.ParseFromXMLElement(nd[i]); break; } nd = Node.getElementsByTagName('CmnaDest'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.CmnaDest = nd[i].textContent; break; } nd = Node.getElementsByTagName('CiudadDest'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.CiudadDest = nd[i].textContent; break; } nd = Node.getElementsByTagName('Aduana'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.Aduana = new DocumentoAduana(); this.Aduana.ParseFromXMLElement(nd[i]); break; } }; } } FacturaElectronica.DocumentoTransporte = DocumentoTransporte; /***/ class DocumentoChofer { constructor() { this.ParseFromXMLElement = (Node) => { let nd; nd = Node.getElementsByTagName('NombreChofer'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.NombreChofer = nd[i].textContent; break; } nd = Node.getElementsByTagName('RUTChofer'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.RUTChofer = nd[i].textContent; break; } }; } } FacturaElectronica.DocumentoChofer = DocumentoChofer; /**documentos de Exportación y guías de despacho . */ class DocumentoAduana { constructor() { this.ParseFromXMLElement = (Node) => { let nd; nd = Node.getElementsByTagName('CodModVenta'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.CodModVenta = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('CodClauVenta'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.CodClauVenta = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('CodViaTransp'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.CodViaTransp = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('NombreTransp'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.NombreTransp = nd[i].textContent; break; } nd = Node.getElementsByTagName('NomCiaTransp'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.NomCiaTransp = nd[i].textContent; break; } nd = Node.getElementsByTagName('IdAdicTransp'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.IdAdicTransp = nd[i].textContent; break; } nd = Node.getElementsByTagName('Booking'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.Booking = nd[i].textContent; break; } nd = Node.getElementsByTagName('Operador'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.Operador = nd[i].textContent; break; } nd = Node.getElementsByTagName('CodPtoEmbarque'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.CodPtoEmbarque = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('IdAdicPtoEmb'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.IdAdicPtoEmb = nd[i].textContent; break; } nd = Node.getElementsByTagName('CodPtoDesemb'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.CodPtoDesemb = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('IdAdicPtoDesemb'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.IdAdicPtoDesemb = nd[i].textContent; break; } nd = Node.getElementsByTagName('Tara'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.Tara = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('CodUnidMedTara'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.CodUnidMedTara = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('PesoBruto'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.PesoBruto = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('CodUnidPesoBruto'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.CodUnidPesoBruto = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('PesoNeto'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.PesoNeto = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('CodUnidPesoNeto'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.CodUnidPesoNeto = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('TotItems'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.TotItems = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('TotBultos'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.TotBultos = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('CodPaisRecep'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.CodPaisRecep = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('CodPaisDestin'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.CodPaisDestin = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('TotClauVenta'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.TotClauVenta = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('RUTCiaTransp'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.RUTCiaTransp = nd[i].textContent; break;