-- Aplica Pago PrePoliza de compra
This commit is contained in:
@@ -64,7 +64,7 @@ Public Class ClsBancos
|
||||
Public Property Importe As Double
|
||||
Public Property CveMoneda As Integer
|
||||
Public Property Moneda As String
|
||||
Public Property TipoCambio As Double
|
||||
Public Property TipoCambio As Decimal
|
||||
Public Property ClaveFormaPagoSAT As String
|
||||
Public Property Observaciones As String
|
||||
Public Property NotificarA As String
|
||||
@@ -762,7 +762,7 @@ Public Class ClsBancos
|
||||
Me.Importe = Data.Rows(0)("Importe").ToString.ToDouble
|
||||
Me.CveMoneda = Data.Rows(0)("CveMoneda").ToString.ToEntero
|
||||
Me.Moneda = Data.Rows(0)("Moneda").ToString
|
||||
Me.TipoCambio = Data.Rows(0)("TipoCambio").ToString.ToDouble
|
||||
Me.TipoCambio = Data.Rows(0)("TipoCambio").ToString.ToDecimal
|
||||
Me.Observaciones = Data.Rows(0)("Observaciones").ToString
|
||||
NotificarA = Data.Rows(0)("NotificarA").ToString
|
||||
Me.EsAbonoEnCuenta = CBool(Data.Rows(0)("EsAbonoEnCuenta").ToString)
|
||||
|
||||
@@ -5384,7 +5384,7 @@ Public Class ClsPaginas
|
||||
PaginaDict.Add("/RH/RepUniformes.aspx".ToUpper(), 630)
|
||||
PaginaDict.Add("/RH/RepUniformesResguardo.aspx".ToUpper(), 666)
|
||||
|
||||
PaginaDict.Add("/RH/ListaAsistenciaRH.aspx".ToUpper(), 631)
|
||||
'PaginaDict.Add("/RH/ListaAsistenciaRH.aspx".ToUpper(), 631)
|
||||
PaginaDict.Add("/RH/CatUniformes.aspx".ToUpper(), 632)
|
||||
PaginaDict.Add("/RH/CatUniformesDetalle.aspx".ToUpper(), 633)
|
||||
PaginaDict.Add("/RH/CatConceptosViaticos.aspx".ToUpper(), 662)
|
||||
@@ -9360,5 +9360,356 @@ Public Class ClsPaginas
|
||||
End If
|
||||
dtsec.Dispose()
|
||||
End Sub
|
||||
|
||||
#Region "P A G O D E C O M P R A S "
|
||||
|
||||
|
||||
Public 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 tImportePago, tImporteCompra As Decimal
|
||||
Dim CveConceptoContableComplementaria As Integer = 206
|
||||
|
||||
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 = 310
|
||||
Case Else
|
||||
End Select
|
||||
End If
|
||||
|
||||
Dim Concepto As String = String.Format("{0} F:{1}", CompraActual.ProveedorNombre, CompraActual.SerieFolio)
|
||||
Dim FuncionalidadFluctuacionImpuestos As Boolean = If(UsuarioActual.Empresa.Funcionalidad(159) = "1", True, False)
|
||||
|
||||
Dim tFecha As Date = Pago.Fecha
|
||||
Dim UltimaFluctuacion As MTipoCambioFluctuacion = GlobalTipoCambioUltimaFluctuacion(tFecha)
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(703) = "1" AndAlso UltimaFluctuacion IsNot Nothing Then
|
||||
If UltimaFluctuacion.FechaFluctuacion <= tFecha Then
|
||||
'FechaUltimaFluctuacion = UltimaFluctuacion.FechaFluctuacion
|
||||
CompraActual.TC = UltimaFluctuacion.TCFluctuacion
|
||||
End If
|
||||
End If
|
||||
|
||||
If CompraActual.CveMoneda = 1 And Pago.CveMonedaPago <> 1 Then 'factura pesos, pago en dolares
|
||||
tImportePago = ((Pago.ImportePago * CompraActual.TC / Pago.TCPago).RoundSQL * Pago.TCPago).RoundSQL
|
||||
ElseIf CompraActual.CveMoneda <> 1 And Pago.CveMonedaPago <> 1 Then 'factura dolares, pago en dolares
|
||||
tImporteCompra = (Pago.ImportePago * CompraActual.TC).RoundSQL
|
||||
tImportePago = (Pago.ImportePago * Pago.TCPago).RoundSQL
|
||||
ElseIf CompraActual.CveMoneda <> 1 And Pago.CveMonedaPago = 1 Then 'factura dolares, pago en pesos
|
||||
tImporteCompra = (Pago.ImportePago * CompraActual.TC).RoundSQL
|
||||
tImportePago = (Pago.ImportePago * Pago.TCPago).RoundSQL
|
||||
End If
|
||||
|
||||
'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:=Pago.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:=Pago.CvePersonal, CveCompraAmortizacion:=Pago.CveCompraAmortizacion, TipoCambio:=CompraActual.TC, ImporteME:=Pago.ImportePago) Then
|
||||
ErrorMovtos = True
|
||||
End If
|
||||
End If
|
||||
|
||||
'si tiene iva y su proporcion
|
||||
If Not ErrorMovtos AndAlso CompraActual.IVA <> 0 Then
|
||||
ImporteMovimiento = (PorcentajePago * CompraActual.IVA).RoundSQL
|
||||
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
|
||||
|
||||
'si tiene funcionalidad para tomar el TC de pago. se recalcula el importe
|
||||
If FuncionalidadFluctuacionImpuestos Then ImporteMovimiento = ((PorcentajePago * CompraActual.IVA).RoundSQL * Pago.TCPago).RoundSQL
|
||||
|
||||
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:=Pago.CvePersonal) Then ErrorMovtos = True
|
||||
|
||||
If CompraActual.IVANoDeducible > 0 Then
|
||||
|
||||
Dim ImporteNOIVA As Decimal = CompraActual.IVANoDeducible * PorcentajePago
|
||||
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteNOIVA, ImporteNOIVA, 280, CompraActual.SerieFolio, Concepto, Ret.IdCtaContIVANoAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, PorcentajeImpuesto:=CompraActual.PorcentajeIVA, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True
|
||||
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
'si tiene RET IVA y su proporcion
|
||||
If Not ErrorMovtos AndAlso CompraActual.RetIVA > 0 Then
|
||||
ImporteMovimiento = (PorcentajePago * CompraActual.RetIVA).RoundSQL
|
||||
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:=Pago.CvePersonal) Then ErrorMovtos = True
|
||||
|
||||
'si tiene funcionalidad para tomar el TC de pago. se recalcula el importe
|
||||
If FuncionalidadFluctuacionImpuestos Then ImporteMovimiento = ((PorcentajePago * CompraActual.RetIVA).RoundSQL * Pago.TCPago).RoundSQL
|
||||
|
||||
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:=Pago.CvePersonal) Then ErrorMovtos = True
|
||||
|
||||
End If
|
||||
|
||||
'si tiene Ret ISR y su proporcion
|
||||
If Not ErrorMovtos AndAlso CompraActual.RetISR > 0 Then
|
||||
ImporteMovimiento = (PorcentajePago * CompraActual.RetISR).RoundSQL
|
||||
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:=Pago.CvePersonal) Then ErrorMovtos = True
|
||||
|
||||
'si tiene funcionalidad para tomar el TC de pago. se recalcula el importe
|
||||
If FuncionalidadFluctuacionImpuestos Then ImporteMovimiento = ((PorcentajePago * CompraActual.RetISR).RoundSQL * Pago.TCPago).RoundSQL
|
||||
|
||||
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:=Pago.CvePersonal) Then ErrorMovtos = True
|
||||
|
||||
End If
|
||||
|
||||
'si tiene IEPS y su proporcion
|
||||
If Not ErrorMovtos AndAlso CompraActual.IEPS > 0 Then
|
||||
ImporteMovimiento = (PorcentajePago * CompraActual.IEPS).RoundSQL
|
||||
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
|
||||
|
||||
If ObjConta.GetRetCuenta(25, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then Ret.IdCtaContablexAcreditar = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSxAcreditar").ToString.ToEntero
|
||||
|
||||
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:=Pago.CvePersonal) Then ErrorMovtos = True
|
||||
|
||||
'si tiene funcionalidad para tomar el TC de pago. se recalcula el importe
|
||||
If FuncionalidadFluctuacionImpuestos Then ImporteMovimiento = ((PorcentajePago * CompraActual.IEPS).RoundSQL * Pago.TCPago).RoundSQL
|
||||
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMovimiento, 26, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True
|
||||
|
||||
End If
|
||||
|
||||
'si tiene otros gastos/ingresos
|
||||
ImporteMovimiento = Pago.OtroGastoIngreso
|
||||
If Not ErrorMovtos AndAlso ImporteMovimiento <> 0 Then
|
||||
Dim tOtCveCon As Integer = 211
|
||||
Dim tOtTipoMovto As Boolean = False
|
||||
If ImporteMovimiento < 0 Then
|
||||
tOtTipoMovto = True : tOtCveCon = 78
|
||||
ImporteMovimiento = Math.Abs(ImporteMovimiento)
|
||||
End If
|
||||
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, tOtTipoMovto, ImporteMovimiento, ImporteMovimiento, tOtCveCon, CompraActual.SerieFolio, Concepto, 0, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True
|
||||
|
||||
End If
|
||||
|
||||
If Not ErrorMovtos AndAlso CompraActual.TC <> Pago.TCPago Then
|
||||
Dim ConceptoContable, IdCtaContable As Integer
|
||||
Dim TipoMovimiento As Boolean
|
||||
Dim Diferencia As Decimal = 0
|
||||
|
||||
If tImporteCompra <> tImportePago Then
|
||||
If tImporteCompra > tImportePago Then
|
||||
ConceptoContable = 64 : IdCtaContable = UsuarioActual.Empresa.IdCuentaGananciaCambiaria
|
||||
TipoMovimiento = True
|
||||
Else
|
||||
ConceptoContable = 65 : IdCtaContable = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria
|
||||
TipoMovimiento = False
|
||||
End If
|
||||
Diferencia = (tImporteCompra - tImportePago).Abs.RoundSQL
|
||||
|
||||
End If
|
||||
|
||||
If FuncionalidadFluctuacionImpuestos Then
|
||||
Dim TCImpuestos As Decimal = If(FuncionalidadFluctuacionImpuestos, Pago.TCPago, CompraActual.TC)
|
||||
Diferencia = (Pago.ImportePago * CompraActual.TC) - (Pago.ImportePago * Pago.TCPago) 'Añadimos la diferencia de perdida en la venta
|
||||
Diferencia -= ((CompraActual.IVA * PorcentajePago) * CompraActual.TC) - ((CompraActual.IVA * PorcentajePago) * TCImpuestos) 'Añadimos la diferencia de ganancia en el IVA
|
||||
Diferencia += ((CompraActual.RetIVA * PorcentajePago) * CompraActual.TC) - ((CompraActual.RetIVA * PorcentajePago) * TCImpuestos) 'Añadimos la diferencia de ganancia en el RetIVA
|
||||
Diferencia += ((CompraActual.RetISR * PorcentajePago) * CompraActual.TC) - ((CompraActual.RetISR * PorcentajePago) * TCImpuestos) 'Añadimos la diferencia de ganancia en el RetISR
|
||||
Diferencia -= ((CompraActual.IEPS * PorcentajePago) * CompraActual.TC) - ((CompraActual.IEPS * PorcentajePago) * TCImpuestos) 'Añadimos la diferencia de ganancia en el IEPS
|
||||
Diferencia = Diferencia.Abs.RoundSQL
|
||||
End If
|
||||
|
||||
If Diferencia <> 0 Then
|
||||
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, Diferencia, Diferencia, 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
|
||||
|
||||
|
||||
Public Class CompraPago
|
||||
Public Fecha As Date
|
||||
Public Property CveIE As Integer = -1
|
||||
Public Property CvePersonal As Integer = -1
|
||||
Public Property ImportePago As Decimal = 0
|
||||
Public Property CveMonedaPago As Integer = 1
|
||||
Public Property TCPago As Decimal = 1
|
||||
Public Property CveCompraAmortizacion As Integer = 0
|
||||
Public Property OtroGastoIngreso As Decimal = 0
|
||||
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 IVADeducible As Decimal
|
||||
Public Property IVANoDeducible As Decimal = 0
|
||||
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
|
||||
Public Property IdCtaContIVANoAcreditable As Integer
|
||||
|
||||
End Class
|
||||
|
||||
|
||||
|
||||
#End Region
|
||||
|
||||
End Class
|
||||
|
||||
|
||||
Reference in New Issue
Block a user