-- cambio en prepólizas de pago

This commit is contained in:
2022-08-01 20:54:02 -07:00
parent 106ca53429
commit 986b21edc5
3 changed files with 145 additions and 763 deletions

View File

@@ -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

View File

@@ -294,7 +294,7 @@
<asp:HiddenField runat="server" ID="HdnFechasComprasVinculadas" Value="-1" ClientIDMode="Static" />
<asp:GridView ID="GvCxP" GridLines="None" CssClass="table table-hover table-advance Widthall" runat="server" AutoGenerateColumns="False" EmptyDataText="No se encontraron Cuentas por Pagar pendientes"
DataKeyNames="CveCompra,FechaCompra,Proveedor,SerieFolio,Original,SubTotal,IVA,RetIVA,RetISR,IdCtaContProveedores,IdCtaContAcreedor,CvePrePoliza,IdPoliza,CveRetIVAConcepto,CveRetISRConcepto,IVAPorcentaje,IVADeducible,IVANoDeducible,CveTipoConcepto,CveSubProyecto,IVAPorPagar">
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">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
@@ -337,9 +337,9 @@
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Monto Compra (Saldo Orig.)</HeaderTemplate>
<HeaderTemplate>Total</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlSaldoOriginal" runat="server" Text='<%# Eval("Original", "{0:N2}") %>'></asp:Literal>&nbsp;
<asp:Literal ID="LtlSaldoTotal" runat="server" Text='<%# Eval("Total", "{0:N2}") %>'></asp:Literal>&nbsp;
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>

View File

@@ -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