From 47b670bf35ede1b3b8cf6d4c66420e55aef15c9f Mon Sep 17 00:00:00 2001 From: rrene Date: Wed, 29 May 2024 23:44:28 -0700 Subject: [PATCH 01/11] --txtfecha bloqueado --- Ventas/Ventas.aspx | 6 +++--- Ventas/Ventas.aspx.vb | 14 +++----------- 2 files changed, 6 insertions(+), 14 deletions(-) diff --git a/Ventas/Ventas.aspx b/Ventas/Ventas.aspx index 6bbe69d97..00999f431 100644 --- a/Ventas/Ventas.aspx +++ b/Ventas/Ventas.aspx @@ -758,12 +758,12 @@ Fecha:
- + - + - + diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 69e23e574..da7da1840 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -3227,12 +3227,11 @@ Partial Class Ventas ' End If 'End If - If UsuarioActual.Empresa.Funcionalidad(301).ToEntero() > 0 Then - TxtFecha.Enabled = False - ImgFecha.Visible = False + If UsuarioActual.Empresa.Funcionalidad(301) <> "" Then + TxtFecha.Enabled = True + ImgFecha.Visible = True End If - CargarCodigo() InicializaImprimirNew() @@ -3496,13 +3495,6 @@ Partial Class Ventas ImgFecha.Visible = False End If - 'condición temporal por implementación JAM. usuario FernandaRomo - If UsuarioActual.CveUsuario.Contiene(11703, 1719) Then - TxtFecha.Enabled = True - ImgFecha.Visible = True - End If - TxtFecha.Enabled = True - BloqueaCondicionesPago() BloqueaClasificaciones() From 566a549ad84852c6e657a976201411d6c2d85b66 Mon Sep 17 00:00:00 2001 From: rrene Date: Wed, 29 May 2024 23:44:48 -0700 Subject: [PATCH 02/11] - comisiones --- UserControl/AddMedico.ascx | 2 +- Ventas/CatMedicos.aspx | 8 +------- Ventas/RepComisionesSMS.aspx | 19 ++++++++----------- 3 files changed, 10 insertions(+), 19 deletions(-) diff --git a/UserControl/AddMedico.ascx b/UserControl/AddMedico.ascx index 45b06cf19..1a23f6140 100644 --- a/UserControl/AddMedico.ascx +++ b/UserControl/AddMedico.ascx @@ -153,7 +153,7 @@ 15d pago inmediato 30d próxima quincena - +
diff --git a/Ventas/CatMedicos.aspx b/Ventas/CatMedicos.aspx index 1b9bae7f4..ff33feadd 100644 --- a/Ventas/CatMedicos.aspx +++ b/Ventas/CatMedicos.aspx @@ -173,13 +173,7 @@ - - - - - - - + diff --git a/Ventas/RepComisionesSMS.aspx b/Ventas/RepComisionesSMS.aspx index 281af3ea6..172a5b8ed 100644 --- a/Ventas/RepComisionesSMS.aspx +++ b/Ventas/RepComisionesSMS.aspx @@ -138,20 +138,17 @@ - - - + + + - + - - - - - - + + + @@ -185,7 +182,7 @@ + EmptyDataText="No se encontraron Comisiones" CssClass="table table-striped table-advance table-hover Widthall ScrollAD mysmallbtn" GridLines="None"> From 886c69c8d25dc881bf81cb8b2812b3831bd714a8 Mon Sep 17 00:00:00 2001 From: JORGE LUIS CAUDILLO ESPARZA Date: Thu, 30 May 2024 07:17:28 -0700 Subject: [PATCH 03/11] movimeintos permanentes --- App_Code/ClsNominas.vb | 21 + App_Code/ClsPaginas.vb | 574 +++++++++++++------------ App_Code/ClsRH.vb | 15 + General/SaldosIniciales.aspx.vb | 2 +- Nomina/Nomina.aspx.cs | 18 +- Nomina/ReportePTU.aspx | 15 +- Nomina/ReportePTU.aspx.vb | 14 + RH/CatAsistenciasInasistencias.aspx | 3 + RH/CatAsistenciasInasistencias.aspx.vb | 14 + RH/Personal.aspx | 15 +- RH/Personal.aspx.vb | 17 + 11 files changed, 417 insertions(+), 291 deletions(-) diff --git a/App_Code/ClsNominas.vb b/App_Code/ClsNominas.vb index fcb9f0653..4261e7144 100644 --- a/App_Code/ClsNominas.vb +++ b/App_Code/ClsNominas.vb @@ -3812,6 +3812,27 @@ Public Class ClsNominas End Function + Public Function MovimientosSaldosGet(cvePersonal As Int32, cvePeriodo As Int32, cveUsuario As Int32, cveEmpresa As Int32) As Boolean + Dim retorno As Boolean = False + DataAdapter("PA_Nom_MovimientosSaldosGet", CommandType.StoredProcedure) + addParameters("@CvePersonal", SqlDbType.Int, cvePersonal) + addParameters("@CvePeriodo", SqlDbType.Int, cvePeriodo) + addParameters("@CveUsuario", SqlDbType.Int, cveUsuario) + addParameters("@CveEmpresa", SqlDbType.Int, cveEmpresa) + retorno = RunQuery("Ocurrió un error al obtener el MovimientosSaldosGet.") + Return retorno + End Function + + Public Function NomMovimientosShow(cvePersonal As Int32, cvePeriodo As Int32, cveUsuario As Int32, cveEmpresa As Int32) As Boolean + Dim retorno As Boolean = False + DataAdapter("PA_Nom_MovimientosShow", CommandType.StoredProcedure) + addParameters("@CvePersonal", SqlDbType.Int, cvePersonal) + addParameters("@CvePeriodo", SqlDbType.Int, cvePeriodo) + addParameters("@CveUsuario", SqlDbType.Int, cveUsuario) + addParameters("@CveEmpresa", SqlDbType.Int, cveEmpresa) + retorno = RunQuery("Ocurrió un error al obtener el NomMovimientosShow.") + Return retorno + End Function Public Sub addParameters(varsql As String, sqltipe As SqlDbType, valor As Object) SqlAdapter.SelectCommand.Parameters.Add(varsql, sqltipe).Value = valor diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index 277b6fbf5..022a7f354 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -8150,299 +8150,315 @@ Public Class ClsPaginas #End Region #Region "PDF NOMINA" Public Function GeneraPDFNomina(CvePersonal As Integer, CvePeriodo As Integer, CveEmpresa As Integer, RutaEmpresa As String, Optional indemnizacion As Boolean = False) As Byte() - Dim ObjNomina As New ClsNominas - Dim ObjPersonal As New ClsRH - Dim TieneError As Boolean = False Dim Retorno As Byte() = Nothing - If Not ObjNomina.GetNom_Nominas(-1, CvePersonal, CvePeriodo, -1, CveEmpresa) Then - Alert("Ocurrio un erro al obtener datos de la nomina", TipoMensaje.MsgError) - ObjPersonal.Dispose() - ObjNomina.Dispose() - Return Nothing - End If - Dim CveNomina As Integer = ObjNomina.CveNomina - Dim DTPercepciones As Data.DataTable - Dim DTDeducciones As Data.DataTable - Dim DTDeducciones2 As New Data.DataTable - Dim Ruta As String = UsuarioActual.Empresa.Ruta - Dim PathXML As String = $"{Ruta}XML\Nomina\{ObjNomina.Serie }{If(indemnizacion, "F", "")}-{ObjNomina.Folio}.xml" - Dim FechaEmision, FechaCertificacion As DateTime - Dim FolioFiscal, NoSerieCertificado, NoSerieCertificadoContribuyente, SelloCFDi, SelloSAT As String - FolioFiscal = "" - NoSerieCertificado = "" - SelloCFDi = "" - SelloSAT = "" - NoSerieCertificadoContribuyente = "" - Dim RutaCBB As String = String.Format("{0}CBB\Nomina\{1}.jpg", RutaEmpresa, ObjNomina.SerieFolio) - Dim ImagenCBB As New System.IO.FileInfo(RutaCBB) - Dim ImgCBB As String - Dim RutaFormato As String = String.Format("{0}Formatos\Nomina.rdlc", RutaEmpresa) - Dim RutaFormatoDefault As String = String.Format("Empresas\Grales\Formatos\Nomina.rdlc") - Dim CFDIVersion As String = "" - Dim UsoCFDI As String = "ND" - - - - 'SI ESTA TIMBRADA - CON XML - If System.IO.File.Exists(PathXML) Then - Dim XmlDoc As New System.Xml.XmlDocument - 'XmlDoc.Load(Ruta & "XML\\Nomina\NOM A-3845.xml") - XmlDoc.Load(PathXML) - - If ValorNodoXML(XmlDoc.DocumentElement, "version").Contiene("3.3", "4.0") Then - FechaEmision = XmlDoc.DocumentElement.Attributes("Fecha").InnerText.ToDate - NoSerieCertificadoContribuyente = XmlDoc.DocumentElement.Attributes("NoCertificado").InnerText - For i As Integer = 0 To XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes.Count - 1 - If XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Name = "tfd:TimbreFiscalDigital" Then - FolioFiscal = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("UUID").InnerText - NoSerieCertificado = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("NoCertificadoSAT").InnerText - FechaCertificacion = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("FechaTimbrado").InnerText.ToDate - SelloCFDi = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("SelloCFD").InnerText - SelloSAT = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("SelloSAT").InnerText - End If - Next - Else - FechaEmision = XmlDoc.DocumentElement.Attributes("fecha").InnerText.ToDate - NoSerieCertificadoContribuyente = XmlDoc.DocumentElement.Attributes("noCertificado").InnerText - For i As Integer = 0 To XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes.Count - 1 - If XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Name = "tfd:timbreFiscalDigital" Then - FolioFiscal = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("UUID").InnerText - NoSerieCertificado = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("noCertificadoSAT").InnerText - FechaCertificacion = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("fechaTimbrado").InnerText.ToDate - SelloCFDi = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("selloCFD").InnerText - SelloSAT = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("selloSAT").InnerText - End If - Next - End If - - - - Try - CFDIVersion = ValorNodoXML(XmlDoc.DocumentElement, "version") - - - Dim nsManager As New XmlNamespaceManager(XmlDoc.NameTable) - nsManager.AddNamespace("cfdi", If(CFDIVersion = "4.0", "http://www.sat.gob.mx/cfd/4", "http://www.sat.gob.mx/cfd/3")) - - Dim receptorNode As XmlNode = XmlDoc.SelectSingleNode("/cfdi:comprobante/cfdi:emisor/cfdi:receptor", nsManager) - - If receptorNode IsNot Nothing Then - UsoCFDI = ValorNodoXML(receptorNode, "usocfdi") - Dim UsoCFDIImprimir As String = GlobalDTSATUsosCFDI(-1, "-1").FiltroPrimeroValor("UsoCFDIDescripcion", $" UsoCFDI = '{UsoCFDI}' ") - - If UsoCFDIImprimir.Trim.Length > 0 Then - UsoCFDI = UsoCFDIImprimir - End If + Using ObjNomina As New ClsNominas + Using ObjPersonal As New ClsRH + Dim TieneError As Boolean = False + If Not ObjNomina.GetNom_Nominas(-1, CvePersonal, CvePeriodo, -1, CveEmpresa) Then + Alert("Ocurrio un erro al obtener datos de la nomina", TipoMensaje.MsgError) + ObjPersonal.Dispose() + ObjNomina.Dispose() + Return Nothing End If + Dim CveNomina As Integer = ObjNomina.CveNomina + Dim DTPercepciones As Data.DataTable + Dim DTDeducciones As Data.DataTable + Dim DTDeducciones2 As New Data.DataTable + Dim Ruta As String = UsuarioActual.Empresa.Ruta + Dim PathXML As String = $"{Ruta}XML\Nomina\{ObjNomina.Serie }{If(indemnizacion, "F", "")}-{ObjNomina.Folio}.xml" + Dim FechaEmision, FechaCertificacion As DateTime + Dim FolioFiscal, NoSerieCertificado, NoSerieCertificadoContribuyente, SelloCFDi, SelloSAT As String + FolioFiscal = "" + NoSerieCertificado = "" + SelloCFDi = "" + SelloSAT = "" + NoSerieCertificadoContribuyente = "" + Dim RutaCBBDir As String = String.Format("{0}CBB\Nomina\", RutaEmpresa) + If Not (System.IO.Directory.Exists(RutaCBBDir)) Then + System.IO.Directory.CreateDirectory(RutaCBBDir) + End If + Dim RutaCBB As String = String.Format("{0}{1}.jpg", RutaCBBDir, ObjNomina.SerieFolio) + Dim ImagenCBB As New System.IO.FileInfo(RutaCBB) + Dim ImgCBB As String + Dim RutaFormato As String = String.Format("{0}Formatos\Nomina.rdlc", RutaEmpresa) + Dim RutaFormatoDefault As String = String.Format("Empresas\Grales\Formatos\Nomina.rdlc") + Dim CFDIVersion As String = "" + Dim UsoCFDI As String = "ND" - If UsoCFDI = "ND" Or UsoCFDI = "" Then - If CFDIVersion = "4.0" Then - UsoCFDI = "CN01 - Nómina" + + 'SI ESTA TIMBRADA - CON XML + If System.IO.File.Exists(PathXML) Then + Dim XmlDoc As New System.Xml.XmlDocument + 'XmlDoc.Load(Ruta & "XML\\Nomina\NOM A-3845.xml") + XmlDoc.Load(PathXML) + + If ValorNodoXML(XmlDoc.DocumentElement, "version").Contiene("3.3", "4.0") Then + FechaEmision = XmlDoc.DocumentElement.Attributes("Fecha").InnerText.ToDate + NoSerieCertificadoContribuyente = XmlDoc.DocumentElement.Attributes("NoCertificado").InnerText + For i As Integer = 0 To XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes.Count - 1 + If XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Name = "tfd:TimbreFiscalDigital" Then + FolioFiscal = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("UUID").InnerText + NoSerieCertificado = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("NoCertificadoSAT").InnerText + FechaCertificacion = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("FechaTimbrado").InnerText.ToDate + SelloCFDi = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("SelloCFD").InnerText + SelloSAT = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("SelloSAT").InnerText + End If + Next Else - UsoCFDI = "P01 - Por definir" + FechaEmision = XmlDoc.DocumentElement.Attributes("fecha").InnerText.ToDate + NoSerieCertificadoContribuyente = XmlDoc.DocumentElement.Attributes("noCertificado").InnerText + For i As Integer = 0 To XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes.Count - 1 + If XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Name = "tfd:timbreFiscalDigital" Then + FolioFiscal = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("UUID").InnerText + NoSerieCertificado = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("noCertificadoSAT").InnerText + FechaCertificacion = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("fechaTimbrado").InnerText.ToDate + SelloCFDi = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("selloCFD").InnerText + SelloSAT = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("selloSAT").InnerText + End If + Next End If + + + Try + CFDIVersion = ValorNodoXML(XmlDoc.DocumentElement, "version") + + + Dim nsManager As New XmlNamespaceManager(XmlDoc.NameTable) + nsManager.AddNamespace("cfdi", If(CFDIVersion = "4.0", "http://www.sat.gob.mx/cfd/4", "http://www.sat.gob.mx/cfd/3")) + + Dim receptorNode As XmlNode = XmlDoc.SelectSingleNode("/cfdi:comprobante/cfdi:emisor/cfdi:receptor", nsManager) + + If receptorNode IsNot Nothing Then + UsoCFDI = ValorNodoXML(receptorNode, "usocfdi") + Dim UsoCFDIImprimir As String = GlobalDTSATUsosCFDI(-1, "-1").FiltroPrimeroValor("UsoCFDIDescripcion", $" UsoCFDI = '{UsoCFDI}' ") + + If UsoCFDIImprimir.Trim.Length > 0 Then + UsoCFDI = UsoCFDIImprimir + End If + + End If + + If UsoCFDI = "ND" Or UsoCFDI = "" Then + + If CFDIVersion = "4.0" Then + UsoCFDI = "CN01 - Nómina" + Else + UsoCFDI = "P01 - Por definir" + End If + + End If + + + Catch ex As Exception + + End Try + + 'SIN TIMBRAR - SIN XML + Else + FolioFiscal = "Sin Timbrar" + NoSerieCertificado = "Sin Timbrar" + SelloCFDi = "Sin Timbrar" + SelloSAT = "Sin Timbrar" End If - - - Catch ex As Exception - - End Try - - 'SIN TIMBRAR - SIN XML - Else - FolioFiscal = "Sin Timbrar" - NoSerieCertificado = "Sin Timbrar" - SelloCFDi = "Sin Timbrar" - SelloSAT = "Sin Timbrar" - End If - 'Si no tiene CBB, SE GENERA - If Not ImagenCBB.Exists Then - If ObjPersonal.GetPersonal(CvePersonal, CveEmpresa) Then - GeneraQRSAT(UsuarioActual.Empresa.RFC, ObjPersonal.RFC, ObjNomina.Total.ToString.ToDecimal, FolioFiscal, RutaGuardado:=RutaCBB) - End If - End If - ImgCBB = String.Format("{0}://{1}:{2}/Empresas/{3}/CBB/Nomina/{4}.jpg", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa, ObjNomina.SerieFolio) - Dim cQr As Byte() = Nothing - Try - Dim CadenaOriginalCFD As String = "||1.0|" + FolioFiscal + "|" + FechaCertificacion.ToString("yyyy-MM-dd") + "T" + FechaCertificacion.ToString("HH:mm:ss") + "|" + SelloCFDi + "|" + NoSerieCertificado + "||" - Dim RptParametro As New List(Of ReportParameter) - - 'Datos Empresa - RptParametro.Add(New ReportParameter("RegistroPatronal", ObjNomina.RegistroPatronal)) - Dim ajusteindemnizacion As Double = 0 - 'PERCECIONES - DEDUCCIONES - If ObjNomina.GetNom_NominasDetalles(CveNomina, CvePersonal, CvePeriodo, "-1") Then - Dim filtrop As String = " AND CveSistema NOT IN(10,11,32)" - Dim friltrod As String = " AND CveSistema <>47" - If indemnizacion Then - filtrop = "AND CveSistema IN(10,11,32)" - friltrod = " AND CveSistema =47" + 'Si no tiene CBB, SE GENERA + If Not ImagenCBB.Exists Then + If ObjPersonal.GetPersonal(CvePersonal, CveEmpresa) Then + GeneraQRSAT(UsuarioActual.Empresa.RFC, ObjPersonal.RFC, ObjNomina.Total.ToString.ToDecimal, FolioFiscal, RutaGuardado:=RutaCBB) + End If End If - DTPercepciones = ObjNomina.DtResultados.FiltraParametros($"((Tipo = 'P' OR (Tipo = 'D' AND Importe <0)) AND ((Importe <>0 AND EsPadre = 1 AND SoloVisible =0) OR Imprimir =1)) {filtrop}") - DTDeducciones = ObjNomina.DtResultados.FiltraParametros($"(Tipo = 'D' AND ((Importe >0 AND EsPadre = 1 AND SoloVisible =0) OR Imprimir =1) ) {friltrod}") - DTDeducciones2 = ObjNomina.DtResultados.FiltraParametros($"(Tipo = 'D' AND (( Importe >0 AND EsPadre = 1 AND SoloVisible =0) OR Imprimir =1) ){friltrod}") - ajusteindemnizacion = ObjNomina.DtResultados.FiltraParametros($"((Tipo = 'P' OR (Tipo = 'D' AND Importe <0)) AND Importe <>0 AND EsPadre = 1 AND SoloVisible =0) AND CveSistema IN(10,11,32)").SUM("Importe") - + ImgCBB = String.Format("{0}://{1}:{2}/Empresas/{3}/CBB/Nomina/{4}.jpg", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa, ObjNomina.SerieFolio) + Dim cQr As Byte() = Nothing + Try + Dim CadenaOriginalCFD As String = "||1.0|" + FolioFiscal + "|" + FechaCertificacion.ToString("yyyy-MM-dd") + "T" + FechaCertificacion.ToString("HH:mm:ss") + "|" + SelloCFDi + "|" + NoSerieCertificado + "||" + Dim RptParametro As New List(Of ReportParameter) + + 'Datos Empresa + RptParametro.Add(New ReportParameter("RegistroPatronal", ObjNomina.RegistroPatronal)) + Dim ajusteindemnizacion As Double = 0 + 'PERCECIONES - DEDUCCIONES + If ObjNomina.GetNom_NominasDetalles(CveNomina, CvePersonal, CvePeriodo, "-1") Then + Dim filtrop As String = " AND CveSistema NOT IN(10,11,32)" + Dim friltrod As String = " AND CveSistema <>47" + If indemnizacion Then + filtrop = "AND CveSistema IN(10,11,32)" + friltrod = " AND CveSistema =47" + End If + DTPercepciones = ObjNomina.DtResultados.FiltraParametros($"((Tipo = 'P' OR (Tipo = 'D' AND Importe <0)) AND ((Importe <>0 AND EsPadre = 1 AND SoloVisible =0) OR Imprimir =1)) {filtrop}") + DTDeducciones = ObjNomina.DtResultados.FiltraParametros($"(Tipo = 'D' AND ((Importe >0 AND EsPadre = 1 AND SoloVisible =0) OR Imprimir =1) ) {friltrod}") + DTDeducciones2 = ObjNomina.DtResultados.FiltraParametros($"(Tipo = 'D' AND (( Importe >0 AND EsPadre = 1 AND SoloVisible =0) OR Imprimir =1) ){friltrod}") + ajusteindemnizacion = ObjNomina.DtResultados.FiltraParametros($"((Tipo = 'P' OR (Tipo = 'D' AND Importe <0)) AND Importe <>0 AND EsPadre = 1 AND SoloVisible =0) AND CveSistema IN(10,11,32)").SUM("Importe") - ObjNomina.DtResultados.FiltraParametros($"(Tipo = 'D' AND Importe >0 AND EsPadre = 1 AND SoloVisible =0) AND CveSistema =47").SUM("Importe") - For Each row As DataRow In DTPercepciones.Rows - If row("Tipo").ToString() = "D" Then - row("Codigo") = row("Codigo").ToString().Replace("D", "OP") - row("Importe") = row("Importe").ToString().ToDecimal() * -1 + For Each row As DataRow In DTPercepciones.Rows + If row("Tipo").ToString() = "D" Then + row("Codigo") = row("Codigo").ToString().Replace("D", "OP") + row("Importe") = row("Importe").ToString().ToDecimal() * -1 + End If + Next + Else + DTPercepciones = Nothing + DTDeducciones = Nothing End If - Next - Else - DTPercepciones = Nothing - DTDeducciones = Nothing - End If - Dim SalarioDiario As String - Dim SDI As String - Dim Departamento As String - Dim Puesto As String - 'DATOS DEL EMPLEADO - If ObjPersonal.GetPersonal(CvePersonal, CveEmpresa) Then - RptParametro.Add(New ReportParameter("NoEmpleado", ObjPersonal.Codigo)) - RptParametro.Add(New ReportParameter("RFC", ObjPersonal.RFC)) - RptParametro.Add(New ReportParameter("CURP", ObjPersonal.CURP)) - RptParametro.Add(New ReportParameter("NombreCompleto", String.Format("{0} {1} {2}", ObjPersonal.Nombres, ObjPersonal.APaterno, ObjPersonal.AMaterno).Trim())) - RptParametro.Add(New ReportParameter("Regimen", ObjPersonal.RegimenContratacion)) - RptParametro.Add(New ReportParameter("RiesgoPuesto", ObjPersonal.RiesgoPuesto)) - RptParametro.Add(New ReportParameter("NSS", ObjPersonal.NumeroSS)) - Departamento = ObjPersonal.Departamento - Puesto = ObjPersonal.Puesto.ToString() - RptParametro.Add(New ReportParameter("FechaIngreso", ObjPersonal.FechaIngreso.ToString("dd/MM/yyyy"))) - RptParametro.Add(New ReportParameter("Contrato", ObjPersonal.TipoContrato.ToString)) - RptParametro.Add(New ReportParameter("Jornada", ObjPersonal.Jornada)) - RptParametro.Add(New ReportParameter("Periodo", ObjNomina.TipoPeriodo)) - RptParametro.Add(New ReportParameter("Banco", ObjPersonal.Banco)) - RptParametro.Add(New ReportParameter("CLABE", ObjPersonal.CLABE)) - SalarioDiario = ObjPersonal.SalarioDiario.ToString - SDI = ObjPersonal.SDI.ToString - If ObjNomina.GetNom_NominasDataXML(CveNomina, CvePersonal, CvePeriodo, 1, CveEmpresa) AndAlso ObjNomina.DtResultados.Rows.Count > 0 Then - Dim drow As DataRow = ObjNomina.DtResultados.Rows(0) - SalarioDiario = drow("SalarioDiario").ToString() - SDI = drow("NomRSalarioDiarioIntegrado").ToString() - Departamento = drow("NomRDepartamento").ToString() - Puesto = drow("NomRPuesto").ToString() - End If - RptParametro.Add(New ReportParameter("SalarioBase", SalarioDiario)) - RptParametro.Add(New ReportParameter("SalarioDiarioInt", SDI)) - RptParametro.Add(New ReportParameter("Departamento", Departamento)) - RptParametro.Add(New ReportParameter("Puesto", Puesto)) - 'DATOS NOMINA - If ObjNomina.GetNom_Nominas(CveNomina, CvePersonal, CvePeriodo, 1, CveEmpresa) Then - RptParametro.Add(New ReportParameter("ReciboNomina", ObjNomina.Folio.ToString)) - RptParametro.Add(New ReportParameter("Serie", ObjNomina.Serie)) - RptParametro.Add(New ReportParameter("Fecha", ObjNomina.Fecha.ToString)) - RptParametro.Add(New ReportParameter("Periodo", ObjNomina.TipoPeriodo)) - RptParametro.Add(New ReportParameter("DiasPagados", ObjNomina.DiasPagados.ToString)) - RptParametro.Add(New ReportParameter("MetodoPago", ObjNomina.MetodoPago)) '"""PUE"" (Pago en una sola exhibición)" - RptParametro.Add(New ReportParameter("FormaPago", """99"" (Por definir)")) - RptParametro.Add(New ReportParameter("Cantidad", "1")) - RptParametro.Add(New ReportParameter("Unidad", "ACT")) - RptParametro.Add(New ReportParameter("Descripcion", "PAGO DE NÓMINA")) - RptParametro.Add(New ReportParameter("Total", If(indemnizacion, ajusteindemnizacion, ObjNomina.Total - ajusteindemnizacion).ToString())) - RptParametro.Add(New ReportParameter("ImporteLetra", ObjNomina.Total.ToString.ToDecimal.Texto2Letras)) - RptParametro.Add(New ReportParameter("Clave", "84111505")) - cQr = GeneraQRSAT(UsuarioActual.Empresa.RFC, ObjPersonal.RFC, ObjNomina.Total.ToString().ToDecimal(), FolioFiscal) - Else - TieneError = True - End If - Else - TieneError = True - End If - If Not TieneError Then - If ObjNomina.GetPeriodos(-1, CveEmpresa, -1, -1, CvePeriodo) Then - RptParametro.Add(New ReportParameter("FechaInicio", ObjNomina.FechaInicio.ToString("dd/MM/yyyy"))) - RptParametro.Add(New ReportParameter("FechaFin", ObjNomina.FechaFin.ToString("dd/MM/yyyy"))) - Else - TieneError = True - End If - End If - - RptParametro.Add(New ReportParameter("PU", DTPercepciones.SUM("Importe").ToString())) - RptParametro.Add(New ReportParameter("Importe", DTPercepciones.SUM("Importe").ToString())) - RptParametro.Add(New ReportParameter("ImporteDeducciones", DTDeducciones.SUM("Importe").ToString())) - RptParametro.Add(New ReportParameter("SubTotal", DTPercepciones.SUM("Importe").ToString())) - RptParametro.Add(New ReportParameter("Descuentos", DTDeducciones.SUM("Importe", "SATCveConcepto <> '002'").ToString())) - RptParametro.Add(New ReportParameter("ISR", DTDeducciones.SUM("Importe", "SATCveConcepto = '002'").ToString())) - 'Timbrado - RptParametro.Add(New ReportParameter("FolioFiscal", FolioFiscal)) - RptParametro.Add(New ReportParameter("CertificadoSAT", NoSerieCertificado)) - RptParametro.Add(New ReportParameter("FechaCertificacion", FechaCertificacion.ToString)) - RptParametro.Add(New ReportParameter("SelloDigitalEmisor", SelloCFDi)) - RptParametro.Add(New ReportParameter("SelloDigitalSAT", SelloSAT)) - RptParametro.Add(New ReportParameter("CadenaOriginal", CadenaOriginalCFD)) - RptParametro.Add(New ReportParameter("QR", ImgCBB.ToString)) - - RptParametro.Add(New ReportParameter("CFDIVersion", CFDIVersion)) - RptParametro.Add(New ReportParameter("UsoCFDI", UsoCFDI)) - - Dim LSRds As New List(Of ReportDataSource) - - Dim rds2 As ReportDataSource = New ReportDataSource() - Dim dtqr As New DataTable - Dim column As DataColumn = New DataColumn("ImagenByte") - column.DataType = System.Type.[GetType]("System.Byte[]") - column.AllowDBNull = True - column.Caption = "ImagenByte" - dtqr.Columns.Add(column) - Dim rowqr As DataRow = dtqr.NewRow() - rowqr("ImagenByte") = cQr - dtqr.Rows.Add(rowqr) - rds2.Name = "dsImagenes" - rds2.Value = dtqr - LSRds.Add(rds2) - Dim numnewfiles As Integer = 0 - If DTPercepciones.Rows.Count > DTDeducciones2.Rows.Count Then - numnewfiles = DTPercepciones.Rows.Count - DTDeducciones2.Rows.Count - For index As Integer = 1 To numnewfiles - DTDeducciones2.Rows.Add(DTDeducciones2.NewRow) - Next - Else - If DTDeducciones2.Rows.Count > DTPercepciones.Rows.Count Then - numnewfiles = DTDeducciones2.Rows.Count - DTPercepciones.Rows.Count - For index As Integer = 1 To numnewfiles - DTPercepciones.Rows.Add(DTPercepciones.NewRow) - Next - End If - End If - Dim RptDS As New ReportDataSource - RptDS.Name = "DsOC" - RptDS.Value = DTPercepciones - LSRds.Add(RptDS) - Dim RDS As New ReportDataSource - RDS.Name = "DataSet1" - RDS.Value = DTDeducciones2 - LSRds.Add(RDS) - Dim Archivo As New System.IO.FileInfo(RutaFormato) - If Not TieneError Then - If Archivo.Exists Then - Retorno = StreamPDF(RutaFormato, LSRds, RptParametro, ObjNomina.SerieFolio, "PDF", MR:=Nothing) - Dim ArchivoPDF As New System.IO.FileInfo(String.Format("{0}PDF\\{1}.pdf", RutaEmpresa, ObjNomina.SerieFolio)) - If Not ArchivoPDF.Exists Then - Try - DirectoryExistsCreate(String.Format("{0}PDF", RutaEmpresa)) - DirectoryExistsCreate(String.Format("{0}PDF\{1}", RutaEmpresa, "Nomina")) - File.WriteAllBytes(String.Format("{0}PDF\Nomina\{1}.pdf", RutaEmpresa, ObjNomina.SerieFolio), Retorno) - Catch ex As Exception - Alert("Ocurrió un error al generar el PDF", TipoMensaje.MsgAdvertencia) - GuardaLog(String.Format("Ocurrió un error al generar el PDF {0}", ex)) - End Try + Dim SalarioDiario As String + Dim SDI As String + Dim Departamento As String + Dim Puesto As String + 'DATOS DEL EMPLEADO + If ObjPersonal.GetPersonal(CvePersonal, CveEmpresa) Then + RptParametro.Add(New ReportParameter("NoEmpleado", ObjPersonal.Codigo)) + RptParametro.Add(New ReportParameter("RFC", ObjPersonal.RFC)) + RptParametro.Add(New ReportParameter("CURP", ObjPersonal.CURP)) + RptParametro.Add(New ReportParameter("NombreCompleto", String.Format("{0} {1} {2}", ObjPersonal.Nombres, ObjPersonal.APaterno, ObjPersonal.AMaterno).Trim())) + RptParametro.Add(New ReportParameter("Regimen", ObjPersonal.RegimenContratacion)) + RptParametro.Add(New ReportParameter("RiesgoPuesto", ObjPersonal.RiesgoPuesto)) + RptParametro.Add(New ReportParameter("NSS", ObjPersonal.NumeroSS)) + Departamento = ObjPersonal.Departamento + Puesto = ObjPersonal.Puesto.ToString() + RptParametro.Add(New ReportParameter("FechaIngreso", ObjPersonal.FechaIngreso.ToString("dd/MM/yyyy"))) + RptParametro.Add(New ReportParameter("Contrato", ObjPersonal.TipoContrato.ToString)) + RptParametro.Add(New ReportParameter("Jornada", ObjPersonal.Jornada)) + RptParametro.Add(New ReportParameter("Periodo", ObjNomina.TipoPeriodo)) + RptParametro.Add(New ReportParameter("Banco", ObjPersonal.Banco)) + RptParametro.Add(New ReportParameter("CLABE", ObjPersonal.CLABE)) + SalarioDiario = ObjPersonal.SalarioDiario.ToString + SDI = ObjPersonal.SDI.ToString + If ObjNomina.GetNom_NominasDataXML(CveNomina, CvePersonal, CvePeriodo, 1, CveEmpresa) AndAlso ObjNomina.DtResultados.Rows.Count > 0 Then + Dim drow As DataRow = ObjNomina.DtResultados.Rows(0) + SalarioDiario = drow("SalarioDiario").ToString() + SDI = drow("NomRSalarioDiarioIntegrado").ToString() + Departamento = drow("NomRDepartamento").ToString() + Puesto = drow("NomRPuesto").ToString() + End If + RptParametro.Add(New ReportParameter("SalarioBase", SalarioDiario)) + RptParametro.Add(New ReportParameter("SalarioDiarioInt", SDI)) + RptParametro.Add(New ReportParameter("Departamento", Departamento)) + RptParametro.Add(New ReportParameter("Puesto", Puesto)) + 'DATOS NOMINA + If ObjNomina.GetNom_Nominas(CveNomina, CvePersonal, CvePeriodo, 1, CveEmpresa) Then + RptParametro.Add(New ReportParameter("ReciboNomina", ObjNomina.Folio.ToString)) + RptParametro.Add(New ReportParameter("Serie", ObjNomina.Serie)) + RptParametro.Add(New ReportParameter("Fecha", ObjNomina.Fecha.ToString)) + RptParametro.Add(New ReportParameter("Periodo", ObjNomina.TipoPeriodo)) + RptParametro.Add(New ReportParameter("DiasPagados", ObjNomina.DiasPagados.ToString)) + RptParametro.Add(New ReportParameter("MetodoPago", ObjNomina.MetodoPago)) '"""PUE"" (Pago en una sola exhibición)" + RptParametro.Add(New ReportParameter("FormaPago", """99"" (Por definir)")) + RptParametro.Add(New ReportParameter("Cantidad", "1")) + RptParametro.Add(New ReportParameter("Unidad", "ACT")) + RptParametro.Add(New ReportParameter("Descripcion", "PAGO DE NÓMINA")) + RptParametro.Add(New ReportParameter("Total", If(indemnizacion, ajusteindemnizacion, ObjNomina.Total - ajusteindemnizacion).ToString())) + RptParametro.Add(New ReportParameter("ImporteLetra", ObjNomina.Total.ToString.ToDecimal.Texto2Letras)) + RptParametro.Add(New ReportParameter("Clave", "84111505")) + cQr = GeneraQRSAT(UsuarioActual.Empresa.RFC, ObjPersonal.RFC, ObjNomina.Total.ToString().ToDecimal(), FolioFiscal) + Else + TieneError = True + End If + Else + TieneError = True + End If + If Not TieneError Then + If ObjNomina.GetPeriodos(-1, CveEmpresa, -1, -1, CvePeriodo) Then + RptParametro.Add(New ReportParameter("FechaInicio", ObjNomina.FechaInicio.ToString("dd/MM/yyyy"))) + RptParametro.Add(New ReportParameter("FechaFin", ObjNomina.FechaFin.ToString("dd/MM/yyyy"))) + Else + TieneError = True + End If End If - Else - 'ImprimirPDF(String.Format("{0}\Formatos\Nomina.rdlc", RutaEmpresa), LSRds, RptParametro, ObjNomina.SerieFolio) - End If - Else - Alert("Ocurrio un error al obtener los datos de la Nomina") - End If - Catch ex As Exception - GuardaLog(String.Format("Ocurrio un error al generar el reporte RLDC {0}", ex)) - End Try - ObjNomina.Dispose() - ObjPersonal.Dispose() + RptParametro.Add(New ReportParameter("PU", DTPercepciones.SUM("Importe").ToString())) + RptParametro.Add(New ReportParameter("Importe", DTPercepciones.SUM("Importe").ToString())) + RptParametro.Add(New ReportParameter("ImporteDeducciones", DTDeducciones.SUM("Importe").ToString())) + RptParametro.Add(New ReportParameter("SubTotal", DTPercepciones.SUM("Importe").ToString())) + RptParametro.Add(New ReportParameter("Descuentos", DTDeducciones.SUM("Importe", "SATCveConcepto <> '002'").ToString())) + RptParametro.Add(New ReportParameter("ISR", DTDeducciones.SUM("Importe", "SATCveConcepto = '002'").ToString())) + 'Timbrado + RptParametro.Add(New ReportParameter("FolioFiscal", FolioFiscal)) + RptParametro.Add(New ReportParameter("CertificadoSAT", NoSerieCertificado)) + RptParametro.Add(New ReportParameter("FechaCertificacion", FechaCertificacion.ToString)) + RptParametro.Add(New ReportParameter("SelloDigitalEmisor", SelloCFDi)) + RptParametro.Add(New ReportParameter("SelloDigitalSAT", SelloSAT)) + RptParametro.Add(New ReportParameter("CadenaOriginal", CadenaOriginalCFD)) + RptParametro.Add(New ReportParameter("QR", ImgCBB.ToString)) + + RptParametro.Add(New ReportParameter("CFDIVersion", CFDIVersion)) + RptParametro.Add(New ReportParameter("UsoCFDI", UsoCFDI)) + + Dim LSRds As New List(Of ReportDataSource) + + Dim rds2 As ReportDataSource = New ReportDataSource() + Dim dtqr As New DataTable + Dim column As DataColumn = New DataColumn("ImagenByte") + column.DataType = System.Type.[GetType]("System.Byte[]") + column.AllowDBNull = True + column.Caption = "ImagenByte" + dtqr.Columns.Add(column) + Dim rowqr As DataRow = dtqr.NewRow() + rowqr("ImagenByte") = cQr + dtqr.Rows.Add(rowqr) + rds2.Name = "dsImagenes" + rds2.Value = dtqr + LSRds.Add(rds2) + Dim numnewfiles As Integer = 0 + If DTPercepciones.Rows.Count > DTDeducciones2.Rows.Count Then + numnewfiles = DTPercepciones.Rows.Count - DTDeducciones2.Rows.Count + For index As Integer = 1 To numnewfiles + DTDeducciones2.Rows.Add(DTDeducciones2.NewRow) + Next + Else + If DTDeducciones2.Rows.Count > DTPercepciones.Rows.Count Then + numnewfiles = DTDeducciones2.Rows.Count - DTPercepciones.Rows.Count + For index As Integer = 1 To numnewfiles + DTPercepciones.Rows.Add(DTPercepciones.NewRow) + Next + End If + End If + + If ObjNomina.NomMovimientosShow(CvePersonal, CvePeriodo, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then + If Not IsNothing(ObjNomina.DtResultados) And ObjNomina.DtResultados.Rows.Count > 0 And ObjNomina.DtResultados.Rows(0)("ShowMovtosPermanentes").ToString() = "1" Then + If ObjNomina.MovimientosSaldosGet(CvePersonal, CvePeriodo, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then + Dim RptDSMP As New ReportDataSource + RptDSMP.Name = "DsMovtosPermanentes" + RptDSMP.Value = ObjNomina.DtResultados + LSRds.Add(RptDSMP) + End If + End If + End If + Dim RptDS As New ReportDataSource + RptDS.Name = "DsOC" + RptDS.Value = DTPercepciones + LSRds.Add(RptDS) + Dim RDS As New ReportDataSource + RDS.Name = "DataSet1" + RDS.Value = DTDeducciones2 + LSRds.Add(RDS) + Dim Archivo As New System.IO.FileInfo(RutaFormato) + If Not TieneError Then + If Archivo.Exists Then + Retorno = StreamPDF(RutaFormato, LSRds, RptParametro, ObjNomina.SerieFolio, "PDF", MR:=Nothing) + Dim ArchivoPDF As New System.IO.FileInfo(String.Format("{0}PDF\\{1}.pdf", RutaEmpresa, ObjNomina.SerieFolio)) + If Not ArchivoPDF.Exists Then + Try + DirectoryExistsCreate(String.Format("{0}PDF", RutaEmpresa)) + DirectoryExistsCreate(String.Format("{0}PDF\{1}", RutaEmpresa, "Nomina")) + File.WriteAllBytes(String.Format("{0}PDF\Nomina\{1}.pdf", RutaEmpresa, ObjNomina.SerieFolio), Retorno) + Catch ex As Exception + Alert("Ocurrió un error al generar el PDF", TipoMensaje.MsgAdvertencia) + GuardaLog(String.Format("Ocurrió un error al generar el PDF {0}", ex)) + End Try + End If + Else + 'ImprimirPDF(String.Format("{0}\Formatos\Nomina.rdlc", RutaEmpresa), LSRds, RptParametro, ObjNomina.SerieFolio) + End If + Else + Alert("Ocurrio un error al obtener los datos de la Nomina") + End If + Catch ex As Exception + GuardaLog(String.Format("Ocurrio un error al generar el reporte RLDC {0}", ex)) + End Try + + End Using + End Using Return Retorno End Function #End Region diff --git a/App_Code/ClsRH.vb b/App_Code/ClsRH.vb index 259de04bf..10d97f41f 100644 --- a/App_Code/ClsRH.vb +++ b/App_Code/ClsRH.vb @@ -321,6 +321,21 @@ Public Class ClsRH #End Region #Region "ClsRHAsistenciasInasistencias" + + Public Function CargaInicialAsistenciaInasistencia(cveEmpresa As Int32, cveUsuario As Int32) As Boolean + Dim retorno As Boolean = False + DataAdapter("PA_RH_CargaInicialAsistenciaInasistencia", CommandType.StoredProcedure) + addParameters("@CveEmpresa", SqlDbType.Int, cveEmpresa) + addParameters("@CveUsuario", SqlDbType.Int, cveUsuario) + + Try + SqlAdapter.Fill(Data) + retorno = True + Catch ex As Exception + OnError("Ocurrió un error al realizar la carga inicial de asistencia inasistencia.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return retorno + End Function Public Function GetAsistenciasInasistencias(CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False diff --git a/General/SaldosIniciales.aspx.vb b/General/SaldosIniciales.aspx.vb index 494091251..4f113db72 100644 --- a/General/SaldosIniciales.aspx.vb +++ b/General/SaldosIniciales.aspx.vb @@ -3967,7 +3967,7 @@ Partial Class General_SaldosIniciales TxtExcel.Text = "" UpDatos.Update() Else - Alert(String.Format("Se agregaron: {0} Empleados correctamente.", NumRows), TipoMensaje.MsgInformacion) + Alert(String.Format("Se agregaron: {0} Empleados correctamente.", ContadorAgregados), TipoMensaje.MsgInformacion) ObjRH.Commit() TxtExcel.Text = "" UpDatos.Update() diff --git a/Nomina/Nomina.aspx.cs b/Nomina/Nomina.aspx.cs index 0d1a67388..159550188 100644 --- a/Nomina/Nomina.aspx.cs +++ b/Nomina/Nomina.aspx.cs @@ -325,7 +325,8 @@ public partial class Nomina_Nomina2 : ClsPaginas { if (!IsPostBack) - { + { + cargarutaempresa(); { DtNomOrden = new DataTable(); @@ -474,6 +475,15 @@ public partial class Nomina_Nomina2 : ClsPaginas } } } + private void cargarutaempresa() + { + string rutaCBBDir = String.Format("{0}CBB\\Nomina\\", UsuarioActual.Empresa.Ruta); + + if (!Directory.Exists(rutaCBBDir)) + { + Directory.CreateDirectory(rutaCBBDir); + } + } #region Filtros private void cargaEjercicios() { @@ -2109,7 +2119,7 @@ public partial class Nomina_Nomina2 : ClsPaginas { column++; libro.Cell(1, column).Value = row["CveConcepto"].ToString(); - libro.Cell(FilaConceptos, column).Value = "N"; + libro.Cell(FilaConceptos, column).Value = "S"; libro.Cell(3, column).Value = row["Concepto"].ToString(); libro.Cell(4, column).Value = row["Codigo"].ToString(); libro.Column(column).Width = 15; @@ -2124,7 +2134,7 @@ public partial class Nomina_Nomina2 : ClsPaginas { column++; libro.Cell(1, column).Value = row["CveConcepto"].ToString(); - libro.Cell(FilaConceptos, column).Value = "N"; + libro.Cell(FilaConceptos, column).Value = "S"; libro.Cell(3, column).Value = row["Concepto"].ToString(); libro.Cell(4, column).Value = row["Codigo"].ToString(); libro.Column(column).Width = 15; @@ -2139,7 +2149,7 @@ public partial class Nomina_Nomina2 : ClsPaginas { column++; libro.Cell(1, column).Value = row["CveConcepto"].ToString(); - libro.Cell(FilaConceptos, column).Value = "N"; + libro.Cell(FilaConceptos, column).Value = "S"; libro.Cell(3, column).Value = row["Concepto"].ToString(); libro.Cell(4, column).Value = row["Codigo"].ToString(); libro.Column(column).Width = 15; diff --git a/Nomina/ReportePTU.aspx b/Nomina/ReportePTU.aspx index d20134520..c48800e94 100644 --- a/Nomina/ReportePTU.aspx +++ b/Nomina/ReportePTU.aspx @@ -82,17 +82,26 @@

+
+
+ " style="display: inline-block; margin-right: -20px; width: 150px;" /> + " style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"> +
+
+ DataKeyNames="Nombre,CvePersonal,DiasLaborados,SueldoTotal,Importe" > - + <%-- --%> + + - + + <%-- --%> diff --git a/Nomina/ReportePTU.aspx.vb b/Nomina/ReportePTU.aspx.vb index faacecee9..6c7458a6f 100644 --- a/Nomina/ReportePTU.aspx.vb +++ b/Nomina/ReportePTU.aspx.vb @@ -241,4 +241,18 @@ Partial Class Nomina_ReportePTU End If End If End Sub + + 'Protected Sub GVCalcularUtilidades_RowDataBound(sender As Object, e As GridViewRowEventArgs) + ' If e.Row.RowType = DataControlRowType.DataRow Then + ' Dim dataItem As DataRowView = CType(e.Row.DataItem, DataRowView) + ' Dim cvePersonal As String = e.Row.DataKey("CvePersonal").ToString() + ' Dim codigo As String = e.Row.DataKey("Codigo").ToString() + ' Dim nombre As String = e.Row.DataKey("Nombre").ToString() + + ' Dim lblC As Label = CType(e.Row.FindControl("lblC"), Label) + ' lblC.Text = String.Format("{1}", cvePersonal, codigo) + ' Dim lblnombreCompleto As Label = CType(e.Row.FindControl("lblnombreCompleto"), Label) + ' lblnombreCompleto.Text = String.Format("{1}", cvePersonal, nombre) + ' End If + 'End Sub End Class diff --git a/RH/CatAsistenciasInasistencias.aspx b/RH/CatAsistenciasInasistencias.aspx index 9a89935e4..5ea60b442 100644 --- a/RH/CatAsistenciasInasistencias.aspx +++ b/RH/CatAsistenciasInasistencias.aspx @@ -16,6 +16,9 @@
  • +
  • + +
  • diff --git a/RH/CatAsistenciasInasistencias.aspx.vb b/RH/CatAsistenciasInasistencias.aspx.vb index e280abb9a..02bd1e1a3 100644 --- a/RH/CatAsistenciasInasistencias.aspx.vb +++ b/RH/CatAsistenciasInasistencias.aspx.vb @@ -48,6 +48,7 @@ Partial Class RH_CatAsistenciasInasistencias Dim ObjAsistenciasInasistencias As New ClsRH If ObjAsistenciasInasistencias.GetAsistenciasInasistencias(UsuarioActual.CveEmpresa) Then ViewState("DTAsistenciasInasistencias") = ObjAsistenciasInasistencias.DtResultados + LnkCargapredefinidos.Visible = ObjAsistenciasInasistencias.DtResultados.Rows.Count = 0 Else Me.GvDatos.DataSource = Nothing End If @@ -258,4 +259,17 @@ Partial Class RH_CatAsistenciasInasistencias #End Region + + Protected Sub LnkCargapredefinidos_Click(sender As Object, e As EventArgs) + + Using objrh As New ClsRH() + 'objrh.IniciaTransacSQL() + If objrh.CargaInicialAsistenciaInasistencia(UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario) Then + 'objrh.Commit() + Else + 'objrh.RollBack() + End If + End Using + CargaDatos() + End Sub End Class diff --git a/RH/Personal.aspx b/RH/Personal.aspx index 69b69fa73..492e18832 100644 --- a/RH/Personal.aspx +++ b/RH/Personal.aspx @@ -201,13 +201,13 @@
    - - + +
    - - + +
    @@ -315,6 +315,13 @@
    + + +
    diff --git a/RH/Personal.aspx.vb b/RH/Personal.aspx.vb index 8cd918c6b..0c5440285 100644 --- a/RH/Personal.aspx.vb +++ b/RH/Personal.aspx.vb @@ -8103,5 +8103,22 @@ Partial Class RH_Personal UpDatos.Update() End Sub + + + Protected Sub cvCadena_ServerValidate(source As Object, args As ServerValidateEventArgs) + Dim retorno As Boolean = True + ' Verifica que la longitud de la cadena sea 5 + If Len(args.Value) <> 5 Then + retorno = False + End If + + ' Verifica que la cadena sea numérica + If Not IsNumeric(args.Value) Then + retorno = False + End If + + args.IsValid = retorno + End Sub + End Class From 6449bb6bd056a9748afcacb6b1fd588cd3486b22 Mon Sep 17 00:00:00 2001 From: rakcsle Date: Fri, 31 May 2024 01:24:46 -0700 Subject: [PATCH 04/11] =?UTF-8?q?OS=20guardar=20en=20historial=20el=20camb?= =?UTF-8?q?io=20de=20t=C3=A9cnico?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App_Code/ClsOS.vb | 3 ++- Compras/Compras.aspx.vb | 12 +----------- OS/OrdenesServicios.aspx.vb | 30 +++++++++++++++++++++++------- 3 files changed, 26 insertions(+), 19 deletions(-) diff --git a/App_Code/ClsOS.vb b/App_Code/ClsOS.vb index 376513ad8..723c9861d 100644 --- a/App_Code/ClsOS.vb +++ b/App_Code/ClsOS.vb @@ -1728,7 +1728,7 @@ Public Class ClsOS Return Retorno End Function - Public Function UpdateOrdenesServiciosAsignadas(CveOSDetalle As Integer, CveUsuario As Integer, FechaCita As Date, HoraCita As DateTime, CveEmpresa As Integer) As Boolean + Public Function UpdateOrdenesServiciosAsignadas(CveOSDetalle As Integer, CveUsuarioAtendio As Integer, FechaCita As Date, HoraCita As DateTime, CveEmpresa As Integer, CveUsuario As Integer) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_OS_OrdenesServiciosAsignadasUpdate") @@ -1737,6 +1737,7 @@ Public Class ClsOS .Add("@FechaCita", SqlDbType.Date).Value = FechaCita .Add("@HoraCita", SqlDbType.DateTime).Value = HoraCita .Add("@CveOSDetalle", SqlDbType.Int).Value = CveOSDetalle + .Add("@CveUsuarioAtendio", SqlDbType.Int).Value = CveUsuarioAtendio .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario End With diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 2beb02694..ef294b50b 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -3594,13 +3594,10 @@ Partial Class Compras_Compras End If End If -<<<<<<< HEAD - CargaRetIVAConcepto(True, ObjProveedor.DIOTCveTipoOperacion) - CargaRetISRConcepto(True, ObjProveedor.DIOTCveTipoOperacion) CargaRetIVAConcepto(True, ObjProveedor.DIOTCveTipoOperacion) CargaRetISRConcepto(True, ObjProveedor.DIOTCveTipoOperacion) ->>>>>>> GDiaz 2024.05.21 + LbAgregar.Enabled = True UpPSS.Update() @@ -3647,11 +3644,7 @@ Partial Class Compras_Compras PorcentajeProntoPago = ObjProveedor.PorcentajeProntoPago End If -<<<<<<< HEAD -======= - ->>>>>>> GDiaz 2024.05.21 Else Alert("El Proveedor solicitado no existe, por favor intente de nuevo.", TipoMensaje.MsgAdvertencia) End If @@ -3659,9 +3652,6 @@ Partial Class Compras_Compras -<<<<<<< HEAD -======= ->>>>>>> GDiaz 2024.05.21 If UsuarioActual.Empresa.Funcionalidad(560) = "1" Then If ObjProveedor.GetProveedoresEvaluacionPediente(Me.CveProveedor, UsuarioActual.CveEmpresa) Then If ObjProveedor.DtResultados.Rows.Count > 0 Then diff --git a/OS/OrdenesServicios.aspx.vb b/OS/OrdenesServicios.aspx.vb index f04bc0e45..17e266841 100644 --- a/OS/OrdenesServicios.aspx.vb +++ b/OS/OrdenesServicios.aspx.vb @@ -1866,7 +1866,7 @@ Partial Class OS_OrdenesServicios GvHistorial.DataSource = Nothing End If GvHistorial.DataBind() - ObjGral.Dispose() + UpHistorial.Update() End Sub #End Region @@ -3536,24 +3536,40 @@ Partial Class OS_OrdenesServicios End Class Protected Sub LnkActualizarUsaurioAtendio_Click(sender As Object, e As EventArgs) - Dim ObjOs As New ClsOS - Dim ProcesoOk As Boolean = True + If DdlUsuarioAtendio.SelectedValue.ToEntero > 0 Then + + Dim ObjOS As New ClsOS + ObjOS.IniciaTransacSQL() + + Dim ProcesoOk As Boolean = True + For Each GvRow As GridViewRow In GvPS.Rows - If Not ObjOs.UpdateOrdenesServiciosAsignadas(GvRow.DataKey("CveOSDetalle").ToEntero, DdlUsuarioAtendio.SelectedValue.ToEntero, MinFecha, DateTime.Parse(MinFecha.ToShortDateString), UsuarioActual.CveEmpresa) Then + If Not ObjOS.UpdateOrdenesServiciosAsignadas(GvRow.DataKey("CveOSDetalle").ToEntero, DdlUsuarioAtendio.SelectedValue.ToEntero, MinFecha, DateTime.Parse(MinFecha.ToShortDateString), UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario) Then ProcesoOk = False - Alert($"Se presento un error al actualizar el técnico.") Exit For End If Next + If ProcesoOk Then - Alert($"Técnico actualizado correctamenrte a {DdlUsuarioAtendio.SelectedItem.Text}.") + ObjOS.Commit() + Else + ObjOS.RollBack() End If + + ObjOS.Dispose() + + If ProcesoOk Then + Alert($"Se presento un error al actualizar el técnico.") + CargaHistorial() + End If + Else Alert("Debe de seleccionar un ténico para actualziar", TipoMensaje.MsgAdvertencia) End If - ObjOs.Dispose() + + End Sub From b842bf042aa7181957a7b345fd6a84ca32ef5b44 Mon Sep 17 00:00:00 2001 From: rrene Date: Fri, 31 May 2024 06:05:38 -0700 Subject: [PATCH 05/11] - nuevo parametro Gastosenvio --- App_Code/ClsClientes.vb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/App_Code/ClsClientes.vb b/App_Code/ClsClientes.vb index 388078978..c1aeb6b22 100644 --- a/App_Code/ClsClientes.vb +++ b/App_Code/ClsClientes.vb @@ -163,6 +163,7 @@ Public Class ClsClientes Public Property UsaProductoAlterno As Boolean = False Public Property EnDemanda As Boolean = False Public Property EnQuebranto As Boolean = False + Public Property GastosEnvio As Decimal = 0 #End Region @@ -417,6 +418,7 @@ Public Class ClsClientes _UsaProductoAlterno = CBool(Data(0)("UsaProductoAlterno")) _EnDemanda = CBool(Data(0)("UsaProductoAlterno")) _EnQuebranto = CBool(Data(0)("EnQuebranto")) + _GastosEnvio = Data(0)("GastosEnvio").ToString.ToDecimal End If Retorno = True @@ -535,7 +537,7 @@ Public Class ClsClientes Optional LT As String = "0", Optional LG As String = "0", Optional EsDistribuidor As Boolean = False, Optional TipoCliente As Integer = 1, Optional CargoUsado As Boolean = False, Optional BonificacionUsado As Boolean = False, Optional CveTipoRetencion As Integer = 0, Optional CorreoEntregaCompras As String = "-1", Optional CorreoEntregaAlmacen As String = "-1", Optional CveSATEstado As Integer = -1, Optional CveAdminTrayecto As Integer = -1, Optional CveRegimenFiscal As Integer = 0, Optional RegimenSociedad As String = "-1", Optional TipoPersona As Boolean = False, Optional RepresentanteLegal As String = "", Optional FechaLimiteCredito As Date = MinFecha, Optional ComExtCalle As String = "-1", Optional ComExtNumExt As String = "-1", Optional ComExtCP As String = "-1", Optional Genero As Boolean = True, Optional CveAlmacenAsignado As Integer = -1, Optional CveAlmacenConsignacion As Integer = -1, Optional CveAlmacenAlterno As Integer = -1, Optional UsaProductoAlterno As Boolean = False, - Optional EnDemanda As Boolean = False, Optional EnQuebranto As Boolean = False) As Boolean + Optional EnDemanda As Boolean = False, Optional EnQuebranto As Boolean = False, Optional GastosEnvio As Decimal = 0) As Boolean Dim Retorno As Boolean = False @@ -669,6 +671,7 @@ Public Class ClsClientes .Add("@UsaProductoAlterno", SqlDbType.Bit).Value = UsaProductoAlterno .Add("@EnDemanda", SqlDbType.Bit).Value = EnDemanda .Add("@EnQuebranto", SqlDbType.Bit).Value = EnQuebranto + .Add("@GastosEnvio", SqlDbType.SmallMoney).Value = GastosEnvio End With Try SqlAdapter.Fill(Data) @@ -715,7 +718,7 @@ Public Class ClsClientes Optional LT As String = "0", Optional LG As String = "0", Optional EsDistribuidor As Boolean = False, Optional TipoCliente As Integer = 1, Optional CargoUsado As Boolean = False, Optional BonificacionUsado As Boolean = False, Optional CveTipoRetencion As Integer = 0, Optional CorreoEntregaCompras As String = "-1", Optional CorreoEntregaAlmacen As String = "-1", Optional CveSATEstado As Integer = -1, Optional CveAdminTrayecto As Integer = -1, Optional NoDesglosaIVA As Boolean = False, Optional CveRegimenFiscal As Integer = 0, Optional RegimenSociedad As String = "-1", Optional TipoPersona As Boolean = False, Optional RepresentanteLegal As String = "", Optional FechaLimiteCredito As Date = MinFecha, Optional ComExtCalle As String = "-1", Optional ComExtNumExt As String = "-1", Optional ComExtCP As String = "-1", Optional Genero As Boolean = True, Optional CveAlmacenAsignado As Integer = -1, Optional CveAlmacenAlterno As Integer = -1, Optional CveAlmacenConsignacion As Integer = -1, Optional UsaProductoAlterno As Boolean = False, - Optional EnDemanda As Boolean = False, Optional EnQuebranto As Boolean = False) As Boolean + Optional EnDemanda As Boolean = False, Optional EnQuebranto As Boolean = False, Optional GastosEnvio As Decimal = 0) As Boolean Dim Retorno As Boolean = False @@ -859,6 +862,7 @@ Public Class ClsClientes .Add("@UsaProductoAlterno", SqlDbType.Bit).Value = UsaProductoAlterno .Add("@EnDemanda", SqlDbType.Bit).Value = EnDemanda .Add("@EnQuebranto", SqlDbType.Bit).Value = EnQuebranto + .Add("@GastosEnvio", SqlDbType.SmallMoney).Value = GastosEnvio End With Try SqlAdapter.Fill(Data) From b143495301d9f4817920ef4778eabb09662391f2 Mon Sep 17 00:00:00 2001 From: rrene Date: Fri, 31 May 2024 06:05:55 -0700 Subject: [PATCH 06/11] - comisiones sms --- App_Code/ClsVentas.vb | 7 +-- Ventas/RepComisionesSMS.aspx | 82 ++++++++++++++++++++++----------- Ventas/RepComisionesSMS.aspx.vb | 30 ++++++++---- 3 files changed, 82 insertions(+), 37 deletions(-) diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb index 6255262da..a90f706f1 100644 --- a/App_Code/ClsVentas.vb +++ b/App_Code/ClsVentas.vb @@ -6899,7 +6899,7 @@ Public Class ClsVentas End Function - Public Function GetComisionesMedicasRep(FechaInicio As Date, FechaFin As Date, CveEmpresa As Integer, CveSubProyecto As Integer, CveProcedimiento As Integer, CveMedico As Integer, CveVendedor As Integer, CveUsuario As Integer, CveTipoVenta As Integer, Opcion As Integer) As Boolean + Public Function GetComisionesMedicasRep(FechaInicio As Date, FechaFin As Date, CveEmpresa As Integer, CveSubProyecto As Integer, CveProcedimiento As Integer, CveMedico As Integer, CveVendedor As Integer, CveUsuario As Integer, CveTipoVenta As Integer, FechaInicioPago As Date, FechaFinPago As Date) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Vta_ComisionesMedicasRepGet") @@ -6914,7 +6914,8 @@ Public Class ClsVentas .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario .Add("@CveTipoVenta", SqlDbType.Int).Value = CveTipoVenta - .Add("@Opcion", SqlDbType.Int).Value = Opcion + .Add("@FechaInicioPago", SqlDbType.Date).Value = FechaInicioPago + .Add("@FechaFinPago", SqlDbType.Date).Value = FechaFinPago End With @@ -6934,7 +6935,7 @@ Public Class ClsVentas #Region "VENTAS MEDICAS COMISIONES ESPECIALES" - Public Function GetComisionesMedicasEsPeciales(CveMedico As Integer, CvePS As Integer, CveEmpresa As Integer) As Boolean + Public Function GetComisionesMedicasEspeciales(CveMedico As Integer, CvePS As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Vta_ComisionesMedicasEspecialesGet") diff --git a/Ventas/RepComisionesSMS.aspx b/Ventas/RepComisionesSMS.aspx index 172a5b8ed..9fce7ed34 100644 --- a/Ventas/RepComisionesSMS.aspx +++ b/Ventas/RepComisionesSMS.aspx @@ -66,8 +66,7 @@
    - Fecha Fin: - + Fecha Fin:
    @@ -84,32 +83,62 @@
    - -
    - - -
    - - -
    - - -
    - - -
    - - -
    - - - +
    + Fecha I. Pago: +
    +
    +
    + + + + +
    + + + + + + +
    +
    + Fecha F. Pago: +
    +
    +
    + + + + +
    + + + + + + +
    @@ -130,7 +159,7 @@ EmptyDataText="No se encontraron Medicos Registrados" ToolTip="Listado de Medicos" CssClass="table table-striped table-advance table-hover Widthall ScrollAD mysmallbtn" GridLines="None"> - + @@ -138,14 +167,15 @@ - - + + + diff --git a/Ventas/RepComisionesSMS.aspx.vb b/Ventas/RepComisionesSMS.aspx.vb index 5ec007988..226514bc9 100644 --- a/Ventas/RepComisionesSMS.aspx.vb +++ b/Ventas/RepComisionesSMS.aspx.vb @@ -2,10 +2,7 @@ Option Strict On Imports System.Data -Imports System.Data.Entity Imports Extensiones -Imports Microsoft.EntityFrameworkCore - Partial Class Ventas_RepComisionesSMS Inherits ClsPaginas @@ -62,10 +59,12 @@ Partial Class Ventas_RepComisionesSMS Public Sub CargaDatos() LnkExportar.Visible = False + Dim FechaIPago As Date = If(TxtFechaIPago.Text.ToDate < MinFecha, MinFecha, TxtFechaIPago.Text.ToDate) + Dim FechaFPago As Date = If(TxtFechaFPago.Text.ToDate < MinFecha, MaxFecha, TxtFechaFPago.Text.ToDate) Dim ObjVentas As New ClsVentas - If ObjVentas.GetComisionesMedicasRep(txtFechaI.Text.ToDate, txtFechaF.Text.ToDate, UsuarioActual.CveEmpresa, -1, -1, DdlMedico.SelectedValue.ToEntero, DdlVendedor.SelectedValue.ToEntero, DdlUsuarioAtendio.SelectedValue.ToEntero, -1, 1) Then + If ObjVentas.GetComisionesMedicasRep(txtFechaI.Text.ToDate, txtFechaF.Text.ToDate, UsuarioActual.CveEmpresa, -1, -1, DdlMedico.SelectedValue.ToEntero, DdlVendedor.SelectedValue.ToEntero, DdlUsuarioAtendio.SelectedValue.ToEntero, -1, FechaIPago, FechaFPago) Then GvDatos.DataSource = ObjVentas.DtResultados If ObjVentas.DtResultados IsNot Nothing AndAlso ObjVentas.DtResultados.Rows.Count > 0 Then @@ -76,9 +75,10 @@ Partial Class Ventas_RepComisionesSMS End If ObjVentas.Dispose() - GvDatos.DataBind() + If UsuarioActual.CveVendedor = 0 Then GvDatos.Columns(15).Visible = True 'columna de comisiones de gerente + UpDatos.Update() End Sub @@ -270,7 +270,7 @@ Partial Class Ventas_RepComisionesSMS Dim ObjVentas As New ClsVentas GvComisionesEspeciales.DataSource = Nothing - If ObjVentas.GetComisionesMedicasEsPeciales(-1, -1, UsuarioActual.CveEmpresa) Then + If ObjVentas.GetComisionesMedicasEspeciales(-1, -1, UsuarioActual.CveEmpresa) Then GvComisionesEspeciales.DataSource = ObjVentas.DtResultados End If ObjVentas.Dispose() @@ -345,7 +345,12 @@ Partial Class Ventas_RepComisionesSMS Dim ObjVentas As New ClsVentas If ObjVentas.AddComisionesMedicasEspeciales(DdlModalMedico.SelectedValue.ToEntero, DdlModalPS.SelectedValue.ToEntero, DdlModalTipoComision.SelectedValue.ToEntero, Comision, UsuarioActual.CveUsuario) Then - Alert("Comisión agregada correctamente") + Alert("Comisión agregada correctamente", TipoMensaje.ToastInformacion) + DdlModalPS.SelectedValue = "-1" + DdlModalPS.SelectedValue = "" + DdlModalPS.SelectedText = "" + TxtModalComision.Text = "" + DdlModalPS.Focus() Else errorProceso = True End If @@ -354,7 +359,16 @@ Partial Class Ventas_RepComisionesSMS If Not errorProceso Then CargaComisionesEspeciales() - ReiniciaModalComisionesEspeciales() + 'ReiniciaModalComisionesEspeciales() + End If + + End Sub + + Private Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatos.RowDataBound + If e.Row.RowType = DataControlRowType.DataRow Then + If e.Row.DBCampo("SerieFolio") = "" Then + e.Row.CssClass = "SubTotales" + End If End If End Sub From 2d83c61f88ba3453cf730a4ffb809f7b6dbbd1b4 Mon Sep 17 00:00:00 2001 From: rrene Date: Fri, 31 May 2024 06:06:25 -0700 Subject: [PATCH 07/11] - registro de caja. cuando no hay facturas. --- Bancos/DepositosCaja.aspx | 10 +++++----- Bancos/DepositosCaja.aspx.vb | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Bancos/DepositosCaja.aspx b/Bancos/DepositosCaja.aspx index 518ea5655..b24b9059c 100644 --- a/Bancos/DepositosCaja.aspx +++ b/Bancos/DepositosCaja.aspx @@ -628,14 +628,14 @@ function txtSumaCuentaRetorno(txt) { debugger; var comision2 = ToDouble($('#C_TxtCuentaRetorno').val()); - if (comision2 > ValorTotalSeleccionado) { - $('#C_TxtCuentaRetorno').val(descuento) - alert("No es posible poner un IVA superior a lo seleccionado") - } else { + //if (comision2 > ValorTotalSeleccionado) { + // $('#C_TxtCuentaRetorno').val(descuento) + // alert("No es posible poner un IVA superior a lo seleccionado") + //} else { saldo = ValorTotalSeleccionado - comision2 + comision - IVA - ComisionIntermediario; $('#C_lblValorTotal').text(FormatoNumero(saldo, 2)); descuento = ToDouble($('#C_TxtCuentaRetorno').val()) - } + //} } diff --git a/Bancos/DepositosCaja.aspx.vb b/Bancos/DepositosCaja.aspx.vb index 2f1a1fdcd..c3e8473b4 100644 --- a/Bancos/DepositosCaja.aspx.vb +++ b/Bancos/DepositosCaja.aspx.vb @@ -172,13 +172,13 @@ Partial Class Bancos_DepositosCaja Exit Sub End If - + Dim tContador As Integer = 0 For Each Gvr As GridViewRow In GvFacturas.Rows If Gvr.FCCheckBox("ChkFactura").Checked Then TotalImporte += Gvr.DataKey("Importe").ToDecimal Next - If TotalImporte = 0 Then - Alert("Seleccion una factura para realizar el depósito", TipoMensaje.MsgAdvertencia) + If TotalImporte = 0 AndAlso CuentaRetorno <> 0 Then + Alert("Seleccione una factura para realizar el depósito", TipoMensaje.MsgAdvertencia) Exit Sub End If From 36c9f5cc2783cb07da6c84ab528e2255a0ce7023 Mon Sep 17 00:00:00 2001 From: rrene Date: Fri, 31 May 2024 06:06:44 -0700 Subject: [PATCH 08/11] - cambio tipopago --- UserControl/AddMedico.ascx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/UserControl/AddMedico.ascx b/UserControl/AddMedico.ascx index 1a23f6140..9bfc9480e 100644 --- a/UserControl/AddMedico.ascx +++ b/UserControl/AddMedico.ascx @@ -147,11 +147,11 @@
    - - 15d próximo mes - 15d próxima quincena + 15d pago a 30d + 15d pago a 15d 7d pago inmediato 2d 15d pago inmediato - 30d próxima quincena + 30d pago a 15d
    From d52f844264268eaaede9f03da32e82340bbaea7d Mon Sep 17 00:00:00 2001 From: rrene Date: Fri, 31 May 2024 06:07:05 -0700 Subject: [PATCH 09/11] -- redondeo de comparativo --- OC/OC.aspx.vb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/OC/OC.aspx.vb b/OC/OC.aspx.vb index 168218ffe..3a7c3dc60 100644 --- a/OC/OC.aspx.vb +++ b/OC/OC.aspx.vb @@ -2313,9 +2313,9 @@ Partial Class OC_OC If IEPSPSIVA > 0 Then TotalGravado = Total * (1 + IEPSPSIVA) 'grava para iva, el importe del IEPS dr("IVA") = Math.Round(dr("IVAPorcentaje").ToString.ToDecimal * TotalGravado, 2) dr("RetIVAPorcentaje") = RetIVA - dr("RetIVA") = (RetIVA * Total).RoundSQL(6) + dr("RetIVA") = (RetIVA * Total).RoundSQL(2) dr("RetISRPorcentaje") = RetISR - dr("RetISR") = (RetISR * Total).RoundSQL(6) + dr("RetISR") = (RetISR * Total).RoundSQL(2) dr("CveClasificacion") = CveClasificacion dr("UM") = UM dr("Clasificacion") = Clasificacion @@ -3327,7 +3327,7 @@ Partial Class OC_OC Dim SubTotalRetIVA As Decimal = DtDetalle.SUMD("RetIVA") Dim SubTotalRetISR As Decimal = DtDetalle.SUMD("RetISR") - Dim Total As Decimal = (Subtotal - Descuento + IVA + SubTotalIEPS - SubTotalRetIVA - SubTotalRetISR) + Dim Total As Decimal = (Subtotal - Descuento + IVA + SubTotalIEPS - SubTotalRetIVA - SubTotalRetISR).RoundSQL(2) Dim Diferencia As Decimal = (Total - LblTotal.Text.ToDecimal).RoundSQL(2) If Math.Abs(Diferencia) > 0 Then From 3fe6e4a0edc2b6d919d8606f9ae80b89efa7dfae Mon Sep 17 00:00:00 2001 From: rakcsle Date: Fri, 31 May 2024 12:54:29 -0700 Subject: [PATCH 10/11] RegPrePolizas se vacio Grid al editar pre poliza ya creada --- Compras/Compras.aspx.vb | 6 +++--- Contabilidad/RegPrePolizaS.aspx.vb | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index ef294b50b..c0c464012 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -9780,7 +9780,7 @@ Partial Class Compras_Compras - + Dim TCAnt As Decimal = If(DdlMoneda.SelectedValue = "1", 1, If(CveCompra > 0, LblTC.Text.ToDecimal, TxtTC.Text.ToDecimal)) If UsuarioActual.Empresa.CveEmpresa.Contiene(13, 83) Then @@ -9792,7 +9792,7 @@ Partial Class Compras_Compras e.Row.DBCampo("CveMoneda"), e.Row.DBCampo("TCCompra").ToDouble, DdlMoneda.SelectedValue, - IIf(DdlMoneda.SelectedValue = "1", 1, TxtTC.Text), + TCAnt, e.Row.FCTextBox("TxtComision").ClientID )) 'SI ES UNA COMPRA NUEVA SE PONE EL TOTAL, SI NO EL SALDO @@ -9824,7 +9824,7 @@ Partial Class Compras_Compras e.Row.DBCampo("CveMoneda"), e.Row.DBCampo("TCCompra").ToDouble, DdlMoneda.SelectedValue, - IIf(DdlMoneda.SelectedValue = "1", 1, TxtTC.Text) + TCAnt )) 'SI ES UNA COMPRA NUEVA SE PONE EL TOTAL, SI NO EL SALDO e.Row.FCTextBox("TxtAnticipo").Attributes.Add("onKeyUp", String.Format("FnCambiaAnt({0},this,{1},{2},{3},{4},{5});", diff --git a/Contabilidad/RegPrePolizaS.aspx.vb b/Contabilidad/RegPrePolizaS.aspx.vb index ab4a57400..07148d380 100644 --- a/Contabilidad/RegPrePolizaS.aspx.vb +++ b/Contabilidad/RegPrePolizaS.aspx.vb @@ -1690,7 +1690,7 @@ Partial Class ContabilidadC_RegPrePolizaS End If - If DdlPlantilla.SelectedValue.ToEntero <> 53 Then + If DdlPlantilla.SelectedValue.ToEntero <> 53 And Not CvePrePoliza > 0 Then Dim x As Integer = 0 For Each gvRow As GridViewRow In GvMov.Rows @@ -1769,7 +1769,7 @@ Partial Class ContabilidadC_RegPrePolizaS DtMovimientos.AcceptChanges() - If DdlPlantilla.SelectedValue.ToEntero <> 53 Then + If DdlPlantilla.SelectedValue.ToEntero <> 53 And Not CvePrePoliza > 0 Then GvMov.DataSource = DtMovimientos GvMov.DataBind() GvPrePoliza.DataBind() From 1a675098036e178de008b133b8ce6ac4134ee850 Mon Sep 17 00:00:00 2001 From: rakcsle Date: Fri, 31 May 2024 16:01:44 -0700 Subject: [PATCH 11/11] Candado de depositos de caja. no permitir si hay pendientes de pagar. --- Bancos/DepositosCaja.aspx.vb | 59 ++++++++++++++++++++++++++++++++++-- 1 file changed, 57 insertions(+), 2 deletions(-) diff --git a/Bancos/DepositosCaja.aspx.vb b/Bancos/DepositosCaja.aspx.vb index c3e8473b4..e99be126b 100644 --- a/Bancos/DepositosCaja.aspx.vb +++ b/Bancos/DepositosCaja.aspx.vb @@ -157,6 +157,11 @@ Partial Class Bancos_DepositosCaja Private Sub BtnDepositar_Click(sender As Object, e As EventArgs) Handles BtnDepositar.Click + + If Not Validaciones() Then + Exit Sub + End If + Dim TotalImporte As Decimal = 0 Dim TotalImportePrePoliza As Decimal Dim Comision As Decimal = TxtComision.Text.ToDecimal @@ -465,8 +470,58 @@ Partial Class Bancos_DepositosCaja lblValorTotalSeleccionado.Text = "0.0" CargaDatos() ObjConta.Dispose() - End Sub - + End Sub + + Private Function Validaciones() As Boolean + + Dim Respuesta As Boolean = True + + If Not ValidaCobranza() Then + Respuesta = False + End If + + Return Respuesta + + End Function + + + Private Function ValidaCobranza() As Boolean + Dim Respuesta As Boolean = False + + If UsuarioActual.CveEmpresa.Contiene(195) Then + + Dim ObjMovtos As New ClsMovimientos() + Dim FechaI, FechaF As Date + FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim().ToDate, MinFecha) + FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim().ToDate, MaxFecha).AddDays(1) + + If ObjMovtos.GetRemisionesCobranza(UsuarioActual.CveEmpresa, DdlSubProyectos.SelectedValue.ToEntero, FechaI, FechaF) Then + Dim dtt As DataTable = ObjMovtos.DtResultados.FiltraParametros($"CveVenta > 0 AND (CveUsuarioCobranza IS NULL OR CveUsuarioCobranza = {UsuarioActual.CveUsuario}) AND TipoDocto IN ('Ing','Rem')") + 'Dim Dtta As DataTable = dtt.FiltraParametros($"CveUsuarioCobranza = {UsuarioActual.CveUsuario} ") + 'If Dtta IsNot Nothing AndAlso Dtta.Rows.Count > 0 Then dtt = Dtta + + If dtt.Rows.Count = 0 Then + Respuesta = True + Else + Respuesta = False + Alert("Se detectaron cobros pendientes.", TipoMensaje.MsgAdvertencia) + End If + + Else + Alert("Error al consultarcobros pendientes.", TipoMensaje.MsgAdvertencia) + Respuesta = False + End If + + ObjMovtos.Dispose() + + Else + Respuesta = True + End If + + Return Respuesta + End Function + + Private Sub ObtenerTotalImporta() Dim Total As Double = 0