diff --git a/Compras/Compras.aspx b/Compras/Compras.aspx
index ec9888e62..52d7f470c 100644
--- a/Compras/Compras.aspx
+++ b/Compras/Compras.aspx
@@ -4835,7 +4835,7 @@
-
+
diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb
index a389a2184..ef527e830 100644
--- a/Compras/Compras.aspx.vb
+++ b/Compras/Compras.aspx.vb
@@ -6071,12 +6071,36 @@ Partial Class Compras_Compras
If chkImportacion.Checked Then
ConceptoContable = 287
End If
-
If ObjConta.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaContable > 0 Then
If ObjConta.DtResultados.Rows.Count > 0 Then
IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaIVAxAcreditar").ToString.ToEntero
End If
End If
+ 'si aplica NC sobre mov de almacen, el impuesto lo toma de la Factura.para la consideracion de mcia en trĂ¡nsito
+
+ If ChkNCInvNC.Checked And CveMoneda <> 1 AndAlso importeMovimiento > 0 Then
+
+ Dim diferenciaTransito As Decimal = 0
+ For Each Gvr As GridViewRow In GVNCInvAlmacen.Rows
+ If Gvr.FCTextBox("TxtCantidadNCInv").Text.ToDouble > 0 Then
+
+ '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)
+ importeMN = (Gvr.DataKey("IVA").ToDecimal.RoundSQL * Gvr.DataKey("TipoCambio").ToDecimal * Multiplicador).RoundSQL
+ 'se registra por cada compra relacionada
+
+
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMN, Referencia, 14, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveCompraAmortizacion:=Gvr.DataKey("CveCompra").ToEntero, CveProveedor:=CveProveedorConcepto, ImporteMX:=importeMN, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=Gvr.DataKey("TipoCambio").ToDecimal, PorcentajeImpuesto:=PorcentajeImpuesto, Contabilizable:=SeContabiliza) Then
+ ErrorPrepoliza = True
+ End If
+ End If
+ Next
+ importeMovimiento = 0
+ importeMN = 0
+ End If
+
+
Case 287 'IVA X Acreditar
importeMovimiento = importeIVAxAcreditar
@@ -6790,6 +6814,7 @@ Partial Class Compras_Compras
End If
Next
+ Dim diferenciaTransito As Decimal = 0
For Each Gvr As GridViewRow In GVNCInvAlmacen.Rows
If Gvr.FCTextBox("TxtCantidadNCInv").Text.ToDouble > 0 Then
Dim importeMNTemp As Decimal = 0
@@ -6797,6 +6822,9 @@ 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)
importeMNTemp = (Gvr.DataKey("PU").ToDecimal * Gvr.FCTextBox("TxtCantidadNCInv").Text.ToDecimal * Gvr.DataKey("TipoCambio").ToDecimal).RoundSQL
ImporteTransito += importeMNTemp
'se registra por cada compra relacionada
@@ -6806,18 +6834,22 @@ Partial Class Compras_Compras
End If
Next
- 'si hay diferencia
- Dim diferenciaTransito As Decimal = ImporteTransito - importeMN.RoundSQL
+
+ 'la diferencia se va aplicar sobre los
+
+ 'Dim diferenciaTransito As Decimal = ImporteTransito - importeMN.RoundSQL
If diferenciaTransito <> 0 Then
Dim tCveCon As Integer = 65
+ IdCtaContable = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria
If diferenciaTransito < 0 Then
tCveCon = 64
+ IdCtaContable = UsuarioActual.Empresa.IdCuentaGananciaCambiaria
End If
- diferenciaTransito = diferenciaTransito.Abs
- IdCtaContable = 0
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, If(tCveCon = 64, True, False), diferenciaTransito, Referencia, tCveCon, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=diferenciaTransito, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=1, CveMovimientoAlmacen:=CveMovimientoDevolucion, Contabilizable:=SeContabiliza) Then
+ diferenciaTransito = Math.Abs(diferenciaTransito)
+
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, If(tCveCon = 64, True, False), diferenciaTransito, Referencia, tCveCon, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=diferenciaTransito, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=1, CveMovimientoAlmacen:=CveMovimientoDevolucion, Contabilizable:=SeContabiliza, CveSubProyecto:=CveSubProyecto) Then
ErrorPrepoliza = True
End If
End If
@@ -6973,7 +7005,7 @@ Partial Class Compras_Compras
tidctacon = ViewState("CtaProveedorAnticiposExtranjera").ToString.ToEntero
End If
- ElseIf DdlTipoComprobante.SelectedValue = "NC" AndAlso UsuarioActual.Empresa.Funcionalidad(405).ToEntero > 0 Then
+ ElseIf DdlTipoComprobante.SelectedValue = "NC" Then
tcvecon = 259
tidctacon = UsuarioActual.Empresa.Funcionalidad(405).ToEntero