diff --git a/Compras/Compras.aspx b/Compras/Compras.aspx
index b52912804..22040bb52 100644
--- a/Compras/Compras.aspx
+++ b/Compras/Compras.aspx
@@ -5400,12 +5400,16 @@
+
+ CssClass="table GVEstimacion table-advance table-hover Widthall ScrollAD mysmallbtn" GridLines="None" Width="100%">
@@ -5439,6 +5443,9 @@
+
diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb
index 14a68d83c..8ddb0e402 100644
--- a/Compras/Compras.aspx.vb
+++ b/Compras/Compras.aspx.vb
@@ -18126,46 +18126,86 @@ Partial Class Compras_Compras
End If
ActualizaTotales = True
- 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))
+ Dim ObjContratos As New ClsContratos
+ Dim TieneError As Boolean = False
+ Dim Mensaje As String = ""
+ Dim dttemp As DataTable = GlobalDTContratos().FiltraParametros(String.Format("CveSubProyecto = {0}", DdlSubProyecto.SelectedValue.ToString))
+ 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
+ Dim dtContratodetalle As DataTable = ObjContratos.DtResultados.FiltraParametros(String.Format("CvePS = {0}", DdlPS.SelectedValue.ToString))
+ If dtContratodetalle IsNot Nothing AndAlso dtContratodetalle.Rows.Count > 0 Then
+ Dim drContratoDetalle As DataRow = dtContratodetalle(0)
+ If Convert.ToBoolean(drContratoDetalle("LimitarCantidad")) Then
+ If ObjContratos.GetReporteContratosAvancesDetalleControl(drContrato("CveContrato").ToString.ToEntero, UsuarioActual.CveEmpresa) Then
+ Dim dtContratodetalleControl As DataTable = ObjContratos.DtResultados.FiltraParametros(String.Format("CvePS = {0}", DdlPS.SelectedValue.ToString))
+ If dtContratodetalleControl IsNot Nothing AndAlso dtContratodetalleControl.Rows.Count > 0 Then
+ Dim drContratoDetalleControl As DataRow = dtContratodetalleControl(0)
+ If TxtCantidad.Text.Trim.ToDouble > drContratoDetalleControl("FaltanteCantidad").ToString.ToDouble Then
+ Mensaje = String.Format("La cantidad del Producto/Servicio debe ser menor o igual a {0}", drContratoDetalleControl("FaltanteCantidad").ToString)
+ TieneError = True
+ End If
+ Else
+ Mensaje = "Este producto no pertence al contrato seleccionado"
+ TieneError = True
+ End If
+ Else
+ Mensaje = "Error al consultar el contrato"
+ End If
+ End If
Else
- IVA = Math.Round(DdlIVA.SelectedValue.ToDouble - 1, 2)
+ Mensaje = "Este producto no pertence al contrato seleccionado"
+ TieneError = True
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)
+ Else
+ Mensaje = "Error al consultar el contrato"
- AddPS2()
- LimpiaAgregar()
+ End If
+ End If
+ If Not TieneError Then
+ Select Case Modalidad
+ Case "A" 'ADD
- If ChkAgregar.Checked = True And Modalidad = "A" Then
- RegistraScript("displayToastr(1);", "display")
- Else
+ 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()
+
+ 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 If
+ End Select
+ ActualizaTotales = False
- 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.Funcionalidad(562).ToEntero > 0 Then CargaGastosServicios(UsuarioActual.Empresa.Funcionalidad(562).ToEntero)
-
- If UsuarioActual.Empresa.UsaAC Then
- CompruebaAgregar()
- GuardaAC()
+ If UsuarioActual.Empresa.UsaAC Then
+ CompruebaAgregar()
+ GuardaAC()
+ End If
+ Else
+ Alert(Mensaje, TipoMensaje.MsgAdvertencia)
End If
'If UsuarioActual.Empresa.Funcionalidad(577).ToString = "1" Then
@@ -20786,9 +20826,17 @@ Partial Class Compras_Compras
If ObjContratos.DtResultados.Rows.Count > 0 Then
GvContratosControl.DataSource = ObjContratos.DtResultados
BtnAplicarContrato.Visible = True
+ divBusqueda.Visible = True
+ ChkContinualAgregandoControl.Visible = True
+ ChkContinualAgregandoControl.Checked = True
+
Else
GvContratosControl.DataSource = Nothing
BtnAplicarContrato.Visible = False
+ divBusqueda.Visible = False
+ ChkContinualAgregandoControl.Visible = False
+ ChkContinualAgregandoControl.Checked = False
+
End If
End If
@@ -20863,11 +20911,9 @@ Partial Class Compras_Compras
Next
AddPS2()
-
-
- RegistraScript("$('#DivmodalConmtrato').modal('hide')")
-
-
+ If Not ChkContinualAgregandoControl.Checked Then
+ RegistraScript("$('#DivmodalConmtrato').modal('hide')")
+ End If
End Sub
diff --git a/OC/OC.aspx b/OC/OC.aspx
index b4968ba52..59056f36c 100644
--- a/OC/OC.aspx
+++ b/OC/OC.aspx
@@ -2747,33 +2747,33 @@
+
+ CssClass="table GVEstimacion table-advance table-hover Widthall ScrollAD mysmallbtn" GridLines="None" Width="100%">
-
-
-
-
-
- <%# Eval("CantidadMax", "{0:N2}")%>
-
-
-
-
-
+
-
+
+
+
+
+
+
+
<%# Eval("PU", "{0:N2}")%>
@@ -2790,8 +2790,9 @@
-
-
+