Verificar el producto y la cantidad si el subproyecto tienen contrato
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user