diff --git a/Compras/Proveedores.aspx.vb b/Compras/Proveedores.aspx.vb index 84d5c9695..8a0b376d3 100644 --- a/Compras/Proveedores.aspx.vb +++ b/Compras/Proveedores.aspx.vb @@ -725,34 +725,38 @@ Partial Class Compras_Proveedores If ObjeFacturas.GetFacturas(CveFactura, "-1", NowADS().AddYears(-2), NowADS(), "-1", "-1", -1, -1, -1, -1, "-1", UsuarioActual.CveEmpresa) Then Dim XMLDoc As New XmlDocument Dim SXML As String - Dim dr As DataRow = ObjeFacturas.DtResultados.Rows(0) - Dim Archivo As String = String.Format("{0}Compras\{1}\{2}", UsuarioActual.Empresa.Ruta, dr("RFCDe"), dr("XML")) - Try - SXML = File.ReadAllText(Archivo).Replace("<br>", "").Replace("<", "").Replace("o;?", "").Replace(ChrW(&HFEFF), "") - 'SXML = SXML.TrimStart(vbCr, vbLf, vbNullChar) - 'SXML = SXML.TrimEnd(vbCr, vbLf, vbNullChar) - SXML = SXML.Trim(New Char() {""c}) - SXML = SXML.Replace("o;?", "") - - XMLDoc.LoadXml(SXML) - Catch ex As Exception + Dim dr As DataRow = ObjeFacturas.DtResultados.FiltroPrimero("") + If dr IsNot Nothing Then + Dim Archivo As String = String.Format("{0}Compras\{1}\{2}", UsuarioActual.Empresa.Ruta, dr("RFCDe"), dr("XML")) Try - Dim oReader As New StreamReader(Archivo, Encoding.GetEncoding("ISO-8859-1")) - XMLDoc.Load(oReader) - oReader.Dispose() - Catch ex2 As Exception - GuardaLog("Error al intentar leer el XML del SAT. Error:" & ex2.ToString()) - End Try - End Try + SXML = File.ReadAllText(Archivo).Replace("<br>", "").Replace("<", "").Replace("o;?", "").Replace(ChrW(&HFEFF), "") + 'SXML = SXML.TrimStart(vbCr, vbLf, vbNullChar) + 'SXML = SXML.TrimEnd(vbCr, vbLf, vbNullChar) + SXML = SXML.Trim(New Char() {""c}) + SXML = SXML.Replace("o;?", "") - If XMLDoc.InnerXml = "" Then - Alert("No se pudo procesar el archivo xml.", TipoMensaje.MsgError) + XMLDoc.LoadXml(SXML) + Catch ex As Exception + Try + Dim oReader As New StreamReader(Archivo, Encoding.GetEncoding("ISO-8859-1")) + XMLDoc.Load(oReader) + oReader.Dispose() + Catch ex2 As Exception + GuardaLog("Error al intentar leer el XML del SAT. Error:" & ex2.ToString()) + End Try + End Try + If XMLDoc.InnerXml = "" Then + Alert("No se pudo procesar el archivo xml.", TipoMensaje.MsgError) + Return 0 + End If + Else + Alert("No se encontró el documento para cargarlo.", TipoMensaje.MsgError) Return 0 End If Dim Prefijo As String = If(XMLDoc.DocumentElement.Prefix = "", "cfd", XMLDoc.DocumentElement.Prefix) - Dim cfdVer As String = "http://www.sat.gob.mx/cfd/3" - Dim namespaces As New XmlNamespaceManager(XMLDoc.NameTable) + Dim cfdVer As String = "http://www.sat.gob.mx/cfd/3" + Dim namespaces As New XmlNamespaceManager(XMLDoc.NameTable) Dim nodo As XmlNode = XMLDoc.DocumentElement Dim Version As String = ValorXml(nodo, "Version")