From 88c592c9a17e360c39e765d9fb1ce9738509b24a Mon Sep 17 00:00:00 2001 From: rakcsle Date: Sat, 26 Oct 2024 11:18:08 -0700 Subject: [PATCH] Compras mensaje IEPS, Personal descarga de documentos, efacturas correciones verificar solicitudes SAT --- Compras/Compras.aspx.vb | 11 +-- Compras/eFacturas.aspx.vb | 119 +++++++++++++++----------- Empresas/141/Formatos/Cotizacion.rdlc | 2 + Empresas/186/Formatos/Salidas.rdlc | 2 +- Inventarios/Kardex.aspx.vb | 3 +- OC/OC.aspx.vb | 5 +- RH/Personal.aspx | 9 +- RH/Personal.aspx.vb | 50 +++++++++-- 8 files changed, 135 insertions(+), 66 deletions(-) diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 1cc208d54..9c813819a 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -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.
") 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.

" & 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 diff --git a/Compras/eFacturas.aspx.vb b/Compras/eFacturas.aspx.vb index f95f0a88a..606b30b43 100644 --- a/Compras/eFacturas.aspx.vb +++ b/Compras/eFacturas.aspx.vb @@ -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("
Folio: {0} Archivo: {1}", Folio, fileName) End If diff --git a/Empresas/141/Formatos/Cotizacion.rdlc b/Empresas/141/Formatos/Cotizacion.rdlc index cfa5d036f..a3d62ba51 100644 --- a/Empresas/141/Formatos/Cotizacion.rdlc +++ b/Empresas/141/Formatos/Cotizacion.rdlc @@ -3533,6 +3533,8 @@ String + true + true ReportParameter1 diff --git a/Empresas/186/Formatos/Salidas.rdlc b/Empresas/186/Formatos/Salidas.rdlc index 0beebcd74..4caa30b19 100644 --- a/Empresas/186/Formatos/Salidas.rdlc +++ b/Empresas/186/Formatos/Salidas.rdlc @@ -738,7 +738,7 @@ CIUDAD DE MEXICO Textbox6 0.93835cm - 4.49034cm + 4.52562cm 1.56146cm 10.79062cm 1 diff --git a/Inventarios/Kardex.aspx.vb b/Inventarios/Kardex.aspx.vb index 111ac769d..f1af82c39 100644 --- a/Inventarios/Kardex.aspx.vb +++ b/Inventarios/Kardex.aspx.vb @@ -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 diff --git a/OC/OC.aspx.vb b/OC/OC.aspx.vb index fc461f901..a07691dee 100644 --- a/OC/OC.aspx.vb +++ b/OC/OC.aspx.vb @@ -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 diff --git a/RH/Personal.aspx b/RH/Personal.aspx index 410822d28..0033345cd 100644 --- a/RH/Personal.aspx +++ b/RH/Personal.aspx @@ -4079,8 +4079,12 @@ + + +
+ @@ -4149,7 +4153,9 @@ - + <%----%> + @@ -4161,6 +4167,7 @@ --%> +
diff --git a/RH/Personal.aspx.vb b/RH/Personal.aspx.vb index 241a39359..bba66e78a 100644 --- a/RH/Personal.aspx.vb +++ b/RH/Personal.aspx.vb @@ -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(" ", linkDescarga, CvePersonal & Documentacion & "." & extencion) - Else - ImgDownLoad.Text = String.Format(" ", linkDescarga, CvePersonal & Documentacion) - End If + ScriptManager.GetCurrent(Me).RegisterPostBackControl(ImgDownLoad) + + 'If extencion.Length > 0 Then + ' ImgDownLoad.Text = String.Format(" ", linkDescarga, CvePersonal & Documentacion & "." & extencion) + 'Else + ' ImgDownLoad.Text = String.Format(" ", 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