diff --git a/OC/OC.aspx.vb b/OC/OC.aspx.vb
index 9a005fc21..eab349a5b 100644
--- a/OC/OC.aspx.vb
+++ b/OC/OC.aspx.vb
@@ -644,8 +644,8 @@ Partial Class OC_OC
GlobalDTCultivosCuadro(UsuarioActual.CveEmpresa) = Nothing
CargaDatosAgregarPS()
CveProveedorOriginal = -1
- EnviarNotificacionWhatsApp("526621430964", "hola34 https:/sig.adssistemas.mx/ventas/ventas.aspx")
- EnviarNotificacionWhatsApp("526621430964", "", "hello_world")
+ 'EnviarNotificacionWhatsApp("526621430964", "hola34 https:/sig.adssistemas.mx/ventas/ventas.aspx")
+ 'EnviarNotificacionWhatsApp("526621430964", "", "hello_world")
'MODALIDAD MULTIEMPRESA
CveEmpresaActual = UsuarioActual.CveEmpresa
If CveEmpresaActual > 0 Then
@@ -1647,7 +1647,7 @@ Partial Class OC_OC
DdlProveedores.SelectedValue = objOC.CveProveedor.ToString
If DdlProveedores.SelectedValue.ToEntero > 0 Then
CveProveedorOriginal = objOC.CveProveedor
- DdlProveedores.SelectedText = GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltraParametros($"CveProveedor = {objOC.CveProveedor}").Rows(0)("RazonSocial").ToString
+ DdlProveedores.SelectedText = GlobalDTCompProveedores(UsuarioActual.CveEmpresa, CveProveedor:=objOC.CveProveedor).FiltroPrimeroValor("RazonSocial")
Else
DdlProveedores.SelectedText = "-"
End If
@@ -1697,7 +1697,7 @@ Partial Class OC_OC
ChkCotizacion.Visible = True
DdlProveedores.SelectedValue = objOC.CveProveedor.ToString
If DdlProveedores.SelectedValue.ToEntero > 0 Then
- DdlProveedores.SelectedText = GlobalDTCompProveedores(CveEmpresaActual).FiltraParametros($"CveProveedor = {objOC.CveProveedor}").Rows(0)("RazonSocial").ToString
+ DdlProveedores.SelectedText = GlobalDTCompProveedores(UsuarioActual.CveEmpresa, CveProveedor:=objOC.CveProveedor).FiltroPrimeroValor("RazonSocial")
Else
DdlProveedores.SelectedText = "-"
End If
@@ -2756,8 +2756,6 @@ Partial Class OC_OC
End Function
Protected Sub BtnGuardar_Click(sender As Object, e As EventArgs) Handles BtnGuardar.Click
-
-
'VALIDACIONES PARA GUARDAR
If ValidaGuardar() Then Exit Sub
@@ -2765,8 +2763,6 @@ Partial Class OC_OC
Exit Sub
End If
-
-
Dim MsgError As String = "Hubo un error al registrar"
'VARIABLES
Dim CveProveedorSucursal As Integer = -1
@@ -3740,7 +3736,7 @@ Partial Class OC_OC
If CveProveedor > 0 Then
'CUANDO VIENE DE COTIZACION
tTotalIVA = (DtDetalle.SUM("Total", String.Format("CveProveedor = {0}", CveProveedor)) * tPorIVA).ToString.ToDecimal
- tPorIVA = GlobalDTCompProveedores(CveEmpresaActual).FiltraParametros(String.Format("CveProveedor = {0}", CveProveedor)).Rows(0)("IVA").ToString.ToDecimal
+ tPorIVA = GlobalDTCompProveedores(CveEmpresaActual, CveProveedor:=CveProveedor).FiltroPrimeroValor("IVA").ToDecimal
tTotalGral = DtDetalle.SUM("Total", String.Format("CveProveedor = {0}", CveProveedor)).ToString.ToDecimal
Else
'CUANDO NO VIENE DE COTIZACION
@@ -4260,7 +4256,6 @@ Partial Class OC_OC
End If
-
'SE TOMAN VALORES EN CASO DE QUE LA CvePS SEA DIFERENTE DE LA ANTERIOR
Dim CvePSAnterior As Integer = gvr.DataKey("CvePS").ToEntero
PS = gvr.DataKey("PS").ToString
@@ -4306,7 +4301,6 @@ Partial Class OC_OC
CveSubProyecto = gvr.FCDropDownList("DdlSubProyectoEdit").SelectedValue.ToEntero
SubProyecto = gvr.FCDropDownList("DdlSubProyectoEdit").SelectedItem.Text
-
CveCultivoCuadroDetalle = gvr.FCDropDownList("DdlCultivosCuadroEdit").SelectedValue.ToEntero
Cuadro = ""
If CveCultivoCuadroDetalle > 0 Then
@@ -4322,93 +4316,65 @@ Partial Class OC_OC
End If
If UsuarioActual.Empresa.Funcionalidad(532).Contiene("1", "2") Then
- Dim ObjCon As New ClsContratos
- Dim CvePresupuesto As Integer = 0
- Dim Autorizado As Decimal = 0
- Dim Ejercido As Decimal = 0
- If ObjCon.GetPresupuestos(-1, "-1", CveSubProyecto, 2, -1, UsuarioActual.CveEmpresa) Then
- If ObjCon.DtResultados.Rows.Count > 0 Then
- CvePresupuesto = ObjCon.DtResultados.Rows(0)("CvePresupuesto").ToString.ToEntero
- If CvePresupuesto > 0 Then
- If ObjCon.GetPresupuestosDetalle(CvePresupuesto, -1, UsuarioActual.CveEmpresa) Then
- If ObjCon.DtResultados.FiltraParametros($"CveClasificacion = {CveClasificacion} And Importe > 0").Rows.Count > 0 Then
- Autorizado = ObjCon.DtResultados.FiltraParametros($"CveClasificacion = {CveClasificacion} And Importe > 0").Rows(0)("Importe").ToString.ToDecimal
- End If
- End If
- If ObjCon.GetPresupuestosRep(CvePresupuesto, -1, 1, $"01/09/{NowADS().Year - 1}".ToDate, NowADS(), UsuarioActual.CveEmpresa, CveProyecto,
- CveSubProyecto, UsuarioActual.CveUsuario, CveClasificacion) Then
- If ObjCon.DtResultados.Rows.Count > 0 Then
- Ejercido = ObjCon.DtResultados.Rows(0)("Ejercido").ToString.ToDecimal
- End If
- End If
- End If
- End If
+ 'se envía el dato anterior, para restarlo y agregar el nuevo importe
+ If Not ValidaPresupuesto(1, CveSubProyecto, SubProyecto, CveClasificacion, Clasificacion, (Importe * Cantidad).RoundSQL, DdlMoneda.SelectedValue.ToEntero, (gvr.DataKey("Importe").ToDecimal * gvr.DataKey("Cantidad").ToDecimal).RoundSQL) Then
+ Exit Sub
End If
- ObjCon.Dispose()
-
- 'If CvePresupuesto > 0 And Autorizado > 0 Then
- ' Dim Diferencia As Decimal = (Ejercido + Total) - Autorizado
- ' If Diferencia > 0 Then
- ' Alert($"No hay presupuesto disponible en el subproyecto {SubProyecto} y la clasificación {Clasificacion} se excede por {Diferencia.FormatoNumero}", TipoMensaje.MsgAdvertencia)
- ' Exit Sub
- ' End If
- 'End If
End If
'Agarra el nuevo AF si se modifico o deja el pasado
CveActivoFijo = If(gvr.FCHiddenField("HdnCveActivoFijo").Value.ToEntero > 0, gvr.FCHiddenField("HdnCveActivoFijo").Value.ToEntero, HdnEditCveActivoFijo.Value.ToEntero)
Codigo = If(gvr.FCHiddenField("HdnCodigoAF").Value <> "-1", gvr.FCHiddenField("HdnCodigoAF").Value, HdnEditCodigo.Value)
-
HdnEditCveActivoFijo.Value = ""
HdnEditCodigo.Value = ""
Dim dr As DataRow() = DtDetalle.Select("CveOrdenCompraDetalle = " & gvr.DataKey("CveOrdenCompraDetalle").ToString.ToEntero)
+ If dr.Count > 0 Then
+ dr(0)("Cantidad") = Cantidad
+ dr(0)("CveUnidadMedida") = CveUnidad
+ dr(0)("UM") = UM
+ dr(0)("CveClasificacion") = CveClasificacion
+ dr(0)("Clasificacion") = Clasificacion
- dr(0)("Cantidad") = Cantidad
- dr(0)("CveUnidadMedida") = CveUnidad
- dr(0)("UM") = UM
- dr(0)("CveClasificacion") = CveClasificacion
- dr(0)("Clasificacion") = Clasificacion
+ If isWithFamily() Then
+ dr(0)("CveSubFamilia") = CveClasificacion
+ dr(0)("SubFamilia") = Clasificacion
+ End If
- If isWithFamily() Then
- dr(0)("CveSubFamilia") = CveClasificacion
- dr(0)("SubFamilia") = Clasificacion
+ dr(0)("CvePS") = CvePS
+ dr(0)("PS") = PS
+ dr(0)("Observacion") = Obs
+
+ dr(0)("CveSubProyecto") = CveSubProyecto
+ dr(0)("SubProyecto") = SubProyecto
+ dr(0)("CveProyecto") = CveProyecto
+ dr(0)("Proyecto") = Proyecto
+ dr(0)("Importe") = Importe
+ dr(0)("Descuento") = Descuento
+ dr(0)("Total") = Total
+ dr(0)("IEPSPS") = IEPSPS * Total
+ dr(0)("IEPSPSPorcentaje") = IEPSPS
+ dr(0)("IEPSPSIVA") = IEPSPSIVA * Total
+ dr(0)("IEPSPSIVAPorcentaje") = IEPSPSIVA
+
+ 'If DdlIVA.SelectedValue.ToDecimal = 1 Then dr(0)("IVA") = 0 Else dr(0)("IVA") = IvaPS * Total
+ dr(0)("IVAPorcentaje") = If(IvaPS = -1, Math.Round(DdlIVA.SelectedValue.ToDecimal - 1, 2), 0)
+ Dim TotalGravado As Decimal = Total
+ If IEPSPSIVA > 0 Then TotalGravado = Total * (1 + IEPSPSIVA) 'grava para iva, el importe del IEPS
+ dr(0)("IVA") = Math.Round(dr(0)("IVAPorcentaje").ToString.ToDecimal * TotalGravado, 2)
+
+ dr(0)("RetIVA") = (RetIVA * Total).RoundSQL(6)
+ dr(0)("RetIVAPorcentaje") = RetIVA
+ dr(0)("RetISR") = (RetISR * Total).RoundSQL(6)
+ dr(0)("RetISRPorcentaje") = RetISR
+
+ dr(0)("CveActivoFijo") = CveActivoFijo
+ dr(0)("CodigoAF") = Codigo
+
+ dr(0)("CveCultivoCuadroDetalle") = CveCultivoCuadroDetalle
+ dr(0)("Cuadro") = Cuadro
End If
- dr(0)("CvePS") = CvePS
- dr(0)("PS") = PS
- dr(0)("Observacion") = Obs
-
- dr(0)("CveSubProyecto") = CveSubProyecto
- dr(0)("SubProyecto") = SubProyecto
- dr(0)("CveProyecto") = CveProyecto
- dr(0)("Proyecto") = Proyecto
- dr(0)("Importe") = Importe
- dr(0)("Descuento") = Descuento
- dr(0)("Total") = Total
- dr(0)("IEPSPS") = IEPSPS * Total
- dr(0)("IEPSPSPorcentaje") = IEPSPS
- dr(0)("IEPSPSIVA") = IEPSPSIVA * Total
- dr(0)("IEPSPSIVAPorcentaje") = IEPSPSIVA
-
- 'If DdlIVA.SelectedValue.ToDecimal = 1 Then dr(0)("IVA") = 0 Else dr(0)("IVA") = IvaPS * Total
- dr(0)("IVAPorcentaje") = If(IvaPS = -1, Math.Round(DdlIVA.SelectedValue.ToDecimal - 1, 2), 0)
- Dim TotalGravado As Decimal = Total
- If IEPSPSIVA > 0 Then TotalGravado = Total * (1 + IEPSPSIVA) 'grava para iva, el importe del IEPS
- dr(0)("IVA") = Math.Round(dr(0)("IVAPorcentaje").ToString.ToDecimal * TotalGravado, 2)
-
- dr(0)("RetIVA") = (RetIVA * Total).RoundSQL(6)
- dr(0)("RetIVAPorcentaje") = RetIVA
- dr(0)("RetISR") = (RetISR * Total).RoundSQL(6)
- dr(0)("RetISRPorcentaje") = RetISR
-
-
- dr(0)("CveActivoFijo") = CveActivoFijo
- dr(0)("CodigoAF") = Codigo
-
- dr(0)("CveCultivoCuadroDetalle") = CveCultivoCuadroDetalle
- dr(0)("Cuadro") = Cuadro
-
'si el tipodato viene de la BD, entonces sufrió una actualización
If dr(0)("TipoDato").ToString.ToEntero = 2 Then dr(0)("TipoDato") = 1
DtDetalle.AcceptChanges()
@@ -9213,7 +9179,7 @@ Partial Class OC_OC
''' Usado al validar Presupuesto cuando se agrega un producto o servicio
''' Verdadero si hay presupuesto, Falso si no hay presupuesto.
Public Function ValidaPresupuesto(Opcion As Integer, Optional ValCveSubProyecto As Integer = -1, Optional ValSubProyecto As String = "", Optional ValCveClasificacion As Integer = -1, Optional ValClasificacion As String = "",
- Optional ValImporte As Decimal = 0, Optional CveMoneda As Integer = 1) As Boolean
+ Optional ValImporte As Decimal = 0, Optional CveMoneda As Integer = 1, Optional ImportePrevioGuardado As Decimal = 0) As Boolean
Dim respuesta As Boolean = False
@@ -9224,6 +9190,7 @@ Partial Class OC_OC
Dim Autorizado As Decimal = 0
Dim Ejercido As Decimal = 0
Dim FechaCompra As Date = TxtFecha.Text.ToDate
+ ValImporte = (ValImporte - ImportePrevioGuardado)
If CveMoneda > 1 Then ValImporte = ValImporte * GlobalTipoCambio(FechaCompra).ToDecimal
@@ -9289,19 +9256,17 @@ Partial Class OC_OC
row.Field(Of Integer)("CveClasificacion") = item.CveClasificacion
Select row.Field(Of Decimal)(ColumnaSaldo)).Sum()
If saldoTotal > 0 Then
-
Dim Diferencia As Decimal = saldoTotal - item.TotalSum
-
If (Diferencia) < 0 Then
Alert($"No hay presupuesto disponible en:
Subproyecto: {item.SubProyecto}
Clasificación {item.Clasificacion}. Se excede por {Math.Abs(Diferencia).FormatoNumero}", TipoMensaje.MsgAdvertencia)
- respuesta = True
+ respuesta = False
Exit For
Else
respuesta = True
End If
Else
Alert($"No hay presupuesto disponible en:
Subproyecto: {item.SubProyecto}
Clasificación {item.Clasificacion}.", TipoMensaje.MsgAdvertencia)
- respuesta = True
+ respuesta = False
Exit For
End If
Else
@@ -9309,7 +9274,6 @@ Partial Class OC_OC
End If
Next
End If
-
Else
' Alert("No hay presupuestos.", TipoMensaje.MsgAdvertencia)
respuesta = True
@@ -9406,7 +9370,6 @@ Partial Class OC_OC
Dim descuentoParts As String() = TxtDescuentoEscalonado.Text.Split("+"c)
-
For Each dRow As DataRow In DtDetalle.Rows
Dim PU As Decimal = dRow("Importe").ToString.ToDecimal
@@ -9452,12 +9415,6 @@ Partial Class OC_OC
dRow("TipoDato") = 1
End If
-
-
-
-
-
-
Next
DtDetalle.AcceptChanges()
@@ -9470,7 +9427,6 @@ Partial Class OC_OC
UpIvas.Update()
UPPDetalle.Update()
-
End Sub
Protected Sub BtnEdicionMasiva_Click(sender As Object, e As EventArgs)
@@ -9484,17 +9440,13 @@ Partial Class OC_OC
End If
ModoEdicionMasiva()
-
End Sub
-
-
Private Sub ModoEdicionMasiva()
If EstaEnmodiEdicionMasiva Then
BtnEdicionMasiva.Text = "Aplicar Edición Masiva"
For Each GvRow As GridViewRow In GvD.Rows
-
GvRow.FCTextBox("TxtEMObsPS").Visible = True
GvRow.FCTextBox("TxtEMCantEdit").Visible = True
GvRow.FCTextBox("TxtEMDescuentoEdit").Visible = True
@@ -9505,15 +9457,11 @@ Partial Class OC_OC
GvRow.FCLiteral("LtlDescuento").Visible = False
GvRow.FCLabel("LtlImporte").Visible = False
GvRow.FCLinkButton("imgE").Visible = False
-
-
'observación, PU, descuento, cantidad
Next
-
Else
'GvD_RecalculaEdicionMasiva()
-
BtnEdicionMasiva.Text = "Edición Masiva"
For Each GvRow As GridViewRow In GvD.Rows
GvRow.FCTextBox("TxtEMObsPS").Visible = False
@@ -9526,39 +9474,28 @@ Partial Class OC_OC
GvRow.FCLiteral("LtlDescuento").Visible = True
GvRow.FCLabel("LtlImporte").Visible = True
GvRow.FCLinkButton("imgE").Visible = True
-
Next
-
-
-
End If
RegistraScript("$(document).ready(function() {setTimeout(function() {document.getElementById('DVSeccionGVD').scrollIntoView({ behavior: 'smooth' }); }, 250);});", "100")
-
UPPDetalle.Update()
uppOpciones.Update()
-
-
End Sub
Private Function GvD_RecalculaEdicionMasiva() As Boolean
For Each gvr As GridViewRow In GvD.Rows
-
Dim Cantidad, Importe, Descuento As Decimal
Cantidad = gvr.FCTextBox("TxtEMCantEdit").Text.Trim.ToDecimal
Importe = gvr.FCTextBox("TxtEMImporteEdit").Text.Trim.ToDecimal
Descuento = gvr.FCTextBox("TxtEMDescuentoEdit").Text.Trim.ToDecimal
Dim PS As String = gvr.DataKey("PS").ToString
Dim Total As Decimal = Importe * Cantidad - Descuento
-
'VALIDA
If Descuento > 0 AndAlso ((Cantidad * Importe) <= Descuento) Then
Alert($"El producto {PS}, cantidad {Cantidad}, el campo 'Descuento' no debe ser mayor o igual al total({(Cantidad * Importe).ToString("###,###,###.00")}).", TipoMensaje.MsgAdvertencia)
Return False
End If
-
-
Next
For Each gvr As GridViewRow In GvD.Rows