From b792eee1a32bbb789fb4ca47d435c628da1137b6 Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Thu, 20 Feb 2020 16:50:44 -0700 Subject: [PATCH] Condiciones Comercailes --- Ventas/Ventas.aspx.vb | 400 ++++++++++++++++-------------------------- 1 file changed, 151 insertions(+), 249 deletions(-) diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 71c5d88eb..ae8cf578e 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -2446,7 +2446,29 @@ Partial Class Ventas End If - If UsuarioActual.Empresa.CvePlataforma = 2 OrElse UsuarioActual.CveRol = 1 Then + 'MOSTRAR LA OPCION DE AGREGAR PS EN BDH + If UsuarioActual.CveEmpresa = 140 Then + ImgOtrosConceptos.Visible = False + TrFormaEntrega.Visible = False + TabDetalleVentas.Visible = False + TabE.Visible = False + LnkOCs.Visible = False + GvPS.Columns(8).Visible = False + TrEdit.Visible = True + + ThProyecto.Visible = False + For Each Gvr As GridViewRow In GvPS.Rows + Gvr.FCLinkButton("imgE").Visible = False + Gvr.FCLinkButton("imgEPyME").Visible = True + Next + LnkAddVenta.Visible = True + divproyectos.Visible = False + + DivAddClasificacionPyME.Visible = False + DivAddUMPyME.Visible = False + End If + + If UsuarioActual.Empresa.CvePlataforma = 2 Then ImgOtrosConceptos.Visible = False TrFormaEntrega.Visible = False TabDetalleVentas.Visible = False @@ -2454,6 +2476,7 @@ Partial Class Ventas LnkOCs.Visible = False GvPS.Columns(8).Visible = False TrEdit.Visible = False + ThProyecto.Visible = False For Each Gvr As GridViewRow In GvPS.Rows Gvr.FCLinkButton("imgE").Visible = False @@ -2565,6 +2588,24 @@ Partial Class Ventas TxtFecha.Enabled = True CargaPorcentajeMarcas() + + BloqueaCondiconesPago() + End Sub + + Private Sub BloqueaCondiconesPago() + If UsuarioActual.TienePermisoProceso(289) Then + DdlFormaEntrega.Enabled = False + DdlUsoCFDI.Enabled = False + DdlMetodoPago33.Enabled = False + DdlFormaPago33.Enabled = False + DdlTiposRelacion.Enabled = False + TxtFechaPago.ReadOnly = True + TxtFechaPago.Enabled = False + RBLPago.Enabled = False + imgCalendario.Visible = False + End If + + UPCondicionesPago.Update() End Sub Private Sub ConfiguraEmpresa() @@ -5107,9 +5148,11 @@ Partial Class Ventas UpModalTitleUploadDocumentoCliente.Update() UpModalButtonUploadDocumentoCliente.Update() UPObservaciones.Update() + + ' RegistraScript("$('#DivDocsClienteUpload').modal({ backdrop: 'static', keyboard: false});", "modalOC") End If - + BloqueaCondiconesPago() End Sub Private Sub CargaRestriccionesCreditoCliente(Optional Alertas As Boolean = False, Optional CveVenta As Integer = -1) @@ -5778,6 +5821,10 @@ Partial Class Ventas Descuento = (GvPS.Rows(e.RowIndex).FCTextBox("TxtDescuento").Text.ToDecimal).RoundSQL(NumeroDecimales) CuentaPredial = GvPS.Rows(e.RowIndex).FCTextBox("TxtPredial").Text.Trim + If UsuarioActual.CveEmpresa = 140 Then + Descuento = CalcularDescuentos(TmpDT.Rows(e.RowIndex)("CvePS").ToString.ToEntero, Cantidad, PU) + End If + Dim CantidadOriginal As Decimal = GvPS.Rows(e.RowIndex).DataKey("Cantidad").ToDecimal() Dim DatarowPS As DataRow = Nothing @@ -13965,10 +14012,100 @@ Partial Class Ventas Return True End Function - Private Sub AgregarPS() + Private Function CalcularDescuentos(CvePS As Integer, Cantidad As Decimal, PU As Decimal) As Decimal + Dim Descuento As Decimal = HdnDescuento.Value.ToDecimal + If UsuarioActual.Empresa.Funcionalidad(572) = "1" AndAlso Not TbDescuentosRNC.Visible Then + TbDescuentosRNC.Visible = True + End If + + If HdnTipoDescuento.Value = "0" Then + Descuento = HdnDescuento.Value.ToDecimal * Cantidad + End If + + 'AGREGA PROMOCION EN EL DESCUENTO + Dim TipoPromo As Integer = 0 + Dim TotalPromocion As Decimal = 0 + Dim PromocionPorcentaje As Decimal = 0 + Dim CantMinima As Integer = 0 + + If DtPromociones.Rows.Count > 0 And DtPromociones IsNot Nothing Then + Dim dr As DataRow = DtPromociones.FiltroPrimero($"CvePS = {CvePS}") + If dr IsNot Nothing Then + TipoPromo = dr("TipoPromocion").ToString.ToEntero + TotalPromocion = dr("PUPromocion").ToString.ToDecimal * TxtCantidad.Text.ToDecimal + PromocionPorcentaje = dr("Promocion").ToString.ToDecimal + CantMinima = dr("CantidadMinima").ToString.ToEntero + End If + End If + + If TipoPromo = 1 Then 'Promocion por Importe $ + Descuento = Descuento + TotalPromocion + ElseIf TipoPromo = 2 Then 'Promocion por % + Descuento = Descuento + ((PU * PromocionPorcentaje / 100) * Cantidad) + ElseIf TipoPromo = 3 Then 'Promocion por Cantidad + If Cantidad >= CantMinima Then + Descuento = Descuento + TotalPromocion + End If + End If + + Dim DrPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimero("") + Dim ValidaCondicionesComerciales As Boolean = True + + If DrPS IsNot Nothing AndAlso DrPS("CveClasificacion").ToString.ToEntero = 20636 Then + ValidaCondicionesComerciales = False + End If + + 'VERIFICA SI APLICAN CONDICIONES COMERCIALES + If ValidaCondicionesComerciales AndAlso DtPorcentajeMarcas IsNot Nothing AndAlso DtPorcentajeMarcas.Rows.Count > 0 Then + 'VERIFICA SI EL PRODUCTO TIENE ESPECIFICADA UNA MARCA + If Not String.IsNullOrEmpty(DrPS("CveMarca").ToString()) AndAlso DrPS("CveMarca").ToString().ToEntero() > 0 Then + Dim RowPorcentaje = DtPorcentajeMarcas.FiltroPrimero($"CveMarca={DrPS("CveMarca").ToString()}") + 'REALIZA LOS DESCUENTOS DE ACUERDO AL PORCENTAJE POR MARCA + If RowPorcentaje IsNot Nothing Then + 'LIMPIAR LOS DESCUENTOS + Descuento = 0 + Dim PorcentajeProducto = RowPorcentaje("PorcentajeProducto").ToString().ToDecimal() / 100D + Dim PorcentajeProducto2 = RowPorcentaje("PorcentajeProducto2").ToString().ToDecimal() / 100D + Dim PorcentajeProducto3 = RowPorcentaje("PorcentajeProducto3").ToString().ToDecimal() / 100D + + Dim TotalInicial As Decimal = (Cantidad * (PU)) - Descuento + Dim TotalFinal = TotalInicial + 'SI APLICA EL PRIMER DESCUENTO + If PorcentajeProducto > 0 Then + Dim Descuento1 As Decimal = (TotalInicial * PorcentajeProducto).RoundSQL(2) + Dim Total2 = (TotalInicial - Descuento1) + + 'SI APLICA EL SEGUNDO DESCUENTO + If PorcentajeProducto2 > 0 Then + Dim Descuento2 As Decimal = (Total2 * PorcentajeProducto2).RoundSQL(2) + Dim Total3 = (Total2 - Descuento2) + + 'SI APLICA EL TERCER DESCUENTO + If PorcentajeProducto3 > 0 Then + Dim Descuento3 As Decimal = (Total3 * PorcentajeProducto3).RoundSQL(2) + TotalFinal = Total3 - Descuento3 + Else + TotalFinal = Total3 + End If + Else + TotalFinal = Total2 + End If + Else + TotalFinal = TotalInicial + End If + + Descuento += ((Cantidad * PU) - TotalFinal) + + End If + End If + End If + + Return Descuento + End Function + Private Sub AgregarPS() 'SELECCIONA EL PS DEPENDIENDO LA MODALIDAD (CODIGO BARRAS - DDL) - Dim CvePS = -1 + Dim CvePS As Integer = -1 If DIVCod.Visible Then CvePS = HdnCvePS.Value.ToEntero Else @@ -13977,99 +14114,13 @@ Partial Class Ventas If ValidaAgregarPS(CvePS, DdlUnidadMedida.SelectedValue.ToEntero, TxtPrecio.Text.Trim.ToDouble, HdnTipoPS.Value.ToEntero) Then - If UsuarioActual.Empresa.Funcionalidad(572) = "1" AndAlso Not TbDescuentosRNC.Visible Then - TbDescuentosRNC.Visible = True - End If - If UsuarioActual.Empresa.Funcionalidad(507) = DdlPS.SelectedValue Then CvePSAmortizacion = DdlPS.SelectedValue.ToEntero.ToEntero End If - Dim Descuento As Decimal = HdnDescuento.Value.ToDecimal - If HdnTipoDescuento.Value = "0" Then - Descuento = HdnDescuento.Value.ToDecimal * TxtCantidad.Text.ToDecimal - End If - - - 'Agrega Promocion en el Descuento - Dim TipoPromo As Integer = 0 - Dim TotalPromocion As Decimal = 0 - Dim PromocionPorcentaje As Decimal = 0 - Dim CantMinima As Integer = 0 - - If DtPromociones.Rows.Count > 0 And DtPromociones IsNot Nothing Then - Dim dr As DataRow = DtPromociones.FiltroPrimero($"CvePS = {CvePS}") - If dr IsNot Nothing Then - TipoPromo = dr("TipoPromocion").ToString.ToEntero - TotalPromocion = dr("PUPromocion").ToString.ToDecimal * TxtCantidad.Text.ToDecimal - PromocionPorcentaje = dr("Promocion").ToString.ToDecimal - CantMinima = dr("CantidadMinima").ToString.ToEntero - End If - End If - - If TipoPromo = 1 Then 'Promocion por Importe $ - Descuento = Descuento + TotalPromocion - ElseIf TipoPromo = 2 Then 'Promocion por % - Descuento = Descuento + ((TxtPrecio.Text.Trim.ToDecimal * PromocionPorcentaje / 100) * TxtCantidad.Text.ToDecimal) - ElseIf TipoPromo = 3 Then 'Promocion por Cantidad - If TxtCantidad.Text.ToDecimal >= CantMinima Then - Descuento = Descuento + TotalPromocion - End If - End If - Dim Cantidad As Decimal = TxtCantidad.Text.ToDecimal Dim PU As Decimal = If(CvePSAmortizacion > 0, TxtPrecio.Text.Trim.ToDecimal * -1, TxtPrecio.Text.Trim.ToDecimal) - - Dim DrPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimero("") ' Estado = -1 - Dim ValidaCondicionesComerciales As Boolean = True - - If DrPS IsNot Nothing AndAlso DrPS("CveClasificacion").ToString.ToEntero = 20636 Then - ValidaCondicionesComerciales = False - End If - - 'VERIFICA SI APLICAN CONDICIONES COMERCIALES - If ValidaCondicionesComerciales AndAlso DtPorcentajeMarcas IsNot Nothing AndAlso DtPorcentajeMarcas.Rows.Count > 0 Then - 'VERIFICA SI EL PRODUCTO TIENE ESPECIFICADA UNA MARCA - If Not String.IsNullOrEmpty(DrPS("CveMarca").ToString()) AndAlso DrPS("CveMarca").ToString().ToEntero() > 0 Then - Dim RowPorcentaje = DtPorcentajeMarcas.FiltroPrimero($"CveMarca={DrPS("CveMarca").ToString()}") - 'REALIZA LOS DESCUENTOS DE ACUERDO AL PORCENTAJE POR MARCA - If RowPorcentaje IsNot Nothing Then - Dim PorcentajeProducto = RowPorcentaje("PorcentajeProducto").ToString().ToDecimal() / 100D - Dim PorcentajeProducto2 = RowPorcentaje("PorcentajeProducto2").ToString().ToDecimal() / 100D - Dim PorcentajeProducto3 = RowPorcentaje("PorcentajeProducto3").ToString().ToDecimal() / 100D - - Dim TotalInicial As Decimal = (Cantidad * (PU)) - Descuento - Dim TotalFinal = TotalInicial - 'SI APLICA EL PRIMER DESCUENTO - If PorcentajeProducto > 0 Then - Dim Descuento1 As Decimal = (TotalInicial * PorcentajeProducto).RoundSQL(2) - Dim Total2 = (TotalInicial - Descuento1) - - 'SI APLICA EL SEGUNDO DESCUENTO - If PorcentajeProducto2 > 0 Then - Dim Descuento2 As Decimal = (Total2 * PorcentajeProducto2).RoundSQL(2) - Dim Total3 = (Total2 - Descuento2) - - 'SI APLICA EL TERCER DESCUENTO - If PorcentajeProducto3 > 0 Then - Dim Descuento3 As Decimal = (Total3 * PorcentajeProducto3).RoundSQL(2) - TotalFinal = Total3 - Descuento3 - Else - TotalFinal = Total3 - End If - Else - TotalFinal = Total2 - End If - Else - TotalFinal = TotalInicial - End If - - Descuento += ((Cantidad * PU) - TotalFinal) - - End If - End If - - End If + Dim Descuento As Decimal = CalcularDescuentos(CvePS, Cantidad, PU) AgregarProductoServicio(Cantidad, DdlUnidadMedida.SelectedValue.ToEntero, DdlUnidadMedida.SelectedItem.Text, DdlClasificacion.SelectedValue.ToEntero, DdlClasificacion.SelectedItem.Text, CvePS, "", TxtObsPS.Text.Trim, PU, Descuento, @@ -14088,18 +14139,6 @@ Partial Class Ventas End If End If - ''NO SIRVE PARA NADA - NO SE USAN LAS VARIABLES - IPP 28 AGOSTO 2017 - 'For Each gvr As GridViewRow In GVAnticipos.Rows - ' Dim total As Decimal = TxtTotal.Text.ToString.ToDecimal - ' Dim saldo As Decimal = gvr.DataKey("Saldo").ToDecimal - ' Dim maxsaldo As Decimal - ' If total > saldo Then - ' maxsaldo = saldo - ' Else - ' maxsaldo = total - ' End If - 'Next - End Sub @@ -14112,60 +14151,12 @@ Partial Class Ventas Dim CveSubProyecto As Integer = IIf(DdlSubProyectoPyME.SelectedValue <> "-1", DdlSubProyectoPyME.SelectedValue, "0").ToString.ToEntero Dim SubProyecto As String = IIf(DdlSubProyectoPyME.SelectedValue <> "-1", DdlSubProyectoPyME.SelectedItem.Text, "").ToString - Dim Descuento As Decimal = 0 Dim PU As Decimal = TxtPrecioPyME.Text.ToDecimal() Dim Cantidad As Decimal = TxtCantidadPyME.Text.ToDecimal() Dim CvePS As Integer = DdlPSPyME.SelectedValue.ToEntero - Dim DrPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimero("") ' Estado = -1 - Dim ValidaCondicionesComerciales As Boolean = True - If DrPS IsNot Nothing AndAlso DrPS("CveClasificacion").ToString.ToEntero = 20636 Then - ValidaCondicionesComerciales = False - End If - 'VERIFICA SI APLICAN CONDICIONES COMERCIALES - If ValidaCondicionesComerciales AndAlso DtPorcentajeMarcas IsNot Nothing AndAlso DtPorcentajeMarcas.Rows.Count > 0 Then - 'VERIFICA SI EL PRODUCTO TIENE ESPECIFICADA UNA MARCA - If Not String.IsNullOrEmpty(DrPS("CveMarca").ToString()) AndAlso DrPS("CveMarca").ToString().ToEntero() > 0 Then - Dim RowPorcentaje = DtPorcentajeMarcas.FiltroPrimero($"CveMarca={DrPS("CveMarca").ToString()}") - 'REALIZA LOS DESCUENTOS DE ACUERDO AL PORCENTAJE POR MARCA - If RowPorcentaje IsNot Nothing Then - Dim PorcentajeProducto = RowPorcentaje("PorcentajeProducto").ToString().ToDecimal() / 100D - Dim PorcentajeProducto2 = RowPorcentaje("PorcentajeProducto2").ToString().ToDecimal() / 100D - Dim PorcentajeProducto3 = RowPorcentaje("PorcentajeProducto3").ToString().ToDecimal() / 100D - - Dim TotalInicial As Decimal = (Cantidad * (PU)) - Descuento - Dim TotalFinal = TotalInicial - 'SI APLICA EL PRIMER DESCUENTO - If PorcentajeProducto > 0 Then - Dim Descuento1 As Decimal = (TotalInicial * PorcentajeProducto).RoundSQL(2) - Dim Total2 = (TotalInicial - Descuento1) - - 'SI APLICA EL SEGUNDO DESCUENTO - If PorcentajeProducto2 > 0 Then - Dim Descuento2 As Decimal = (Total2 * PorcentajeProducto2).RoundSQL(2) - Dim Total3 = (Total2 - Descuento2) - - 'SI APLICA EL TERCER DESCUENTO - If PorcentajeProducto3 > 0 Then - Dim Descuento3 As Decimal = (Total3 * PorcentajeProducto3).RoundSQL(2) - TotalFinal = Total3 - Descuento3 - Else - TotalFinal = Total3 - End If - Else - TotalFinal = Total2 - End If - Else - TotalFinal = TotalInicial - End If - - Descuento += ((Cantidad * PU) - TotalFinal) - - End If - End If - - End If + Dim Descuento As Decimal = CalcularDescuentos(CvePS, Cantidad, PU) AgregarProductoServicio(Cantidad, DdlUMPyME.SelectedValue.ToEntero, DdlUMPyME.SelectedItem.Text, DdlClasificacionPyME.SelectedValue.ToEntero, DdlClasificacionPyME.SelectedItem.Text, CvePS, DdlPSPyME.SelectedText, TxtObsPyME.Text, PU, Descuento, CveProyecto, Proyecto, CveSubProyecto, SubProyecto) @@ -14173,8 +14164,6 @@ Partial Class Ventas CalculaUsados() CalculaTotalesVenta() - - ElseIf Modalidad = "U" Then Dim ErrorEdit As Boolean = True @@ -14355,49 +14344,6 @@ Partial Class Ventas DrPS("IEPSPorcentaje") = 0 End If - ''VERIFICA SI APLICAN CONDICIONES COMERCIALES - 'If DtPorcentajeMarcas IsNot Nothing AndAlso DtPorcentajeMarcas.Rows.Count > 0 Then - ' 'VERIFICA SI EL PRODUCTO TIENE ESPECIFICADA UNA MARCA - ' If Not String.IsNullOrEmpty(DrPS("CveMarca").ToString()) AndAlso DrPS("CveMarca").ToString().ToEntero() > 0 Then - ' Dim RowPorcentaje = DtPorcentajeMarcas.FiltroPrimero($"CveMarca={DrPS("CveMarca").ToString()}") - ' 'REALIZA LOS DESCUENTOS DE ACUERDO AL PORCENTAJE POR MARCA - ' If RowPorcentaje IsNot Nothing Then - ' Dim PorcentajeProducto = RowPorcentaje("PorcentajeProducto").ToString().ToDecimal() / 100D - ' Dim PorcentajeProducto2 = RowPorcentaje("PorcentajeProducto2").ToString().ToDecimal() / 100D - ' Dim PorcentajeProducto3 = RowPorcentaje("PorcentajeProducto3").ToString().ToDecimal() / 100D - - ' Dim TotalInicial = (Cantidad * (PU)) - Descuento - ' Dim TotalFinal = TotalInicial - ' 'SI APLICA EL PRIMER DESCUENTO - ' If PorcentajeProducto > 0 Then - ' Dim Descuento1 = TotalInicial * PorcentajeProducto - ' Dim Total2 = (TotalInicial - Descuento1) - - ' 'SI APLICA EL SEGUNDO DESCUENTO - ' If PorcentajeProducto2 > 0 Then - ' Dim Descuento2 = Total2 * PorcentajeProducto2 - ' Dim Total3 = (Total2 - Descuento2) - - ' 'SI APLICA EL TERCER DESCUENTO - ' If PorcentajeProducto3 > 0 Then - ' Dim Descuento3 = Total3 * PorcentajeProducto3 - ' TotalFinal = Total3 - Descuento3 - ' Else - ' TotalFinal = Total3 - ' End If - ' Else - ' TotalFinal = Total2 - ' End If - ' Else - ' TotalFinal = TotalInicial - ' End If - - ' Descuento += ((Cantidad * PU) - TotalFinal) - - ' End If - ' End If - - 'End If TotalCalculableImpuestos = (Cantidad * (PU)) - Descuento TotalCalculableImpuestosIVA = TotalCalculableImpuestos * (1 + DrPS("IEPSPorcentaje").ToString.ToDecimal) @@ -17020,7 +16966,6 @@ Partial Class Ventas DrProducto("CvePS").ToString.ToEntero, DrProducto("PS").ToString, TxtObsPS.Text.Trim, TxtPrecio.Text.Trim.ToDecimal, 0, DdlProyecto.SelectedValue.ToEntero, DdlProyecto.SelectedItem.Text, DdlSubProyecto.SelectedValue.ToEntero, DdlSubProyecto.SelectedItem.Text) - 'AddPS(TxtCantidad.Text.Trim.ToDouble, DrProducto("CveUM").ToString.ToEntero, DrProducto("UnidadMedida").ToString, DrProducto("CveClasificacion").ToString.ToEntero, DrProducto("Clasificacion").ToString, ' DrProducto("CvePS").ToString.ToEntero, DrProducto("PS").ToString, TxtObsPS.Text.Trim, TxtPrecio.Text.Trim.ToDouble, HdnIVAPS.Value.ToDouble, 0, 0, ' -1, -1, True, DrProducto("Codigo").ToString, DdlProyecto.SelectedValue.ToEntero, @@ -19738,55 +19683,8 @@ Partial Class Ventas Dim Cantidad As Decimal = TxtCantidadPyME.Text.ToDecimal() Dim PU As Decimal = TxtPrecioPyME.Text.ToDecimal() - Dim Descuento As Decimal = 0 - Dim ValidaCondicionesComerciales As Boolean = True - If drPS IsNot Nothing AndAlso drPS("CveClasificacion").ToString.ToEntero = 20636 Then - ValidaCondicionesComerciales = False - End If - 'VERIFICA SI APLICAN CONDICIONES COMERCIALES - If ValidaCondicionesComerciales AndAlso DtPorcentajeMarcas IsNot Nothing AndAlso DtPorcentajeMarcas.Rows.Count > 0 Then - 'VERIFICA SI EL PRODUCTO TIENE ESPECIFICADA UNA MARCA - If Not String.IsNullOrEmpty(drPS("CveMarca").ToString()) AndAlso drPS("CveMarca").ToString().ToEntero() > 0 Then - Dim RowPorcentaje = DtPorcentajeMarcas.FiltroPrimero($"CveMarca={drPS("CveMarca").ToString()}") - 'REALIZA LOS DESCUENTOS DE ACUERDO AL PORCENTAJE POR MARCA - If RowPorcentaje IsNot Nothing Then - Dim PorcentajeProducto = RowPorcentaje("PorcentajeProducto").ToString().ToDecimal() / 100D - Dim PorcentajeProducto2 = RowPorcentaje("PorcentajeProducto2").ToString().ToDecimal() / 100D - Dim PorcentajeProducto3 = RowPorcentaje("PorcentajeProducto3").ToString().ToDecimal() / 100D - - Dim TotalInicial As Decimal = (Cantidad * (PU)) - Descuento - Dim TotalFinal = TotalInicial - 'SI APLICA EL PRIMER DESCUENTO - If PorcentajeProducto > 0 Then - Dim Descuento1 As Decimal = (TotalInicial * PorcentajeProducto).RoundSQL(2) - Dim Total2 = (TotalInicial - Descuento1) - - 'SI APLICA EL SEGUNDO DESCUENTO - If PorcentajeProducto2 > 0 Then - Dim Descuento2 As Decimal = (Total2 * PorcentajeProducto2).RoundSQL(2) - Dim Total3 = (Total2 - Descuento2) - - 'SI APLICA EL TERCER DESCUENTO - If PorcentajeProducto3 > 0 Then - Dim Descuento3 As Decimal = (Total3 * PorcentajeProducto3).RoundSQL(2) - TotalFinal = Total3 - Descuento3 - Else - TotalFinal = Total3 - End If - Else - TotalFinal = Total2 - End If - Else - TotalFinal = TotalInicial - End If - - Descuento += ((Cantidad * PU) - TotalFinal) - - End If - End If - - End If + Dim Descuento As Decimal = CalcularDescuentos(DdlPSPyME.SelectedValue.ToEntero, Cantidad, PU) TxtDescuentoPyME.Text = Descuento.FormatoNumero(2).Replace(","c, "") @@ -20009,8 +19907,6 @@ Partial Class Ventas BtnAgregarPS.Enabled = True End If - - UpSerieConsignacion.Update() TxtSerieLote.Text = "" TxtSerieLote.Focus() @@ -21764,7 +21660,7 @@ Partial Class Ventas UPCondicionesPago.Update() UpDetalle.Update() - + BloqueaCondiconesPago() End Sub Private Sub InicializaDTVentasNC() @@ -22083,6 +21979,8 @@ Partial Class Ventas End If Next + BloqueaCondiconesPago() + UpAnticipos.Update() UpParametros.Update() UpPS.Update() @@ -22095,6 +21993,8 @@ Partial Class Ventas UpnTools.Update() UPObservaciones.Update() UpAntNC.Update() + + End Sub #End Region @@ -22540,6 +22440,7 @@ Partial Class Ventas GvImpuestosLocales2.Enabled = True + BloqueaCondiconesPago() UpPS.Update() UPPDescuento.Update() @@ -23889,6 +23790,7 @@ Partial Class Ventas CambiaSucursalGeneral() CargaAnticipos(CveCliente) CargaRestriccionesCreditoCliente(CveVenta:=-1) + BloqueaCondiconesPago() UpParametros.Update() End Sub