From 4bb5d0537d1b4d63554bbb8747191bc84aad07ec Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 26 Jul 2021 15:09:16 -0700 Subject: [PATCH] Funcionalidad 545, para validar productos de contratos de obra --- Compras/Compras.aspx.vb | 140 ++++++++++++++++++---------------------- 1 file changed, 63 insertions(+), 77 deletions(-) diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 28a827454..f65919d08 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -4281,10 +4281,12 @@ Partial Class Compras_Compras Next If ErrorValidacion Then Exit Sub - Dim dtPSInvalidos As String = ValidarPSContrato(TmpDT.FiltraParametros("", "", {"CveSubProyecto", "CvePS", "Cantidad", "PU"})) - If dtPSInvalidos <> "" Then - Alert(dtPSInvalidos, TipoMensaje.MsgAdvertencia) - Exit Sub + If UsuarioActual.Empresa.Funcionalidad(545) = "1" Then + Dim dtPSInvalidos As String = ValidarPSContrato(TmpDT.FiltraParametros("", "", {"CveSubProyecto", "CvePS", "Cantidad", "PU"})) + If dtPSInvalidos <> "" Then + Alert(dtPSInvalidos, TipoMensaje.MsgAdvertencia) + Exit Sub + End If End If 'RECORRO LOS PRODUCTOS O SERVICIOS PARA REGISTRARLOS LOS QUE NO EXISTEN EN EL CATÁLOGO @@ -18106,25 +18108,31 @@ Partial Class Compras_Compras End If ActualizaTotales = True - Dim ObjContratos As New ClsContratos - Dim TieneError As Boolean = False - Dim dttemp As New DataTable ' GlobalDTContratos().FiltraParametros(String.Format("CveSubProyecto = {0}", DdlSubProyecto.SelectedValue.ToString)) - dttemp.Columns.Add("CveSubProyecto", GetType(Integer)) - dttemp.Columns.Add("CvePS", GetType(Integer)) - dttemp.Columns.Add("Cantidad", GetType(Decimal)) - dttemp.Columns.Add("PU", GetType(Decimal)) - Dim DrPS = dttemp.NewRow - DrPS("CveSubProyecto") = DdlSubProyecto.SelectedValue.ToString.ToEntero - DrPS("CvePS") = DdlPS.SelectedValue.ToString.ToEntero - DrPS("Cantidad") = TxtCantidad.Text.Trim.ToDecimal - DrPS("PU") = TxtPrecio.Text.Trim.ToDecimal - dttemp.Rows.Add(DrPS) + If UsuarioActual.Empresa.Funcionalidad(545) = "1" Then + Dim TieneError As Boolean = False + Dim dttemp As New DataTable '= GlobalDTContratos().FiltraParametros(String.Format("CveSubProyecto = {0}", DdlSubProyecto.SelectedValue.ToString)) + dttemp.Columns.Add("CveSubProyecto", GetType(Integer)) + dttemp.Columns.Add("CvePS", GetType(Integer)) + dttemp.Columns.Add("Cantidad", GetType(Decimal)) + dttemp.Columns.Add("PU", GetType(Decimal)) - Dim dtPSInvalidos As String = ValidarPSContrato(dttemp) - If dtPSInvalidos <> "" Then - TieneError = True + Dim DrPS = dttemp.NewRow + DrPS("CveSubProyecto") = DdlSubProyecto.SelectedValue.ToString.ToEntero + DrPS("CvePS") = DdlPS.SelectedValue.ToString.ToEntero + DrPS("Cantidad") = TxtCantidad.Text.Trim.ToDecimal + DrPS("PU") = TxtPrecio.Text.Trim.ToDecimal + dttemp.Rows.Add(DrPS) + + Dim dtPSInvalidos As String = ValidarPSContrato(dttemp) + If dtPSInvalidos <> "" Then + TieneError = True + Alert(dtPSInvalidos, TipoMensaje.MsgAdvertencia) + Exit Sub + End If End If + + 'If dttemp IsNot Nothing AndAlso dttemp.Rows.Count > 0 Then ' Dim drContrato As DataRow = dttemp.Rows(0) ' If ObjContratos.GetContratosDetalle(drContrato("CveContrato").ToString.ToEntero) Then @@ -18157,75 +18165,52 @@ Partial Class Compras_Compras ' End If 'End If - ObjContratos.Dispose() - If Not TieneError Then - Select Case Modalidad - Case "A" 'ADD - Dim SATClavePS = -1 - Dim PSRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=DdlPS.SelectedValue.ToEntero).FiltroPrimero("") - If PSRow IsNot Nothing Then - SATClavePS = PSRow("SATClavePS").ToString.ToEntero - End If - Dim IVA As Double - If chkImportacion.Checked Then - IVA = (txtImportacion.Text.Trim.ToDouble / (TxtCantidad.Text.Trim.ToDouble * TxtPrecio.Text.Trim.ToDouble)) - Else - IVA = Math.Round(DdlIVA.SelectedValue.ToDouble - 1, 2) - End If - AddPS(TxtCantidad.Text.Trim.ToDouble, ddlUM.SelectedValue.ToEntero, ddlUM.SelectedItem.Text, DdlClasificacion.SelectedValue.ToEntero, DdlClasificacion.SelectedItem.Text, DdlPS.SelectedValue.ToEntero, DdlPS.SelectedText, HdnTipoPS.Value.ToEntero, + + + Select Case Modalidad + Case "A" 'ADD + + Dim SATClavePS = -1 + Dim PSRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=DdlPS.SelectedValue.ToEntero).FiltroPrimero("") + If PSRow IsNot Nothing Then + SATClavePS = PSRow("SATClavePS").ToString.ToEntero + End If + Dim IVA As Double + If chkImportacion.Checked Then + IVA = (txtImportacion.Text.Trim.ToDouble / (TxtCantidad.Text.Trim.ToDouble * TxtPrecio.Text.Trim.ToDouble)) + Else + IVA = Math.Round(DdlIVA.SelectedValue.ToDouble - 1, 2) + End If + AddPS(TxtCantidad.Text.Trim.ToDouble, ddlUM.SelectedValue.ToEntero, ddlUM.SelectedItem.Text, DdlClasificacion.SelectedValue.ToEntero, DdlClasificacion.SelectedItem.Text, DdlPS.SelectedValue.ToEntero, DdlPS.SelectedText, HdnTipoPS.Value.ToEntero, DdlSubProyecto.SelectedValue.ToString, DdlSubProyecto.SelectedItem.Text, DdlProyecto.SelectedItem.Text, DdlProyecto.SelectedValue.ToString, TxtObsPS.Text.Trim, TxtPrecio.Text.Trim.ToDouble, Total, IVA, TxtRetIVAModal.Text.ToDouble / 100, TxtRetISRModal.Text.ToDouble / 100, TxtIEPSModal.Text.ToDouble / 100, 0, TxtDescuentoModal.Text.ToDouble, OtrosGastos:=TxtOtrosGastos.Text.ToDouble, CveTipoGasto:=DdlTipoGasto.SelectedValue.ToEntero, TipoGasto:=DdlTipoGasto.SelectedItem.Text, NoDeducible:=ChkEsNoDeduciblePS.Checked, CveSATPS:=SATClavePS) - AddPS2() - LimpiaAgregar() + AddPS2() + LimpiaAgregar() - If ChkAgregar.Checked = True And Modalidad = "A" Then - RegistraScript("displayToastr(1);", "display") - Else - RegistraScript(String.Format("$('#{0}').modal('hide');", "divAddProducto")) - End If - - Case "U" 'UPDATE - UpdatePS() - Alert("Concepto actualizado Correctamente.", TipoMensaje.MsgInformacion) - RegistraScript(String.Format("$('#{0}').modal('hide');", "divAddProducto")) - End Select - ActualizaTotales = False - - If UsuarioActual.Empresa.Funcionalidad(562).ToEntero > 0 Then CargaGastosServicios(UsuarioActual.Empresa.Funcionalidad(562).ToEntero) - - If UsuarioActual.Empresa.UsaAC Then - CompruebaAgregar() - GuardaAC() - End If + If ChkAgregar.Checked = True And Modalidad = "A" Then + RegistraScript("displayToastr(1);", "display") Else - Alert(dtPSInvalidos, TipoMensaje.MsgAdvertencia) + RegistraScript(String.Format("$('#{0}').modal('hide');", "divAddProducto")) End If + Case "U" 'UPDATE + UpdatePS() + Alert("Concepto actualizado Correctamente.", TipoMensaje.MsgInformacion) + RegistraScript(String.Format("$('#{0}').modal('hide');", "divAddProducto")) + End Select + ActualizaTotales = False - 'If UsuarioActual.Empresa.Funcionalidad(577).ToString = "1" Then + If UsuarioActual.Empresa.Funcionalidad(562).ToEntero > 0 Then CargaGastosServicios(UsuarioActual.Empresa.Funcionalidad(562).ToEntero) - ' 'If UsuarioActual.CveRol = 1 Then - ' ' Alert($"Ok funcionalidad 577 RetencionIVA { RetencionIVA} IVAOriginal {IVAOriginal}") - ' 'End If + If UsuarioActual.Empresa.UsaAC Then + CompruebaAgregar() + GuardaAC() + End If - ' If RetencionIVA = 0 And IVAOriginal > 0 Then - ' For Each dRow As DataRow In TmpDT.Rows - ' If dRow("CveTipoPS").ToString.ToEntero = 1 Then - ' 'Comnetado para reubicar el boton - ' 'tdIVA6.Visible = True - ' Exit For - ' End If - ' Next - ' End If - - 'End If - - - - UpPS.Update() + UpPS.Update() CargaGvPersonal() End Sub ''' @@ -20938,6 +20923,7 @@ Partial Class Compras_Compras Next End If End If + objContratos.Dispose() If MensajeProducto.Length <> 64 Then Retorno = MensajeProducto