diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index eec016ace..92f035df3 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -12601,27 +12601,34 @@ Partial Class Compras_Compras #Region " AJUSTA IMPORTES " Private Sub AjustaImporteUltimoConcepto(ImporteAjuste As Decimal, Optional EsCarga As Boolean = False) - 'Dim TempSubTotal = TxtSubTotal.Text.ToDouble + Dim Amortizacion As Decimal = 0 If ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 Then Amortizacion = LblAmortizacion.Text.ToDecimal End If If TmpDT.Rows.Count > 0 Then ' si hay movimientos y si esta afectando al total, que se haga el ajuste - 'Dim ImporteAjuste As Decimal = Total - (SubTotal2 + IVA - RetencionIVA - RetencionIVA - RetencionISR + IEPS + OtrosImpuestos) Dim Indice As Integer = If(TmpDT.Rows(TmpDT.Rows.Count - 1)("CvePS").ToString = UsuarioActual.Empresa.Funcionalidad(112).ToString, TmpDT.Rows.Count - 2, TmpDT.Rows.Count - 1) Dim tPU As Decimal - If TmpDT.Rows(Indice)("Cantidad").ToString.ToDecimal > 0 Then tPU = ImporteAjuste / TmpDT.Rows(Indice)("Cantidad").ToString.ToDecimal Else tPU = 0 End If - TmpDT.Rows(Indice)("PU") = TmpDT.Rows(Indice)("PU").ToString.ToDouble + tPU - TmpDT.Rows(Indice)("Total") = TmpDT.Rows(Indice)("Total").ToString.ToDouble + ImporteAjuste - TmpDT.Rows(Indice)("IEPSPS") = (TmpDT.Rows(Indice)("Total").ToString.ToDouble() * TmpDT.Rows(Indice)("IEPSPSPorcentaje").ToString.ToDouble()).RoundAD(2) + If TmpDT.Rows(Indice)("PU").ToString.ToDecimal + tPU < 0 Then 'si es negativo, que tome el dato anterior + Indice = Indice - 1 + If TmpDT.Rows(Indice)("Cantidad").ToString.ToDecimal > 0 Then + tPU = ImporteAjuste / TmpDT.Rows(Indice)("Cantidad").ToString.ToDecimal + Else + tPU = 0 + End If + End If + + TmpDT.Rows(Indice)("PU") = TmpDT.Rows(Indice)("PU").ToString.ToDecimal + tPU + TmpDT.Rows(Indice)("Total") = TmpDT.Rows(Indice)("Total").ToString.ToDecimal + ImporteAjuste + TmpDT.Rows(Indice)("IEPSPS") = (TmpDT.Rows(Indice)("Total").ToString.ToDecimal() * TmpDT.Rows(Indice)("IEPSPSPorcentaje").ToString.ToDecimal()).RoundAD(2) 'TmpDT.Rows(Indice)("IVA") = TmpDT.Rows(Indice)("PU").ToString.ToDecimal * TmpDT.Rows(Indice)("Cantidad").ToString.ToDecimal * TmpDT.Rows(Indice)("IVAPorcentaje").ToString.ToDecimal TmpDT.Rows(Indice)("IVA") = (TmpDT.Rows(Indice)("PU").ToString.ToDecimal * TmpDT.Rows(Indice)("Cantidad").ToString.ToDecimal - TmpDT.Rows(Indice)("Descuento").ToString.ToDecimal) * TmpDT.Rows(Indice)("IVAPorcentaje").ToString.ToDecimal 'Row("IEPSPS") = Math.Round(IEPSPS, DecimalesPermitidos) @@ -12629,9 +12636,9 @@ Partial Class Compras_Compras TmpDT.AcceptChanges() End If - SubTotal = TmpDT.SUM("Total").ToString.ToDecimal + SubTotal = TmpDT.SUMD("Total") If Not EsCarga Then - Descuentos = TmpDT.SUM("Descuento").ToString.ToDecimal + Descuentos = TmpDT.SUMD("Descuento") End If TxtSubTotal.Text = (SubTotal + Descuentos).FormatoNumero() TxtSubTotal2.Text = (SubTotal - Amortizacion).FormatoNumero @@ -12639,15 +12646,6 @@ Partial Class Compras_Compras SubTotalConceptos = SubTotal GvPS.DataSource = TmpDT : GvPS.DataBind() - 'If TxtOtrosImpuestos.Text.ToDouble > 0 Then TxtOtrosImpuestos.Text = "" : TrOtrosImpuestos.Visible = False - - 'EN ESPERA DE ALGUN CASO QUE LO NECESITE - IPP 5 DICIEMBRE 2016 - 'TempSubTotal = TempSubTotal - SubTotal - 'If TempSubTotal > 0 Then - ' TxtTotal.Text = TempSubTotal.ToString.FormatoNumero - 'End If - - 'GVAF.DataSource = TmpDT : GVAF.DataBind() End Sub Protected Sub ImgAjustePorcentaje_Click(sender As Object, e As ImageClickEventArgs) Handles ImgAjustePorcentaje.Click @@ -12754,10 +12752,10 @@ Partial Class Compras_Compras dr = DtAcreedores.FiltroPrimero(String.Format("CveProveedor = {0}", DdlAcreedor.SelectedValue)) If dr IsNot Nothing Then - Dim tSaldo As Double = dr("Saldo").ToString.ToDouble + Dim tSaldo As Decimal = dr("Saldo").ToString.ToDecimal RVContadoAcreedor.MaximumValue = tSaldo.ToString 'si el saldo es mayor de la compra poner el valor de la compra sino el valor del saldo - TxtContadoAcreedor.Text = If(tSaldo > TxtTotal.Text.ToDouble, TxtTotal.Text, tSaldo.ToString).FormatoNumero + TxtContadoAcreedor.Text = If(tSaldo > TxtTotal.Text.ToDecimal, TxtTotal.Text, tSaldo.ToString).FormatoNumero LblDetalle.Visible = True DdlAcreedorDetalle.Visible = True @@ -19149,7 +19147,7 @@ Partial Class Compras_Compras If CveCompra > 0 And GvInvMov.Rows.Count > 0 Then Dim ObjInventarios As New ClsInventarios - If ObjInventarios.RecepcionAlmacenGet(CveCompra, -1, UsuarioActual.CveEmpresa) AndAlso ObjInventarios.DtResultados.Rows.Count > 0 Then + If ObjInventarios.RecepcionAlmacenGet(CveCompra, -1, -1, UsuarioActual.CveEmpresa, -1) AndAlso ObjInventarios.DtResultados.Rows.Count > 0 Then DtPendientesAlmacen = ObjInventarios.DtResultados.FiltraParametros("CantidadF > 0").Copy End If ObjInventarios.Dispose() @@ -19207,7 +19205,7 @@ Partial Class Compras_Compras If ChkNCInvNC.Checked Then Dim ObjInventarios As New ClsInventarios - If ObjInventarios.RecepcionAlmacenGet(-1, -1, UsuarioActual.CveEmpresa, CveProveedor) AndAlso ObjInventarios.DtResultados.FiltraParametros($"CantidadF > 0").Rows.Count > 0 Then + If ObjInventarios.RecepcionAlmacenGet(-1, -1, CveProveedor, UsuarioActual.CveEmpresa, -1) AndAlso ObjInventarios.DtResultados.FiltraParametros($"CantidadF > 0").Rows.Count > 0 Then DtPendientesAlmacen = ObjInventarios.DtResultados.FiltraParametros($"CantidadF > 0").Copy End If ObjInventarios.Dispose()