UNPKG

dte

Version:

Clases que representan los DTE descritos por el SII

1,089 lines 53.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const firma_electronica_1 = require("./firma_electronica"); var BoletaElectronica; (function (BoletaElectronica) { /**Envio de Boletas Electronicas. */ class EnvioBOLETA { 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; } }; } } BoletaElectronica.EnvioBOLETA = EnvioBOLETA; /**Conjunto de Boletas enviadas. */ 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]); } } }; } } BoletaElectronica.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('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('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('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]); } } }; } } BoletaElectronica.Caratula = Caratula; /**Subtotales de Boletas Enviadas. */ 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; } }; } } BoletaElectronica.SubTotDTE = SubTotDTE; /**Tipos de Documentos Tributarios Electronicos. */ let DTEType; (function (DTEType) { DTEType[DTEType["BoletaElectronica"] = 39] = "BoletaElectronica"; DTEType[DTEType["BoletaExentaElectronica"] = 41] = "BoletaExentaElectronica"; DTEType[DTEType["BoletaFisica"] = 35] = "BoletaFisica"; })(DTEType = BoletaElectronica.DTEType || (BoletaElectronica.DTEType = {})); /**Boletas Electronicas Enviadas. */ 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('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; } }; } } BoletaElectronica.DTE = DTE; /**Informacion Tributaria de la Boleta. */ class Documento { constructor() { this.ParseFromXMLElement = (Node) => { let nd; if (Node.hasAttribute('ID')) this.ID = Node.getAttribute('ID'); 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; } 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('TED'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.TED = new DocumentoTED(); this.TED.ParseFromXMLElement(nd[i]); break; } }; } } BoletaElectronica.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('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('Totales'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.Totales = new DocumentoTotales(); this.Totales.ParseFromXMLElement(nd[i]); break; } }; } } BoletaElectronica.DocumentoEncabezado = DocumentoEncabezado; /**Identificacion del DTE. */ class DocumentoIdDoc { constructor() { this.ParseFromXMLElement = (Node) => { let nd; 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('IndServicio'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.IndServicio = parseInt(nd[i].textContent); break; } nd = Node.getElementsByTagName('IndMntNeto'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.IndMntNeto = parseInt(nd[i].textContent); break; } 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('FchVenc'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.FchVenc = new Date(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; } }; } } BoletaElectronica.DocumentoIdDoc = DocumentoIdDoc; /***/ let DocumentoIndServicio; (function (DocumentoIndServicio) { DocumentoIndServicio[DocumentoIndServicio["BoletadeServiciosPeriodicos"] = 1] = "BoletadeServiciosPeriodicos"; DocumentoIndServicio[DocumentoIndServicio["BoletadeServiciosPeriodicosDomiciliarios"] = 2] = "BoletadeServiciosPeriodicosDomiciliarios"; DocumentoIndServicio[DocumentoIndServicio["BoletadeVentasyServicio"] = 3] = "BoletadeVentasyServicio"; DocumentoIndServicio[DocumentoIndServicio["BoletadeEspect\u00E1culoemitidaporcuentadeTerceros"] = 4] = "BoletadeEspect\u00E1culoemitidaporcuentadeTerceros"; })(DocumentoIndServicio = BoletaElectronica.DocumentoIndServicio || (BoletaElectronica.DocumentoIndServicio = {})); /***/ let DocumentoIndMntNeto; (function (DocumentoIndMntNeto) { DocumentoIndMntNeto[DocumentoIndMntNeto["MontodeLineasdeDetalleCorrespondeaValoresNetos"] = 2] = "MontodeLineasdeDetalleCorrespondeaValoresNetos"; })(DocumentoIndMntNeto = BoletaElectronica.DocumentoIndMntNeto || (BoletaElectronica.DocumentoIndMntNeto = {})); /**Datos del Emisor. */ class DocumentoEmisor { constructor() { this.ParseFromXMLElement = (Node) => { let nd; nd = Node.getElementsByTagName('RznSocEmisor'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.RznSocEmisor = nd[i].textContent; break; } nd = Node.getElementsByTagName('GiroEmisor'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.GiroEmisor = 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('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; } nd = Node.getElementsByTagName('RUTEmisor'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.RUTEmisor = nd[i].textContent; break; } }; } } BoletaElectronica.DocumentoEmisor = DocumentoEmisor; /**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('RznSocRecep'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.RznSocRecep = 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('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('DirPostal'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.DirPostal = 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; } nd = Node.getElementsByTagName('RUTRecep'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.RUTRecep = nd[i].textContent; break; } }; } } BoletaElectronica.DocumentoReceptor = DocumentoReceptor; /**Montos Totales del DTE. */ class DocumentoTotales { constructor() { this.ParseFromXMLElement = (Node) => { let nd; nd = Node.getElementsByTagName('MntNeto'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.MntNeto = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('MntExe'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.MntExe = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('IVA'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.IVA = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('MntTotal'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.MntTotal = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('MontoNF'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.MontoNF = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('TotalPeriodo'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.TotalPeriodo = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('SaldoAnterior'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.SaldoAnterior = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('VlrPagar'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.VlrPagar = parseFloat(nd[i].textContent); break; } }; } } BoletaElectronica.DocumentoTotales = DocumentoTotales; /**Detalle de Itemes del Documento. */ class DocumentoDetalle { constructor() { this.ParseFromXMLElement = (Node) => { let nd; nd = Node.getElementsByTagName('NroLinDet'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.NroLinDet = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('IndExe'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.IndExe = parseInt(nd[i].textContent); break; } nd = Node.getElementsByTagName('ItemEspectaculo'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.ItemEspectaculo = parseInt(nd[i].textContent); break; } nd = Node.getElementsByTagName('NmbItem'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.NmbItem = nd[i].textContent; break; } nd = Node.getElementsByTagName('DscItem'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.DscItem = nd[i].textContent; break; } nd = Node.getElementsByTagName('UnmdItem'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.UnmdItem = nd[i].textContent; break; } nd = Node.getElementsByTagName('DescuentoPct'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.DescuentoPct = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('DescuentoMonto'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.DescuentoMonto = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('RecargoPct'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.RecargoPct = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('RecargoMonto'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.RecargoMonto = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('CdgItem'); if (nd.length > 0) { this.CdgItem = []; for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.CdgItem.push(new DocumentoCdgItem()); this.CdgItem[i].ParseFromXMLElement(nd[i]); } } 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('InfoTicket'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.InfoTicket = new DocumentoInfoTicket(); this.InfoTicket.ParseFromXMLElement(nd[i]); break; } nd = Node.getElementsByTagName('QtyItem'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.QtyItem = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('PrcItem'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.PrcItem = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('MontoItem'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.MontoItem = parseFloat(nd[i].textContent); break; } }; } } BoletaElectronica.DocumentoDetalle = DocumentoDetalle; /***/ let DocumentoIndExe; (function (DocumentoIndExe) { DocumentoIndExe[DocumentoIndExe["ProductooServicioesExentooNoAfecto"] = 1] = "ProductooServicioesExentooNoAfecto"; DocumentoIndExe[DocumentoIndExe["ElProductooServicioNOESFacturable"] = 2] = "ElProductooServicioNOESFacturable"; DocumentoIndExe[DocumentoIndExe["N_6"] = 6] = "N_6"; })(DocumentoIndExe = BoletaElectronica.DocumentoIndExe || (BoletaElectronica.DocumentoIndExe = {})); /***/ let DocumentoItemEspectaculo; (function (DocumentoItemEspectaculo) { DocumentoItemEspectaculo[DocumentoItemEspectaculo["ProductooServicioesExentooNoAfecto"] = 1] = "ProductooServicioesExentooNoAfecto"; DocumentoItemEspectaculo[DocumentoItemEspectaculo["ElProductooServicioNOESFacturable"] = 2] = "ElProductooServicioNOESFacturable"; })(DocumentoItemEspectaculo = BoletaElectronica.DocumentoItemEspectaculo || (BoletaElectronica.DocumentoItemEspectaculo = {})); /**Codificacion del Item. */ class DocumentoCdgItem { constructor() { this.ParseFromXMLElement = (Node) => { let nd; nd = Node.getElementsByTagName('TpoCodigo'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.TpoCodigo = nd[i].textContent; break; } nd = Node.getElementsByTagName('VlrCodigo'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.VlrCodigo = nd[i].textContent; break; } }; } } BoletaElectronica.DocumentoCdgItem = DocumentoCdgItem; /**Informacion de la entrada. */ class DocumentoInfoTicket { constructor() { this.ParseFromXMLElement = (Node) => { let nd; nd = Node.getElementsByTagName('FolioTicket'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.FolioTicket = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('FchGenera'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.FchGenera = new Date(nd[i].textContent); break; } nd = Node.getElementsByTagName('NmbEvento'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.NmbEvento = nd[i].textContent; break; } nd = Node.getElementsByTagName('TpoTiket'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.TpoTiket = nd[i].textContent; break; } nd = Node.getElementsByTagName('CdgEvento'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.CdgEvento = nd[i].textContent; break; } nd = Node.getElementsByTagName('FchEvento'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.FchEvento = new Date(nd[i].textContent); break; } nd = Node.getElementsByTagName('LugarEvento'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.LugarEvento = nd[i].textContent; break; } nd = Node.getElementsByTagName('UbicEvento'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.UbicEvento = nd[i].textContent; break; } nd = Node.getElementsByTagName('FilaUbicEvento'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.FilaUbicEvento = nd[i].textContent; break; } nd = Node.getElementsByTagName('AsntoUbicEvento'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.AsntoUbicEvento = nd[i].textContent; break; } }; } } BoletaElectronica.DocumentoInfoTicket = DocumentoInfoTicket; /**Subtotales Informativos. */ class DocumentoSubTotInfo { constructor() { this.ParseFromXMLElement = (Node) => { let nd; nd = Node.getElementsByTagName('NroSTI'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.NroSTI = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('GlosaSTI'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.GlosaSTI = nd[i].textContent; break; } nd = Node.getElementsByTagName('OrdenSTI'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.OrdenSTI = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('LineasDeta'); if (nd.length > 0) { this.LineasDeta = []; for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) this.LineasDeta.push(parseFloat(nd[i].textContent)); } nd = Node.getElementsByTagName('SubTotNetoSTI'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.SubTotNetoSTI = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('SubTotIVASTI'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.SubTotIVASTI = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('SubTotAdicSTI'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.SubTotAdicSTI = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('SubTotExeSTI'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.SubTotExeSTI = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('ValSubtotSTI'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.ValSubtotSTI = parseFloat(nd[i].textContent); break; } }; } } BoletaElectronica.DocumentoSubTotInfo = DocumentoSubTotInfo; /**Descuentos y/o Recargos que afectan al total del Documento. */ class DocumentoDscRcgGlobal { constructor() { this.ParseFromXMLElement = (Node) => { let nd; nd = Node.getElementsByTagName('NroLinDR'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.NroLinDR = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('TpoMov'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.TpoMov = nd[i].textContent; break; } nd = Node.getElementsByTagName('GlosaDR'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.GlosaDR = nd[i].textContent; break; } nd = Node.getElementsByTagName('TpoValor'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.TpoValor = nd[i].textContent; break; } nd = Node.getElementsByTagName('IndExeDR'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.IndExeDR = parseInt(nd[i].textContent); break; } nd = Node.getElementsByTagName('ValorDR'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.ValorDR = parseFloat(nd[i].textContent); break; } }; } } BoletaElectronica.DocumentoDscRcgGlobal = DocumentoDscRcgGlobal; /***/ let DocumentoIndExeDR; (function (DocumentoIndExeDR) { DocumentoIndExeDR[DocumentoIndExeDR["AfectaaProductosExentosoNoAfectos"] = 1] = "AfectaaProductosExentosoNoAfectos"; DocumentoIndExeDR[DocumentoIndExeDR["AfectaaProductosNoFacturables"] = 2] = "AfectaaProductosNoFacturables"; })(DocumentoIndExeDR = BoletaElectronica.DocumentoIndExeDR || (BoletaElectronica.DocumentoIndExeDR = {})); /**Identificacion de otros documentos Referenciados por Documento. */ class DocumentoReferencia { constructor() { this.ParseFromXMLElement = (Node) => { let nd; nd = Node.getElementsByTagName('NroLinRef'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.NroLinRef = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('CodRef'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.CodRef = nd[i].textContent; break; } nd = Node.getElementsByTagName('RazonRef'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.RazonRef = nd[i].textContent; break; } nd = Node.getElementsByTagName('CodVndor'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.CodVndor = nd[i].textContent; break; } nd = Node.getElementsByTagName('CodCaja'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.CodCaja = nd[i].textContent; break; } }; } } BoletaElectronica.DocumentoReferencia = DocumentoReferencia; /**Timbre Electronico de la Boleta. */ class DocumentoTED { constructor() { this.version = "1.0"; this.ParseFromXMLElement = (Node) => { let nd; if (Node.hasAttribute('version')) this.version = Node.getAttribute('version'); nd = Node.getElementsByTagName('DD'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.DD = new DocumentoDD(); this.DD.ParseFromXMLElement(nd[i]); break; } nd = Node.getElementsByTagName('FRMT'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.FRMT = new DocumentoFRMT(); this.FRMT.ParseFromXMLElement(nd[i]); break; } }; } } BoletaElectronica.DocumentoTED = DocumentoTED; /**Datos Basicos de Documento. */ class DocumentoDD { constructor() { this.ParseFromXMLElement = (Node) => { let nd; nd = Node.getElementsByTagName('FE'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.FE = new Date(nd[i].textContent); break; } nd = Node.getElementsByTagName('RSR'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.RSR = nd[i].textContent; break; } nd = Node.getElementsByTagName('MNT'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.MNT = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('IT1'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.IT1 = nd[i].textContent; break; } nd = Node.getElementsByTagName('TSTED'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.TSTED = new Date(nd[i].textContent); break; } nd = Node.getElementsByTagName('RE'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.RE = nd[i].textContent; break; } nd = Node.getElementsByTagName('TD'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.TD = parseInt(nd[i].textContent); break; } nd = Node.getElementsByTagName('F'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.F = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('RR'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.RR = nd[i].textContent; break; } nd = Node.getElementsByTagName('CAF'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.CAF = new DocumentoCAF(); this.CAF.ParseFromXMLElement(nd[i]); break; } }; } } BoletaElectronica.DocumentoDD = DocumentoDD; /**Codigo Autorizacion Folios. */ class DocumentoCAF { constructor() { this.version = "1.0"; this.ParseFromXMLElement = (Node) => { let nd; if (Node.hasAttribute('version')) this.version = Node.getAttribute('version'); nd = Node.getElementsByTagName('DA'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.DA = new DocumentoDA(); this.DA.ParseFromXMLElement(nd[i]); break; } nd = Node.getElementsByTagName('FRMA'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.FRMA = new DocumentoFRMA(); this.FRMA.ParseFromXMLElement(nd[i]); break; } }; } } BoletaElectronica.DocumentoCAF = DocumentoCAF; /**Datos de Autorizacion de Folios. */ class DocumentoDA { constructor() { this.ParseFromXMLElement = (Node) => { let nd; nd = Node.getElementsByTagName('RS'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.RS = nd[i].textContent; break; } nd = Node.getElementsByTagName('FA'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.FA = new Date(nd[i].textContent); break; } nd = Node.getElementsByTagName('IDK'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.IDK = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('RE'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.RE = nd[i].textContent; break; } nd = Node.getElementsByTagName('TD'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.TD = parseInt(nd[i].textContent); break; } nd = Node.getElementsByTagName('RNG'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.RNG = new DocumentoRNG(); this.RNG.ParseFromXMLElement(nd[i]); break; } nd = Node.getElementsByTagName('RSAPK'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.RSAPK = new DocumentoRSAPK(); this.RSAPK.ParseFromXMLElement(nd[i]); break; } nd = Node.getElementsByTagName('DSAPK'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.DSAPK = new DocumentoDSAPK(); this.DSAPK.ParseFromXMLElement(nd[i]); break; } }; } } BoletaElectronica.DocumentoDA = DocumentoDA; /**Rango Autorizado de Folios. */ class DocumentoRNG { constructor() { this.ParseFromXMLElement = (Node) => { let nd; nd = Node.getElementsByTagName('D'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.D = parseFloat(nd[i].textContent); break; } nd = Node.getElementsByTagName('H'); for (let i = 0; i < nd.length; ++i) if (nd[i].parentNode == Node) { this.H = parseFloat(nd[i].textContent); break; } }; } } BoletaElectronica.DocumentoRNG = Documen