From d287f481a84809afcb39c3a95d75d4bd48b693ba Mon Sep 17 00:00:00 2001 From: rrene Date: Sat, 18 Sep 2021 12:47:47 -0700 Subject: [PATCH] =?UTF-8?q?--=20cmabios=20en=20mejora=20de=20Saldosde=20me?= =?UTF-8?q?rcanc=C3=ADa=20en=20tr=C3=A1nsito=20cuando=20es=20NC=20y=20sus?= =?UTF-8?q?=20impuestos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Compras/Compras.aspx | 2 +- Compras/Compras.aspx.vb | 46 ++++++++++++++++++++++++++++++++++------- 2 files changed, 40 insertions(+), 8 deletions(-) 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