diff --git a/Compras/Compras.aspx b/Compras/Compras.aspx
index 6f55e7050..00698f6f0 100644
--- a/Compras/Compras.aspx
+++ b/Compras/Compras.aspx
@@ -1541,9 +1541,9 @@
-
+
-
+
diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb
index 4c2820c32..2b3255f1e 100644
--- a/Compras/Compras.aspx.vb
+++ b/Compras/Compras.aspx.vb
@@ -1271,7 +1271,17 @@ Partial Class Compras_Compras
ViewState("FechaMovtoDev") = value
End Set
End Property
-
+ Private Property DevolucionImporteOriginal As Decimal
+ Get
+ If ViewState("DevolucionImporteOriginal") Is Nothing Then
+ ViewState("DevolucionImporteOriginal") = 0
+ End If
+ Return ViewState("DevolucionImporteOriginal").ToString.ToDecimal
+ End Get
+ Set(value As Decimal)
+ ViewState("DevolucionImporteOriginal") = value
+ End Set
+ End Property
@@ -4432,7 +4442,6 @@ Partial Class Compras_Compras
End If
Dim TotalRealDevolucion As Decimal = 0
-
Dim EstatusCredito As Integer = 0
Dim CveSubProyecto As Integer = 0
'Credito Multiple
@@ -6873,7 +6882,6 @@ Partial Class Compras_Compras
ErrorMovInv = True
Exit For
End If
-
' Dim DifTC As Decimal = tipoCambioActual - Gvr.DataKey("TipoCambio").ToDecimal
'diferenciaTransito = DifTC * (Gvr.DataKey("IVA").ToDecimal / Gvr.FCTextBox("TxtCantidadNCInv").Text.ToDecimal)
'diferenciaTransito += DifTC * (Gvr.DataKey("IEPSPS").ToDecimal / Gvr.FCTextBox("TxtCantidadNCInv").Text.ToDecimal)
@@ -6881,7 +6889,6 @@ Partial Class Compras_Compras
ImporteTransito += importeMNTemp
CveCompraAmortizacion = Gvr.DataKey("CveCompra").ToEntero
'se registra por cada compra relacionada
-
End If
Next
@@ -6927,14 +6934,27 @@ Partial Class Compras_Compras
DiferenciaDevolucion = -DiferenciaDevolucion
End If
If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then ' las devoluciones, que tengan descuento por rnc, debe de descontar del saldo de la factura aplicada
- tConceptoDiferencia = 272
- tCveCompraAmortizacion = tCveCompra
- If ObjConta.GetPrePolizasDetalle(CvePrePoliza, UsuarioActual.CveEmpresa) Then
- tCveCompra = ObjConta.DtResultados.FiltroPrimeroValor("CveCompraAmortizacion", "CveConceptoContable = 60").ToEntero 'a aplicación de la nc
+ Dim DiferenciaSaldo As Decimal = DevolucionImporteOriginal ''If(DdlMoneda.SelectedValue.ToEntero <> 1, (importeMovimiento * TxtTC.Text.ToDecimal), importeMovimiento) - DevolucionImporteOriginal
+
+ If DiferenciaSaldo <> 0 Then
+ DiferenciaDevolucion += DiferenciaSaldo ' si hay diferencia se manda al costo
+ Dim DiferenciaBonif As Decimal = DiferenciaSaldo * (PorcentajeIVA) 'se saca el iva de la dif
+ DiferenciaSaldo = -DiferenciaSaldo * (1 + PorcentajeIVA) 'se invierte su aplicación
+
+ tCveCompraAmortizacion = tCveCompra
+ If ObjConta.GetPrePolizasDetalle(CvePrePoliza, UsuarioActual.CveEmpresa) Then
+ tCveCompra = ObjConta.DtResultados.FiltroPrimeroValor("CveCompraAmortizacion", "CveConceptoContable = 60").ToEntero 'a aplicación de la nc
+ End If
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, tMovto, DiferenciaSaldo, DiferenciaSaldo, 272, Referencia, Concepto, CveCompra:=tCveCompra, CveCompraAmortizacion:=tCveCompraAmortizacion, CveProveedor:=CveProveedorConcepto, ImporteME:=If(tipoCambioActual = 1, 0, DiferenciaDevolucion), TipoCambio:=tipoCambioActual, CveMovimientoAlmacen:=CveMovimientoDevolucion, Contabilizable:=SeContabiliza, CveSubProyecto:=tCveSubProyecto, CveClasificacion:=tCveClasif) Then
+ ErrorPrepoliza = True
+ End If
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, tMovto, DiferenciaBonif, DiferenciaBonif, 259, Referencia, Concepto, CveCompra:=tCveCompra, CveCompraAmortizacion:=tCveCompraAmortizacion, CveProveedor:=CveProveedorConcepto, ImporteME:=If(tipoCambioActual = 1, 0, DiferenciaDevolucion), TipoCambio:=tipoCambioActual, CveMovimientoAlmacen:=CveMovimientoDevolucion, Contabilizable:=SeContabiliza, CveSubProyecto:=tCveSubProyecto, CveClasificacion:=tCveClasif) Then
+ ErrorPrepoliza = True
+ End If
End If
End If
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, tMovto, DiferenciaDevolucion, DiferenciaDevolucion, tConceptoDiferencia, Referencia, Concepto, CveCompra:=tCveCompra, CveCompraAmortizacion:=tCveCompraAmortizacion, CveProveedor:=CveProveedorConcepto, ImporteME:=If(tipoCambioActual = 1, 0, DiferenciaDevolucion), TipoCambio:=tipoCambioActual, CveMovimientoAlmacen:=CveMovimientoDevolucion, Contabilizable:=SeContabiliza, CveSubProyecto:=tCveSubProyecto, CveClasificacion:=tCveClasif) Then
+ If DiferenciaDevolucion <> 0 AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, tMovto, DiferenciaDevolucion, DiferenciaDevolucion, tConceptoDiferencia, Referencia, Concepto, CveCompra:=tCveCompra, CveCompraAmortizacion:=tCveCompraAmortizacion, CveProveedor:=CveProveedorConcepto, ImporteME:=If(tipoCambioActual = 1, 0, DiferenciaDevolucion), TipoCambio:=tipoCambioActual, CveMovimientoAlmacen:=CveMovimientoDevolucion, Contabilizable:=SeContabiliza, CveSubProyecto:=tCveSubProyecto, CveClasificacion:=tCveClasif) Then
ErrorPrepoliza = True
End If
End If
@@ -13992,7 +14012,6 @@ Partial Class Compras_Compras
Try
Dim subtotaldevolucion As Decimal = 0
Dim realizadevolucion As Boolean = False
-
'Calculo los subtotales para comparar con la NC
Dim cantidad As Decimal = 0D
@@ -14015,14 +14034,13 @@ Partial Class Compras_Compras
If Math.Abs(TxtSubTotal2.Text.ToDecimal - subtotaldevolucion) <= tTolerancia Then
VinculaDevolucion()
- If EsGrupoDiaz AndAlso FechaMovtoDev <> MinFecha AndAlso (FechaMovtoDev >= TxtFecha.Text.ToDate) Then
+ If FechaMovtoDev <> MinFecha AndAlso (FechaMovtoDev >= TxtFecha.Text.ToDate) Then
TxtFecha.Text = FechaMovtoDev.AddDays(1).ToString("dd/MM/yyyy")
Alert("La fecha de la devolución se cambiará a una fecha posterior al ingreso.", TipoMensaje.ToastAdventencia)
UpParametros.Update()
End If
-
Else
- Alert("El Total de la NC debe ser igual al total de la devolucion", TipoMensaje.MsgAdvertencia)
+ Alert("El Total de la NC debe ser igual al total de la devolución", TipoMensaje.MsgAdvertencia)
End If
Else
Alert("No se ha seleccionado nada para la devolución. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia)
@@ -14106,6 +14124,7 @@ Partial Class Compras_Compras
Dim PSRow As DataRow = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=CvePSRNC).FiltroPrimero("")
Dim PS As String = PSRow("PSCodigo").ToString
Dim tDif As Decimal = TxtSubTotal2.Text.ToDecimal - Total
+ DevolucionImporteOriginal = tDif
AddPS(1, PSRow("CveUnidadMedida").ToString.ToEntero, PSRow("UnidadMedida").ToString,
PSRow("CveClasificacion").ToString.ToEntero, PSRow("Clasificacion").ToString, CvePSRNC, PS, 1, CveSubProyectoDev.ToString, SubProyecto, "", "-1", "", tDif, tDif, IVAPorcentajeCompra, 0, 0, 0, 0, 0)