diff --git a/Ventas/PV.aspx.vb b/Ventas/PV.aspx.vb index d283cc000..82bfc6d9f 100644 --- a/Ventas/PV.aspx.vb +++ b/Ventas/PV.aspx.vb @@ -5212,61 +5212,67 @@ Partial Class PV 'Alert("No se ha especificado producto a entregar") Exit Sub End If + Try - If DdlTipoUso.SelectedValue.ToEntero > 0 AndAlso DdlPSAjuste.SelectedValue.ToEntero > 0 AndAlso TxtMesesUso.Text <> "" AndAlso DdlPS.SelectedValue.ToEntero > 0 Then - Dim CveMarca As Integer = -1 - CveMarca = GlobalDTPS(UsuarioActual.CveEmpresa, DdlPSAjuste.SelectedValue.ToEntero).FiltroPrimeroValor("CveMarca", "").ToEntero + If DdlTipoUso.SelectedValue.ToEntero > 0 AndAlso DdlPSAjuste.SelectedValue.ToEntero > 0 AndAlso TxtMesesUso.Text <> "" AndAlso DdlPS.SelectedValue.ToEntero > 0 Then + Dim CveMarca As Integer = -1 - Dim ObjAcum As New ClsAcumuladores - If ObjAcum.GarantiasMesesGet(-1, UsuarioActual.CveEmpresa, CveMarca, DdlTipoUso.SelectedValue.ToEntero, TxtMesesUso.Text.ToEntero) Then - If ObjAcum.DtResultados.Rows.Count > 0 Then - TxtPorcentajeAjuste.Text = (ObjAcum.DtResultados.Rows(0)("Valor").ToString.ToDouble / 100).ToString + CveMarca = GlobalDTPS(UsuarioActual.CveEmpresa, DdlPSAjuste.SelectedValue.ToEntero).FiltroPrimeroValor("CveMarca", "").ToEntero - TxtImporteAjuste.Text = (TxtPorcentajeAjuste.Text.ToDecimal * TxtPUFactura.Text.ToDecimal).FormatoNumero + Dim ObjAcum As New ClsAcumuladores + If ObjAcum.GarantiasMesesGet(-1, UsuarioActual.CveEmpresa, CveMarca, DdlTipoUso.SelectedValue.ToEntero, TxtMesesUso.Text.ToEntero) Then + If ObjAcum.DtResultados.Rows.Count > 0 Then + TxtPorcentajeAjuste.Text = (ObjAcum.DtResultados.Rows(0)("Valor").ToString.ToDouble / 100).ToString - Dim CargoVendido As Decimal = 0 - Dim CargoGarantia As Decimal = 0 - Dim CveTamaño As Integer = 0 + TxtImporteAjuste.Text = (TxtPorcentajeAjuste.Text.ToDecimal * TxtPUFactura.Text.ToDecimal).FormatoNumero - If DdlPSAjuste.SelectedValue.ToEntero > 0 Then - Dim Dr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, DdlPSAjuste.SelectedValue.ToEntero).FiltroPrimero("") - If Dr IsNot Nothing Then - CargoGarantia = Dr("Cargo").ToString.ToDecimal + Dim CargoVendido As Decimal = 0 + Dim CargoGarantia As Decimal = 0 + Dim CveTamaño As Integer = 0 + + If DdlPSAjuste.SelectedValue.ToEntero > 0 Then + Dim Dr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, DdlPSAjuste.SelectedValue.ToEntero).FiltroPrimero("") + If Dr IsNot Nothing Then + CargoGarantia = Dr("Cargo").ToString.ToDecimal + End If End If - End If - If DdlPS.SelectedValue.ToEntero > 0 Then - Dim Dr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, DdlPS.SelectedValue.ToEntero).FiltroPrimero("") - If Dr IsNot Nothing Then - CveTamaño = Dr("CveTamaño").ToString.ToEntero + If DdlPS.SelectedValue.ToEntero > 0 Then + Dim Dr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, DdlPS.SelectedValue.ToEntero).FiltroPrimero("") + If Dr IsNot Nothing Then + CveTamaño = Dr("CveTamaño").ToString.ToEntero + End If End If - End If - Dim DrCargo As DataRow = GlobalDTAcumTamaños.FiltroPrimero($"CveEmpresa = {UsuarioActual.CveEmpresa} AND CveTamaño = {CveTamaño}") - If DrCargo IsNot Nothing Then + Dim DrCargo As DataRow = GlobalDTAcumTamaños.FiltroPrimero($"CveEmpresa = {UsuarioActual.CveEmpresa} AND CveTamaño = {CveTamaño}") + If DrCargo IsNot Nothing Then - CargoVendido = DrCargo("Cargo").ToString.ToDecimal + CargoVendido = DrCargo("Cargo").ToString.ToDecimal - End If + End If - 'el ajuste no puede ser mayor al precio de lo vendido de nuevo - If (TxtPrecio.Text.ToDouble - ((TxtPUFactura.Text.ToDouble - TxtImporteAjuste.Text.ToDouble) - (CargoVendido - CargoGarantia))) < 0 Then + 'el ajuste no puede ser mayor al precio de lo vendido de nuevo + If (TxtPrecio.Text.ToDouble - ((TxtPUFactura.Text.ToDouble - TxtImporteAjuste.Text.ToDouble) - (CargoVendido - CargoGarantia))) < 0 Then + TxtImporteAjuste.Text = "0.00" + CargoGarantia = CargoVendido + End If + TxtImporteAjuste.ToolTip = $"La diferencia de ajuste fue: {(TxtPrecio.Text.ToDouble - TxtImporteAjuste.Text.ToDouble).FormatoNumero()}. La diferencia de tamaños fue: {(CargoVendido - CargoGarantia).FormatoNumero}." + TxtImporteAjuste.Text = ((TxtPUFactura.Text.ToDouble - TxtImporteAjuste.Text.ToDouble) - (CargoVendido - CargoGarantia)).FormatoNumero + + Else + 'cuando no está registrada, no da ajuste + TxtImporteAjuste.ToolTip = "El producto no tiene ajuste en ese periodo" TxtImporteAjuste.Text = "0.00" - CargoGarantia = CargoVendido End If - TxtImporteAjuste.ToolTip = $"La diferencia de ajuste fue: {(TxtPrecio.Text.ToDouble - TxtImporteAjuste.Text.ToDouble).FormatoNumero()}. La diferencia de tamaños fue: {(CargoVendido - CargoGarantia).FormatoNumero}." - TxtImporteAjuste.Text = ((TxtPUFactura.Text.ToDouble - TxtImporteAjuste.Text.ToDouble) - (CargoVendido - CargoGarantia)).FormatoNumero - - Else - 'cuando no está registrada, no da ajuste - TxtImporteAjuste.ToolTip = "El producto no tiene ajuste en ese periodo" - TxtImporteAjuste.Text = "0.00" End If + ObjAcum.Dispose() End If - ObjAcum.Dispose() - End If + Catch ex As Exception + OnError("Ocurrió un error al recalcular el costo", ex) + End Try + UpAjuste.Update() End Sub