-- mejora para registro de facturas con 2 IVAs diferentes
This commit is contained in:
@@ -8893,11 +8893,39 @@ Public Class ClsPaginas
|
||||
If Pago.AplicaAcreditable Then
|
||||
'si tiene iva y su proporcion
|
||||
If Not ErrorMovtos AndAlso CompraActual.IVA <> 0 Then
|
||||
ImporteMovimiento = (PorcentajePago * CompraActual.IVA).RoundSQL
|
||||
Dim Ret As ConceptosRetenciones = CompraActual.ConceptoPrePolizaIVA
|
||||
|
||||
'' condición para hacer registro del pago del % al 08, si la factura tiene de ambos IVAs
|
||||
If CompraActual.PorcentajeIVA = 0.16 AndAlso (CompraActual.IVADeducible08 > 0 OrElse CompraActual.IVANoDeducible08 > 0) Then
|
||||
ImporteMovimiento = (PorcentajePago * (CompraActual.IVADeducible08 + CompraActual.IVANoDeducible08)).RoundSQL
|
||||
ImporteMN = (ImporteMovimiento * CompraActual.TC).RoundSQL
|
||||
If CompraActual.CveMoneda > 1 Then ImporteME = ImporteMovimiento
|
||||
'IVA por acreditar
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMN, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, PorcentajeImpuesto:=0.08D, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=TCValuacionPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True
|
||||
If Not ErrorMovtos AndAlso CompraActual.IVADeducible08 > 0 Then
|
||||
ImporteMovimiento = (PorcentajePago * CompraActual.IVADeducible08).RoundSQL
|
||||
ImporteMN = (ImporteMovimiento * CompraActual.TC).RoundSQL
|
||||
'si tiene funcionalidad para tomar el TC de pago. se recalcula el importe
|
||||
If FuncionalidadFluctuacionImpuestos Then ImporteMN = (ImporteMovimiento.RoundSQL * TCValuacionPago).RoundSQL
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, PorcentajeImpuesto:=0.08D, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=TCValuacionPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True
|
||||
End If
|
||||
If Not ErrorMovtos AndAlso CompraActual.IVANoDeducible08 > 0 Then
|
||||
ImporteMovimiento = (PorcentajePago * CompraActual.IVANoDeducible08).RoundSQL
|
||||
ImporteMN = (ImporteMovimiento * CompraActual.TC).RoundSQL
|
||||
If CompraActual.CveMoneda > 1 Then ImporteME = ImporteMovimiento
|
||||
Dim tConceptoIVA As Integer = If(CompraActual.CompraNoDeducible = 1, 280, 380) '280. iva no deducible en su totalidad
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, tConceptoIVA, CompraActual.SerieFolio, Concepto, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, PorcentajeImpuesto:=0.08D, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=TCValuacionPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True
|
||||
End If
|
||||
CompraActual.IVADeducible -= CompraActual.IVADeducible08
|
||||
CompraActual.IVANoDeducible -= CompraActual.IVANoDeducible08
|
||||
End If
|
||||
|
||||
ImporteMovimiento = (PorcentajePago * (CompraActual.IVADeducible + CompraActual.IVANoDeducible)).RoundSQL
|
||||
ImporteMN = (ImporteMovimiento * CompraActual.TC).RoundSQL
|
||||
If CompraActual.CveMoneda > 1 Then ImporteME = ImporteMovimiento
|
||||
Dim Ret As ConceptosRetenciones = CompraActual.ConceptoPrePolizaIVA
|
||||
'IVA por acreditar
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMN, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, PorcentajeImpuesto:=CompraActual.PorcentajeIVA, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=TCValuacionPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True
|
||||
'IVA ACreditable
|
||||
If Not ErrorMovtos AndAlso CompraActual.IVADeducible > 0 Then
|
||||
ImporteMovimiento = (PorcentajePago * CompraActual.IVADeducible).RoundSQL
|
||||
ImporteMN = (ImporteMovimiento * CompraActual.TC).RoundSQL
|
||||
@@ -8912,6 +8940,8 @@ Public Class ClsPaginas
|
||||
Dim tConceptoIVA As Integer = If(CompraActual.CompraNoDeducible = 1, 280, 380) '280. iva no deducible en su totalidad
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, tConceptoIVA, CompraActual.SerieFolio, Concepto, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, PorcentajeImpuesto:=CompraActual.PorcentajeIVA, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=TCValuacionPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True
|
||||
End If
|
||||
|
||||
|
||||
End If
|
||||
'si tiene RET IVA y su proporcion
|
||||
If Not ErrorMovtos AndAlso CompraActual.RetIVA > 0 Then
|
||||
@@ -9104,6 +9134,8 @@ Public Class ClsPaginas
|
||||
Public Property IVA As Decimal
|
||||
Public Property IVADeducible As Decimal
|
||||
Public Property IVANoDeducible As Decimal = 0
|
||||
Public Property IVADeducible08 As Decimal
|
||||
Public Property IVANoDeducible08 As Decimal = 0
|
||||
Public Property IEPS As Decimal
|
||||
Public Property RetIVA As Decimal
|
||||
Public Property RetISR As Decimal
|
||||
|
||||
@@ -364,7 +364,7 @@
|
||||
<asp:UpdatePanel ID="UPCompras" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<asp:GridView ID="GvCxP" runat="server" AutoGenerateColumns="False" EmptyDataText="No se encontraron Cuentas X Pagar Pendientes"
|
||||
DataKeyNames="CveCompra,ImporteProgramo,Saldo,SubTotal,IVA,IVADeducible,IVANoDeducible,IEPS,RetIVA,RetISR,Total,UUID,RFC,CveFactura,SerieFolio,Descripcion,CvePrePoliza,Fecha,EstatusInventario,CveProveedor,TipoCambio,TipoCambioOriginal, CveMoneda,CveRetIVAConcepto,IVAPorPagar,IVAPorPagarDeducible,IVAPorPagarNoDeducible,IEPSPorPagar,CveRetISRConcepto,PorcentajeIVA,CveTipoConcepto,CveSubProyecto,TotalOriginal,EsImportacion,NoDeducible"
|
||||
DataKeyNames="CveCompra,ImporteProgramo,Saldo,SubTotal,IVA,IVADeducible,IVANoDeducible,IVADeducible08,IVANoDeducible08,IEPS,RetIVA,RetISR,Total,UUID,RFC,CveFactura,SerieFolio,Descripcion,CvePrePoliza,Fecha,EstatusInventario,CveProveedor,TipoCambio,TipoCambioOriginal, CveMoneda,CveRetIVAConcepto,IVAPorPagar,IVAPorPagarDeducible,IVAPorPagarNoDeducible,IEPSPorPagar,CveRetISRConcepto,PorcentajeIVA,CveTipoConcepto,CveSubProyecto,TotalOriginal,EsImportacion,NoDeducible"
|
||||
Width="100%" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" Style="text-align: center;" GridLines="None">
|
||||
<Columns>
|
||||
<%-- 0 --%>
|
||||
|
||||
@@ -792,6 +792,8 @@ Partial Class Bancos_ProveedoresAbonar
|
||||
CompraActual.IVA = gvr.DataKey("IVA").ToDecimal
|
||||
CompraActual.IVADeducible = gvr.DataKey("IVADeducible").ToDecimal
|
||||
CompraActual.IVANoDeducible = gvr.DataKey("IVANoDeducible").ToDecimal
|
||||
CompraActual.IVADeducible08 = gvr.DataKey("IVADeducible08").ToDecimal
|
||||
CompraActual.IVANoDeducible08 = gvr.DataKey("IVANoDeducible08").ToDecimal
|
||||
CompraActual.CompraNoDeducible = gvr.DataKey("NoDeducible").ToEntero
|
||||
CompraActual.IEPS = gvr.DataKey("IEPS").ToDecimal
|
||||
CompraActual.RetIVA = gvr.DataKey("RetIVA").ToDecimal
|
||||
|
||||
@@ -6246,6 +6246,19 @@ Partial Class Compras_Compras
|
||||
|
||||
Case 14 'IVA X Acreditar
|
||||
importeMovimiento = CompraActual.IVA
|
||||
Dim tMinPorcentajeIVA As Decimal = TmpDT.MIN("IVAPorcentaje").ToDecimal
|
||||
|
||||
'SI LA FACTURA TRAE 2 TIPOS DE IVA (8,16)
|
||||
If PorcentajeIVA <> tMinPorcentajeIVA AndAlso tMinPorcentajeIVA > 0 Then
|
||||
Dim tImporte As Decimal = TmpDT.SUM("IVA", "IVAPorcentaje = " & tMinPorcentajeIVA)
|
||||
tImporte = (tImporte * tipoCambioActual * Multiplicador).RoundSQL
|
||||
If tImporte <> 0 Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, tImporte, tImporte, 14, Concepto, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CvePersonal:=CvePersonal, PorcentajeImpuesto:=tMinPorcentajeIVA, CveSubProyecto:=CveSubProyectoInsertar, Contabilizable:=SeContabiliza) Then
|
||||
ErrorPrepoliza = True
|
||||
End If
|
||||
End If
|
||||
importeMovimiento -= tImporte
|
||||
End If
|
||||
importeMN = (importeMovimiento * tipoCambioActual * Multiplicador).RoundSQL
|
||||
If tipoCambioActual > 1 Then Concepto += $" TC{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}"
|
||||
PorcentajeImpuesto = PorcentajeIVA
|
||||
@@ -6335,34 +6348,6 @@ Partial Class Compras_Compras
|
||||
End If
|
||||
End If
|
||||
|
||||
'Case 64 'Ganancia
|
||||
|
||||
' 'CveSubProyectoInsertar = CveSubProyecto
|
||||
' If CveSubProyectoInsertar <= 0 Then
|
||||
' ErrorPrepoliza = True
|
||||
' Alert("Concepto ganancia cambiaria sin sub proyecto", TipoMensaje.MsgAdvertencia)
|
||||
' End If
|
||||
|
||||
' If TCPago > 0 AndAlso TCPago <> 1 AndAlso TxtFechaPago.Text <> TxtFecha.Text Then
|
||||
|
||||
' If TipoCambioCompra > TCPago Then
|
||||
' ConceptoContable = 64
|
||||
' TipoMovimiento = True
|
||||
' Else
|
||||
' ConceptoContable = 65
|
||||
' TipoMovimiento = False
|
||||
' End If
|
||||
' If TCPago <> TipoCambioCompra Then
|
||||
' importeMovimiento = Math.Abs(TCPago - TipoCambioCompra) * importePagoProv
|
||||
' importeMovimiento -= Math.Abs(TCPago - TipoCambioCompra) * importeIVAAcreditable
|
||||
' importeMovimiento += Math.Abs(TCPago - TipoCambioCompra) * importeRetIVAAcreditable
|
||||
' importeMovimiento += Math.Abs(TCPago - TipoCambioCompra) * importeRetISRAcreditable
|
||||
' importeMN = importeMovimiento
|
||||
' End If
|
||||
' Else
|
||||
' importeMovimiento = 0
|
||||
' End If
|
||||
|
||||
Case 6 'Compra
|
||||
|
||||
Dim AgregaMercanciaInventario As Boolean = UsuarioActual.Empresa.UsaInventarios
|
||||
|
||||
Reference in New Issue
Block a user