diff --git a/App_Code/ClsNominas.vb b/App_Code/ClsNominas.vb index 767eee53e..a0c3a75fc 100644 --- a/App_Code/ClsNominas.vb +++ b/App_Code/ClsNominas.vb @@ -3264,8 +3264,46 @@ Public Class ClsNominas Return retorno End Function #End Region + Public Function GetConfiguracionNom(CveEmpresa As Int32, periodo As Integer) As Boolean + Dim retorno As Boolean = False + DataAdapter("PA_ConfiguracionNomGet", CommandType.StoredProcedure) + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@Periodo", SqlDbType.Int).Value = periodo + End With + Try + SqlAdapter.Fill(Data) + retorno = True + Catch sqEx As SqlException + retorno = False + OnError("Ocurrió un error al obtener los Movtos Permanentes.", sqEx, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + Catch ex As Exception + retorno = False + OnError("Ocurrió un error al obtener los Movtos Permanentes.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return retorno + End Function #Region "MovtosPermanentes" + Public Function GetMovtoPermanenteRep(CveEmpresa As Int32, CvePersonal As Integer) As Boolean + Dim retorno As Boolean = False + DataAdapter("PA_GetMovtoPermanenteRep", CommandType.StoredProcedure) + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal + End With + Try + SqlAdapter.Fill(Data) + retorno = True + Catch sqEx As SqlException + retorno = False + OnError("Ocurrió un error al obtener los Movtos Permanentes.", sqEx, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + Catch ex As Exception + retorno = False + OnError("Ocurrió un error al obtener los Movtos Permanentes.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return retorno + End Function Public Function GetMovtoPermanente(CveEmpresa As Int32, CvePersonal As Integer) As Boolean Dim retorno As Boolean = False DataAdapter("PA_GetMovtoPermanente", CommandType.StoredProcedure) @@ -3305,7 +3343,7 @@ Public Class ClsNominas End Try Return retorno End Function - Public Function AddMovtoPermanente(cveConcepto As Int32, cvePersonal As Int32, descripcion As String, tipoDescuento As Int32, valor As Double, vecesAplicar As Int32, montoLimite As Decimal, fechaInicioAplicacion As Date, estatus As Boolean, CveCuenta As Integer, Optional CveIE As Integer = -1) As Integer + Public Function AddMovtoPermanente(cveConcepto As Int32, cvePersonal As Int32, descripcion As String, tipoDescuento As Int32, valor As Double, vecesAplicar As Int32, montoLimite As Decimal, fechaInicioAplicacion As Date, estatus As Boolean, CveCuenta As Integer, Optional CveIE As Integer = -1, Optional EsAcumulado As Integer = 0) As Integer Dim retorno As Integer = 0 DataAdapter("PA_AddMovtoPermanente", CommandType.StoredProcedure) @@ -3321,6 +3359,7 @@ Public Class ClsNominas .Add("@estatus", SqlDbType.Bit).Value = (estatus) .Add("@CveCuenta", SqlDbType.Int).Value = (CveCuenta) .Add("@CveIE", SqlDbType.Int).Value = (CveIE) + .Add("@EsAcumulado", SqlDbType.Int).Value = (EsAcumulado) .Add("@CveMovtoPermanente", SqlDbType.Int).Direction = ParameterDirection.Output End With Try @@ -3335,7 +3374,7 @@ Public Class ClsNominas End Try Return retorno End Function - Public Function UpMovtoPermanente(cveMovtoPermanente As Int32, cveConcepto As Int32, cvePersonal As Int32, descripcion As String, tipoDescuento As Int32, valor As Double, vecesAplicar As Int32, montoLimite As Decimal, fechaInicioAplicacion As Date, estatus As Boolean, CveCuenta As Integer) As Boolean + Public Function UpMovtoPermanente(cveMovtoPermanente As Int32, cveConcepto As Int32, cvePersonal As Int32, descripcion As String, tipoDescuento As Int32, valor As Double, vecesAplicar As Int32, montoLimite As Decimal, fechaInicioAplicacion As Date, estatus As Boolean, CveCuenta As Integer, Optional EsAcumulado As Integer = -1) As Boolean Dim retorno As Boolean = False DataAdapter("PA_UpMovtoPermanente", CommandType.StoredProcedure) With SqlAdapter.SelectCommand.Parameters @@ -3350,6 +3389,7 @@ Public Class ClsNominas .Add("@fechaInicioAplicacion", SqlDbType.Date).Value = (fechaInicioAplicacion) .Add("@estatus", SqlDbType.Bit).Value = (estatus) .Add("@CveCuenta", SqlDbType.Int).Value = (CveCuenta) + .Add("@EsAcumulado", SqlDbType.Int).Value = (EsAcumulado) End With Try SqlAdapter.Fill(Data) diff --git a/App_Code/ClsOC.vb b/App_Code/ClsOC.vb index aca7aa3b2..3fb0c1389 100644 --- a/App_Code/ClsOC.vb +++ b/App_Code/ClsOC.vb @@ -1143,13 +1143,14 @@ Public Class ClsOC Return Retorno End Function - Public Function GetOrdenesDetalle(pCveOrdenCompra As Integer) As Boolean + Public Function GetOrdenesDetalle(CveOrdenCompra As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_OC_OrdenesCompraDetalleGet") With SqlAdapter.SelectCommand.Parameters - .Add("@CveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra + .Add("@CveOrdenCompra", SqlDbType.Int).Value = CveOrdenCompra + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa End With Try diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index 4691356e8..a0acde0b9 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -1331,7 +1331,7 @@ Public Class ClsPaginas HttpContext.Current.Application(AppNombre) = value End Set End Property - Public Shared Property GlobalDTUnidadesMedida(Optional CveEmpresa As Integer = -1) As DataTable + Public Shared Property GlobalDTUnidadesMedida(CveEmpresa As Integer) As DataTable Get Dim AppNombre As String = $"GlobalDTUnidadesMedida-{CveEmpresa}" 'sino existe, recarga los datos @@ -1347,7 +1347,7 @@ Public Class ClsPaginas HttpContext.Current.Application(AppNombre) = value End Set End Property - Property GlobalDTUnidadesMedidaAlias(Optional CveEmpresa As Integer = -1) As DataTable + Property GlobalDTUnidadesMedidaAlias(CveEmpresa As Integer) As DataTable Get Dim AppNombre As String = $"GlobalDTUnidadesMedidaAlias-{CveEmpresa}" 'sino existe, recarga los datos @@ -2411,7 +2411,7 @@ Public Class ClsPaginas End Set End Property - Property GlobalDTTipoVenta(Optional CveEmpresa As Integer = -1) As DataTable + Property GlobalDTTipoVenta(CveEmpresa As Integer) As DataTable Get Dim AppNombre As String = $"GlobalDTTipoVenta-{CveEmpresa}" 'sino existe, recarga los datos @@ -4426,7 +4426,7 @@ Public Class ClsPaginas HttpContext.Current.Application(AppNombre) = value End Set End Property - Public Shared Property GlobalDTVtaCondicionesEntrega(Optional CveEmpresa As Integer = -1) As DataTable + Public Shared Property GlobalDTVtaCondicionesEntrega(CveEmpresa As Integer) As DataTable Get Dim AppNombre As String = $"GlobalDTVtaCondicionesEntrega-{CveEmpresa}" 'sino existe, recarga los datos @@ -7725,7 +7725,7 @@ Public Class ClsPaginas End If ObjEmpresa.Dispose() Dim dtOC As DataTable = ObjOC.DtResultados - If ObjOC.GetOrdenesDetalle(ObjOC.CveOrdenCompra) Then 'Obtenemos el Detalle de la Oorden de Compra + If ObjOC.GetOrdenesDetalle(ObjOC.CveOrdenCompra, ObjOC.CveEmpresa) Then 'Obtenemos el Detalle de la Oorden de Compra DtDetalle = ObjOC.DtResultados End If @@ -7795,15 +7795,9 @@ Public Class ClsPaginas params.Add(New ReportParameter("SubProyectoEntregaDir", SubProyectoEntregaDir)) End If - End If - - End If - - - Dim CveUsuarioSol As Integer = dtOC(0)("CveUsuarioSolicito").ToString.ToEntero Dim CveUsuarioAut As Integer = dtOC(0)("CveUsuarioAutorizo").ToString.ToEntero Dim drSol As DataRow = GlobalDTUsuarios(CveUsuarioSol, EmpresaActual.CveEmpresa).FiltroPrimero("") 'DataRow (incluye el NOMBRE de quien SOLICITÓ la OC) @@ -8141,6 +8135,7 @@ Public Class ClsPaginas Return Nothing End If Dim CveNomina As Integer = ObjNomina.CveNomina + Dim RFCPackCertifica As String = "" Dim DTPercepciones As Data.DataTable Dim DTDeducciones As Data.DataTable Dim DTDeducciones2 As New Data.DataTable @@ -8171,8 +8166,18 @@ Public Class ClsPaginas If System.IO.File.Exists(PathXML) Then Dim XmlDoc As New System.Xml.XmlDocument 'XmlDoc.Load(Ruta & "XML\\Nomina\NOM A-3845.xml") + + Dim timbreFiscal = (XDocument.Load(PathXML)).Descendants(). + Where(Function(e) e.Name.LocalName = "TimbreFiscalDigital"). + FirstOrDefault() + + If timbreFiscal IsNot Nothing Then + RFCPackCertifica = timbreFiscal.Attribute("RfcProvCertif")?.Value + Else + End If 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 @@ -8414,6 +8419,10 @@ Public Class ClsPaginas Dim Archivo As New System.IO.FileInfo(RutaFormato) If Not TieneError Then If Archivo.Exists Then + If Extensiones.ModExtensiones.HasReportParameter(RutaFormato, "RFCPackCertifica") Then + RptParametro.Add(New ReportParameter("RFCPackCertifica", RFCPackCertifica)) + + End If 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 @@ -10423,8 +10432,9 @@ Public Class ClsPaginas PaginaDict.Add("/Nomina/PreNominaHistorial.aspx".ToUpper(), 148) PaginaDict.Add("/Nomina/RepPreNomina.aspx".ToUpper(), 74) PaginaDict.Add("/Nomina/Nomina.aspx".ToUpper(), 75) - PaginaDict.Add("/Nomina/NominaB.aspx".ToUpper(), 75) - PaginaDict.Add("/Nomina/Nomina2.aspx".ToUpper(), 75) + PaginaDict.Add("/Nomina/Configuracion.aspx".ToUpper(), 1135) + PaginaDict.Add("/Nomina/RepMovtosPermanentes.aspx".ToUpper(), 1136) + PaginaDict.Add("/Nomina/ReportedeAcumulados.aspx".ToUpper(), 75) PaginaDict.Add("/Nomina/ListaAsistencias.aspx".ToUpper(), 91) PaginaDict.Add("/Nomina/CatConceptos.aspx".ToUpper(), 172) diff --git a/App_Code/modExtensiones.vb b/App_Code/modExtensiones.vb index 10d354956..4e5d0a0fb 100644 --- a/App_Code/modExtensiones.vb +++ b/App_Code/modExtensiones.vb @@ -30,6 +30,7 @@ Namespace Extensiones #Region "E X T E N S I O N E S" Public Module ModExtensiones + Public ReadOnly Property foreign_characters As Dictionary(Of String, String) Get Dim fgk As Dictionary(Of String, String) = New Dictionary(Of String, String) From { @@ -3771,6 +3772,20 @@ Namespace Extensiones text = str.Replace("&", "&") Return text + End Function + + + Function HasReportParameter(reportPath As String, parameterName As String) As Boolean + ' Leer el archivo .rdlc como XML + Dim rdlcDoc As XDocument = XDocument.Load(reportPath) + + ' Buscar el parámetro en el XML + Dim parameters = From e In rdlcDoc.Descendants() + Where e.Name.LocalName = "ReportParameter" + Select e.Attribute("Name").Value + + ' Verificar si existe el parámetro RFCPackCertifica + Return parameters.Contains(parameterName) End Function End Module #End Region diff --git a/Bancos/IE.aspx b/Bancos/IE.aspx index 16ab112f6..37fce5bfc 100644 --- a/Bancos/IE.aspx +++ b/Bancos/IE.aspx @@ -250,15 +250,7 @@ - -
- - -
+
@@ -377,7 +369,14 @@
- +
+ + +
diff --git a/Bancos/RepProgramarRecursos.aspx.vb b/Bancos/RepProgramarRecursos.aspx.vb index 9d85caa3c..dfdd7142d 100644 --- a/Bancos/RepProgramarRecursos.aspx.vb +++ b/Bancos/RepProgramarRecursos.aspx.vb @@ -191,7 +191,7 @@ Partial Class Bancos_RepProgramarRecursos Dim CveProy As Integer = GlobalDTSubProyectos(UsuarioActual.CveEmpresa, CveSubProyecto:=CveSubProyecto).FiltroPrimeroValor("CveProyecto").ToEntero DdlSubProyecto.SelectedValue = CveSubProyecto.ToString - DdlSubProyecto.DataSource = GlobalDTSubProyectos(CveProy, UsuarioActual.CveEmpresa, -1, 1) + DdlSubProyecto.DataSource = GlobalDTSubProyectos(UsuarioActual.CveEmpresa, CveProyecto:=CveProy) DdlSubProyecto.DataBind() End If diff --git a/Compras/Compras.aspx b/Compras/Compras.aspx index b7975235e..8a87f6cbb 100644 --- a/Compras/Compras.aspx +++ b/Compras/Compras.aspx @@ -1885,10 +1885,10 @@
- + - - + + @@ -1896,7 +1896,7 @@
- +
Clasificación diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index e178be666..73fb13dfd 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -1647,15 +1647,10 @@ Partial Class Compras_Compras DdlTipoComprobante.SelectedValueExist("DEV") End If - - If UsuarioActual.Empresa.Funcionalidad(574).ToEntero = 1 AndAlso DdlTipoComprobante.SelectedValue = "NC" Then - - ConfiguraseleccionRemisionNotaCredito() - End If End If @@ -7693,7 +7688,6 @@ Partial Class Compras_Compras End If End If - If Not TieneError Then ObjCompras.Commit() If ObjContaAC IsNot Nothing Then ObjContaAC.Commit() @@ -7735,7 +7729,7 @@ Partial Class Compras_Compras Else ObjCompras.RollBack() If ObjContaAC IsNot Nothing Then ObjContaAC.RollBack() - Alert("Ocurrio un error al guardar la compra. Por favor intente nuevamente.", TipoMensaje.MsgError) + Alert("Ocurrio un error al guardar la compra. Por favor intente nuevamente..", TipoMensaje.MsgError) End If @@ -10669,7 +10663,7 @@ Partial Class Compras_Compras 'RegistraScript(String.Format("$get('TxtOC').value = '{0}';tb_remove;", OC.Folio)) RegistraScript("tb_remove();") - If OC.GetOrdenesDetalle(CveOC) Then + If OC.GetOrdenesDetalle(CveOC, UsuarioActual.CveEmpresa) Then dt = OC.DtResultados End If End If @@ -11087,7 +11081,7 @@ Partial Class Compras_Compras Dim CveProyecto As Integer = If(gvRow.FCDropDownList("DdlProyectoPersonal").SelectedValue.ToEntero > 0, gvRow.FCDropDownList("DdlProyectoPersonal").SelectedValue.ToEntero, -1) gvRow.FCDropDownList("DdlSubProyectoPersonal").Items.Clear() If CveProyecto > 0 Or UsuarioActual.Empresa.Tipo_CentroCosto.Contiene(1, 2) Then - gvRow.FCDropDownList("DdlSubProyectoPersonal").DataSource = If(UsuarioActual.Empresa.Funcionalidad(102) = "1" AndAlso Not UsuarioActual.TienePermisoProceso(110), GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, CveProyecto, UsuarioActual.CveEmpresa, -1, 1), GlobalDTSubProyectos(CveProyecto, -1, UsuarioActual.CveEmpresa, 1)) + gvRow.FCDropDownList("DdlSubProyectoPersonal").DataSource = If(UsuarioActual.Empresa.Funcionalidad(102) = "1" AndAlso Not UsuarioActual.TienePermisoProceso(110), GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, CveProyecto, UsuarioActual.CveEmpresa, -1, 1), GlobalDTSubProyectos(UsuarioActual.CveEmpresa, CveProyecto:=CveProyecto)) End If gvRow.FCDropDownList("DdlSubProyectoPersonal").DataBind() gvRow.FCDropDownList("DdlSubProyectoPersonal").Items.Insert(0, New ListItem("Seleccione", "-1")) @@ -11143,7 +11137,7 @@ Partial Class Compras_Compras e.Row.FCDropDownList("DdlSubProyectoPersonal").DataSource = If(UsuarioActual.Empresa.Funcionalidad(102) = "1" AndAlso Not UsuarioActual.TienePermisoProceso(110), GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, e.Row.DBCampo("CveProyecto").ToEntero, UsuarioActual.CveEmpresa, -1, 1), - GlobalDTSubProyectos(e.Row.DBCampo("CveProyecto").ToEntero, -1, UsuarioActual.CveEmpresa, 1)) + GlobalDTSubProyectos(UsuarioActual.CveEmpresa, CveProyecto:=e.Row.DBCampo("CveProyecto").ToEntero)) End If e.Row.FCDropDownList("DdlSubProyectoPersonal").Items.Insert(0, New ListItem("Seleccione", "-1")) e.Row.FCDropDownList("DdlSubProyectoPersonal").DataBind() @@ -13491,7 +13485,7 @@ Partial Class Compras_Compras CargaGVsAF() CargaTipoCentroCostoOC() - GvOC1.DataSource = DTOCTemp + GvOC1.DataSource = DTOCTemp.FiltraParametros("", "CodigoPS") Dim DTCVEOCS As DataTable = DTOCTemp.FiltraParametros("", "", {"CveOrdenCompra"}) If DTCVEOCS IsNot Nothing AndAlso DTCVEOCS.Rows.Count > 1 Then @@ -13502,7 +13496,7 @@ Partial Class Compras_Compras GvOC1.DataBind() ' TmpDT = OrdenarTablas("CvePS", DTOCTemp, TmpDT) - GvOC2.DataSource = TmpDT + GvOC2.DataSource = TmpDT.FiltraParametros("", "CodigoPS") GvOC2.DataBind() UpGvOC1.Update() @@ -14341,7 +14335,7 @@ Partial Class Compras_Compras Dim StrPromos As New StringBuilder For Each CveOCItem As String In ArrayCveOC.Distinct - If ObjOC.GetOrdenesDetalle(CveOCItem.ToEntero) AndAlso ObjOC.DtResultados.Rows.Count > 0 Then + If ObjOC.GetOrdenesDetalle(CveOCItem.ToEntero, UsuarioActual.CveEmpresa) AndAlso ObjOC.DtResultados.Rows.Count > 0 Then If IsNothing(DTOCTemp) Then DTOCTemp = ObjOC.DtResultados.Copy Else @@ -14547,24 +14541,10 @@ Partial Class Compras_Compras CargaTipoCentroCostoOC() - GvOC1.DataSource = DTOCGV + GvOC1.DataSource = DTOCGV.FiltraParametros("", "CveOrdenCompra, CodigoPS") GvOC1.DataBind() - 'PROCESO DE ASIGNACION DE CANTIDAD DEPENDIENDO DEL NoIdentificacion DEL XML Y EL NumeroParte DEL PRODUCTO - If UsuarioActual.Empresa.Funcionalidad(382).ToEntero > 0 Then - For Each Gvr As GridViewRow In GvOC1.Rows - Dim Change As Boolean = False - For Each Dr2 As DataRow In TmpDT.Rows - If Gvr.DataKey("NumeroParte").ToString = Dr2("NoIdentificacion").ToString() Then - Gvr.FCTextBox("TxtCantidad").Text = Dr2("Cantidad").ToString - Change = True - End If - Next - If Not Change Then - Gvr.FCTextBox("TxtCantidad").Text = "0" - End If - Next - End If + Dim DTCVEOGV As DataTable = DTOCGV.FiltraParametros("", "", {"CveOrdenCompra"}) If DTCVEOGV.Rows.Count > 1 Then @@ -14578,14 +14558,43 @@ Partial Class Compras_Compras RegistraScript($"CalculaTotalOCEdit('{ gvr.DataKey("PS").Replace("'", "").Replace(vbLf, " ").Replace(vbCrLf, " ") }', {gvr.DataKey("Cantidad").ToString.ToDouble}, {gvr.FCTextBox("TxtCantidad").ClientID}, {gvr.FCTextBox("TxtPU").ClientID}, {gvr.FCTextBox("TxtTotalOC1").ClientID}, {gvr.DataKey("IEPSPS").ToString.ToDouble},{gvr.FCHiddenField("HdnOC1IEPSImporte").ClientID}, {gvr.DataKey("IVA").ToString.ToDouble},{gvr.FCHiddenField("HdnOC1IVA").ClientID},{gvr.DataKey("RetIVA").ToString.ToDouble},{gvr.FCHiddenField("HdnOC1RetIVA").ClientID},{gvr.DataKey("RetISR").ToString.ToDouble},{gvr.FCHiddenField("HdnOC1RetISR").ClientID},{gvr.DataKey("IEPSPS").ToString.ToDouble},{gvr.FCHiddenField("HdnOC1IEPSIVA").ClientID},{gvr.DataKey("Descuento")},{gvr.FCHiddenField("HdnOC1Descuento").ClientID},{gvr.DataKey("IVAPorcentaje").ToString.ToDouble},{gvr.DataKey("RetIVAPorcentaje").ToString.ToDouble},{gvr.DataKey("RetISRPorcentaje").ToString.ToDouble},{gvr.DataKey("IEPSPSPorcentaje").ToString.ToDouble},{gvr.DataKey("IEPSPSIVAPorcentaje").ToString.ToDouble});", $"Gv{Cont}") Cont += 1 Next - UpGvOC1.Update() - - TmpDT = TmpDT.FiltraParametros("", "PU") - + TmpDT = TmpDT.FiltraParametros("", "CodigoPS") GvOC2.DataSource = TmpDT GvOC2.DataBind() + + 'PROCESO DE ASIGNACION DE CANTIDAD DEPENDIENDO DEL NoIdentificacion DEL XML Y EL NumeroParte DEL PRODUCTO + If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then + For Each Gvr As GridViewRow In GvOC1.Rows + Dim Change As Boolean = False + For Each Dr2 As DataRow In TmpDT.Rows + If Gvr.DataKey("NumeroParte").ToString = Dr2("NoIdentificacion").ToString() Then + Gvr.FCTextBox("TxtCantidad").Text = Dr2("Cantidad").ToString + Change = True + End If + Next + If Not Change Then + Gvr.FCTextBox("TxtCantidad").Text = "" + End If + Next + 'detectar los ps que no están en la OC, códigos que no están en la OC + 'mostrar los ps que no están en la oc + Dim strMsg As New StringBuilder + For Each Gvr As GridViewRow In GvOC2.Rows + Dim i As Integer = DTOCGV.FiltraParametros($"CvePS = '{Gvr.DataKey("CvePS")}'").Rows.Count + If i = 0 Then + strMsg.AppendFormat("- {0}
", Gvr.DataKey("CodigoPS")) + Gvr.BackColor = Drawing.Color.Red + End If + Next + If strMsg.Length > 0 Then Alert("Los siguientes productos facturados no están en la Orden de compra
" & strMsg.ToString, TipoMensaje.MsgAdvertencia) + + 'condicion temporal rmf + GvOC1.Columns(6).Visible = False + GvOC2.Columns(4).Visible = False + End If + UpGvOC2.Update() End Sub Protected Sub GvOC1_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvOC1.RowDataBound @@ -17195,7 +17204,7 @@ Partial Class Compras_Compras CveProyecto = -1 End If - DdlSubProyecto.DataSource = If(Not UsuarioActual.TienePermisoProceso(110), GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, CveProyecto, UsuarioActual.CveEmpresa, -1, 1), GlobalDTSubProyectos(CveProyecto, -1, UsuarioActual.CveEmpresa, 1)) + DdlSubProyecto.DataSource = If(Not UsuarioActual.TienePermisoProceso(110), GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, CveProyecto, UsuarioActual.CveEmpresa, -1, 1), GlobalDTSubProyectos(UsuarioActual.CveEmpresa, CveProyecto:=CveProyecto)) DdlSubProyecto.DataBind() DdlSubProyecto.Items.Insert(0, New ListItem("Seleccione", "-1")) @@ -17924,7 +17933,7 @@ Partial Class Compras_Compras Private Sub CargaSubProyectoAsignado() DdlAsignaSubProyecto.Items.Clear() If DdlAsignarProyecto.SelectedValue.ToEntero > 0 Then - DdlAsignaSubProyecto.DataSource = If(UsuarioActual.Empresa.Funcionalidad(102) = "1" AndAlso Not UsuarioActual.TienePermisoProceso(110), GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, DdlAsignarProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, -1, 1), GlobalDTSubProyectos(DdlAsignarProyecto.SelectedValue.ToEntero, -1, UsuarioActual.CveEmpresa, 1)) + DdlAsignaSubProyecto.DataSource = If(UsuarioActual.Empresa.Funcionalidad(102) = "1" AndAlso Not UsuarioActual.TienePermisoProceso(110), GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, DdlAsignarProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, -1, 1), GlobalDTSubProyectos(UsuarioActual.CveEmpresa, CveProyecto:=DdlAsignarProyecto.SelectedValue.ToEntero)) End If DdlAsignaSubProyecto.DataBind() DdlAsignaSubProyecto.Items.Insert(0, New ListItem("Seleccione", "-1")) diff --git a/Contratos/Contrato.vb b/Contratos/Contrato.vb index 9e0faaffb..382d550c6 100644 --- a/Contratos/Contrato.vb +++ b/Contratos/Contrato.vb @@ -835,7 +835,7 @@ Partial Class Contratos_Default End Sub Protected Sub CargaSubProyectoContrato(CveProyecto As Integer) DdlSubProyectoContrato.Items.Clear() - DdlSubProyectoContrato.DataSource = GlobalDTSubProyectos(CveProyecto, CveEmpresa:=UsuarioActual.CveEmpresa).FiltraParametros("", "", {"CveSubproyecto", "SubProyecto2"}) + DdlSubProyectoContrato.DataSource = GlobalDTSubProyectos(UsuarioActual.CveEmpresa, CveProyecto:=CveProyecto).FiltraParametros("", "", {"CveSubproyecto", "SubProyecto2"}) DdlSubProyectoContrato.DataBind() DdlSubProyectoContrato.Items.Insert(0, New ListItem("Seleccione un Proyecto", "-1")) End Sub diff --git a/Contratos/ContratoObra.aspx.vb b/Contratos/ContratoObra.aspx.vb index d0deb8ccf..ac3ae3950 100644 --- a/Contratos/ContratoObra.aspx.vb +++ b/Contratos/ContratoObra.aspx.vb @@ -1263,15 +1263,7 @@ Partial Class Contratos_ContratoObra ' DdlProyecto.DataBind() 'End If End Sub - 'Protected Sub DdlProyecto_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles DdlProyecto.SelectedIndexChanged - ' CargaSubProyectoContrato(DdlProyecto.SelectedValue.ToEntero) - 'End Sub - 'Protected Sub CargaSubProyectoContrato(CveProyecto As Integer) - ' DdlSubProyectoContrato.Items.Clear() - ' DdlSubProyectoContrato.DataSource = GlobalDTSubProyectos(CveProyecto, CveEmpresa:=UsuarioActual.CveEmpresa).FiltraParametros("", "", {"CveSubproyecto", "SubProyecto"}) - ' DdlSubProyectoContrato.DataBind() - ' DdlSubProyectoContrato.Items.Insert(0, New ListItem("Seleccione un Proyecto", "-1")) - 'End Sub + Private Sub CargaContratista() DdlContratista.setEsWebService(True) DdlContratista.Attributes.Add("data-metodo", "getproveedores") diff --git a/Inventarios/Equivalencia.aspx.vb b/Inventarios/Equivalencia.aspx.vb index c357c49f5..9844c5684 100644 --- a/Inventarios/Equivalencia.aspx.vb +++ b/Inventarios/Equivalencia.aspx.vb @@ -29,7 +29,7 @@ Partial Class Inventarios_Equivalencia Private Sub InicializarListas() 'Llenar el dropdownlist de unidad de medida - ddlUnidad.DataSource = GlobalDTUnidadesMedida() + ddlUnidad.DataSource = GlobalDTUnidadesMedida(UsuarioActual.CveEmpresa) ddlUnidad.DataBind() @@ -245,7 +245,7 @@ Partial Class Inventarios_Equivalencia Protected Sub gvEquivalencias_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles gvEquivalencias.RowDataBound If e.Row.RowState = DataControlRowState.Edit OrElse e.Row.RowState = 5 Then - e.Row.FCDropDownList("ddlEUnidad").DataSource = GlobalDTUnidadesMedida() + e.Row.FCDropDownList("ddlEUnidad").DataSource = GlobalDTUnidadesMedida(UsuarioActual.CveEmpresa) e.Row.FCDropDownList("ddlEUnidad").SelectedValue = e.Row.DBCampo("CveUnidadMedida") e.Row.FCDropDownList("ddlEUnidad").DataBind() End If diff --git a/Inventarios/TrasladoSolicitud.aspx b/Inventarios/TrasladoSolicitud.aspx index 6b3d73883..16da8dd39 100644 --- a/Inventarios/TrasladoSolicitud.aspx +++ b/Inventarios/TrasladoSolicitud.aspx @@ -24,69 +24,73 @@ -
-
-
- - "> - -
-
-
-
Origen
-
- -
+ + -
Destino
-
- +
+
+
+ + "> +
-
Fecha Inicio
-
-
- - - - +
+
+
Origen
+
+ +
+ +
Destino
+
+ +
+
Fecha Inicio
+
+
+ + + + +
+ + +
+
Fecha Fin
+
+
+ + + + +
+ + +
- - -
-
Fecha Fin
-
-
- - - - -
- -
-
-
-
> +
> -
-
+
+
+
+
- + DataKeyNames="CveTraspasoSolicitud,Folio,Fecha,CveUsuario,CveAlmacenOrigen,CveAlmacenDestino,CveTrasladoEstatus,PermisoOrigen,PermisoDestino,TraspasoEstatus,AlmacenOrigen,AlmacenDestino,Nombre,CveMovimientoAlmacen,FolioMovimiento,CveMovimientoTransitorio,CveAlmacenTransitorio,CveMomientoEntrada,CveMovimientoRelacionado" > - - - - - - <%----%> + + + + + @@ -96,25 +100,40 @@ - + <%-- - +
+
+ +
+
+ +
+
-
+
--%> + + +
+
+ +
+
+ +
+
+
+
+
+ +
-
- - - - +
-
- - - +
-
+
-
+
+
+ +
-
+ <%--
- <%----%> - + +
-
+
--%>
diff --git a/Inventarios/TrasladoSolicitud.aspx.vb b/Inventarios/TrasladoSolicitud.aspx.vb index 763e669aa..fb6602a54 100644 --- a/Inventarios/TrasladoSolicitud.aspx.vb +++ b/Inventarios/TrasladoSolicitud.aspx.vb @@ -83,7 +83,7 @@ Partial Class Inventarios_TrasladoSolicitud Private Sub CargaAlmacenes() 'Cargo los almacenes - DdlAlmacenOrigen.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros("CveTipoAlmacen <> 9") 'Excluir almacenes de Apartado + DdlAlmacenOrigen.DataSource = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveEstatus:=1).FiltraParametros("CveTipoAlmacen = 1") 'GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros("CveTipoAlmacen <> 9") 'Excluir almacenes de Apartado 'DdlAlmacenDestino.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros("CveTipoAlmacen <> 9") 'Excluir almacenes de Apartado DdlAlmacenOrigen.DataBind() DdlAlmacenOrigen.Items.Insert(0, New ListItem("Seleccione Uno", "-1")) @@ -111,11 +111,11 @@ Partial Class Inventarios_TrasladoSolicitud End Sub Private Sub CargaCombos() - DdlAlmacenOrigenFiltro.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros("CveTipoAlmacen <> 9") + DdlAlmacenOrigenFiltro.DataSource = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltraParametros("CveTipoAlmacen = 1") 'GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros("CveTipoAlmacen <> 9") DdlAlmacenOrigenFiltro.DataBind() DdlAlmacenOrigenFiltro.Items.Insert(0, New ListItem("Todos", "-1")) - DdlAlmacenDestinoFiltro.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros("CveTipoAlmacen <> 9") + DdlAlmacenDestinoFiltro.DataSource = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltraParametros("CveTipoAlmacen = 1") 'GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros("CveTipoAlmacen <> 9") DdlAlmacenDestinoFiltro.DataBind() DdlAlmacenDestinoFiltro.Items.Insert(0, New ListItem("Todos", "-1")) @@ -357,6 +357,9 @@ Partial Class Inventarios_TrasladoSolicitud Protected Sub LnkAgregarSolicitud_Click(sender As Object, e As EventArgs) + GvSolicitudes.DataSource = Nothing + GvSolicitudes.DataBind() + UpModalSolicitudes.Update() RegistraScript(String.Format("$('#{0}').modal();", "DVModalSolicitudAdd")) End Sub @@ -397,7 +400,7 @@ Partial Class Inventarios_TrasladoSolicitud Protected Sub BtnAceptarSolicitud_Click(sender As Object, e As EventArgs) - Dim CveAlmacenTransictorio As Integer = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 3).FiltroPrimeroValor("CveAlmacen").ToEntero + Dim CveAlmacenTransictorio As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveEstatus:=1).FiltraParametros("CveTipoAlmacen = 3").FiltroPrimeroValor("CveAlmacen").ToEntero 'GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 3).FiltroPrimeroValor("CveAlmacen").ToEntero If Not CveAlmacenTransictorio > 0 Then Alert("No se encontro un almacen transitorio", TipoMensaje.MsgAdvertencia) @@ -674,24 +677,43 @@ Partial Class Inventarios_TrasladoSolicitud If e.Row.RowType = DataControlRowType.DataRow Then - e.Row.FCLinkButton("LnkMostrarTraspaso").Visible = If(e.Row.DataKey("PermisoOrigen").ToEntero = 1, True, False) + Dim PermisoOrigen As Boolean = If(e.Row.DataKey("PermisoOrigen").ToEntero = 1, True, False) + Dim PermisoDestino As Boolean = If(e.Row.DataKey("PermisoDestino").ToEntero = 1, True, False) + + Dim CveMovimientoAlmacen As Integer = e.Row.DataKey("CveMovimientoAlmacen").ToEntero + Dim FolioMovimiento As Integer = e.Row.DataKey("FolioMovimiento").ToEntero + Dim CveAlmacenDestino As Integer = e.Row.DataKey("CveAlmacenDestino").ToEntero + Dim CveMovimientoTransitorio As Integer = e.Row.DataKey("CveMovimientoTransitorio").ToEntero + Dim CveAlmacenTransitorio As Integer = e.Row.DataKey("CveAlmacenTransitorio").ToEntero + + Dim CveMomientoEntrada As Integer = e.Row.DataKey("CveAlmacenTransitorio").ToEntero ' Este es el movmiento de recepcion de traspaso + + e.Row.FCLinkButton("LnkMostrarTraspaso").Visible = True If e.Row.DataKey("CveTrasladoEstatus").ToEntero = 1 Then e.Row.FCLinkButton("LnkMostrarTraspaso").CssClass = "btn btn-circle btn-sm blue" e.Row.FCLabel("LblTraspasoEstatus").CssClass = "label label-sm label-info" + e.Row.FCLinkButton("LnkMostrarTraspaso").Visible = PermisoOrigen Else If e.Row.DataKey("CveTrasladoEstatus").ToEntero = 2 Then e.Row.FCLabel("LblTraspasoEstatus").CssClass = "label label-sm label-success" e.Row.FCLinkButton("LnkMostrarTraspaso").CssClass = "btn btn-circle btn-sm green" + e.Row.FCLinkButton("LnkMostrarTraspaso").Text = "" + + If CveMovimientoAlmacen > 0 AndAlso PermisoDestino AndAlso e.Row.DataKey("CveMovimientoRelacionado") = "" Then + e.Row.FCHyperLink("HypRecibeTraspaso").Visible = True + e.Row.FCHyperLink("HypRecibeTraspaso").NavigateUrl = $"~/Inventarios/TraspasoAlmacen.aspx?CveAlmacenTransitorioR={CveAlmacenTransitorio}&FolioR={FolioMovimiento}&CveAlmacenDestinoR={CveAlmacenDestino}" + End If + + If e.Row.DataKey("CveMovimientoRelacionado") <> "" Then + e.Row.FCLabel("LblTraspasoEstatus").Text = "Recibido" + End If + Else e.Row.FCLabel("LblTraspasoEstatus").CssClass = "label label-sm label-danger" e.Row.FCLinkButton("LnkMostrarTraspaso").CssClass = "btn btn-circle btn-sm red" End If - - End If - - End If End Sub @@ -702,7 +724,7 @@ Partial Class Inventarios_TrasladoSolicitud DdlAlmacenDestino.SelectedValue = Nothing DdlAlmacenDestino.Items.Clear() - DdlAlmacenDestino.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros($"CveTipoAlmacen <> 9 AND CveAlmacen <> {DdlAlmacenOrigen.SelectedValue}") + DdlAlmacenDestino.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros($"CveTipoAlmacen = 1 AND CveAlmacen <> {DdlAlmacenOrigen.SelectedValue}") DdlAlmacenDestino.DataBind() DdlAlmacenDestino.Items.Insert(0, New ListItem("Seleccione Uno", "-1")) UpPS.Update() diff --git a/Inventarios/TrasladoSolicitudOld.aspx.vb b/Inventarios/TrasladoSolicitudOld.aspx.vb index f3870501b..6c0e39898 100644 --- a/Inventarios/TrasladoSolicitudOld.aspx.vb +++ b/Inventarios/TrasladoSolicitudOld.aspx.vb @@ -1153,7 +1153,7 @@ Partial Class Inventarios_TrasladoSolicitudOld Dim SB As New StringBuilder - Dim CorreoDestino As String = GlobalDTUsuarios(CveUsuarioSolicita)(0)("Correo").ToString.Trim + Dim CorreoDestino As String = GlobalDTUsuarios(CveUsuarioSolicita, UsuarioActual.CveEmpresa)(0)("Correo").ToString.Trim If CorreoDestino.Length > 0 Then @@ -1193,7 +1193,7 @@ Partial Class Inventarios_TrasladoSolicitudOld Dim SB As New StringBuilder - Dim CorreoDestino As String = GlobalDTUsuarios(CveUsuarioAutoriza)(0)("Correo").ToString.Trim + Dim CorreoDestino As String = GlobalDTUsuarios(CveUsuarioAutoriza, UsuarioActual.CveEmpresa)(0)("Correo").ToString.Trim If CorreoDestino.Length > 0 Then diff --git a/Inventarios/TraspasoAlmacen.aspx.vb b/Inventarios/TraspasoAlmacen.aspx.vb index 852727307..98e9ac049 100644 --- a/Inventarios/TraspasoAlmacen.aspx.vb +++ b/Inventarios/TraspasoAlmacen.aspx.vb @@ -236,6 +236,10 @@ Partial Class Inventarios_TraspasoAlmacen ImgFechaRecepcion.Visible = False End If + If Request("CveAlmacenTransitorioR") IsNot Nothing Then + CargaRecepcionTraspaso() + End If + Else If ChkTransitorio.Checked Then RegistraScript(" $('#DivGastoIndirecto').show(0); ") @@ -245,6 +249,19 @@ Partial Class Inventarios_TraspasoAlmacen End If End Sub + Private Sub CargaRecepcionTraspaso() + Tab.ActiveTabIndex = 1 + Dim CveAlmacenTransitorioR = If(Request("CveAlmacenTransitorioR") IsNot Nothing AndAlso Request("CveAlmacenTransitorioR").ToEntero > 0, Request("CveAlmacenTransitorioR").ToEntero, -1) + Dim FolioR = If(Request("FolioR") IsNot Nothing AndAlso Request("FolioR").ToEntero > 0, Request("FolioR").ToEntero, -1) + Dim CveAlmacenDestinoR = If(Request("CveAlmacenDestinoR") IsNot Nothing AndAlso Request("CveAlmacenDestinoR").ToEntero > 0, Request("CveAlmacenDestinoR").ToEntero, -1) + + DdlAlmacenRecepcion.SelectedValueExist(CveAlmacenDestinoR) + DdlAlmacenTransitorioRecepcion.SelectedValueExist(CveAlmacenTransitorioR) + TxtFolioRecepcion.Text = FolioR.ToString + + CargaRecepcion() + End Sub + #Region "CARGA DATOS" Protected Sub CreaDT() Dim dt As New DataTable @@ -457,7 +474,7 @@ Partial Class Inventarios_TraspasoAlmacen DdlAlmacenRecepcion.Items.Insert(0, New ListItem("Todos", "-1")) 'Llena Almacen Transitorio Recepcion - DdlAlmacenTransitorioRecepcion.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 3) + DdlAlmacenTransitorioRecepcion.DataSource = GlobalDTAlmacen(UsuarioActual.CveEmpresa, 3) DdlAlmacenTransitorioRecepcion.DataBind() DdlAlmacenTransitorioRecepcion.Items.Insert(0, New ListItem("Seleccione", "-1")) @@ -2377,11 +2394,11 @@ Partial Class Inventarios_TraspasoAlmacen Dim Mensaje As StringBuilder = New StringBuilder Mensaje.AppendFormat("Se realizo correctamente la recepción.
Folio de Entrada: {0}", Folio, CveMovimientoEntrada) - Mensaje.AppendFormat("
Imprimir Reporte", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoEntrada))) 'onclick='ImprimirTraslado()' - If CveMovimientoVirtualEntrada > 0 Then Mensaje.AppendFormat("


Folio Virtual {2}
Imprimir Reporte", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoVirtualEntrada)), CveMovimientoVirtualEntrada, FolioVirtualEntrada) 'onclick='ImprimirTraslado()' + Mensaje.AppendFormat("
Imprimir Reporte", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoEntrada))) 'onclick='ImprimirTraslado()' + If CveMovimientoVirtualEntrada > 0 Then Mensaje.AppendFormat("


Folio Virtual {2}
Imprimir Reporte", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoVirtualEntrada)), CveMovimientoVirtualEntrada, FolioVirtualEntrada) 'onclick='ImprimirTraslado()' If CancelacionTraspaso IsNot Nothing Then - If CancelacionTraspaso.CveMovimientoEntrada > 0 Then Mensaje.AppendFormat("


Folio Devolución {2}
Imprimir Reporte", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CancelacionTraspaso.CveMovimientoEntrada)), CancelacionTraspaso.CveMovimientoEntrada, CancelacionTraspaso.FolioEntrada) 'onclick='ImprimirTraslado()' + If CancelacionTraspaso.CveMovimientoEntrada > 0 Then Mensaje.AppendFormat("


Folio Devolución {2}
Imprimir Reporte", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CancelacionTraspaso.CveMovimientoEntrada)), CancelacionTraspaso.CveMovimientoEntrada, CancelacionTraspaso.FolioEntrada) 'onclick='ImprimirTraslado()' End If Alert(Mensaje.ToString, TipoMensaje.MsgInformacion) diff --git a/Nomina/Nomina.aspx b/Nomina/Nomina.aspx index 4b3d3ab11..49396092f 100644 --- a/Nomina/Nomina.aspx +++ b/Nomina/Nomina.aspx @@ -794,6 +794,8 @@
+
+
@@ -814,11 +816,7 @@
@@ -1390,7 +1388,7 @@ + DataKeyNames="CveMovtoPermanente,CveConcepto,CveCuenta,CvePersonal,Descripcion,MontoLimiteV,TipoDescuento,Valor,VecesAplicar,MontoLimite,EsAcumulado,FechaInicioAplicacion,Estatus,FechaRegistro"> @@ -1419,7 +1417,7 @@ + CssClass="lnkMovotPermanente" runat="server" Text='<%# Eval("MontoLimiteV","{0:###,###.##}")%>'> @@ -1444,6 +1442,8 @@
+ + @@ -2182,6 +2182,207 @@
+ + <%----%> @@ -4359,132 +4560,7 @@ - <%-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - showResult - - --%> +
@@ -5101,7 +5177,7 @@
- + -