diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb
index 5fc0f6dcc..3af2c50b1 100644
--- a/Compras/Compras.aspx.vb
+++ b/Compras/Compras.aspx.vb
@@ -3081,7 +3081,7 @@ Partial Class Compras_Compras
'TIENE AMORTIZACIÓN
If GvAnticiposSel.Rows.Count > 0 Then
- If Not DdlTipoComprobante.SelectedValue.Contiene("NC") Then
+ If Not DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV") Then
BtnCancelarCompra.Visible = False
BtnEliminarCompra.Visible = False
End If
@@ -5861,8 +5861,6 @@ Partial Class Compras_Compras
'Dim CveIEProvisional = CveIE
End If
-
-
If ObjConta.GetPlantillaConceptos(UsuarioActual.CveEmpresa, CvePlantillaPrePoliza) Then
Dim DTPlatilla As New DataTable
@@ -5961,7 +5959,6 @@ Partial Class Compras_Compras
If TipoCreditoInteres Then
-
Dim importeMovimientoIn As Decimal = ImporteIECredito - importeMovimiento
Dim importeMNIn As Decimal = importeMovimientoIn * tipoCambioActual * Multiplicador
@@ -5974,7 +5971,7 @@ Partial Class Compras_Compras
End If
End If
End If
-
+ importeMovimiento = 0 : importeMN = 0
If TipoCambioCompra > 1 AndAlso DdlMoneda.SelectedValue.ToEntero <> 1 Then Concepto += $" TC{TipoCambioCompra} ${importeMovimiento.FormatoNumero(2)}"
If TipoCambioCompra = 1 Or DdlMoneda.SelectedValue.ToEntero = 1 Then
@@ -6019,6 +6016,17 @@ Partial Class Compras_Compras
IdCtaContable = IdCuentaBancaria
End If
+ If importeMovimiento <> 0 Then
+ Dim Pago As New CompraPago
+ Pago.ImportePago = importeMovimiento
+ Pago.CveIE = CveIE
+ Pago.CveMonedaPago = 1
+ Pago.CveCompraAmortizacion = -1
+ 'Pago.CveConceptoPago = CveConceptoPago
+
+ ErrorMovtosCxP = AplicaPrePolizaPago(CompraActual, Pago, CvePrePoliza, ObjConta)
+ End If
+
Case 14 'IVA X Acreditar
importeMovimiento = CompraActual.IVA
importeMN = (importeMovimiento * tipoCambioActual * Multiplicador).RoundSQL
@@ -6071,13 +6079,13 @@ Partial Class Compras_Compras
End If
End If
- Case 224 'Otros impuestos
- If Not DdlTipoComprobante.SelectedValue.Contiene("Ant") Then
- importeMovimiento = OtrosImpuestos
- importeMN = Math.Round(importeMovimiento, 2) * tipoCambioActual * Multiplicador
- If tipoCambioActual > 1 Then Concepto += $" TC{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}"
- IdCtaContable = If(UsuarioActual.CveEmpresa = 119, 1171, -1)
- End If
+ 'Case 224 'Otros impuestos
+ ' If Not DdlTipoComprobante.SelectedValue.Contiene("Ant") Then
+ ' importeMovimiento = OtrosImpuestos
+ ' importeMN = Math.Round(importeMovimiento, 2) * tipoCambioActual * Multiplicador
+ ' If tipoCambioActual > 1 Then Concepto += $" TC{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}"
+ ' IdCtaContable = If(UsuarioActual.CveEmpresa = 119, 1171, -1)
+ ' End If
Case 15 'RetIVA X Acreditar Honorarios/Serv. Prof.
If Not DdlTipoComprobante.SelectedValue.Contiene("Ant") Then
@@ -7070,6 +7078,17 @@ Partial Class Compras_Compras
End If
End If
+ If importeMovimiento > 0 Then
+ Dim Pago As New CompraPago
+ Pago.ImportePago = importeFE
+ Pago.CveIE = -1
+ Pago.CvePersonal = CvePersonal
+
+ ErrorPrepoliza = AplicaPrePolizaPago(CompraActual, Pago, CvePrePoliza, ObjConta)
+
+ End If
+
+
Case 21 'Anticipo
If ArrAnticipos.Count > 0 Then
@@ -7213,12 +7232,15 @@ Partial Class Compras_Compras
If Ant.TipoMovto.Contiene("Ant") Then
- Dim Pago As New CompraPago
- Pago.ImportePago = importeMovimientoNC
- Pago.CveIE = Ant.CveIE
- Pago.CveMonedaPago = 1
+ If importeMovimientoNC <> 0 Then
+ Dim Pago As New CompraPago
+ Pago.ImportePago = importeMovimientoNC
+ Pago.CveIE = Ant.CveIE
+ Pago.CveMonedaPago = 1
- ErrorMovtosCxP = AplicaPrePolizaPago(CompraActual, Pago, CvePrePoliza, ObjConta)
+ ErrorMovtosCxP = AplicaPrePolizaPago(CompraActual, Pago, CvePrePoliza, ObjConta)
+
+ End If
End If
@@ -7456,13 +7478,16 @@ Partial Class Compras_Compras
If CveIE > 0 Then
- 'inserto los movimientos de la conta para abonar al saldo
- Dim Pago As New CompraPago
- Pago.ImportePago = ImporteCompra
- Pago.CveIE = CveIE
- Pago.CveMonedaPago = 1
+ If ImporteCompra <> 0 Then
+ 'inserto los movimientos de la conta para abonar al saldo
+ Dim Pago As New CompraPago
+ Pago.ImportePago = ImporteCompra
+ Pago.CveIE = CveIE
+ Pago.CveMonedaPago = 1
- ErrorMovtosCxP = AplicaPrePolizaPago(CompraActual, Pago, CvePrePoliza, ObjConta)
+ ErrorMovtosCxP = AplicaPrePolizaPago(CompraActual, Pago, CvePrePoliza, ObjConta)
+
+ End If
Else
ErrorMovtosIE = True
@@ -20561,111 +20586,6 @@ Partial Class Compras_Compras
End Sub
-
- Private Function AplicaPrePolizaPago(CompraActual As Compra, Pago As CompraPago, CvePrePoliza As Integer, ByRef ObjConta As ClsContabilidad) As Boolean
- Dim ErrorMovtos As Boolean = False
- Dim PorcentajePago As Decimal = Pago.ImportePago / CompraActual.Total
- Dim ImporteMovimiento As Decimal = 0
- Dim CveConceptoContableComplementaria As Integer = 201
-
- Pago.CveConceptoPago = If(Pago.CveConceptoPago = -1, 17, Pago.CveConceptoPago) 'si viene en parametro lo toma com primera opcion, sino el 17
- If CompraActual.CveTipoConceptoProveedor = 2 Then Pago.CveConceptoPago = 308 'cuando es acreedor
- If CompraActual.CveMoneda <> 1 Then
- Select Case Pago.CveConceptoPago
- Case 17 : Pago.CveConceptoPago = 312
- Case 308 : Pago.CveConceptoPago = 309 : CveConceptoContableComplementaria = 307
- Case Else
- End Select
- End If
- Dim Concepto As String = CompraActual.ProveedorNombre & " F:" & CompraActual.SerieFolio
-
- 'movimiento de pago proveedor
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Pago.ImportePago, Pago.ImportePago, Pago.CveConceptoPago, CompraActual.SerieFolio, Concepto, CompraActual.IdCtaContableProv, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=CvePersonal, CveCompraAmortizacion:=Pago.CveCompraAmortizacion, TipoCambio:=CompraActual.TC) Then
- ErrorMovtos = True
- End If
-
- 'movimiento de pago proveedor Complementaria
- If Not ErrorMovtos AndAlso CompraActual.CveMoneda > 1 Then
-
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Pago.ImportePago, (Pago.ImportePago * CompraActual.TC - Pago.ImportePago).RoundSQL, CveConceptoContableComplementaria, CompraActual.SerieFolio, Concepto, CompraActual.IdCtaContableProv, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=CvePersonal, CveCompraAmortizacion:=Pago.CveCompraAmortizacion, TipoCambio:=CompraActual.TC, ImporteME:=Pago.ImportePago) Then
- ErrorMovtos = True
- End If
- End If
-
- 'si tiene iva y su proporcion
- ImporteMovimiento = (PorcentajePago * CompraActual.IVA).RoundSQL
- If Not ErrorMovtos AndAlso ImporteMovimiento <> 0 Then
-
- Dim Ret As CompraRetenciones = CompraActual.ConceptoPrePolizaIVA
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMovimiento, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, PorcentajeImpuesto:=CompraActual.PorcentajeIVA, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True
-
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMovimiento, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, PorcentajeImpuesto:=CompraActual.PorcentajeIVA, CvePersonal:=CvePersonal) Then ErrorMovtos = True
-
- End If
-
- 'si tiene RET IVA y su proporcion
- ImporteMovimiento = (PorcentajePago * CompraActual.RetIVA).RoundSQL
- If Not ErrorMovtos AndAlso ImporteMovimiento > 0 Then
- Dim Ret As CompraRetenciones = CompraActual.ConceptoPrePolizaRetIVA
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMovimiento, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=CvePersonal) Then ErrorMovtos = True
-
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMovimiento, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=CvePersonal) Then ErrorMovtos = True
-
- End If
-
- 'si tiene Ret ISR y su proporcion
- ImporteMovimiento = (PorcentajePago * CompraActual.RetISR).RoundSQL
- If Not ErrorMovtos AndAlso ImporteMovimiento > 0 Then
- Dim Ret As CompraRetenciones = CompraActual.ConceptoPrePolizaRetISR
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMovimiento, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=CvePersonal) Then ErrorMovtos = True
-
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMovimiento, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=CvePersonal) Then ErrorMovtos = True
-
- End If
-
- 'si tiene IEPS y su proporcion
- ImporteMovimiento = (PorcentajePago * CompraActual.IEPS).RoundSQL
- If Not ErrorMovtos AndAlso ImporteMovimiento > 0 Then
- Dim Ret As New CompraRetenciones
- If UsuarioActual.Empresa.TipoContabilidad = 2 Then
- If ObjConta.GetRetCuenta(26, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then
- Ret.IdCtaContableAcreditable = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSAcreditable").ToString.ToEntero
- End If
- If ObjConta.GetRetCuenta(25, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then
- Ret.IdCtaContablexAcreditar = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSxAcreditar").ToString.ToEntero
- End If
- End If
-
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMovimiento, 25, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=CvePersonal) Then ErrorMovtos = True
-
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMovimiento, 26, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=CvePersonal) Then ErrorMovtos = True
-
- End If
-
- If Not ErrorMovtos AndAlso CompraActual.TC <> Pago.TCPago Then
- ImporteMovimiento = (Pago.ImportePago * CompraActual.TC) - (Pago.ImportePago * Pago.TCPago)
- Dim ConceptoContable, IdCtaContable As Integer
- Dim TipoMovimiento As Boolean
- If ImporteMovimiento > 0 Then
- ConceptoContable = 64 : TipoMovimiento = True
- IdCtaContable = UsuarioActual.Empresa.IdCuentaGananciaCambiaria
- ElseIf ImporteMovimiento < 0 Then
- ConceptoContable = 65 : TipoMovimiento = False
- IdCtaContable = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria
- End If
-
- ImporteMovimiento = ImporteMovimiento.Abs.RoundSQL()
- If ImporteMovimiento <> 0 Then
-
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, ImporteMovimiento, ConceptoContable, Concepto, Concepto, IdCtaContable, CveCompra:=CompraActual.CveCompra, CveSubProyecto:=CompraActual.CveSubProyecto, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE) Then
- ErrorMovtos = True
- End If
- End If
- End If
-
- Return ErrorMovtos
- End Function
-
End Class
Public Class MMensajeDevolucion
@@ -20675,167 +20595,3 @@ Public Class MMensajeDevolucion
Public Property Total As Decimal
End Class
-Public Class CompraPago
- Public Property CveIE As Integer = -1
- Public Property CvePersonal As Integer = -1
- Public Property ImportePago As Decimal
- Public Property CveMonedaPago As Integer = 1
- Public Property TCPago As Decimal = 1
- Public Property CveCompraAmortizacion As Integer
- Public Property CveConceptoPago As Integer = -1 'no definido de inicio
-
-End Class
-
-Public Class Compra
- Public Property CveCompra As Integer = -1
- Public Property CveProveedor As Integer
- Public Property CveTipoConceptoProveedor As Integer
- Public Property CveMoneda As Integer
- Public Property SerieFolio As String = ""
- Public Property ProveedorNombre As String = ""
- Public Property EsImportacion As Boolean = False
- Public Property TC As Decimal = 1
- Public Property Total As Decimal
- Public Property IVA As Decimal
- Public Property IEPS As Decimal
- Public Property RetIVA As Decimal
- Public Property RetISR As Decimal
- Public Property PorcentajeIVA As Decimal
- Public Property CveConceptoRetIVA As Integer
- Public Property CveConceptoRetISR As Integer
- Public Property CveSubProyecto As Integer
- Public Property UsuarioActual As Usuario
-
- Public Property IdCtaContableProv As Integer
- Public Property IdCtaContableProvComplementaria As Integer
- Public ReadOnly Property ConceptoPrePolizaIVA As CompraRetenciones
- Get
- Dim Ret As New CompraRetenciones
- If EsImportacion Then
- Ret.CveConceptoAcreditable = 288
- Ret.CveConceptoxAcreditar = 287
- Else
- Ret.CveConceptoAcreditable = 19
- Ret.CveConceptoxAcreditar = 14
- End If
-
- If UsuarioActual.Empresa.TipoContabilidad = 2 Then
-
- Dim IdCtaIVAXAcreditar, IdCtaIVAAcreditable As Integer
- Dim dt As DataTable = ClsPaginas.GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA)
- If dt.Rows.Count > 0 Then
- IdCtaIVAXAcreditar = dt.Rows(0)("IdCtaIVAXAcreditar").ToString.ToEntero
- IdCtaIVAAcreditable = dt.Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero
- End If
-
- Ret.IdCtaContableAcreditable = IdCtaIVAAcreditable
- Ret.IdCtaContablexAcreditar = IdCtaIVAXAcreditar
- End If
-
- Return Ret
- End Get
- End Property
-
- Public ReadOnly Property ConceptoPrePolizaRetIVA As CompraRetenciones
- Get
- Dim Ret As New CompraRetenciones
- Dim Funcionalidad As Integer
- If CveConceptoRetIVA = 1 Then
- Funcionalidad = 308
- Ret.CveConceptoAcreditable = 22
- Ret.CveConceptoxAcreditar = 15
- ElseIf CveConceptoRetIVA = 2 Then
- Funcionalidad = 310
- Ret.CveConceptoAcreditable = 184
- Ret.CveConceptoxAcreditar = 183
- ElseIf CveConceptoRetIVA = 3 Then
- Funcionalidad = 312
- Ret.CveConceptoAcreditable = 186
- Ret.CveConceptoxAcreditar = 185
- ElseIf CveConceptoRetIVA = 4 Then
- Funcionalidad = 314
- Ret.CveConceptoAcreditable = 249
- Ret.CveConceptoxAcreditar = 248
- ElseIf CveConceptoRetIVA = 5 Then
- Funcionalidad = 578
- Ret.CveConceptoAcreditable = 286
- Ret.CveConceptoxAcreditar = 285
- ElseIf CveConceptoRetIVA = 6 Then
- Funcionalidad = 578
- Ret.CveConceptoAcreditable = 333
- Ret.CveConceptoxAcreditar = 334
- End If
-
- If UsuarioActual.Empresa.TipoContabilidad = 2 Then
- If UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero > 0 Then
- Ret.IdCtaContablexAcreditar = UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero
- Else
- Dim ObjConta As New ClsContabilidad
- If ObjConta.GetRetCuenta(Ret.CveConceptoAcreditable, UsuarioActual.CveEmpresa) Then
- If ObjConta.DtResultados.Rows.Count > 0 Then
- Ret.IdCtaContablexAcreditar = ObjConta.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
- End If
- End If
- If ObjConta.GetRetCuenta(Ret.CveConceptoxAcreditar, UsuarioActual.CveEmpresa) Then
- If ObjConta.DtResultados.Rows.Count > 0 Then
- Ret.IdCtaContableAcreditable = ObjConta.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
- End If
- End If
- ObjConta.Dispose()
- End If
- End If
-
- Return Ret
- End Get
- End Property
- Public ReadOnly Property ConceptoPrePolizaRetISR As CompraRetenciones
- Get
- Dim Ret As New CompraRetenciones
- Dim Funcionalidad As Integer
- If CveConceptoRetISR = 1 Then
- Funcionalidad = 316
- Ret.CveConceptoAcreditable = 23
- Ret.CveConceptoxAcreditar = 16
- ElseIf CveConceptoRetISR = 2 Then
- Funcionalidad = 318
- Ret.CveConceptoAcreditable = 244
- Ret.CveConceptoxAcreditar = 243
- ElseIf CveConceptoRetISR = 3 Then
- Funcionalidad = 348
- Ret.CveConceptoAcreditable = 328
- Ret.CveConceptoxAcreditar = 327
- End If
-
- If UsuarioActual.Empresa.TipoContabilidad = 2 Then
- If UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero > 0 Then
- Ret.IdCtaContableAcreditable = UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero
- Else
- Dim ObjConta As New ClsContabilidad
- If ObjConta.GetRetCuenta(Ret.CveConceptoxAcreditar, UsuarioActual.CveEmpresa) Then
- If ObjConta.DtResultados.Rows.Count > 0 Then
- Ret.IdCtaContablexAcreditar = ObjConta.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero
- End If
- End If
- If ObjConta.GetRetCuenta(Ret.CveConceptoAcreditable, UsuarioActual.CveEmpresa) Then
- If ObjConta.DtResultados.Rows.Count > 0 Then
- Ret.IdCtaContableAcreditable = ObjConta.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero
- End If
- End If
- ObjConta.Dispose()
- End If
- End If
-
- Return Ret
- End Get
-
- End Property
-
-End Class
-
-Public Class CompraRetenciones
- Public Property CveConceptoxAcreditar As Integer
- Public Property CveConceptoAcreditable As Integer
- Public Property IdCtaContablexAcreditar As Integer
- Public Property IdCtaContableAcreditable As Integer
-End Class
-
diff --git a/Compras/ReembolsosComprobaciones.aspx b/Compras/ReembolsosComprobaciones.aspx
index 165b2899a..772a28732 100644
--- a/Compras/ReembolsosComprobaciones.aspx
+++ b/Compras/ReembolsosComprobaciones.aspx
@@ -294,7 +294,7 @@
+ DataKeyNames="CveCompra,FechaCompra,CveProveedor,Proveedor,SerieFolio,SubTotal,IVA,RetIVA,RetISR,IEPS,Total,TipoCambio,IdCtaContProveedores,IdCtaContAcreedor,CvePrePoliza,IdPoliza,CveRetIVAConcepto,CveRetISRConcepto,IVAPorcentaje,IVADeducible,IVANoDeducible,CveTipoConcepto,CveSubProyecto,IVAPorPagar">
@@ -337,9 +337,9 @@
- Monto Compra (Saldo Orig.)
+ Total
-
+
diff --git a/Compras/ReembolsosComprobaciones.aspx.vb b/Compras/ReembolsosComprobaciones.aspx.vb
index adea81f2d..43a31ced1 100644
--- a/Compras/ReembolsosComprobaciones.aspx.vb
+++ b/Compras/ReembolsosComprobaciones.aspx.vb
@@ -1,4 +1,6 @@
-
+Option Explicit On
+Option Strict On
+
Imports System.Data
Imports Extensiones
Imports Microsoft.Reporting.WebForms
@@ -25,6 +27,24 @@ Partial Class Compras_ReembolsosComprobaciones
ViewState("CveMoneda") = value
End Set
End Property
+ Private Property CveMonedaPago As Integer
+ Get
+ Return ViewState("CveMonedaPago").ToString.ToEntero
+ End Get
+ Set(value As Integer)
+ ViewState("CveMonedaPago") = value
+ End Set
+ End Property
+
+ Private Property TipoCambioPago As Decimal
+ Get
+ Return ViewState("TipoCambioPago").ToString.ToDecimal
+ End Get
+ Set(value As Decimal)
+ ViewState("TipoCambioPago") = value
+ End Set
+ End Property
+
Private Property CvePrePolizaComprobacion As Integer
Get
@@ -92,6 +112,7 @@ Partial Class Compras_ReembolsosComprobaciones
TxtAboneA.Enabled = False
CveCuentaBancaria = -1
ViewState("CveMoneda") = 1
+ CveMonedaPago = 1
Folio = ""
'Cargar Filtros
@@ -224,12 +245,13 @@ Partial Class Compras_ReembolsosComprobaciones
HdnCheque.Value = tCveIE.ToString
LtChequeImporte.Text = ObjIE.Importe.FormatoNumero
+ CveMonedaPago = ObjIE.CveMoneda
+ TipoCambioPago = ObjIE.TipoCambio
Dim IndexCheque = If(UsuarioActual.TienePermisoProceso(113), DDlCheques.SelectedIndex - 1, DDlCheques.SelectedIndex)
TxtChequeSaldo.Text = DtCheques.Rows(DDlCheques.SelectedIndex - 1)("Saldo").ToString.FormatoNumero
-
Else
Alert("El Documento solicitado no existe, por favor revise su búsqueda.", TipoMensaje.MsgAdvertencia)
End If
@@ -323,7 +345,7 @@ Partial Class Compras_ReembolsosComprobaciones
Dim dr As DataRow = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimero("CveCuenta = " & DdlCuenta.SelectedValue)
If dr IsNot Nothing Then
- CveMoneda = dr("CveMoneda").ToString.ToEntero
+ CveMonedaPago = dr("CveMoneda").ToString.ToEntero
IdCuentaBancaria = dr("IdCtaContable").ToString.ToEntero
End If
@@ -540,7 +562,7 @@ Partial Class Compras_ReembolsosComprobaciones
Dim dr As DataRow = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimero("CveCuenta = " & DdlCuenta.SelectedValue)
If dr IsNot Nothing Then
- CveMoneda = dr("CveMoneda").ToString.ToEntero
+ CveMonedaPago = dr("CveMoneda").ToString.ToEntero
IdCuentaBancaria = dr("IdCtaContable").ToString.ToEntero
End If
@@ -609,29 +631,18 @@ Partial Class Compras_ReembolsosComprobaciones
End If
End If
-
-
If CveIERegistrado > 0 Or CveIEExcedente > 0 Or ChkReembolsarSinBancos.Checked Then
'inserto los movimientos de la conta para abonar al saldo
If ((TxtImporte.Text.ToDecimal > 0 Or ChkReembolsarSinBancos.Checked) And CvePrePolizaIERegistrado > 0) Or ((TxtImporteVinculado.Text.ToDecimal > 0 And HdnCheque.Value.ToEntero > 0) Or ChkReembolsarSinBancos.Checked) Then
Dim SaldoCheque = If(HdnCheque.Value.ToEntero > 0, TxtChequeSaldo.Text.ToDecimal, TxtImporte.Text.ToDecimal)
- Dim ImportePagar = 0.0
- Dim ImporteOriginal = 0.0
- Dim ImporteMovto = 0.0
+
Dim PorcentajePago As Decimal = 1
Dim FechaMovimiento As Date = TxtFechaDocumento.Text.ToDate
- Dim ConceptoMovimiento As String = ""
- Dim Referencia As String = ""
Dim IdCtaProveedor As Integer = 0
- Dim IdCtaIVAxAcreditar As Integer = 0
- Dim IdCtaIVAAcreditable As Integer = 0
- Dim IdCtaRetIVA As Integer = 0
- Dim IdCtaRetISR As Integer = 0
Dim IdCtaOtrosProductos As Integer = 0
Dim CvePrePolizaUnificar As Integer = 0
-
Dim SeUnifico = False
If UsuarioActual.Empresa.TipoContabilidad = 2 Then
@@ -650,34 +661,6 @@ Partial Class Compras_ReembolsosComprobaciones
End If
End If
- 'Obtenemos la cuenta del IVAxAcreditar
- If ObjMov.GetRetCuenta(14, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaIVAxAcreditar = ObjMov.DtResultados.Rows(0)("IdCuentaIVAxAcreditar").ToString.ToEntero
- End If
- End If
-
- 'Obtenemos la cuenta del IVAAcreditable
- If ObjMov.GetRetCuenta(19, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaIVAAcreditable = ObjMov.DtResultados.Rows(0)("IdCuentaIVAAcreditable").ToString.ToEntero
- End If
- End If
-
- 'Obtenemos la cuenta del RetIVA
- If ObjMov.GetRetCuenta(15, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaRetIVA = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
- End If
- End If
-
- 'Obtenemos la cuenta del RetISR
- If ObjMov.GetRetCuenta(16, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaRetISR = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero
- End If
- End If
-
'Obtenemos la cuenta del IdCtaOtrosProductos
If ObjMov.GetRetCuenta(132, UsuarioActual.CveEmpresa) Then
If ObjMov.DtResultados.Rows.Count > 0 Then
@@ -690,31 +673,41 @@ Partial Class Compras_ReembolsosComprobaciones
For Each gvr As GridViewRow In GvCxP.Rows
If gvr.FCCheckBox("Chk").Checked Then
- ConceptoMovimiento = $"{gvr.DataKey("Proveedor")} F:{gvr.DataKey("SerieFolio")} {If(DdlPersonal.Visible, DdlPersonal.SelectedItem.Text, DdlCajaChica.SelectedItem.Text)}"
- Referencia = gvr.DataKey("SerieFolio").ToString
- IdCtaProveedor = gvr.DataKey("IdCtaContProveedores").ToEntero
+ Dim ImporteMovto As Decimal
+ Dim ConceptoMovimiento As String = $"{gvr.DataKey("Proveedor")} F:{gvr.DataKey("SerieFolio")} {If(DdlPersonal.Visible, DdlPersonal.SelectedItem.Text, DdlCajaChica.SelectedItem.Text)}"
+ Dim Referencia As String = gvr.DataKey("SerieFolio").ToString
+ Dim ImportePagar, ImporteOriginal As Decimal
-
- ImportePagar = gvr.FCTextBox("TxtAbonar").Text.ToDecimal
- ImporteOriginal = gvr.FCTextBox("TxtAbonar").Text.ToDecimal
-
- Dim CveConceptoContablePago As Integer = 17
- If gvr.DataKey("CveTipoConcepto").ToEntero = 2 Then CveConceptoContablePago = 308 'cuando es acreedor
- If CveMoneda <> 1 Then
- Select Case CveConceptoContablePago
- Case 17
- CveConceptoContablePago = 312
- Case 308
- CveConceptoContablePago = 309
- Case Else
- End Select
- End If
If gvr.DataKey("CveTipoConcepto").ToEntero = 2 Then
IdCtaProveedor = gvr.DataKey("IdCtaContAcreedor").ToEntero
Else
IdCtaProveedor = gvr.DataKey("IdCtaContProveedores").ToEntero
End If
+ Dim CompraActual As New Compra
+ CompraActual.CveCompra = gvr.DataKey("CveCompra").ToEntero
+ CompraActual.CveTipoConceptoProveedor = gvr.DataKey("CveTipoConcepto").ToEntero
+ CompraActual.CveProveedor = gvr.DataKey("CveProveedor").ToEntero
+ CompraActual.CveMoneda = gvr.DataKey("CveMoneda").ToEntero
+ CompraActual.SerieFolio = gvr.DataKey("SerieFolio").ToString
+ CompraActual.ProveedorNombre = gvr.DataKey("Proveedor")
+ CompraActual.TC = gvr.DataKey("TipoCambio").ToDecimal
+ CompraActual.Total = gvr.DataKey("Total").ToDecimal
+ CompraActual.IVA = gvr.DataKey("IVA").ToDecimal
+ CompraActual.IVADeducible = gvr.DataKey("IVADeducible").ToDecimal
+ CompraActual.IEPS = gvr.DataKey("IEPS").ToDecimal
+ CompraActual.RetIVA = gvr.DataKey("RetIVA").ToDecimal
+ CompraActual.RetISR = gvr.DataKey("RetISR").ToDecimal
+ CompraActual.CveConceptoRetISR = gvr.DataKey("CveRetISRConcepto").ToEntero
+ CompraActual.CveConceptoRetIVA = gvr.DataKey("CveRetIVAConcepto").ToEntero
+ CompraActual.PorcentajeIVA = gvr.DataKey("IVAPorcentaje").ToDecimal
+ CompraActual.UsuarioActual = UsuarioActual
+ CompraActual.CveSubProyecto = gvr.DataKey("CveSubProyecto").ToEntero
+ CompraActual.IdCtaContableProv = IdCtaProveedor
+
+ ImportePagar = gvr.FCTextBox("TxtAbonar").Text.ToDecimal
+ ImporteOriginal = gvr.FCTextBox("TxtAbonar").Text.ToDecimal
+
If SaldoCheque > 0 Then
'ImporteMovto = If(ImportePagar > SaldoCheque, SaldoCheque, ImportePagar)
@@ -725,7 +718,6 @@ Partial Class Compras_ReembolsosComprobaciones
'SE USARA PARA PODER ELIMINAR UNA COMPROBACION
CvePrePolizaPagoOriginal = ObjMov.AddPrePolizas("Compras/Comprobaciones6", 9, ImporteMovto, ImporteMovto, CveMoneda, TxtFechaPrePoliza.Text.ToDate, If(TxtObservaciones.Text.Trim = "", $"Compra: { gvr.DataKey("SerieFolio").ToString }", TxtObservaciones.Text.Trim), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
-
'registramos el nuevo IE
If CveCajaChica > 0 Then
CveIEPago = 0
@@ -735,229 +727,43 @@ Partial Class Compras_ReembolsosComprobaciones
CveIEPago = CveIERegistrado
End If
-
- Dim ComisionTmp As Decimal = gvr.FCTextBox("TxtComision").Text.ToDecimal
+ Dim Pago As New CompraPago
+ Pago.Fecha = TxtFechaDocumento.Text.ToDate
+ Pago.ImportePago = ImporteMovto
+ Pago.CveIE = CveIEPago
+ Pago.CveMonedaPago = CveMonedaPago
+ Pago.TCPago = TipoCambioPago
'Otros Ingresos
- If MsgError = "" AndAlso (ChkAjusteOI.Checked Or ChkOtrosIngresosCheque.Checked) AndAlso ComisionTmp <> 0 Then
-
- Dim tOtCveCon As Integer = 211
- Dim tOtTipoMovto As Boolean = False
- If ComisionTmp < 0 Then
- tOtTipoMovto = True : tOtCveCon = 78
- ComisionTmp = Math.Abs(ComisionTmp)
- End If
-
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, tOtTipoMovto, ComisionTmp, Referencia, tOtCveCon, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIERegistrado, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveSubProyecto:=gvr.DataKey("CveSubProyecto").ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ComisionTmp), ImporteMX:=ComisionTmp * tipoCambio) Then
- MsgError = "no se pudo insertar el detalle de la poliza de otros ingresos"
- End If
- If CveCajaChica > 0 AndAlso Not HdnCheque.Value.ToEntero > 0 Then
-
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, Not tOtTipoMovto, ComisionTmp, Referencia, tOtCveCon, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIERegistrado, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveSubProyecto:=gvr.DataKey("CveSubProyecto").ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ComisionTmp), ImporteMX:=ComisionTmp * tipoCambio, Contabilizable:=False) Then
- MsgError = "no se pudo insertar el detalle de la poliza de otros ingresos"
- End If
- End If
+ If MsgError = "" AndAlso (ChkAjusteOI.Checked Or ChkOtrosIngresosCheque.Checked) AndAlso gvr.FCTextBox("TxtComision").Text.ToDecimal <> 0 Then
+ Pago.OtroGastoIngreso = gvr.FCTextBox("TxtComision").Text.ToDecimal
End If
- If gvr.DataKey("Original").ToDecimal > 0 Then PorcentajePago = (ImporteMovto / gvr.DataKey("Original").ToDecimal) Else PorcentajePago = 1
-
If MsgError = "" AndAlso Not ChkReembolsarSinBancos.Checked AndAlso (Not HdnCheque.Value.ToEntero > 0 Or Not UsuarioActual.CveEmpresa.Contiene(119, 158)) Then
- Dim ImporteMovtoTmp As Decimal = ImporteMovto
- 'If ComisionTmp < 0 Then
- ' ImporteMovtoTmp = ImporteMovto + ComisionTmp
- 'End If
-
'Si es caja chica metemos el concepto 30, si es funcionario metemos 29
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, ImporteMovtoTmp, Referencia, If(CveCajaChica > 0, 30, 29), ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(CveCajaChica > 0, IdCuentaBancaria, IdCtaPersonal), -1, CveIE:=CveIEPago, CveIEDevolucion:=If(CveCajaChica > 0, If(DDlCheques.SelectedValue.ToEntero = -1, CveIECajaChica, DDlCheques.SelectedValue.ToEntero), -1), CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteMovtoTmp), ImporteMX:=ImporteMovtoTmp * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, Contabilizable:=If(CveCajaChica > 0 Or CvePersonal > 0, Not UsaSimplificacionCajaChica, True)) Then
+ ImporteMovto += Pago.OtroGastoIngreso ' si ajuste, sedebe de aplicar en su contraparte
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, ImporteMovto, Referencia, If(CveCajaChica > 0, 30, 29), ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(CveCajaChica > 0, IdCuentaBancaria, IdCtaPersonal), -1, CveIE:=CveIEPago, CveIEDevolucion:=If(CveCajaChica > 0, If(DDlCheques.SelectedValue.ToEntero = -1, CveIECajaChica, DDlCheques.SelectedValue.ToEntero), -1), CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteMovto), ImporteMX:=ImporteMovto * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, Contabilizable:=If(CveCajaChica > 0 Or CvePersonal > 0, Not UsaSimplificacionCajaChica, True)) Then
MsgError = "Detalle"
End If
- End If
- 'Pago Proveedores
- If MsgError = "" AndAlso Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, ImporteMovto, Referencia, CveConceptoContablePago, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIEPago, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteMovto), ImporteMX:=ImporteMovto * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal) Then
- MsgError = "Detalle"
- End If
-
- If MsgError = "" AndAlso gvr.DataKey("IVA").ToDecimal > 0 Then
- Dim PorcentajeIVA As Decimal = gvr.DataKey("IVAPorcentaje").ToDecimal
- Dim IdCtaContIVAXAcreditar As Integer = 0
- Dim IdCtaContIVAAcreditable As Integer = 0
- Dim IdCtaContIVANoAcreditable As Integer = 0
-
- If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA).Rows.Count > 0 Then
- IdCtaContIVAXAcreditar = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA).Rows(0)("IdCtaIVAXAcreditar").ToString.ToEntero
- IdCtaContIVAAcreditable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA).Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero
- IdCtaContIVANoAcreditable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA).Rows(0)("IdCtaIVANoAcreditable").ToString.ToEntero
- End If
- If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then
- If ImporteMovto = gvr.FCLiteral("LtlSaldo").Text.ToDouble Then
- 'Agrego el IVA
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, gvr.DataKey("IVA").ToDecimal, Referencia, 14, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVAXAcreditar > 0, IdCtaContIVAXAcreditar, IdCtaIVAxAcreditar), -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("IVA").ToDecimal), ImporteMX:=(gvr.DataKey("IVA").ToDecimal) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then
- MsgError = "Detalle"
- End If
-
- 'Agrego el IVA
- If gvr.DataKey("IVADeducible").ToDecimal > 0 Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, gvr.DataKey("IVADeducible").ToDecimal, Referencia, 19, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVAAcreditable > 0, IdCtaContIVAAcreditable, IdCtaIVAAcreditable), -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("IVADeducible").ToDecimal), ImporteMX:=(gvr.DataKey("IVADeducible").ToDecimal) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then
- MsgError = "Detalle"
- End If
- End If
- End If
- Else
- 'Agrego el IVA
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, gvr.DataKey("IVA").ToDecimal * PorcentajePago, Referencia, 14, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVAXAcreditar > 0, IdCtaContIVAXAcreditar, IdCtaIVAxAcreditar), -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("IVA").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("IVA").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then
- MsgError = "Detalle"
- End If
- 'Agrego el IVA
- If gvr.DataKey("IVADeducible").ToDecimal > 0 Then
- Dim ImporteIVA As Decimal = gvr.DataKey("IVADeducible").ToDecimal * PorcentajePago
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, ImporteIVA, Referencia, 19, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVAAcreditable > 0, IdCtaContIVAAcreditable, IdCtaIVAAcreditable), -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteIVA), ImporteMX:=(ImporteIVA) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then
- MsgError = "Detalle"
- End If
- End If
+ If AplicaPrePolizaPago(CompraActual, Pago, CvePrePolizaPago, ObjMov) Then
+ MsgError = "Detalle"
End If
- If gvr.DataKey("IVANoDeducible").ToDecimal > 0 Then
-
- Dim ImporteNOIVA As Decimal = gvr.DataKey("IVANoDeducible").ToDecimal * PorcentajePago
-
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, ImporteNOIVA, Referencia, 280, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVANoAcreditable > 0, IdCtaContIVANoAcreditable, IdCtaIVAAcreditable), -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, CveSubProyecto:=gvr.DataKey("CveSubProyecto").ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteNOIVA), ImporteMX:=(ImporteNOIVA) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then
- MsgError = "Detalle"
- End If
- End If
-
- End If
-
- If MsgError = "" AndAlso gvr.DataKey("RetIVA").ToDecimal > 0 Then
- Dim ConceptoContableRetIVAXAcreditar = 0, ConceptoContableRetIVAAcreditable = 0, IdCtaContableRetIVAXAcreditar = 0, IdCtaContableRetIVAAcreditable = 0, CveFunc = 0, CveFuncAcreditable = 0
- Select Case gvr.DataKey("CveRetIVAConcepto").ToEntero
- Case 1
- ConceptoContableRetIVAXAcreditar = 15
- ConceptoContableRetIVAAcreditable = 22
- CveFunc = 307
- CveFuncAcreditable = 308
- Case 2
- ConceptoContableRetIVAXAcreditar = 183
- ConceptoContableRetIVAAcreditable = 184
- CveFunc = 309
- CveFuncAcreditable = 310
- Case 3
- ConceptoContableRetIVAXAcreditar = 185
- ConceptoContableRetIVAAcreditable = 186
- CveFunc = 311
- CveFuncAcreditable = 312
- Case 4
- ConceptoContableRetIVAXAcreditar = 248
- ConceptoContableRetIVAAcreditable = 249
- CveFunc = 313
- CveFuncAcreditable = 314
- Case 5
- ConceptoContableRetIVAXAcreditar = 285
- ConceptoContableRetIVAAcreditable = 286
- CveFunc = 578
- CveFuncAcreditable = 578
- End Select
-
- If UsuarioActual.Empresa.TipoContabilidad = 2 Then
- If IdCtaRetIVA > 0 Then
- IdCtaContableRetIVAXAcreditar = IdCtaRetIVA
- ElseIf UsuarioActual.Empresa.Funcionalidad(CveFunc).ToEntero > 0 Then
- IdCtaContableRetIVAXAcreditar = UsuarioActual.Empresa.Funcionalidad(CveFunc).ToEntero
- Else
- If ObjMov.GetRetCuenta(ConceptoContableRetIVAXAcreditar, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContableRetIVAXAcreditar = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
- End If
- End If
- End If
- If IdCtaRetIVA > 0 Then
- IdCtaContableRetIVAAcreditable = IdCtaRetIVA
- ElseIf UsuarioActual.Empresa.Funcionalidad(CveFuncAcreditable).ToEntero > 0 Then
- IdCtaContableRetIVAAcreditable = UsuarioActual.Empresa.Funcionalidad(CveFuncAcreditable).ToEntero
- Else
- If ObjMov.GetRetCuenta(ConceptoContableRetIVAAcreditable, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContableRetIVAAcreditable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
- End If
- End If
- End If
- End If
-
- If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then
- If ImporteMovto = gvr.FCLiteral("LtlSaldo").Text.ToDouble Then
- 'Agrego el RetIVA
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, gvr.DataKey("RetIVA").ToDecimal, Referencia, ConceptoContableRetIVAXAcreditar, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetIVAXAcreditar, -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetIVA").ToDecimal), ImporteMX:=(gvr.DataKey("RetIVA").ToDecimal) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal) Then
- MsgError = "Detalle"
- End If
-
- 'Agrego el RetIVA
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, gvr.DataKey("RetIVA").ToDecimal, Referencia, ConceptoContableRetIVAAcreditable, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetIVAAcreditable, -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetIVA").ToDecimal), ImporteMX:=(gvr.DataKey("RetIVA").ToDecimal) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal) Then
- MsgError = "Detalle"
- End If
- End If
- Else
- 'Agrego el RetIVA
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, gvr.DataKey("RetIVA").ToDecimal * PorcentajePago, Referencia, ConceptoContableRetIVAXAcreditar, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetIVAXAcreditar, -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetIVA").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal) Then
- MsgError = "Detalle"
- End If
-
- 'Agrego el RetIVA
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, gvr.DataKey("RetIVA").ToDecimal * PorcentajePago, Referencia, ConceptoContableRetIVAAcreditable, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetIVAAcreditable, -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetIVA").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal) Then
- MsgError = "Detalle"
- End If
- End If
-
- Dim AcreditaISR As Boolean = False
- If UsuarioActual.CveEmpresa = 140 Then AcreditaISR = True
-
- If MsgError = "" AndAlso AcreditaISR AndAlso gvr.DataKey("RetISR").ToDecimal > 0 Then
- Dim ConceptoContableRetISRXAcreditar = 0, ConceptoContableRetISRAcreditable = 0, IdCtaContableRetISRXAcreditar = 0, IdCtaContableRetISRAcreditable = 0
- Select Case gvr.DataKey("CveRetIVAConcepto").ToEntero
- Case 1
- ConceptoContableRetISRXAcreditar = 16
- ConceptoContableRetISRAcreditable = 23
-
- Case 2
- ConceptoContableRetISRXAcreditar = 243
- ConceptoContableRetISRAcreditable = 244
- CveFunc = 309
- CveFuncAcreditable = 310
-
- Case 3
- ConceptoContableRetISRXAcreditar = 327
- ConceptoContableRetISRAcreditable = 328
- CveFunc = 311
-
- End Select
-
- 'Agrego el RetIVA
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, gvr.DataKey("RetISR").ToDecimal * PorcentajePago, Referencia, ConceptoContableRetISRXAcreditar, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetISRXAcreditar, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetISR").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("RetISR").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaExcedente, CvePersonal:=CvePersonal) Then
- MsgError = "Detalle"
- End If
-
- 'Agrego el RetIVA
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, gvr.DataKey("RetISR").ToDecimal * PorcentajePago, Referencia, ConceptoContableRetISRAcreditable, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetISRAcreditable, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetISR").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("RetISR").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaExcedente, CvePersonal:=CvePersonal) Then
- MsgError = "Detalle"
- End If
- End If
End If
Dim SaldoExcedente As Decimal = gvr.FCTextBox("TxtSaldoExcedente").Text.ToDecimal
If MsgError = "" AndAlso UsuarioActual.Empresa.Funcionalidad(506) = "1" And CbPermitirExcedente.Checked = True And SaldoExcedente > 0 Then
If DDlPermitirExcedente.SelectedValue = "1" Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, SaldoExcedente, Referencia, CveConceptoContablePago, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, SaldoExcedente), ImporteMX:=(SaldoExcedente) * tipoCambio, CvePersonal:=CvePersonal, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal) Then
- MsgError = "Detalle Reembolso Personal"
- End If
+
If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, SaldoExcedente, Referencia, 132, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaOtrosProductos, -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, SaldoExcedente), ImporteMX:=SaldoExcedente * tipoCambio, CvePersonal:=CvePersonal, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal) Then
MsgError = "Detalle Reembolso Personal"
End If
ElseIf DDlPermitirExcedente.SelectedValue = "2" Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, SaldoExcedente, Referencia, CveConceptoContablePago, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, SaldoExcedente), ImporteMX:=SaldoExcedente * tipoCambio, CvePersonal:=CvePersonal, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal) Then
- MsgError = "Detalle Reembolso Personal Excedente"
- End If
+
If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, SaldoExcedente, Referencia, 29, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaPersonal, -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, SaldoExcedente), ImporteMX:=SaldoExcedente * tipoCambio, CvePersonal:=CvePersonal, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal) Then
MsgError = "Detalle Reembolso Personal Excedente"
End If
@@ -967,12 +773,6 @@ Partial Class Compras_ReembolsosComprobaciones
'Unificamos el cheque y la caja chica con los pagos y facturas
If MsgError = "" AndAlso Not IdPoliza > 0 AndAlso Not gvr.DataKey("IdPoliza").ToEntero > 0 AndAlso UsuarioActual.Empresa.Funcionalidad(219) = "1" Then
If MsgError = "" Then
- 'CvePrePolizaUnificar = CvePrePolizaPago
- ''codigo temoral, RMF. falta criterio de unificacion, en una póliza nueva de diario
- 'If UsuarioActual.CveEmpresa = 119 Then
- ' CvePrePolizaUnificar = ObjMov.AddPrePolizas("Compras/ComprobacionesU", 9, ImporteMovto, ImporteMovto, CveMoneda, TxtFechaPrePoliza.Text.ToDate, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FolioFijo:=TxtFolio.Text.Trim.ToEntero)
- ' 'CvePrePolizaUnificar = -1 ' unificar en una de diario
- 'End If
If Not ObjMov.PrePolizaUnificacion(CvePrePolizaPago, gvr.DataKey("CvePrePoliza").ToEntero) Then
MsgError = "No se pudo unificar la prepoliza"
@@ -1000,177 +800,25 @@ Partial Class Compras_ReembolsosComprobaciones
End If
End If
- If gvr.DataKey("Original").ToDecimal > 0 Then PorcentajePago = (ImporteMovto / gvr.DataKey("Original").ToDecimal).RoundSQL Else PorcentajePago = 1
+ Dim Pago As New CompraPago
+ Pago.ImportePago = ImporteMovto
+ Pago.CveIE = CveIEExcedente
+ Pago.CveMonedaPago = CveMoneda
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, ImporteMovto, Referencia, CveConceptoContablePago, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteMovto), ImporteMX:=(ImporteMovto * tipoCambio)) Then
+
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, ImporteMovto, Referencia, 30, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCuentaBancaria, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteMovto), ImporteMX:=ImporteMovto * tipoCambio, CveCuenta:=CveCuentaBancaria) Then
+ MsgError = "no se pudo insertar el detalle de la poliza"
+ End If
+
+ If Not AplicaPrePolizaPago(CompraActual, Pago, CvePrePolizaPago, ObjMov) Then
MsgError = "Detalle"
- Exit For
- Else
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, ImporteMovto, Referencia, 30, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCuentaBancaria, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteMovto), ImporteMX:=ImporteMovto * tipoCambio, CveCuenta:=CveCuentaBancaria) Then
- MsgError = "no se pudo insertar el detalle de la poliza"
+ End If
+
+ 'Otros Ingresos
+ If ChkAjusteOI.Checked Then
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, gvr.FCTextBox("TxtComision").Text.ToDecimal, Referencia, UsuarioActual.Empresa.IdCuentaOtrosIngresos, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIERegistrado, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveSubProyecto:=gvr.DataKey("CveSubProyecto").ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.FCTextBox("TxtComision").Text.ToDecimal), ImporteMX:=gvr.FCTextBox("TxtComision").Text.ToDecimal * tipoCambio) Then
+ MsgError = "no se pudo insertar el detalle de la poliza de otros ingresos"
End If
-
- 'Otros Ingresos
- If ChkAjusteOI.Checked Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, gvr.FCTextBox("TxtComision").Text.ToDecimal, Referencia, UsuarioActual.Empresa.IdCuentaOtrosIngresos, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIERegistrado, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveSubProyecto:=gvr.DataKey("CveSubProyecto").ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.FCTextBox("TxtComision").Text.ToDecimal), ImporteMX:=gvr.FCTextBox("TxtComision").Text.ToDecimal * tipoCambio) Then
- MsgError = "no se pudo insertar el detalle de la poliza de otros ingresos"
- End If
- End If
-
- '*********IVA. siempre se registra aunque sea cero PREGUNTAR POR EL CONCEPTO DE IVA EN Conta_Conceptos
- If MsgError = "" AndAlso gvr.DataKey("IVA").ToDecimal > 0 Then
- Dim PorcentajeIVA As Decimal = gvr.DataKey("IVAPorcentaje").ToDecimal
- Dim IdCtaContIVAXAcreditar As Integer = 0
- Dim IdCtaContIVAAcreditable As Integer = 0
-
- If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA).Rows.Count > 0 Then
- IdCtaContIVAXAcreditar = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA).Rows(0)("IdCtaIVAXAcreditar").ToString.ToEntero
- IdCtaContIVAAcreditable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA).Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero
- End If
-
- If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then
- If gvr.FCTextBox("TxtAbonar").Text.ToDecimal = gvr.FCLiteral("LtlSaldo").Text.ToDouble Then
- 'Agrego el IVA
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, gvr.DataKey("IVA").ToDecimal, Referencia, 14, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVAXAcreditar > 0, IdCtaContIVAXAcreditar, IdCtaIVAxAcreditar), -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("IVA").ToDecimal), ImporteMX:=(gvr.DataKey("IVA").ToDecimal) * tipoCambio, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then
- MsgError = "Detalle"
- End If
-
- 'Agrego el IVA
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, False, gvr.DataKey("IVA").ToDecimal, Referencia, 19, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVAAcreditable > 0, IdCtaContIVAAcreditable, IdCtaIVAAcreditable), -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("IVA").ToDecimal), ImporteMX:=(gvr.DataKey("IVA").ToDecimal) * tipoCambio, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then
- MsgError = "Detalle"
- End If
- End If
- Else
- 'Agrego el IVA
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, gvr.DataKey("IVA").ToDecimal * PorcentajePago, Referencia, 14, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVAXAcreditar > 0, IdCtaContIVAXAcreditar, IdCtaIVAxAcreditar), -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("IVA").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("IVA").ToDecimal * PorcentajePago) * tipoCambio, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then
- MsgError = "Detalle"
- End If
-
- 'Agrego el IVA
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, False, gvr.DataKey("IVADeducible").ToDecimal * PorcentajePago, Referencia, 19, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVAAcreditable > 0, IdCtaContIVAAcreditable, IdCtaIVAAcreditable), -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("IVADeducible").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("IVADeducible").ToDecimal * PorcentajePago) * tipoCambio, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then
- MsgError = "Detalle"
- End If
-
- End If
-
- If gvr.DataKey("IVANoDeducible").ToDecimal > 0 Then
-
- Dim IdCtaContIVANoAcreditable As Integer = 0
-
- If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA).Rows.Count > 0 Then
- IdCtaContIVANoAcreditable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA).Rows(0)("IdCtaIVANoAcreditable").ToString.ToEntero
- End If
-
- Dim ImporteNOIVA As Decimal = gvr.DataKey("IVANoDeducible").ToDecimal * PorcentajePago
-
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, ImporteNOIVA, Referencia, 280, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVANoAcreditable > 0, IdCtaContIVANoAcreditable, IdCtaIVAAcreditable), -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, CveSubProyecto:=gvr.DataKey("CveSubProyecto").ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteNOIVA), ImporteMX:=(ImporteNOIVA) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then
- MsgError = "Detalle"
- End If
- End If
-
-
- End If
-
- If MsgError = "" AndAlso gvr.DataKey("RetIVA").ToDecimal > 0 Then
- Dim ConceptoContableRetIVAXAcreditar = 0, ConceptoContableRetIVAAcreditable = 0, IdCtaContableRetIVAXAcreditar = 0, IdCtaContableRetIVAAcreditable = 0, CveFunc = 0, CveFuncAcreditable = 0
- Select Case gvr.DataKey("CveRetIVAConcepto").ToEntero
- Case 1
- ConceptoContableRetIVAXAcreditar = 15
- ConceptoContableRetIVAAcreditable = 22
- CveFunc = 307
- CveFuncAcreditable = 308
-
- Case 2
- ConceptoContableRetIVAXAcreditar = 183
- ConceptoContableRetIVAAcreditable = 184
- CveFunc = 309
- CveFuncAcreditable = 310
-
- Case 3
- ConceptoContableRetIVAXAcreditar = 185
- ConceptoContableRetIVAAcreditable = 186
- CveFunc = 311
- CveFuncAcreditable = 312
-
- Case 4
- ConceptoContableRetIVAXAcreditar = 248
- ConceptoContableRetIVAAcreditable = 249
- CveFunc = 313
- CveFuncAcreditable = 314
-
- End Select
-
- If UsuarioActual.Empresa.TipoContabilidad = 2 Then
- If IdCtaRetIVA > 0 Then
- IdCtaContableRetIVAXAcreditar = IdCtaRetIVA
- ElseIf UsuarioActual.Empresa.Funcionalidad(CveFunc).ToEntero > 0 Then
- IdCtaContableRetIVAXAcreditar = UsuarioActual.Empresa.Funcionalidad(CveFunc).ToEntero
- Else
- If ObjMov.GetRetCuenta(ConceptoContableRetIVAXAcreditar, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContableRetIVAXAcreditar = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
- End If
- End If
- End If
- If IdCtaRetIVA > 0 Then
- IdCtaContableRetIVAAcreditable = IdCtaRetIVA
- ElseIf UsuarioActual.Empresa.Funcionalidad(CveFuncAcreditable).ToEntero > 0 Then
- IdCtaContableRetIVAAcreditable = UsuarioActual.Empresa.Funcionalidad(CveFuncAcreditable).ToEntero
- Else
- If ObjMov.GetRetCuenta(ConceptoContableRetIVAAcreditable, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContableRetIVAAcreditable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
- End If
- End If
- End If
- End If
-
- 'Agrego el RetIVA
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, False, gvr.DataKey("RetIVA").ToDecimal * PorcentajePago, Referencia, ConceptoContableRetIVAXAcreditar, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetIVAXAcreditar, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetIVA").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaExcedente, CvePersonal:=CvePersonal) Then
- MsgError = "Detalle"
- End If
-
- 'Agrego el RetIVA
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, gvr.DataKey("RetIVA").ToDecimal * PorcentajePago, Referencia, ConceptoContableRetIVAAcreditable, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetIVAAcreditable, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetIVA").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaExcedente, CvePersonal:=CvePersonal) Then
- MsgError = "Detalle"
- End If
- End If
-
- Dim AcreditaISR As Boolean = False
- If UsuarioActual.CveEmpresa = 140 Then AcreditaISR = True
-
- If MsgError = "" AndAlso AcreditaISR AndAlso gvr.DataKey("RetISR").ToDecimal > 0 Then
- Dim ConceptoContableRetISRXAcreditar = 0, ConceptoContableRetISRAcreditable = 0, IdCtaContableRetISRXAcreditar = 0, IdCtaContableRetISRAcreditable = 0, CveFunc = 0, CveFuncAcreditable = 0
- Select Case gvr.DataKey("CveRetIVAConcepto").ToEntero
- Case 1
- ConceptoContableRetISRXAcreditar = 16
- ConceptoContableRetISRAcreditable = 23
-
- Case 2
- ConceptoContableRetISRXAcreditar = 243
- ConceptoContableRetISRAcreditable = 244
- CveFunc = 309
- CveFuncAcreditable = 310
-
- Case 3
- ConceptoContableRetISRXAcreditar = 327
- ConceptoContableRetISRAcreditable = 328
- CveFunc = 311
-
- End Select
-
- 'Agrego el RetIVA
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, False, gvr.DataKey("RetISR").ToDecimal * PorcentajePago, Referencia, ConceptoContableRetISRXAcreditar, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetISRXAcreditar, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetISR").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("RetISR").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaExcedente, CvePersonal:=CvePersonal) Then
- MsgError = "Detalle"
- End If
-
- 'Agrego el RetIVA
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, gvr.DataKey("RetISR").ToDecimal * PorcentajePago, Referencia, ConceptoContableRetISRAcreditable, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetISRAcreditable, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetISR").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("RetISR").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaExcedente, CvePersonal:=CvePersonal) Then
- MsgError = "Detalle"
- End If
- End If
-
-
End If
If MsgError = "" AndAlso ImportePagar = ImporteOriginal Then
@@ -1229,23 +877,15 @@ Partial Class Compras_ReembolsosComprobaciones
AutoConta = False
End If
-
'Conta ContPAQ AUTOMATICA
If UsuarioActual.Empresa.Funcionalidad(200) = "1" AndAlso MsgError.Trim = "" Then
If CvePrePolizaIERegistrado > 0 Then
If IdCtaPersonal > 0 Or DdlCajaChica.Visible Then
If IdCtaProveedor > 0 Then
- If IdCtaIVAxAcreditar > 0 Then
- If IdCtaIVAAcreditable > 0 Then
- If ObjMov.ContabilizarPrePoliza(CvePrePolizaIERegistrado, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then
- Else
- MsgError = "Ocurrio un Error al contabilizar, pongase en contacto con Soporte Técnico"
- End If
- Else
- MsgError = "No tiene cuenta contable IVA Acreditable"
- End If
+
+ If ObjMov.ContabilizarPrePoliza(CvePrePolizaIERegistrado, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then
Else
- MsgError = "No tiene cuenta contable IVA x Acreditar"
+ MsgError = "Ocurrio un Error al contabilizar, pongase en contacto con Soporte Técnico"
End If
Else
MsgError = "No tiene cuenta contable de proveedor"
@@ -1258,26 +898,12 @@ Partial Class Compras_ReembolsosComprobaciones
If ChkChequeExcedente.Checked Then
If IdCuentaBancaria > 0 Then
If IdCtaProveedor > 0 Then
- If IdCtaIVAxAcreditar > 0 Then
- If IdCtaIVAAcreditable > 0 Then
- If IdCtaRetIVA > 0 Then
- If IdCtaRetISR > 0 Then
- If ObjMov.ContabilizarPrePoliza(CvePrePolizaExcedente, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then
- Else
- MsgError = "Ocurrio un Error al contabilizar, pongase en contacto con Soporte Técnico"
- End If
- Else
- MsgError = "No tiene cuenta contable Ret ISR"
- End If
- Else
- MsgError = "No tiene cuenta contable Ret IVA"
- End If
- Else
- MsgError = "No tiene cuenta contable IVA Acreditable"
- End If
+
+ If ObjMov.ContabilizarPrePoliza(CvePrePolizaExcedente, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then
Else
- MsgError = "No tiene cuenta contable IVA x Acreditar"
+ MsgError = "Ocurrio un Error al contabilizar, pongase en contacto con Soporte Técnico"
End If
+
Else
MsgError = "No tiene cuenta contable de proveedor"
End If
@@ -1533,7 +1159,7 @@ Partial Class Compras_ReembolsosComprobaciones
If e.Row.DBCampo("Saldo").ToDouble < 0 Then e.Row.Cells(7).ForeColor = Drawing.Color.Red
If e.Row.DBCampo("DiasVencidos").ToDouble > 0 AndAlso CType(sender, GridView).ID = "GvCxP" Then e.Row.Cells(5).ForeColor = Drawing.Color.Red
- If e.Row.DBCampo("Original").ToDouble = 0 Then DirectCast(e.Row.FindControl("LtlSaldoOriginal"), Literal).Text = ""
+ If e.Row.DBCampo("Total").ToDouble = 0 Then DirectCast(e.Row.FindControl("LtlSaldoTotal"), Literal).Text = ""
If e.Row.DBCampo("Abonado").ToDouble = 0 Then DirectCast(e.Row.FindControl("LtlAbonado"), Literal).Text = ""
If e.Row.DBCampo("Saldo").ToDouble = 0 Then DirectCast(e.Row.FindControl("LtlSaldo"), Literal).Text = ""
@@ -1543,7 +1169,7 @@ Partial Class Compras_ReembolsosComprobaciones
e.Row.FCTextBox("TxtSaldoExcedente").Attributes.Add("onblur", String.Format("FnSumaExcedente({0},{1},{2});", e.Row.FCTextBox("TxtSaldoExcedente").ClientID, e.Row.FCTextBox("TxtAbonar").ClientID, e.Row.DBCampo("Saldo")))
e.Row.FCTextBox("TxtComision").Attributes.Add("onblur", String.Format("FnCambia({0},this,{1},2);", e.Row.FCCheckBox("Chk").ClientID, e.Row.DBCampo("Saldo")))
- e.Row.FCRangeValidator("RVComision").MinimumValue = 0.00
+ e.Row.FCRangeValidator("RVComision").MinimumValue = "0"
e.Row.FCRangeValidator("RVComision").MaximumValue = e.Row.DBCampo("Saldo")
End If
End Sub