Condiciones Comercailes
This commit is contained in:
@@ -2446,7 +2446,29 @@ Partial Class Ventas
|
|||||||
|
|
||||||
End If
|
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
|
ImgOtrosConceptos.Visible = False
|
||||||
TrFormaEntrega.Visible = False
|
TrFormaEntrega.Visible = False
|
||||||
TabDetalleVentas.Visible = False
|
TabDetalleVentas.Visible = False
|
||||||
@@ -2454,6 +2476,7 @@ Partial Class Ventas
|
|||||||
LnkOCs.Visible = False
|
LnkOCs.Visible = False
|
||||||
GvPS.Columns(8).Visible = False
|
GvPS.Columns(8).Visible = False
|
||||||
TrEdit.Visible = False
|
TrEdit.Visible = False
|
||||||
|
|
||||||
ThProyecto.Visible = False
|
ThProyecto.Visible = False
|
||||||
For Each Gvr As GridViewRow In GvPS.Rows
|
For Each Gvr As GridViewRow In GvPS.Rows
|
||||||
Gvr.FCLinkButton("imgE").Visible = False
|
Gvr.FCLinkButton("imgE").Visible = False
|
||||||
@@ -2565,6 +2588,24 @@ Partial Class Ventas
|
|||||||
TxtFecha.Enabled = True
|
TxtFecha.Enabled = True
|
||||||
|
|
||||||
CargaPorcentajeMarcas()
|
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
|
End Sub
|
||||||
|
|
||||||
Private Sub ConfiguraEmpresa()
|
Private Sub ConfiguraEmpresa()
|
||||||
@@ -5107,9 +5148,11 @@ Partial Class Ventas
|
|||||||
UpModalTitleUploadDocumentoCliente.Update()
|
UpModalTitleUploadDocumentoCliente.Update()
|
||||||
UpModalButtonUploadDocumentoCliente.Update()
|
UpModalButtonUploadDocumentoCliente.Update()
|
||||||
UPObservaciones.Update()
|
UPObservaciones.Update()
|
||||||
|
|
||||||
|
|
||||||
' RegistraScript("$('#DivDocsClienteUpload').modal({ backdrop: 'static', keyboard: false});", "modalOC")
|
' RegistraScript("$('#DivDocsClienteUpload').modal({ backdrop: 'static', keyboard: false});", "modalOC")
|
||||||
End If
|
End If
|
||||||
|
BloqueaCondiconesPago()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub CargaRestriccionesCreditoCliente(Optional Alertas As Boolean = False, Optional CveVenta As Integer = -1)
|
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)
|
Descuento = (GvPS.Rows(e.RowIndex).FCTextBox("TxtDescuento").Text.ToDecimal).RoundSQL(NumeroDecimales)
|
||||||
CuentaPredial = GvPS.Rows(e.RowIndex).FCTextBox("TxtPredial").Text.Trim
|
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 CantidadOriginal As Decimal = GvPS.Rows(e.RowIndex).DataKey("Cantidad").ToDecimal()
|
||||||
|
|
||||||
Dim DatarowPS As DataRow = Nothing
|
Dim DatarowPS As DataRow = Nothing
|
||||||
@@ -13965,10 +14012,100 @@ Partial Class Ventas
|
|||||||
Return True
|
Return True
|
||||||
|
|
||||||
End Function
|
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)
|
'SELECCIONA EL PS DEPENDIENDO LA MODALIDAD (CODIGO BARRAS - DDL)
|
||||||
Dim CvePS = -1
|
Dim CvePS As Integer = -1
|
||||||
If DIVCod.Visible Then
|
If DIVCod.Visible Then
|
||||||
CvePS = HdnCvePS.Value.ToEntero
|
CvePS = HdnCvePS.Value.ToEntero
|
||||||
Else
|
Else
|
||||||
@@ -13977,99 +14114,13 @@ Partial Class Ventas
|
|||||||
|
|
||||||
If ValidaAgregarPS(CvePS, DdlUnidadMedida.SelectedValue.ToEntero, TxtPrecio.Text.Trim.ToDouble, HdnTipoPS.Value.ToEntero) Then
|
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
|
If UsuarioActual.Empresa.Funcionalidad(507) = DdlPS.SelectedValue Then
|
||||||
CvePSAmortizacion = DdlPS.SelectedValue.ToEntero.ToEntero
|
CvePSAmortizacion = DdlPS.SelectedValue.ToEntero.ToEntero
|
||||||
End If
|
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 Cantidad As Decimal = TxtCantidad.Text.ToDecimal
|
||||||
Dim PU As Decimal = If(CvePSAmortizacion > 0, TxtPrecio.Text.Trim.ToDecimal * -1, TxtPrecio.Text.Trim.ToDecimal)
|
Dim PU As Decimal = If(CvePSAmortizacion > 0, TxtPrecio.Text.Trim.ToDecimal * -1, TxtPrecio.Text.Trim.ToDecimal)
|
||||||
|
Dim Descuento As Decimal = CalcularDescuentos(CvePS, Cantidad, PU)
|
||||||
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
|
|
||||||
|
|
||||||
AgregarProductoServicio(Cantidad, DdlUnidadMedida.SelectedValue.ToEntero, DdlUnidadMedida.SelectedItem.Text, DdlClasificacion.SelectedValue.ToEntero, DdlClasificacion.SelectedItem.Text,
|
AgregarProductoServicio(Cantidad, DdlUnidadMedida.SelectedValue.ToEntero, DdlUnidadMedida.SelectedItem.Text, DdlClasificacion.SelectedValue.ToEntero, DdlClasificacion.SelectedItem.Text,
|
||||||
CvePS, "", TxtObsPS.Text.Trim, PU, Descuento,
|
CvePS, "", TxtObsPS.Text.Trim, PU, Descuento,
|
||||||
@@ -14088,18 +14139,6 @@ Partial Class Ventas
|
|||||||
End If
|
End If
|
||||||
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
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
@@ -14112,60 +14151,12 @@ Partial Class Ventas
|
|||||||
Dim CveSubProyecto As Integer = IIf(DdlSubProyectoPyME.SelectedValue <> "-1", DdlSubProyectoPyME.SelectedValue, "0").ToString.ToEntero
|
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 SubProyecto As String = IIf(DdlSubProyectoPyME.SelectedValue <> "-1", DdlSubProyectoPyME.SelectedItem.Text, "").ToString
|
||||||
|
|
||||||
Dim Descuento As Decimal = 0
|
|
||||||
Dim PU As Decimal = TxtPrecioPyME.Text.ToDecimal()
|
Dim PU As Decimal = TxtPrecioPyME.Text.ToDecimal()
|
||||||
Dim Cantidad As Decimal = TxtCantidadPyME.Text.ToDecimal()
|
Dim Cantidad As Decimal = TxtCantidadPyME.Text.ToDecimal()
|
||||||
|
|
||||||
Dim CvePS As Integer = DdlPSPyME.SelectedValue.ToEntero
|
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
|
Dim Descuento As Decimal = CalcularDescuentos(CvePS, Cantidad, PU)
|
||||||
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
|
|
||||||
|
|
||||||
AgregarProductoServicio(Cantidad, DdlUMPyME.SelectedValue.ToEntero, DdlUMPyME.SelectedItem.Text, DdlClasificacionPyME.SelectedValue.ToEntero, DdlClasificacionPyME.SelectedItem.Text,
|
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)
|
CvePS, DdlPSPyME.SelectedText, TxtObsPyME.Text, PU, Descuento, CveProyecto, Proyecto, CveSubProyecto, SubProyecto)
|
||||||
@@ -14173,8 +14164,6 @@ Partial Class Ventas
|
|||||||
CalculaUsados()
|
CalculaUsados()
|
||||||
CalculaTotalesVenta()
|
CalculaTotalesVenta()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ElseIf Modalidad = "U" Then
|
ElseIf Modalidad = "U" Then
|
||||||
|
|
||||||
Dim ErrorEdit As Boolean = True
|
Dim ErrorEdit As Boolean = True
|
||||||
@@ -14355,49 +14344,6 @@ Partial Class Ventas
|
|||||||
DrPS("IEPSPorcentaje") = 0
|
DrPS("IEPSPorcentaje") = 0
|
||||||
End If
|
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
|
TotalCalculableImpuestos = (Cantidad * (PU)) - Descuento
|
||||||
TotalCalculableImpuestosIVA = TotalCalculableImpuestos * (1 + DrPS("IEPSPorcentaje").ToString.ToDecimal)
|
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,
|
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)
|
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,
|
'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,
|
' 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,
|
' -1, -1, True, DrProducto("Codigo").ToString, DdlProyecto.SelectedValue.ToEntero,
|
||||||
@@ -19738,55 +19683,8 @@ Partial Class Ventas
|
|||||||
|
|
||||||
Dim Cantidad As Decimal = TxtCantidadPyME.Text.ToDecimal()
|
Dim Cantidad As Decimal = TxtCantidadPyME.Text.ToDecimal()
|
||||||
Dim PU As Decimal = TxtPrecioPyME.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
|
Dim Descuento As Decimal = CalcularDescuentos(DdlPSPyME.SelectedValue.ToEntero, Cantidad, PU)
|
||||||
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
|
|
||||||
|
|
||||||
TxtDescuentoPyME.Text = Descuento.FormatoNumero(2).Replace(","c, "")
|
TxtDescuentoPyME.Text = Descuento.FormatoNumero(2).Replace(","c, "")
|
||||||
|
|
||||||
@@ -20009,8 +19907,6 @@ Partial Class Ventas
|
|||||||
BtnAgregarPS.Enabled = True
|
BtnAgregarPS.Enabled = True
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
UpSerieConsignacion.Update()
|
UpSerieConsignacion.Update()
|
||||||
TxtSerieLote.Text = ""
|
TxtSerieLote.Text = ""
|
||||||
TxtSerieLote.Focus()
|
TxtSerieLote.Focus()
|
||||||
@@ -21764,7 +21660,7 @@ Partial Class Ventas
|
|||||||
UPCondicionesPago.Update()
|
UPCondicionesPago.Update()
|
||||||
UpDetalle.Update()
|
UpDetalle.Update()
|
||||||
|
|
||||||
|
BloqueaCondiconesPago()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub InicializaDTVentasNC()
|
Private Sub InicializaDTVentasNC()
|
||||||
@@ -22083,6 +21979,8 @@ Partial Class Ventas
|
|||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
|
|
||||||
|
BloqueaCondiconesPago()
|
||||||
|
|
||||||
UpAnticipos.Update()
|
UpAnticipos.Update()
|
||||||
UpParametros.Update()
|
UpParametros.Update()
|
||||||
UpPS.Update()
|
UpPS.Update()
|
||||||
@@ -22095,6 +21993,8 @@ Partial Class Ventas
|
|||||||
UpnTools.Update()
|
UpnTools.Update()
|
||||||
UPObservaciones.Update()
|
UPObservaciones.Update()
|
||||||
UpAntNC.Update()
|
UpAntNC.Update()
|
||||||
|
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
#End Region
|
#End Region
|
||||||
|
|
||||||
@@ -22540,6 +22440,7 @@ Partial Class Ventas
|
|||||||
|
|
||||||
GvImpuestosLocales2.Enabled = True
|
GvImpuestosLocales2.Enabled = True
|
||||||
|
|
||||||
|
BloqueaCondiconesPago()
|
||||||
|
|
||||||
UpPS.Update()
|
UpPS.Update()
|
||||||
UPPDescuento.Update()
|
UPPDescuento.Update()
|
||||||
@@ -23889,6 +23790,7 @@ Partial Class Ventas
|
|||||||
CambiaSucursalGeneral()
|
CambiaSucursalGeneral()
|
||||||
CargaAnticipos(CveCliente)
|
CargaAnticipos(CveCliente)
|
||||||
CargaRestriccionesCreditoCliente(CveVenta:=-1)
|
CargaRestriccionesCreditoCliente(CveVenta:=-1)
|
||||||
|
BloqueaCondiconesPago()
|
||||||
UpParametros.Update()
|
UpParametros.Update()
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|||||||
Reference in New Issue
Block a user