Compras mensaje IEPS, Personal descarga de documentos, efacturas correciones verificar solicitudes SAT
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
|
||||
|
||||
@@ -3533,6 +3533,8 @@
|
||||
</ReportParameter>
|
||||
<ReportParameter Name="RegimenFiscalCodigo">
|
||||
<DataType>String</DataType>
|
||||
<Nullable>true</Nullable>
|
||||
<AllowBlank>true</AllowBlank>
|
||||
<Prompt>ReportParameter1</Prompt>
|
||||
</ReportParameter>
|
||||
</ReportParameters>
|
||||
|
||||
@@ -738,7 +738,7 @@ CIUDAD DE MEXICO</Value>
|
||||
</Paragraphs>
|
||||
<rd:DefaultName>Textbox6</rd:DefaultName>
|
||||
<Top>0.93835cm</Top>
|
||||
<Left>4.49034cm</Left>
|
||||
<Left>4.52562cm</Left>
|
||||
<Height>1.56146cm</Height>
|
||||
<Width>10.79062cm</Width>
|
||||
<ZIndex>1</ZIndex>
|
||||
|
||||
@@ -807,9 +807,10 @@ Partial Class Inventarios_Kardex
|
||||
|
||||
Protected Sub ddlProducto2_selectedindexchange(sender As Object, e As EventArgs)
|
||||
LnkKPIVerComportamiento.Visible = False
|
||||
If ddlProducto2.SelectedValue.ToEntero > 0 Then
|
||||
If ddlProducto2.SelectedValue.ToEntero > 0 And UsuarioActual.CveRol = 1 Then
|
||||
LnkKPIVerComportamiento.Visible = True
|
||||
End If
|
||||
UpAcciones.Update()
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
@@ -1016,13 +1016,12 @@ Partial Class OC_OC
|
||||
LblPrioridad.Text = "Sucursal"
|
||||
DdlPrioridad.Visible = False
|
||||
DdlSubProyectoGral.Visible = True
|
||||
End If
|
||||
|
||||
If UsuarioActual.CveRol = 1 Then
|
||||
TrDescuentoEscalonado.Visible = True
|
||||
TrDescuentoProntoPago.Visible = True
|
||||
End If
|
||||
|
||||
|
||||
|
||||
If UsuarioActual.Empresa.CveEmpresa = 189 AndAlso CveOrdenCompra <> Nothing AndAlso CveOrdenCompra > 0 Then
|
||||
BtnEdicionMasiva.Visible = True
|
||||
End If
|
||||
|
||||
@@ -4079,8 +4079,12 @@
|
||||
<asp:UpdatePanel ID="UPGvDocumentosFirma" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
|
||||
|
||||
<asp:UpdatePanel ID="UpGvDocumentosFirma2" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
|
||||
<div class="col-md-12">
|
||||
|
||||
<asp:GridView ID="GvDocumentosFirma" runat="server" AutoGenerateColumns="False" DataKeyNames="CveDocumentacion,Documentacion,Orden,CveDocumentacionElectronica,Adjunto,Estatus,Observacion,Fecha,FechaIng,Usuario,FechaLimite,DocumentacionFormato,FechaVigencia,DiasLimite,AplicaDiasLimite,AplicaFechaVencimiento"
|
||||
EmptyDataText="No se encontraron registros de documentos" CssClass="table table-hover table-advance Widthall" GridLines="None">
|
||||
<Columns>
|
||||
@@ -4149,7 +4153,9 @@
|
||||
|
||||
<asp:TemplateField ItemStyle-HorizontalAlign="Right" ItemStyle-Width="50px">
|
||||
<ItemTemplate>
|
||||
<asp:Literal ID="ImgDownLoad" runat="server"></asp:Literal>
|
||||
<%--<asp:Literal ID="ImgDownLoad" runat="server" ></asp:Literal>--%>
|
||||
<asp:LinkButton ID="ImgDownLoad" CssClass="btn btn-circle btn-sm blue" OnClick="ImgDownLoad_Click" runat="server"
|
||||
Text="<i class='fa fa-download' style='color:white' title='Descargar formato'></i>" CausesValidation="False" />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
|
||||
@@ -4161,6 +4167,7 @@
|
||||
</asp:TemplateField>--%>
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
</div>
|
||||
<asp:UpdatePanel ID="UpImprimir" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<table runat="server" visible="false" class="table table-hover table-advance Widthall">
|
||||
|
||||
@@ -7,6 +7,7 @@ Imports System.Data
|
||||
Imports Microsoft.Reporting.WebForms
|
||||
Imports System.Globalization
|
||||
Imports System.Data.SqlTypes
|
||||
Imports DocumentFormat.OpenXml.Drawing.Diagrams
|
||||
|
||||
Partial Class RH_Personal
|
||||
Inherits ClsPaginas
|
||||
@@ -4357,6 +4358,7 @@ Partial Class RH_Personal
|
||||
objRH.Dispose()
|
||||
|
||||
End Sub
|
||||
|
||||
Protected Sub GvDocumentosFirma_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDocumentosFirma.RowDataBound
|
||||
|
||||
|
||||
@@ -4364,7 +4366,8 @@ Partial Class RH_Personal
|
||||
|
||||
Dim Adjunto As String = e.Row.DBCampo("Adjunto").ToString()
|
||||
Dim ImgDownLoadFormato As LinkButton = e.Row.FCLinkButton("ImgDownLoadFormato")
|
||||
Dim ImgDownLoad As Literal = e.Row.FCLiteral("ImgDownLoad")
|
||||
|
||||
Dim ImgDownLoad As LinkButton = e.Row.FCLinkButton("ImgDownLoad")
|
||||
Dim ImgRequired As Literal = e.Row.FCLiteral("ImgRequired")
|
||||
Dim txtFechaLimite As TextBox = e.Row.FCTextBox("TxtFechaLimite")
|
||||
Dim requerido As Boolean = If(e.Row.DBCampo("Requerido").ToUpper = "TRUE", True, False)
|
||||
@@ -4417,14 +4420,18 @@ Partial Class RH_Personal
|
||||
If File.Exists(linkDescargaArchivo) Then
|
||||
|
||||
ImgDownLoad.Visible = True
|
||||
If extencion.Length > 0 Then
|
||||
ImgDownLoad.Text = String.Format(" <a class='btn btn-circle btn-sm blue' href='{0}' target='_black' download='{1}'><i class='fa fa-download' title='Descargar documento'></i></a>", linkDescarga, CvePersonal & Documentacion & "." & extencion)
|
||||
Else
|
||||
ImgDownLoad.Text = String.Format(" <a class='btn btn-circle btn-sm blue' href='{0}' target='_black' download='{1}'><i class='fa fa-download' title='Descargar documento'></i></a>", linkDescarga, CvePersonal & Documentacion)
|
||||
End If
|
||||
ScriptManager.GetCurrent(Me).RegisterPostBackControl(ImgDownLoad)
|
||||
|
||||
'If extencion.Length > 0 Then
|
||||
' ImgDownLoad.Text = String.Format(" <a class='btn btn-circle btn-sm blue' href='{0}' target='_black' download='{1}'><i class='fa fa-download' title='Descargar documento'></i></a>", linkDescarga, CvePersonal & Documentacion & "." & extencion)
|
||||
'Else
|
||||
' ImgDownLoad.Text = String.Format(" <a class='btn btn-circle btn-sm blue' href='{0}' target='_black' download='{1}'><i class='fa fa-download' title='Descargar documento'></i></a>", linkDescarga, CvePersonal & Documentacion)
|
||||
'End If
|
||||
|
||||
Else
|
||||
ImgDownLoad.Visible = False
|
||||
End If
|
||||
|
||||
Else
|
||||
ImgDownLoad.Visible = False
|
||||
End If
|
||||
@@ -4438,6 +4445,35 @@ Partial Class RH_Personal
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
Protected Sub ImgDownLoad_Click(sender As Object, e As EventArgs)
|
||||
|
||||
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
|
||||
|
||||
Dim Adjunto As String = GvRow.DataKey("Adjunto").ToString()
|
||||
Dim ArchivoPath As String = UsuarioActual.Empresa.Ruta & "Personal/" & CvePersonal & "/" & Adjunto
|
||||
|
||||
DescargarArchivo(ArchivoPath)
|
||||
|
||||
End Sub
|
||||
|
||||
Protected Sub DescargarArchivo(rutaArchivo As String)
|
||||
|
||||
If System.IO.File.Exists(rutaArchivo) Then
|
||||
|
||||
Dim nombreArchivo As String = System.IO.Path.GetFileName(rutaArchivo)
|
||||
Response.Clear()
|
||||
Response.ContentType = "application/octet-stream"
|
||||
Response.AddHeader("Content-Disposition", "attachment; filename=" & nombreArchivo)
|
||||
Response.AddHeader("Content-Length", New System.IO.FileInfo(rutaArchivo).Length.ToString())
|
||||
Response.WriteFile(rutaArchivo)
|
||||
Response.End()
|
||||
|
||||
Else
|
||||
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Public Sub DownLoadFormato_ClickDocumentacion(sender As Object, e As EventArgs)
|
||||
|
||||
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
|
||||
@@ -8160,5 +8196,7 @@ Partial Class RH_Personal
|
||||
args.IsValid = retorno
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
End Class
|
||||
|
||||
|
||||
Reference in New Issue
Block a user