-
This commit is contained in:
@@ -1428,7 +1428,7 @@ Partial Class Compras_Compras
|
||||
End If
|
||||
Next
|
||||
|
||||
If HayDifIEPS Then Alert("El porcentaje de IEPS del producto no coincide con el especificado.", TipoMensaje.MsgAdvertencia)
|
||||
'If HayDifIEPS Then Alert("El porcentaje de IEPS del producto no coincide con el especificado.", TipoMensaje.MsgAdvertencia)
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(562).ToEntero > 0 Then CargaGastosServicios(UsuarioActual.Empresa.Funcionalidad(562).ToEntero)
|
||||
|
||||
@@ -1986,13 +1986,14 @@ Partial Class Compras_Compras
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
If EmisorRegimenFiscal = "626" AndAlso Not RetISRResico AndAlso EmisorRFC.Length = 13 Then 'solo para personas físicas
|
||||
|
||||
If EmisorRegimenFiscal = "626" AndAlso Not RetISRResico AndAlso EmisorRFC.Length = 13 AndAlso UsuarioActual.CveEmpresa.Contiene(119, 158) Then 'solo para personas físicas
|
||||
SbValRet.Append(" La factura no tiene especificado una retención de ISR, ya que el proveedor es Resico. <br/>")
|
||||
BtnGuardar.Enabled = False
|
||||
End If
|
||||
|
||||
If SbValRet.ToString.Trim.Length > 0 Then
|
||||
Alert(SbValRet.ToString, TipoMensaje.MsgAdvertencia)
|
||||
Alert("El porcentaje de IEPS del producto no coincide con el especificado.<br/><br/>" & SbValRet.ToString, TipoMensaje.MsgAdvertencia)
|
||||
End If
|
||||
|
||||
Else
|
||||
@@ -8055,10 +8056,10 @@ Partial Class Compras_Compras
|
||||
|
||||
If (TmpDT.Rows(IndiceUltimo)("IVA").ToString.ToDecimal + DiferenciaIVas) < 0 Then
|
||||
|
||||
Dim AjusteteDividido As Decimal = Math.Abs(DiferenciaIVas) / CantidadRegistroConIVA
|
||||
Dim AjusteteDividido As Decimal = DiferenciaIVas / CantidadRegistroConIVA
|
||||
|
||||
For Each dRow As DataRow In TmpDT.Rows
|
||||
dRow("IVA") = dRow("IVA").ToString.ToDecimal - AjusteteDividido
|
||||
dRow("IVA") = dRow("IVA").ToString.ToDecimal + AjusteteDividido
|
||||
Next
|
||||
|
||||
Else
|
||||
|
||||
@@ -1584,58 +1584,73 @@ Partial Class Compras_eFacturas
|
||||
|
||||
Dim FiInfo As New FileInfo(comprmido)
|
||||
|
||||
Using stream As Stream = System.IO.File.OpenRead(FiInfo.FullName)
|
||||
Try
|
||||
Dim reader = ReaderFactory.Open(stream)
|
||||
Try
|
||||
Using stream As Stream = System.IO.File.OpenRead(FiInfo.FullName)
|
||||
Try
|
||||
Dim reader = ReaderFactory.Open(stream)
|
||||
|
||||
Dim Multiparte As Boolean = False
|
||||
If Path.GetExtension(FiInfo.FullName.ToUpper()) = ".RAR" And FiInfo.FullName.ToUpper().Contains(".PART") Then
|
||||
'SI ES .RAR, PUEDE SER MULTI PART Y PUEDE TRONAR
|
||||
Using archive As RarArchive = RarArchive.Open(FiInfo.FullName)
|
||||
If archive.IsMultipartVolume() Then
|
||||
Multiparte = True
|
||||
End If
|
||||
End Using
|
||||
End If
|
||||
|
||||
Dim PdfList As New List(Of String)
|
||||
If Not Multiparte Then
|
||||
'puede tronar si el archivo es multiparte
|
||||
While reader.MoveToNextEntry()
|
||||
If Not reader.Entry.IsDirectory Then
|
||||
'Si es un archivo XML, lo leo y lo guardo
|
||||
|
||||
Dim nombreArchivo As String = ""
|
||||
|
||||
If reader.Entry.FilePath.Contains("/") Then
|
||||
nombreArchivo = reader.Entry.FilePath.Substring(reader.Entry.FilePath.LastIndexOf("/") + 1)
|
||||
Else
|
||||
nombreArchivo = reader.Entry.FilePath
|
||||
Dim Multiparte As Boolean = False
|
||||
If Path.GetExtension(FiInfo.FullName.ToUpper()) = ".RAR" And FiInfo.FullName.ToUpper().Contains(".PART") Then
|
||||
'SI ES .RAR, PUEDE SER MULTI PART Y PUEDE TRONAR
|
||||
Using archive As RarArchive = RarArchive.Open(FiInfo.FullName)
|
||||
If archive.IsMultipartVolume() Then
|
||||
Multiparte = True
|
||||
End If
|
||||
End Using
|
||||
End If
|
||||
|
||||
If Path.GetExtension(reader.Entry.FilePath.ToUpper()) = ".XML" Then
|
||||
reader.WriteEntryToDirectory(String.Format("{0}Temp\Facturas", UsuarioActual.Empresa.Ruta), ExtractOptions.None Or ExtractOptions.Overwrite)
|
||||
ListXML.Add(String.Format("{0}Temp\Facturas\{1}", UsuarioActual.Empresa.Ruta, nombreArchivo))
|
||||
Dim PdfList As New List(Of String)
|
||||
If Not Multiparte Then
|
||||
'puede tronar si el archivo es multiparte
|
||||
While reader.MoveToNextEntry()
|
||||
If Not reader.Entry.IsDirectory Then
|
||||
'Si es un archivo XML, lo leo y lo guardo
|
||||
|
||||
Dim nombreArchivo As String = ""
|
||||
|
||||
If reader.Entry.FilePath.Contains("/") Then
|
||||
nombreArchivo = reader.Entry.FilePath.Substring(reader.Entry.FilePath.LastIndexOf("/") + 1)
|
||||
Else
|
||||
nombreArchivo = reader.Entry.FilePath
|
||||
End If
|
||||
|
||||
If Path.GetExtension(reader.Entry.FilePath.ToUpper()) = ".XML" Then
|
||||
reader.WriteEntryToDirectory(String.Format("{0}Temp\Facturas", UsuarioActual.Empresa.Ruta), ExtractOptions.None Or ExtractOptions.Overwrite)
|
||||
ListXML.Add(String.Format("{0}Temp\Facturas\{1}", UsuarioActual.Empresa.Ruta, nombreArchivo))
|
||||
End If
|
||||
If Path.GetExtension(reader.Entry.FilePath.ToUpper()) = ".PDF" Then
|
||||
'este sale de un error al leer el pdf, como lo estoy recorriendo de una vez lo guardo y lo vinculo, si la coincidencia es por nombre o número de folio
|
||||
'string RFCEmisor = BuscaFactura(System.IO.Path.GetFileNameWithoutExtension(reader.Entry.FilePath).ToUpper(), Arreglo, True);
|
||||
'if (!string.IsNullOrEmpty(RFCEmisor))
|
||||
' {
|
||||
'If Not Directory.Exists(String.Format("{0}{1}", Temporal, RFCEmisor)) Then Directory.CreateDirectory(String.Format("{0}{1}", Temporal, RFCEmisor))
|
||||
|
||||
'reader.WriteEntryToDirectory(String.Format("{0}{1}", Temporal, ""), ExtractOptions.None Or ExtractOptions.Overwrite)
|
||||
reader.WriteEntryToDirectory(String.Format("{0}{1}", String.Format("{0}Temp\Facturas", UsuarioActual.Empresa.Ruta), ""), ExtractOptions.None Or ExtractOptions.Overwrite)
|
||||
ListPDF.Add(String.Format("{0}Temp\Facturas\{1}", UsuarioActual.Empresa.Ruta, nombreArchivo))
|
||||
|
||||
End If
|
||||
End If
|
||||
If Path.GetExtension(reader.Entry.FilePath.ToUpper()) = ".PDF" Then
|
||||
'este sale de un error al leer el pdf, como lo estoy recorriendo de una vez lo guardo y lo vinculo, si la coincidencia es por nombre o número de folio
|
||||
'string RFCEmisor = BuscaFactura(System.IO.Path.GetFileNameWithoutExtension(reader.Entry.FilePath).ToUpper(), Arreglo, True);
|
||||
'if (!string.IsNullOrEmpty(RFCEmisor))
|
||||
' {
|
||||
'If Not Directory.Exists(String.Format("{0}{1}", Temporal, RFCEmisor)) Then Directory.CreateDirectory(String.Format("{0}{1}", Temporal, RFCEmisor))
|
||||
End While
|
||||
End If
|
||||
Catch ex As Exception
|
||||
GuardaLogAD("'ERROR :" & ex.Message, eFacturasLog)
|
||||
End Try
|
||||
End Using
|
||||
Catch ex As Exception
|
||||
If UsuarioActual.CveRol = 1 Then
|
||||
Alert($"Error al procesar archivo: {FiInfo.FullName} Error:{ex.Message} stackTrace: {ex.StackTrace}", TipoMensaje.MsgAdvertencia)
|
||||
GuardaLogAD($"Error al procesar archivo: {FiInfo.FullName} Error:{ex.Message} stackTrace: {ex.StackTrace}")
|
||||
Else
|
||||
Alert("Se presento un error al procesar las solcictudes. comuniquese con soporte tecnico.", TipoMensaje.MsgAdvertencia)
|
||||
GuardaLogAD($"Error al procesar archivo: {FiInfo.FullName} Error:{ex.Message} stackTrace: {ex.StackTrace}")
|
||||
End If
|
||||
|
||||
Exit Sub
|
||||
End Try
|
||||
|
||||
|
||||
'reader.WriteEntryToDirectory(String.Format("{0}{1}", Temporal, ""), ExtractOptions.None Or ExtractOptions.Overwrite)
|
||||
reader.WriteEntryToDirectory(String.Format("{0}{1}", String.Format("{0}Temp\Facturas", UsuarioActual.Empresa.Ruta), ""), ExtractOptions.None Or ExtractOptions.Overwrite)
|
||||
ListPDF.Add(String.Format("{0}Temp\Facturas\{1}", UsuarioActual.Empresa.Ruta, nombreArchivo))
|
||||
|
||||
End If
|
||||
End If
|
||||
End While
|
||||
End If
|
||||
Catch ex As Exception
|
||||
GuardaLogAD("'ERROR :" & ex.Message, eFacturasLog)
|
||||
End Try
|
||||
End Using
|
||||
Next
|
||||
|
||||
|
||||
@@ -1726,6 +1741,7 @@ Partial Class Compras_eFacturas
|
||||
For Each s As String In ListComprimidos
|
||||
Try
|
||||
File.Delete(s)
|
||||
GuardaLogAD("")
|
||||
Catch ex As Exception
|
||||
End Try
|
||||
Next
|
||||
@@ -2853,11 +2869,14 @@ Partial Class Compras_eFacturas
|
||||
|
||||
Dim TipoMensaje As ModExtensiones.TipoMensaje = ModExtensiones.TipoMensaje.MsgInformacion
|
||||
|
||||
Dim ListComprimidos As New List(Of String)
|
||||
Dim ListXML As New List(Of String)
|
||||
Dim ListPDF As New List(Of String)
|
||||
|
||||
|
||||
For Each GvRow As GridViewRow In GVSolicitudesPendientes.Rows
|
||||
|
||||
Dim ListComprimidos As New List(Of String)
|
||||
Dim ListXML As New List(Of String)
|
||||
Dim ListPDF As New List(Of String)
|
||||
|
||||
Dim CveSolicitudActual As Integer = GvRow.DataKey("CveSolicitud").ToEntero()
|
||||
Dim idSolicitud As String = GvRow.DataKey("idSolicitud").Trim()
|
||||
Dim CveTipoSolicitud As Integer = GvRow.DataKey("CveTipoSolicitud").ToEntero()
|
||||
@@ -2872,6 +2891,7 @@ Partial Class Compras_eFacturas
|
||||
Dim ResultadoSolicitudOK As Boolean = False
|
||||
Dim api As New GeneralesAPIeFacturas(If(EsProduccion, "http://localhost:4001/", "http://localhost:60281/"))
|
||||
|
||||
|
||||
Dim Verificar As Boolean = True
|
||||
|
||||
If idSolicitud.Length = 0 Then
|
||||
@@ -2938,6 +2958,7 @@ Partial Class Compras_eFacturas
|
||||
|
||||
If File.Exists(destFile) Then
|
||||
ListComprimidos.Add(destFile)
|
||||
'GuardaLogAD($"eFacturas Solicitudes SAT Archivo copiado a {destFile}")
|
||||
Else
|
||||
sbArchivosFaltantes.AppendFormat("<br/> Folio: {0} Archivo: {1}", Folio, fileName)
|
||||
End If
|
||||
|
||||
Reference in New Issue
Block a user