-- Aplica Pago PrePoliza de compra
This commit is contained in:
@@ -64,7 +64,7 @@ Public Class ClsBancos
|
|||||||
Public Property Importe As Double
|
Public Property Importe As Double
|
||||||
Public Property CveMoneda As Integer
|
Public Property CveMoneda As Integer
|
||||||
Public Property Moneda As String
|
Public Property Moneda As String
|
||||||
Public Property TipoCambio As Double
|
Public Property TipoCambio As Decimal
|
||||||
Public Property ClaveFormaPagoSAT As String
|
Public Property ClaveFormaPagoSAT As String
|
||||||
Public Property Observaciones As String
|
Public Property Observaciones As String
|
||||||
Public Property NotificarA As String
|
Public Property NotificarA As String
|
||||||
@@ -762,7 +762,7 @@ Public Class ClsBancos
|
|||||||
Me.Importe = Data.Rows(0)("Importe").ToString.ToDouble
|
Me.Importe = Data.Rows(0)("Importe").ToString.ToDouble
|
||||||
Me.CveMoneda = Data.Rows(0)("CveMoneda").ToString.ToEntero
|
Me.CveMoneda = Data.Rows(0)("CveMoneda").ToString.ToEntero
|
||||||
Me.Moneda = Data.Rows(0)("Moneda").ToString
|
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
|
Me.Observaciones = Data.Rows(0)("Observaciones").ToString
|
||||||
NotificarA = Data.Rows(0)("NotificarA").ToString
|
NotificarA = Data.Rows(0)("NotificarA").ToString
|
||||||
Me.EsAbonoEnCuenta = CBool(Data.Rows(0)("EsAbonoEnCuenta").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/RepUniformes.aspx".ToUpper(), 630)
|
||||||
PaginaDict.Add("/RH/RepUniformesResguardo.aspx".ToUpper(), 666)
|
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/CatUniformes.aspx".ToUpper(), 632)
|
||||||
PaginaDict.Add("/RH/CatUniformesDetalle.aspx".ToUpper(), 633)
|
PaginaDict.Add("/RH/CatUniformesDetalle.aspx".ToUpper(), 633)
|
||||||
PaginaDict.Add("/RH/CatConceptosViaticos.aspx".ToUpper(), 662)
|
PaginaDict.Add("/RH/CatConceptosViaticos.aspx".ToUpper(), 662)
|
||||||
@@ -9360,5 +9360,356 @@ Public Class ClsPaginas
|
|||||||
End If
|
End If
|
||||||
dtsec.Dispose()
|
dtsec.Dispose()
|
||||||
End Sub
|
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
|
End Class
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user