From 001119b51ed1662362c0a45dce9909518126f4e4 Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Mon, 1 Apr 2024 17:48:50 -0700 Subject: [PATCH] -- Editar lista de precios cuando se edita una partida funcionalidad 109 y 360 --- Ventas/Ventas.aspx | 43 ++++++++++++++---------- Ventas/Ventas.aspx.vb | 77 ++++++++++++++++++++++++++++++++++++++----- 2 files changed, 95 insertions(+), 25 deletions(-) diff --git a/Ventas/Ventas.aspx b/Ventas/Ventas.aspx index 826b0006e..9f12d88c4 100644 --- a/Ventas/Ventas.aspx +++ b/Ventas/Ventas.aspx @@ -1005,7 +1005,7 @@
- +
@@ -1365,15 +1365,24 @@ - - - - - +
+
+ +
+
+
+
+ + + + + - + - + +
+
<%--10--%> @@ -7965,15 +7974,15 @@
-
- - - -
-
- -
-
+
+ + + +
+
+ +
+
diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 38fdec9d3..c7b10cc0c 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -3697,12 +3697,8 @@ Partial Class Ventas Private Sub CargaListasPrecios() DivPrecioLista.Visible = True - Using ObjVta As New ClsVentas - If ObjVta.GetPrecioListas(UsuarioActual.CveEmpresa) Then - DdlPrecioLista.DataSource = ObjVta.DtResultados - DdlPrecioLista.SelectedValue = ObjVta.DtResultados.FiltroPrimeroValor("CvePrecioLista", "Predeterminada = 'True'") - End If - End Using + DdlPrecioLista.DataSource = GlobalDTPrecioListas(UsuarioActual.CveEmpresa) + DdlPrecioLista.SelectedValue = GlobalDTPrecioListas(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CvePrecioLista", "Predeterminada = 'True'") DdlPrecioLista.DataBind() 'DdlPrecioLista.Items.Insert(0, New ListItem("Seleccione", "-1")) @@ -8343,6 +8339,14 @@ Partial Class Ventas End If End If + If UsuarioActual.Empresa.Funcionalidad(360) = "1" OrElse UsuarioActual.Empresa.Funcionalidad(109) = "1" Then + e.Row.FCHtmlGenericControl("DivPrecioLista").Visible = True + e.Row.FCDropDownList("DdlPrecioListaEdit").DataSource = GlobalDTPrecioListas(UsuarioActual.CveEmpresa) + e.Row.FCDropDownList("DdlPrecioListaEdit").DataBind() + + e.Row.FCDropDownList("DdlPrecioListaEdit").SelectedValueExist(e.Row.DBCampo("CvePrecioLista")) + End If + 'Si es facturacion de OC o Contrato If CveContrato > 0 AndAlso Not CveVenta > 0 AndAlso Not CveCicloComercial > 0 Then e.Row.FCLinkButton("imgClone").Visible = False @@ -8827,13 +8831,21 @@ Partial Class Ventas TmpDT.Rows.Remove(TmpDT.Rows(e.RowIndex)) CalculaUsados() + + Dim CvePrecioLista As Integer = -1 + Dim PrecioLista As String = "" + If UsuarioActual.Empresa.Funcionalidad(109) = "1" OrElse UsuarioActual.Empresa.Funcionalidad(360) = "1" Then + CvePrecioLista = GvPS.Rows(e.RowIndex).FCDropDownList("DdlPrecioListaEdit").SelectedValue.ToEntero() + PrecioLista = GvPS.Rows(e.RowIndex).FCDropDownList("DdlPrecioListaEdit").SelectedItem.Text + End If + AgregarProductoServicio(Cantidad, DdlUM.SelectedValue.ToEntero(), DdlUM.SelectedItem.Text, DdlCla.SelectedValue.ToEntero(), DdlCla.SelectedItem.Text, GvPS.Rows(e.RowIndex).FCDropDownLost("DdlPS").SelectedValue.ToEntero(), GvPS.Rows(e.RowIndex).FCDropDownLost("DdlPS").SelectedText, GvPS.Rows(e.RowIndex).FCTextBox("TxtObsPS").Text.Trim, PU, ObjDescuento.ImporteDescuento, GvPS.Rows(e.RowIndex).FCDropDownList("DdlProyecto").SelectedValue.ToEntero(), GvPS.Rows(e.RowIndex).FCDropDownList("DdlProyecto").SelectedItem.Text, GvPS.Rows(e.RowIndex).FCDropDownList("DdlSubProyecto").SelectedValue.ToEntero(), GvPS.Rows(e.RowIndex).FCDropDownList("DdlSubProyecto").SelectedItem.Text, CuentaPredial:=CuentaPredial, CveVentaDetalle:=GvPS.Rows(e.RowIndex).DataKey("CveVentaDetalle").ToString().ToEntero(), SeActualiza:=True, CvePromocionDetalle:=ObjDescuento.CvePromocionDetalle, - ObjDescuento:=ObjDescuento, NumTurnos:=NumTurnos) + ObjDescuento:=ObjDescuento, NumTurnos:=NumTurnos, CvePrecioLista:=CvePrecioLista, PrecioLista:=PrecioLista) ' TmpDT.Rows(e.RowIndex)("CveUM") = Ddl.SelectedValue ' TmpDT.Rows(e.RowIndex)("UM") = Ddl.SelectedItem.Text @@ -8918,6 +8930,16 @@ Partial Class Ventas TmpDT.Rows(e.RowIndex)("Proyecto") = GvPS.Rows(e.RowIndex).FCDropDownList("DdlProyecto").SelectedItem.Text End If + Dim CvePrecioLista As Integer = -1 + Dim PrecioLista As String = "" + + If UsuarioActual.Empresa.Funcionalidad(109) = "1" OrElse UsuarioActual.Empresa.Funcionalidad(360) = "1" Then + CvePrecioLista = GvPS.Rows(e.RowIndex).FCDropDownList("DdlPrecioListaEdit").SelectedValue.ToEntero() + PrecioLista = GvPS.Rows(e.RowIndex).FCDropDownList("DdlPrecioListaEdit").SelectedItem.Text + + TmpDT.Rows(e.RowIndex)("CvePrecioLista") = CvePrecioLista + TmpDT.Rows(e.RowIndex)("PrecioLista") = PrecioLista + End If If GvPS.Rows(e.RowIndex).FCDropDownList("DdlSubProyecto").Items.Count = 0 Then TmpDT.Rows(e.RowIndex)("SubProyecto") = "Sin SubProyecto Asignado" @@ -17639,10 +17661,18 @@ Partial Class Ventas End If + 'SI ESTA AGREGANDO TOMAR DEL SELECCIONADO If DivPrecioLista.Visible AndAlso CvePrecioListaSugerido > 0 Then CvePrecioListaPS = CvePrecioListaSugerido End If + 'SI ES EDICION DE PS + If CvePrecioListaSugerido > 0 AndAlso (UsuarioActual.Empresa.Funcionalidad(109) = "1" OrElse UsuarioActual.Empresa.Funcionalidad(360) = "1") Then + If GvPS.EditIndex >= 0 Then + CvePrecioListaPS = CvePrecioListaSugerido + End If + End If + Dim CvePrecioListaPredeterminada = -1 Dim AplicaPredeterminado As Boolean = False @@ -17721,13 +17751,44 @@ Partial Class Ventas If (GvRow.RowState = DataControlRowState.Edit OrElse GvRow.RowState = 5) Then Dim CvePSParametro = ddlPSEdit.SelectedValue.ToEntero() + Dim DdlPrecioListaEdit = GvRow.FCDropDownList("DdlPrecioListaEdit") + Dim DrPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePSParametro).FiltroPrimero("") If DrPS IsNot Nothing Then 'SUGIERE PRECIO Dim PrecioSugerido As Decimal = 0 Dim tPrecioSugerido As Decimal = 0 tPrecioSugerido = DrPS("Precio").ToString().ToDecimal - Dim ObjPrecioSugerido As Modelos.MPrecioSugerido = CalculaPrecioSugerido(CvePSParametro, DrPS("CveClasificacion").ToString().ToEntero()) + Dim ObjPrecioSugerido As Modelos.MPrecioSugerido = CalculaPrecioSugerido(CvePSParametro, DrPS("CveClasificacion").ToString().ToEntero(), CvePrecioListaSugerido:=DdlPrecioListaEdit.SelectedValue.ToEntero()) + + PrecioSugerido = ObjPrecioSugerido.PrecioSugerido + + If PrecioSugerido <= 0 Then PrecioSugerido = tPrecioSugerido + + GvRow.FCTextBox("TxtPrecio").Text = PrecioSugerido.ToString("#,###.####") ' que muestre hasta los 4 digitos si lo requiere + End If + End If + End If + End If + + End Sub + + Protected Sub DdlPrecioListaEdit_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) + If UsuarioActual.Empresa.Funcionalidad(109) = "1" OrElse UsuarioActual.Empresa.Funcionalidad(360) = "1" Then + If GvPS.EditIndex >= 0 Then + Dim DdlPrecioListaEdit = DirectCast(sender, DropDownList) + Dim GvRow = DirectCast(DdlPrecioListaEdit.NamingContainer, GridViewRow) + + If (GvRow.RowState = DataControlRowState.Edit OrElse GvRow.RowState = 5) Then + Dim CvePSParametro = GvRow.FCDropDownLost("DdlPS").SelectedValue.ToEntero() + + Dim DrPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePSParametro).FiltroPrimero("") + If DrPS IsNot Nothing Then + 'SUGIERE PRECIO + Dim PrecioSugerido As Decimal = 0 + Dim tPrecioSugerido As Decimal = 0 + tPrecioSugerido = DrPS("Precio").ToString().ToDecimal + Dim ObjPrecioSugerido As Modelos.MPrecioSugerido = CalculaPrecioSugerido(CvePSParametro, DrPS("CveClasificacion").ToString().ToEntero(), CvePrecioListaSugerido:=DdlPrecioListaEdit.SelectedValue.ToEntero()) PrecioSugerido = ObjPrecioSugerido.PrecioSugerido