-- modificación para que el ajuste sobre PU, esté limitado a una diferencia no mayor a $20

This commit is contained in:
2024-07-11 06:46:45 -07:00
parent 77ea5fe573
commit d3913df393

View File

@@ -2724,7 +2724,8 @@ Partial Class Inventarios_RecepcionAlmacen
PU = PU.RoundAD
For Each Dr As DataRow In DtDetalle.Rows
SumaTotal += PU.RoundAD + CostoIndirecto ' se redondea a dos decimales. por la unidad es uno
If RecibidaCompleta AndAlso Cont + 1 = GvInv.Rows.Count AndAlso ContDt + 1 = DtDetalle.Rows.Count AndAlso (TotalCompraOC * If(TipoCambio > 1, TipoCambio, 1)).RoundSQL <> SumaTotal Then
Dim dif As Decimal = (TotalCompraOC * If(TipoCambio > 1, TipoCambio, 1)).RoundSQL - SumaTotal.RoundSQL ' si la diferencia es menor a $20
If RecibidaCompleta AndAlso Cont + 1 = GvInv.Rows.Count AndAlso ContDt + 1 = DtDetalle.Rows.Count AndAlso Math.Abs(dif) < 20 Then
If Not UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
PU = (TotalCompraOC * If(TipoCambio > 1, TipoCambio, 1)).RoundSQL - (SumaTotal - (PU))
End If
@@ -2741,7 +2742,8 @@ Partial Class Inventarios_RecepcionAlmacen
If gvr.FCTextBox("TbCantidadF").Text.ToDouble = 1 Then PU = PU.RoundSQL
For Each Dr As DataRow In DtDetalleLote.Rows
SumaTotal += Dr("Cantidad").ToString.ToDecimal * (PU + CostoIndirecto)
If RecibidaCompleta AndAlso Cont + 1 = GvInv.Rows.Count AndAlso ContDt + 1 = DtDetalleLote.Rows.Count AndAlso (TotalCompraOC * If(TipoCambio > 1, TipoCambio, 1)).RoundSQL <> SumaTotal Then
Dim dif As Decimal = (TotalCompraOC * If(TipoCambio > 1, TipoCambio, 1)).RoundSQL - SumaTotal ' si la diferencia es menor a $20
If RecibidaCompleta AndAlso Cont + 1 = GvInv.Rows.Count AndAlso ContDt + 1 = DtDetalleLote.Rows.Count AndAlso Math.Abs(dif) < 20 Then
If Not UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
PU = ((TotalCompraOC * If(TipoCambio > 1, TipoCambio, 1)).RoundSQL - (SumaTotal - (Dr("Cantidad").ToString.ToDecimal * (PU)))) / Dr("Cantidad").ToString.ToDecimal
End If
@@ -2757,7 +2759,8 @@ Partial Class Inventarios_RecepcionAlmacen
' por redondeo
If gvr.FCTextBox("TbCantidadF").Text.ToDouble = 1 Then PU = PU.RoundSQL
SumaTotal += gvr.FCTextBox("TbCantidadF").Text.ToDecimal * (PU + CostoIndirecto) ' considerar el costo indirecto para el ajuste
If RecibidaCompleta AndAlso Cont + 1 = GvInv.Rows.Count AndAlso (TotalCompraOC * If(TipoCambio > 1, TipoCambio, 1)).RoundSQL <> SumaTotal.RoundSQL Then
Dim dif As Decimal = (TotalCompraOC * If(TipoCambio > 1, TipoCambio, 1)).RoundSQL - SumaTotal.RoundSQL ' si la diferencia es menor a $20
If RecibidaCompleta AndAlso Cont + 1 = GvInv.Rows.Count AndAlso Math.Abs(dif) < 20 Then
Dim tTotal As Decimal = gvr.FCTextBox("TbCantidadF").Text.ToDecimal * (PU)
If Not UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
PU = ((TotalCompraOC * If(TipoCambio > 1, TipoCambio, 1)).RoundSQL - (SumaTotal - tTotal)) / gvr.FCTextBox("TbCantidadF").Text.ToDecimal
@@ -4195,7 +4198,6 @@ Partial Class Inventarios_RecepcionAlmacen
CveCompraSurtir = -1
CvePrePolizaCompra = -1
Dim ObjOC As New ClsOC
Dim ObjInventario As New ClsInventarios
@@ -4229,6 +4231,8 @@ Partial Class Inventarios_RecepcionAlmacen
'cuando están todos los detalles de la compra, nos indica que se va a recibir la totalidad de la compra
If ObjInventario.DtResultados.Rows.Count = ObjInventario.DtResultados.Rows(0)("NumDetalles").ToString.ToEntero Then
RecibidaCompleta = True
Else
RecibidaCompleta = False
End If
''MONEDA DIFERENTE