diff --git a/App_Code/ClsBancos.vb b/App_Code/ClsBancos.vb index 65340c487..551fca6ab 100644 --- a/App_Code/ClsBancos.vb +++ b/App_Code/ClsBancos.vb @@ -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) diff --git a/App_Code/ClsNominas.vb b/App_Code/ClsNominas.vb index 8a2a42d6a..fb2ad4e9c 100644 --- a/App_Code/ClsNominas.vb +++ b/App_Code/ClsNominas.vb @@ -3238,12 +3238,14 @@ Public Class ClsNominas End Function #Region "CRUD_SolicitudesNominas" - Public Function SolicitudesGet(CveSolicitud As Integer, CveEmpresa As Integer, Optional CveTipoSolicitud As Integer = 1) As Boolean + Public Function SolicitudesGet(CveSolicitud As Integer, CveEmpresa As Integer, Optional CveTipoSolicitud As Integer = 1, Optional Estatus As Integer = -1, Optional Top As Integer = 100000) As Boolean Dim retorno As Boolean = False DataAdapter("PA_Gral_SAT_SolicitudesGet", CommandType.StoredProcedure) addParameters("@CveSolicitud", SqlDbType.Int, CveSolicitud) addParameters("@CveEmpresa", SqlDbType.Int, CveEmpresa) addParameters("@CveTipoSolicitud", SqlDbType.Int, CveTipoSolicitud) + addParameters("@Estatus", SqlDbType.Int, Estatus) + addParameters("@Top", SqlDbType.Int, Top) retorno = RunQuery("Ocurrió un error al obtener el SolicitudesNominas.") Return retorno End Function @@ -3263,6 +3265,68 @@ Public Class ClsNominas retorno = RunQuery("Ocurrió un error al agregar el SolicitudesNominas.") Return retorno End Function + + + Public Function SolicitudesAdd2(CveSolicitudCFDI As Integer, CveSolicitudMetadata As Integer, estatus As Integer, observaciones As String, fechaInicio As DateTime, fechaFin As DateTime, cveUsuarioIng As Int32, cveEmpresa As Int32, Optional CveTipoSolicitud As Integer = 1) As Integer + + Dim CveSolictudAgregada As Integer = -1 + + Try + DataAdapter("PA_Gral_SAT_SolicitudesAdd2", CommandType.StoredProcedure) + addParameters("@CveSolicitudCFDI", SqlDbType.Int, CveSolicitudCFDI) + addParameters("@CveSolicitudMetadata", SqlDbType.Int, CveSolicitudMetadata) + addParameters("@Estatus", SqlDbType.Int, estatus) + addParameters("@Observaciones", SqlDbType.VarChar, observaciones) + addParameters("@FechaInicio", SqlDbType.DateTime, fechaInicio) + addParameters("@FechaFin", SqlDbType.DateTime, fechaFin) + addParameters("@CveUsuarioIng", SqlDbType.Int, cveUsuarioIng) + addParameters("@CveEmpresa", SqlDbType.Int, cveEmpresa) + addParameters("@CveTipoSolicitud", SqlDbType.Int, CveTipoSolicitud) + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveSolicitud", SqlDbType.Int).Direction = ParameterDirection.Output + End With + + + SqlAdapter.Fill(Data) + CveSolictudAgregada = SqlAdapter.SelectCommand.Parameters("@CveSolicitud").Value.ToString.ToEntero + + Catch ex As Exception + CveSolictudAgregada = -1 + OnError("Ocurrió un error al agregar la Solicitud.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + Return CveSolictudAgregada + + + End Function + + + Public Function UpdateSolicitudDetalleCveSolicitudDetalle(CveEmpresa As Integer, UUID As String, CveSolicitudDetalle As Integer) As Boolean + + + Dim retorno As Boolean = False + Try + DataAdapter("PA_SAT_SolicitudesCFDIDataCveSolicitudDetalleUpdate", CommandType.StoredProcedure) + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@UUID", SqlDbType.VarChar).Value = UUID + .Add("@CveSolicitudDetalle", SqlDbType.Int).Value = CveSolicitudDetalle + End With + SqlAdapter.Fill(Data) + + retorno = True + + Catch ex As Exception + retorno = False + OnError("Ocurrió un error al Actualizar SolicitudesCFDIData.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return retorno + + + End Function + Public Function SolicitudesUp(CveSolicitud As Int32, CveSolicitudCFDI As Int32, CveSolicitudMetadata As Int32, estatus As Int32, observaciones As String, cveEmpresa As Int32) As Boolean Dim retorno As Boolean = False DataAdapter("PA_Gral_SAT_SolicitudesUp", CommandType.StoredProcedure) diff --git a/App_Code/ClsOC.vb b/App_Code/ClsOC.vb index 628310288..53feb942d 100644 --- a/App_Code/ClsOC.vb +++ b/App_Code/ClsOC.vb @@ -119,6 +119,7 @@ Public Class ClsOC Public Property UsoCFDI As String Public Property Promocion As String Public Property CveProveedorContacto As Integer + Public Property NumRemision As String Public ReadOnly Property DtResultados() As DataTable Get @@ -685,6 +686,7 @@ Public Class ClsOC _UsoCFDI = dr("UsoCFDI").ToString Promocion = IfNull(dr("Promocion"), "", dr("Promocion").ToString) CveProveedorContacto = If(Not IsDBNull(dr("CveProveedorContacto")), dr("CveProveedorContacto").ToString.ToEntero, -1) + NumRemision = dr("NumRemision").ToString Retorno = True ElseIf Data.Rows.Count > 0 Then @@ -704,7 +706,7 @@ Public Class ClsOC Optional CveCliente As Integer = -1, Optional CveVendedor As Integer = -1, Optional PrioridadObservacion As String = "", Optional PorcentajeIVA As Decimal = 0.16, Optional IVA As Decimal = 0, Optional RetIVA As Decimal = 0, Optional RetISR As Decimal = 0, Optional FechaExpiracion As Date = Nothing, Optional CveCotizacion As Integer = -1, Optional FolioAdicional As String = "", Optional EntregaDirecta As Integer = -1, Optional CveDireccionEnvio As Integer = -1, Optional Guia As String = "-1", Optional IEPS As Decimal = -1, - Optional CveIEAnticipo As Integer = -1, Optional ImporteAnticipo As Decimal = 0, Optional UsoCFDI As Integer = -1, Optional Promocion As String = "-1", Optional CveProveedorContacto As Integer = -1) As Boolean + Optional CveIEAnticipo As Integer = -1, Optional ImporteAnticipo As Decimal = 0, Optional UsoCFDI As Integer = -1, Optional Promocion As String = "-1", Optional CveProveedorContacto As Integer = -1, Optional NumRemision As String = "-1") As Boolean Dim Retorno As Boolean = False DataAdapter("PA_OC_OrdenesCompraAdd") @@ -747,6 +749,7 @@ Public Class ClsOC .Add("@UsoCFDI", SqlDbType.Int).Value = UsoCFDI .Add("@Promocion", SqlDbType.VarChar).Value = Promocion .Add("@CveProveedorContacto", SqlDbType.Int).Value = CveProveedorContacto + .Add("@NumRemision", SqlDbType.VarChar).Value = NumRemision .Add("@vCveOrdenCompra", SqlDbType.Int).Direction = ParameterDirection.Output .Add("@vFolio", SqlDbType.Int).Direction = ParameterDirection.Output @@ -910,7 +913,7 @@ Public Class ClsOC pCveProveedor As Integer, pCveOrdenCompra As Integer, pCveUsuarioModifico As Integer, Optional CveCliente As Integer = -1, Optional CveVendedor As Integer = -1, Optional PrioridadObservacion As String = "", Optional IVA As Decimal = 0, Optional RetIVA As Decimal = 0, Optional RetISR As Decimal = 0, Optional IDPoliza As Integer = -1, Optional FechaExpiracion As Date = Nothing, Optional FolioAdicional As String = "", Optional EntregaDirecta As Integer = -1, Optional CveDireccionEnvio As Integer = -1, Optional Guia As String = "-1", Optional IEPS As Decimal = -1, Optional UsoCFDI As Integer = -1, Optional Promocion As String = "-1", - Optional pCveProveedorSucursal As Integer = -1, Optional CveProveedorContacto As Integer = -1, Optional PorcentajeIVA As Decimal = 0.16) As Boolean + Optional pCveProveedorSucursal As Integer = -1, Optional CveProveedorContacto As Integer = -1, Optional PorcentajeIVA As Decimal = 0.16, Optional NumRemision As String = "-1") As Boolean Dim Retorno As Boolean = False DataAdapter("PA_OC_OrdenesCompraUpdate") @@ -944,6 +947,7 @@ Public Class ClsOC .Add("@CveProveedorSucursal", SqlDbType.Int).Value = pCveProveedorSucursal .Add("@CveProveedorContacto", SqlDbType.Int).Value = CveProveedorContacto .Add("@PorcentajeIVA", SqlDbType.SmallMoney).Value = PorcentajeIVA + .Add("@NumRemision", SqlDbType.VarChar).Value = NumRemision End With Try @@ -2506,6 +2510,30 @@ Public Class ClsOC Return Retorno End Function + + Public Function GetVerificaNumRemision(CveProveedor As Integer, Tipo As String, NumRemision As String, CveEmpresa As Integer, CveOrdenCompraValida As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_OC_OCVerificaNumRemisionGet") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor + .Add("@Tipo", SqlDbType.VarChar).Value = Tipo + .Add("@NumRemision", SqlDbType.VarChar).Value = NumRemision + .Add("@CveOrdenCompraValida", SqlDbType.Int).Value = CveOrdenCompraValida + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al consultar las remiciones", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + + #Region " IDisposable Support " ' IDisposable Protected Overridable Sub Dispose(ByVal disposing As Boolean) diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index ea843f582..4d0886e3e 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -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 diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb index 13350f597..8058e13d5 100644 --- a/App_Code/ClsVentas.vb +++ b/App_Code/ClsVentas.vb @@ -2636,13 +2636,20 @@ Public Class ClsVentas -#Region "Firmas" - - Public Function GetVentasRelacionadas(CveVenta As Integer, CveEmpresa As Integer) As Boolean +#Region "Relacionadas" + ''' + ''' + ''' + ''' + ''' + ''' 1. Relacion de Padres, 2. Relacion sobre hijos + ''' + Public Function GetVentasRelacionadas(CveVenta As Integer, CveEmpresa As Integer, Optional TipoRelacion As Integer = 1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Vta_VentasRelacionadasGet") With SqlAdapter.SelectCommand.Parameters .Add("@CveVenta", SqlDbType.Int).Value = CveVenta + .Add("@TipoRelacion", SqlDbType.Int).Value = TipoRelacion .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa End With Try diff --git a/Bancos/IE.aspx.vb b/Bancos/IE.aspx.vb index 0a8ec268e..4c511f2c9 100644 --- a/Bancos/IE.aspx.vb +++ b/Bancos/IE.aspx.vb @@ -4303,6 +4303,7 @@ Partial Class Bancos_IE Dim MensajeError = "" Dim IdPolizaNueva = -1 Dim FolioPolizaNueva = -1 + Dim MensajeLog As String = "" Dim Banc As New ClsBancos Dim ObjConta As New ClsContabilidad(Banc.IniciaTransacSQL()) @@ -4427,7 +4428,7 @@ Partial Class Bancos_IE End If End If - + MensajeLog += "GeneraCancelacionEnCero:" & GeneraCancelacionEnCero Dim CvePrePolizaCancelacion As Integer = 0 If Not GeneraCancelacionEnCero Then @@ -4503,37 +4504,60 @@ Partial Class Bancos_IE If CveMotivoCancelacion > 0 AndAlso CveSATMotivoCancelacion > 0 Then - Dim ObjCancelacion As New Timbrado - If EstatusSATCancelado(FolioFiscalCancelar, UsuarioActual.Empresa.RFC, RFCReceptorCancelar) Then + Dim DtComplementos As DataTable = Nothing + If CveIE > 0 AndAlso Banc.GetComplementoPagos(-1, CveIE, -1, UsuarioActual.CveEmpresa) Then + DtComplementos = Banc.DtResultados.FiltraParametros(" Estatus IN(1,3) ") + End If - If Banc.UpdateComplementoPagoCancelado(CveComplementoPagoCancelar, 2, CvePACCancelacion, UsuarioActual.CveEmpresa, Date.Now, "", 1) Then - CargaComplementosPago() - RegistraScript("$('#ModalCancelarComplemetno').modal('hide');") - ErrorCancelarComplemento = False - Alert("El complemento se cancelo correctamente.") - End If + For Each RowComplemento As DataRow In DtComplementos.Rows - Else - Dim respCancelacion = ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscalCancelar, 0, RFCReceptorCancelar, UsuarioActual.Empresa.RFC, CvePACCancelacion, CveSATMotivoCancelacion:=CveSATMotivoCancelacion) - If respCancelacion.Verificado Then + CveComplementoPagoCancelar = RowComplemento("CveComplementoPago").ToString().ToEntero() + FolioFiscalCancelar = RowComplemento("FolioFiscal").ToString() + '' Dim RFCEmisor As String = UsuarioActual.Empresa.RFC + RFCReceptorCancelar = RowComplemento("RFCReceptor").ToString() + CvePACCancelacion = RowComplemento("CvePAC").ToString().ToEntero() - If Banc.UpdateComplementoPagoCancelado(CveComplementoPagoCancelar, 2, CvePACCancelacion, UsuarioActual.CveEmpresa, FechaCancelacion:=ObjCancelacion.CancelacionFecha, SelloCancelacion:=ObjCancelacion.CancelacionAcuse, CveSATMotivoCancelacion:=CveSATMotivoCancelacion) Then + Dim ObjCancelacion As New Timbrado + If EstatusSATCancelado(FolioFiscalCancelar, UsuarioActual.Empresa.RFC, RFCReceptorCancelar) Then + + If Banc.UpdateComplementoPagoCancelado(CveComplementoPagoCancelar, 2, CvePACCancelacion, UsuarioActual.CveEmpresa, Date.Now, "", 1) Then CargaComplementosPago() RegistraScript("$('#ModalCancelarComplemetno').modal('hide');") ErrorCancelarComplemento = False Alert("El complemento se cancelo correctamente.") + Else + ErrorCancelarComplemento = True End If Else - Alert("Se presento un error al cancelar el complemento.", TipoMensaje.MsgAdvertencia) + Dim respCancelacion = ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscalCancelar, 0, RFCReceptorCancelar, UsuarioActual.Empresa.RFC, CvePACCancelacion, CveSATMotivoCancelacion:=CveSATMotivoCancelacion) + If respCancelacion.Verificado Then + + If Banc.UpdateComplementoPagoCancelado(CveComplementoPagoCancelar, 2, CvePACCancelacion, UsuarioActual.CveEmpresa, FechaCancelacion:=ObjCancelacion.CancelacionFecha, SelloCancelacion:=ObjCancelacion.CancelacionAcuse, CveSATMotivoCancelacion:=CveSATMotivoCancelacion) Then + CargaComplementosPago() + RegistraScript("$('#ModalCancelarComplemetno').modal('hide');") + ErrorCancelarComplemento = False + Alert("El complemento se cancelo correctamente.") + End If + + Else + Alert("Se presento un error al cancelar el complemento.", TipoMensaje.MsgAdvertencia) + ErrorCancelarComplemento = True + End If + End If + Next + + If DtComplementos IsNot Nothing Then + DtComplementos.Dispose() + DtComplementos = Nothing End If + + Else + ErrorCancelarComplemento = True End If - - - Else ErrorCancelarComplemento = False End If diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 5fc0f6dcc..3af2c50b1 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -3081,7 +3081,7 @@ Partial Class Compras_Compras 'TIENE AMORTIZACIÓN If GvAnticiposSel.Rows.Count > 0 Then - If Not DdlTipoComprobante.SelectedValue.Contiene("NC") Then + If Not DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV") Then BtnCancelarCompra.Visible = False BtnEliminarCompra.Visible = False End If @@ -5861,8 +5861,6 @@ Partial Class Compras_Compras 'Dim CveIEProvisional = CveIE End If - - If ObjConta.GetPlantillaConceptos(UsuarioActual.CveEmpresa, CvePlantillaPrePoliza) Then Dim DTPlatilla As New DataTable @@ -5961,7 +5959,6 @@ Partial Class Compras_Compras If TipoCreditoInteres Then - Dim importeMovimientoIn As Decimal = ImporteIECredito - importeMovimiento Dim importeMNIn As Decimal = importeMovimientoIn * tipoCambioActual * Multiplicador @@ -5974,7 +5971,7 @@ Partial Class Compras_Compras End If End If End If - + importeMovimiento = 0 : importeMN = 0 If TipoCambioCompra > 1 AndAlso DdlMoneda.SelectedValue.ToEntero <> 1 Then Concepto += $" TC{TipoCambioCompra} ${importeMovimiento.FormatoNumero(2)}" If TipoCambioCompra = 1 Or DdlMoneda.SelectedValue.ToEntero = 1 Then @@ -6019,6 +6016,17 @@ Partial Class Compras_Compras IdCtaContable = IdCuentaBancaria End If + If importeMovimiento <> 0 Then + Dim Pago As New CompraPago + Pago.ImportePago = importeMovimiento + Pago.CveIE = CveIE + Pago.CveMonedaPago = 1 + Pago.CveCompraAmortizacion = -1 + 'Pago.CveConceptoPago = CveConceptoPago + + ErrorMovtosCxP = AplicaPrePolizaPago(CompraActual, Pago, CvePrePoliza, ObjConta) + End If + Case 14 'IVA X Acreditar importeMovimiento = CompraActual.IVA importeMN = (importeMovimiento * tipoCambioActual * Multiplicador).RoundSQL @@ -6071,13 +6079,13 @@ Partial Class Compras_Compras End If End If - Case 224 'Otros impuestos - If Not DdlTipoComprobante.SelectedValue.Contiene("Ant") Then - importeMovimiento = OtrosImpuestos - importeMN = Math.Round(importeMovimiento, 2) * tipoCambioActual * Multiplicador - If tipoCambioActual > 1 Then Concepto += $" TC{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}" - IdCtaContable = If(UsuarioActual.CveEmpresa = 119, 1171, -1) - End If + 'Case 224 'Otros impuestos + ' If Not DdlTipoComprobante.SelectedValue.Contiene("Ant") Then + ' importeMovimiento = OtrosImpuestos + ' importeMN = Math.Round(importeMovimiento, 2) * tipoCambioActual * Multiplicador + ' If tipoCambioActual > 1 Then Concepto += $" TC{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}" + ' IdCtaContable = If(UsuarioActual.CveEmpresa = 119, 1171, -1) + ' End If Case 15 'RetIVA X Acreditar Honorarios/Serv. Prof. If Not DdlTipoComprobante.SelectedValue.Contiene("Ant") Then @@ -7070,6 +7078,17 @@ Partial Class Compras_Compras End If End If + If importeMovimiento > 0 Then + Dim Pago As New CompraPago + Pago.ImportePago = importeFE + Pago.CveIE = -1 + Pago.CvePersonal = CvePersonal + + ErrorPrepoliza = AplicaPrePolizaPago(CompraActual, Pago, CvePrePoliza, ObjConta) + + End If + + Case 21 'Anticipo If ArrAnticipos.Count > 0 Then @@ -7213,12 +7232,15 @@ Partial Class Compras_Compras If Ant.TipoMovto.Contiene("Ant") Then - Dim Pago As New CompraPago - Pago.ImportePago = importeMovimientoNC - Pago.CveIE = Ant.CveIE - Pago.CveMonedaPago = 1 + If importeMovimientoNC <> 0 Then + Dim Pago As New CompraPago + Pago.ImportePago = importeMovimientoNC + Pago.CveIE = Ant.CveIE + Pago.CveMonedaPago = 1 - ErrorMovtosCxP = AplicaPrePolizaPago(CompraActual, Pago, CvePrePoliza, ObjConta) + ErrorMovtosCxP = AplicaPrePolizaPago(CompraActual, Pago, CvePrePoliza, ObjConta) + + End If End If @@ -7456,13 +7478,16 @@ Partial Class Compras_Compras If CveIE > 0 Then - 'inserto los movimientos de la conta para abonar al saldo - Dim Pago As New CompraPago - Pago.ImportePago = ImporteCompra - Pago.CveIE = CveIE - Pago.CveMonedaPago = 1 + If ImporteCompra <> 0 Then + 'inserto los movimientos de la conta para abonar al saldo + Dim Pago As New CompraPago + Pago.ImportePago = ImporteCompra + Pago.CveIE = CveIE + Pago.CveMonedaPago = 1 - ErrorMovtosCxP = AplicaPrePolizaPago(CompraActual, Pago, CvePrePoliza, ObjConta) + ErrorMovtosCxP = AplicaPrePolizaPago(CompraActual, Pago, CvePrePoliza, ObjConta) + + End If Else ErrorMovtosIE = True @@ -20561,111 +20586,6 @@ Partial Class Compras_Compras End Sub - - Private Function AplicaPrePolizaPago(CompraActual As Compra, Pago As CompraPago, CvePrePoliza As Integer, ByRef ObjConta As ClsContabilidad) As Boolean - Dim ErrorMovtos As Boolean = False - Dim PorcentajePago As Decimal = Pago.ImportePago / CompraActual.Total - Dim ImporteMovimiento As Decimal = 0 - Dim CveConceptoContableComplementaria As Integer = 201 - - Pago.CveConceptoPago = If(Pago.CveConceptoPago = -1, 17, Pago.CveConceptoPago) 'si viene en parametro lo toma com primera opcion, sino el 17 - If CompraActual.CveTipoConceptoProveedor = 2 Then Pago.CveConceptoPago = 308 'cuando es acreedor - If CompraActual.CveMoneda <> 1 Then - Select Case Pago.CveConceptoPago - Case 17 : Pago.CveConceptoPago = 312 - Case 308 : Pago.CveConceptoPago = 309 : CveConceptoContableComplementaria = 307 - Case Else - End Select - End If - Dim Concepto As String = CompraActual.ProveedorNombre & " F:" & CompraActual.SerieFolio - - 'movimiento de pago proveedor - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Pago.ImportePago, Pago.ImportePago, Pago.CveConceptoPago, CompraActual.SerieFolio, Concepto, CompraActual.IdCtaContableProv, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=CvePersonal, CveCompraAmortizacion:=Pago.CveCompraAmortizacion, TipoCambio:=CompraActual.TC) Then - ErrorMovtos = True - End If - - 'movimiento de pago proveedor Complementaria - If Not ErrorMovtos AndAlso CompraActual.CveMoneda > 1 Then - - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Pago.ImportePago, (Pago.ImportePago * CompraActual.TC - Pago.ImportePago).RoundSQL, CveConceptoContableComplementaria, CompraActual.SerieFolio, Concepto, CompraActual.IdCtaContableProv, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=CvePersonal, CveCompraAmortizacion:=Pago.CveCompraAmortizacion, TipoCambio:=CompraActual.TC, ImporteME:=Pago.ImportePago) Then - ErrorMovtos = True - End If - End If - - 'si tiene iva y su proporcion - ImporteMovimiento = (PorcentajePago * CompraActual.IVA).RoundSQL - If Not ErrorMovtos AndAlso ImporteMovimiento <> 0 Then - - Dim Ret As CompraRetenciones = CompraActual.ConceptoPrePolizaIVA - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMovimiento, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, PorcentajeImpuesto:=CompraActual.PorcentajeIVA, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True - - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMovimiento, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, PorcentajeImpuesto:=CompraActual.PorcentajeIVA, CvePersonal:=CvePersonal) Then ErrorMovtos = True - - End If - - 'si tiene RET IVA y su proporcion - ImporteMovimiento = (PorcentajePago * CompraActual.RetIVA).RoundSQL - If Not ErrorMovtos AndAlso ImporteMovimiento > 0 Then - Dim Ret As CompraRetenciones = CompraActual.ConceptoPrePolizaRetIVA - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMovimiento, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=CvePersonal) Then ErrorMovtos = True - - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMovimiento, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=CvePersonal) Then ErrorMovtos = True - - End If - - 'si tiene Ret ISR y su proporcion - ImporteMovimiento = (PorcentajePago * CompraActual.RetISR).RoundSQL - If Not ErrorMovtos AndAlso ImporteMovimiento > 0 Then - Dim Ret As CompraRetenciones = CompraActual.ConceptoPrePolizaRetISR - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMovimiento, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=CvePersonal) Then ErrorMovtos = True - - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMovimiento, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=CvePersonal) Then ErrorMovtos = True - - End If - - 'si tiene IEPS y su proporcion - ImporteMovimiento = (PorcentajePago * CompraActual.IEPS).RoundSQL - If Not ErrorMovtos AndAlso ImporteMovimiento > 0 Then - Dim Ret As New CompraRetenciones - If UsuarioActual.Empresa.TipoContabilidad = 2 Then - If ObjConta.GetRetCuenta(26, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then - Ret.IdCtaContableAcreditable = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSAcreditable").ToString.ToEntero - End If - If ObjConta.GetRetCuenta(25, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then - Ret.IdCtaContablexAcreditar = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSxAcreditar").ToString.ToEntero - End If - End If - - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMovimiento, 25, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=CvePersonal) Then ErrorMovtos = True - - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMovimiento, 26, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=CvePersonal) Then ErrorMovtos = True - - End If - - If Not ErrorMovtos AndAlso CompraActual.TC <> Pago.TCPago Then - ImporteMovimiento = (Pago.ImportePago * CompraActual.TC) - (Pago.ImportePago * Pago.TCPago) - Dim ConceptoContable, IdCtaContable As Integer - Dim TipoMovimiento As Boolean - If ImporteMovimiento > 0 Then - ConceptoContable = 64 : TipoMovimiento = True - IdCtaContable = UsuarioActual.Empresa.IdCuentaGananciaCambiaria - ElseIf ImporteMovimiento < 0 Then - ConceptoContable = 65 : TipoMovimiento = False - IdCtaContable = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria - End If - - ImporteMovimiento = ImporteMovimiento.Abs.RoundSQL() - If ImporteMovimiento <> 0 Then - - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, ImporteMovimiento, ConceptoContable, Concepto, Concepto, IdCtaContable, CveCompra:=CompraActual.CveCompra, CveSubProyecto:=CompraActual.CveSubProyecto, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE) Then - ErrorMovtos = True - End If - End If - End If - - Return ErrorMovtos - End Function - End Class Public Class MMensajeDevolucion @@ -20675,167 +20595,3 @@ Public Class MMensajeDevolucion Public Property Total As Decimal End Class -Public Class CompraPago - Public Property CveIE As Integer = -1 - Public Property CvePersonal As Integer = -1 - Public Property ImportePago As Decimal - Public Property CveMonedaPago As Integer = 1 - Public Property TCPago As Decimal = 1 - Public Property CveCompraAmortizacion As Integer - Public Property CveConceptoPago As Integer = -1 'no definido de inicio - -End Class - -Public Class Compra - Public Property CveCompra As Integer = -1 - Public Property CveProveedor As Integer - Public Property CveTipoConceptoProveedor As Integer - Public Property CveMoneda As Integer - Public Property SerieFolio As String = "" - Public Property ProveedorNombre As String = "" - Public Property EsImportacion As Boolean = False - Public Property TC As Decimal = 1 - Public Property Total As Decimal - Public Property IVA As Decimal - Public Property IEPS As Decimal - Public Property RetIVA As Decimal - Public Property RetISR As Decimal - Public Property PorcentajeIVA As Decimal - Public Property CveConceptoRetIVA As Integer - Public Property CveConceptoRetISR As Integer - Public Property CveSubProyecto As Integer - Public Property UsuarioActual As Usuario - - Public Property IdCtaContableProv As Integer - Public Property IdCtaContableProvComplementaria As Integer - Public ReadOnly Property ConceptoPrePolizaIVA As CompraRetenciones - Get - Dim Ret As New CompraRetenciones - If EsImportacion Then - Ret.CveConceptoAcreditable = 288 - Ret.CveConceptoxAcreditar = 287 - Else - Ret.CveConceptoAcreditable = 19 - Ret.CveConceptoxAcreditar = 14 - End If - - If UsuarioActual.Empresa.TipoContabilidad = 2 Then - - Dim IdCtaIVAXAcreditar, IdCtaIVAAcreditable As Integer - Dim dt As DataTable = ClsPaginas.GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA) - If dt.Rows.Count > 0 Then - IdCtaIVAXAcreditar = dt.Rows(0)("IdCtaIVAXAcreditar").ToString.ToEntero - IdCtaIVAAcreditable = dt.Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero - End If - - Ret.IdCtaContableAcreditable = IdCtaIVAAcreditable - Ret.IdCtaContablexAcreditar = IdCtaIVAXAcreditar - End If - - Return Ret - End Get - End Property - - Public ReadOnly Property ConceptoPrePolizaRetIVA As CompraRetenciones - Get - Dim Ret As New CompraRetenciones - Dim Funcionalidad As Integer - If CveConceptoRetIVA = 1 Then - Funcionalidad = 308 - Ret.CveConceptoAcreditable = 22 - Ret.CveConceptoxAcreditar = 15 - ElseIf CveConceptoRetIVA = 2 Then - Funcionalidad = 310 - Ret.CveConceptoAcreditable = 184 - Ret.CveConceptoxAcreditar = 183 - ElseIf CveConceptoRetIVA = 3 Then - Funcionalidad = 312 - Ret.CveConceptoAcreditable = 186 - Ret.CveConceptoxAcreditar = 185 - ElseIf CveConceptoRetIVA = 4 Then - Funcionalidad = 314 - Ret.CveConceptoAcreditable = 249 - Ret.CveConceptoxAcreditar = 248 - ElseIf CveConceptoRetIVA = 5 Then - Funcionalidad = 578 - Ret.CveConceptoAcreditable = 286 - Ret.CveConceptoxAcreditar = 285 - ElseIf CveConceptoRetIVA = 6 Then - Funcionalidad = 578 - Ret.CveConceptoAcreditable = 333 - Ret.CveConceptoxAcreditar = 334 - End If - - If UsuarioActual.Empresa.TipoContabilidad = 2 Then - If UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero > 0 Then - Ret.IdCtaContablexAcreditar = UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero - Else - Dim ObjConta As New ClsContabilidad - If ObjConta.GetRetCuenta(Ret.CveConceptoAcreditable, UsuarioActual.CveEmpresa) Then - If ObjConta.DtResultados.Rows.Count > 0 Then - Ret.IdCtaContablexAcreditar = ObjConta.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - End If - End If - If ObjConta.GetRetCuenta(Ret.CveConceptoxAcreditar, UsuarioActual.CveEmpresa) Then - If ObjConta.DtResultados.Rows.Count > 0 Then - Ret.IdCtaContableAcreditable = ObjConta.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - End If - End If - ObjConta.Dispose() - End If - End If - - Return Ret - End Get - End Property - Public ReadOnly Property ConceptoPrePolizaRetISR As CompraRetenciones - Get - Dim Ret As New CompraRetenciones - Dim Funcionalidad As Integer - If CveConceptoRetISR = 1 Then - Funcionalidad = 316 - Ret.CveConceptoAcreditable = 23 - Ret.CveConceptoxAcreditar = 16 - ElseIf CveConceptoRetISR = 2 Then - Funcionalidad = 318 - Ret.CveConceptoAcreditable = 244 - Ret.CveConceptoxAcreditar = 243 - ElseIf CveConceptoRetISR = 3 Then - Funcionalidad = 348 - Ret.CveConceptoAcreditable = 328 - Ret.CveConceptoxAcreditar = 327 - End If - - If UsuarioActual.Empresa.TipoContabilidad = 2 Then - If UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero > 0 Then - Ret.IdCtaContableAcreditable = UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero - Else - Dim ObjConta As New ClsContabilidad - If ObjConta.GetRetCuenta(Ret.CveConceptoxAcreditar, UsuarioActual.CveEmpresa) Then - If ObjConta.DtResultados.Rows.Count > 0 Then - Ret.IdCtaContablexAcreditar = ObjConta.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero - End If - End If - If ObjConta.GetRetCuenta(Ret.CveConceptoAcreditable, UsuarioActual.CveEmpresa) Then - If ObjConta.DtResultados.Rows.Count > 0 Then - Ret.IdCtaContableAcreditable = ObjConta.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero - End If - End If - ObjConta.Dispose() - End If - End If - - Return Ret - End Get - - End Property - -End Class - -Public Class CompraRetenciones - Public Property CveConceptoxAcreditar As Integer - Public Property CveConceptoAcreditable As Integer - Public Property IdCtaContablexAcreditar As Integer - Public Property IdCtaContableAcreditable As Integer -End Class - diff --git a/Compras/ReembolsosComprobaciones.aspx b/Compras/ReembolsosComprobaciones.aspx index 165b2899a..772a28732 100644 --- a/Compras/ReembolsosComprobaciones.aspx +++ b/Compras/ReembolsosComprobaciones.aspx @@ -294,7 +294,7 @@ + DataKeyNames="CveCompra,FechaCompra,CveProveedor,Proveedor,SerieFolio,SubTotal,IVA,RetIVA,RetISR,IEPS,Total,TipoCambio,IdCtaContProveedores,IdCtaContAcreedor,CvePrePoliza,IdPoliza,CveRetIVAConcepto,CveRetISRConcepto,IVAPorcentaje,IVADeducible,IVANoDeducible,CveTipoConcepto,CveSubProyecto,IVAPorPagar"> @@ -337,9 +337,9 @@ - Monto Compra (Saldo Orig.) + Total -   +   diff --git a/Compras/ReembolsosComprobaciones.aspx.vb b/Compras/ReembolsosComprobaciones.aspx.vb index adea81f2d..43a31ced1 100644 --- a/Compras/ReembolsosComprobaciones.aspx.vb +++ b/Compras/ReembolsosComprobaciones.aspx.vb @@ -1,4 +1,6 @@ - +Option Explicit On +Option Strict On + Imports System.Data Imports Extensiones Imports Microsoft.Reporting.WebForms @@ -25,6 +27,24 @@ Partial Class Compras_ReembolsosComprobaciones ViewState("CveMoneda") = value End Set End Property + Private Property CveMonedaPago As Integer + Get + Return ViewState("CveMonedaPago").ToString.ToEntero + End Get + Set(value As Integer) + ViewState("CveMonedaPago") = value + End Set + End Property + + Private Property TipoCambioPago As Decimal + Get + Return ViewState("TipoCambioPago").ToString.ToDecimal + End Get + Set(value As Decimal) + ViewState("TipoCambioPago") = value + End Set + End Property + Private Property CvePrePolizaComprobacion As Integer Get @@ -92,6 +112,7 @@ Partial Class Compras_ReembolsosComprobaciones TxtAboneA.Enabled = False CveCuentaBancaria = -1 ViewState("CveMoneda") = 1 + CveMonedaPago = 1 Folio = "" 'Cargar Filtros @@ -224,12 +245,13 @@ Partial Class Compras_ReembolsosComprobaciones HdnCheque.Value = tCveIE.ToString LtChequeImporte.Text = ObjIE.Importe.FormatoNumero + CveMonedaPago = ObjIE.CveMoneda + TipoCambioPago = ObjIE.TipoCambio Dim IndexCheque = If(UsuarioActual.TienePermisoProceso(113), DDlCheques.SelectedIndex - 1, DDlCheques.SelectedIndex) TxtChequeSaldo.Text = DtCheques.Rows(DDlCheques.SelectedIndex - 1)("Saldo").ToString.FormatoNumero - Else Alert("El Documento solicitado no existe, por favor revise su búsqueda.", TipoMensaje.MsgAdvertencia) End If @@ -323,7 +345,7 @@ Partial Class Compras_ReembolsosComprobaciones Dim dr As DataRow = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimero("CveCuenta = " & DdlCuenta.SelectedValue) If dr IsNot Nothing Then - CveMoneda = dr("CveMoneda").ToString.ToEntero + CveMonedaPago = dr("CveMoneda").ToString.ToEntero IdCuentaBancaria = dr("IdCtaContable").ToString.ToEntero End If @@ -540,7 +562,7 @@ Partial Class Compras_ReembolsosComprobaciones Dim dr As DataRow = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimero("CveCuenta = " & DdlCuenta.SelectedValue) If dr IsNot Nothing Then - CveMoneda = dr("CveMoneda").ToString.ToEntero + CveMonedaPago = dr("CveMoneda").ToString.ToEntero IdCuentaBancaria = dr("IdCtaContable").ToString.ToEntero End If @@ -609,29 +631,18 @@ Partial Class Compras_ReembolsosComprobaciones End If End If - - If CveIERegistrado > 0 Or CveIEExcedente > 0 Or ChkReembolsarSinBancos.Checked Then 'inserto los movimientos de la conta para abonar al saldo If ((TxtImporte.Text.ToDecimal > 0 Or ChkReembolsarSinBancos.Checked) And CvePrePolizaIERegistrado > 0) Or ((TxtImporteVinculado.Text.ToDecimal > 0 And HdnCheque.Value.ToEntero > 0) Or ChkReembolsarSinBancos.Checked) Then Dim SaldoCheque = If(HdnCheque.Value.ToEntero > 0, TxtChequeSaldo.Text.ToDecimal, TxtImporte.Text.ToDecimal) - Dim ImportePagar = 0.0 - Dim ImporteOriginal = 0.0 - Dim ImporteMovto = 0.0 + Dim PorcentajePago As Decimal = 1 Dim FechaMovimiento As Date = TxtFechaDocumento.Text.ToDate - Dim ConceptoMovimiento As String = "" - Dim Referencia As String = "" Dim IdCtaProveedor As Integer = 0 - Dim IdCtaIVAxAcreditar As Integer = 0 - Dim IdCtaIVAAcreditable As Integer = 0 - Dim IdCtaRetIVA As Integer = 0 - Dim IdCtaRetISR As Integer = 0 Dim IdCtaOtrosProductos As Integer = 0 Dim CvePrePolizaUnificar As Integer = 0 - Dim SeUnifico = False If UsuarioActual.Empresa.TipoContabilidad = 2 Then @@ -650,34 +661,6 @@ Partial Class Compras_ReembolsosComprobaciones End If End If - 'Obtenemos la cuenta del IVAxAcreditar - If ObjMov.GetRetCuenta(14, UsuarioActual.CveEmpresa) Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaIVAxAcreditar = ObjMov.DtResultados.Rows(0)("IdCuentaIVAxAcreditar").ToString.ToEntero - End If - End If - - 'Obtenemos la cuenta del IVAAcreditable - If ObjMov.GetRetCuenta(19, UsuarioActual.CveEmpresa) Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaIVAAcreditable = ObjMov.DtResultados.Rows(0)("IdCuentaIVAAcreditable").ToString.ToEntero - End If - End If - - 'Obtenemos la cuenta del RetIVA - If ObjMov.GetRetCuenta(15, UsuarioActual.CveEmpresa) Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaRetIVA = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - End If - End If - - 'Obtenemos la cuenta del RetISR - If ObjMov.GetRetCuenta(16, UsuarioActual.CveEmpresa) Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaRetISR = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero - End If - End If - 'Obtenemos la cuenta del IdCtaOtrosProductos If ObjMov.GetRetCuenta(132, UsuarioActual.CveEmpresa) Then If ObjMov.DtResultados.Rows.Count > 0 Then @@ -690,31 +673,41 @@ Partial Class Compras_ReembolsosComprobaciones For Each gvr As GridViewRow In GvCxP.Rows If gvr.FCCheckBox("Chk").Checked Then - ConceptoMovimiento = $"{gvr.DataKey("Proveedor")} F:{gvr.DataKey("SerieFolio")} {If(DdlPersonal.Visible, DdlPersonal.SelectedItem.Text, DdlCajaChica.SelectedItem.Text)}" - Referencia = gvr.DataKey("SerieFolio").ToString - IdCtaProveedor = gvr.DataKey("IdCtaContProveedores").ToEntero + Dim ImporteMovto As Decimal + Dim ConceptoMovimiento As String = $"{gvr.DataKey("Proveedor")} F:{gvr.DataKey("SerieFolio")} {If(DdlPersonal.Visible, DdlPersonal.SelectedItem.Text, DdlCajaChica.SelectedItem.Text)}" + Dim Referencia As String = gvr.DataKey("SerieFolio").ToString + Dim ImportePagar, ImporteOriginal As Decimal - - ImportePagar = gvr.FCTextBox("TxtAbonar").Text.ToDecimal - ImporteOriginal = gvr.FCTextBox("TxtAbonar").Text.ToDecimal - - Dim CveConceptoContablePago As Integer = 17 - If gvr.DataKey("CveTipoConcepto").ToEntero = 2 Then CveConceptoContablePago = 308 'cuando es acreedor - If CveMoneda <> 1 Then - Select Case CveConceptoContablePago - Case 17 - CveConceptoContablePago = 312 - Case 308 - CveConceptoContablePago = 309 - Case Else - End Select - End If If gvr.DataKey("CveTipoConcepto").ToEntero = 2 Then IdCtaProveedor = gvr.DataKey("IdCtaContAcreedor").ToEntero Else IdCtaProveedor = gvr.DataKey("IdCtaContProveedores").ToEntero End If + Dim CompraActual As New Compra + CompraActual.CveCompra = gvr.DataKey("CveCompra").ToEntero + CompraActual.CveTipoConceptoProveedor = gvr.DataKey("CveTipoConcepto").ToEntero + CompraActual.CveProveedor = gvr.DataKey("CveProveedor").ToEntero + CompraActual.CveMoneda = gvr.DataKey("CveMoneda").ToEntero + CompraActual.SerieFolio = gvr.DataKey("SerieFolio").ToString + CompraActual.ProveedorNombre = gvr.DataKey("Proveedor") + CompraActual.TC = gvr.DataKey("TipoCambio").ToDecimal + CompraActual.Total = gvr.DataKey("Total").ToDecimal + CompraActual.IVA = gvr.DataKey("IVA").ToDecimal + CompraActual.IVADeducible = gvr.DataKey("IVADeducible").ToDecimal + CompraActual.IEPS = gvr.DataKey("IEPS").ToDecimal + CompraActual.RetIVA = gvr.DataKey("RetIVA").ToDecimal + CompraActual.RetISR = gvr.DataKey("RetISR").ToDecimal + CompraActual.CveConceptoRetISR = gvr.DataKey("CveRetISRConcepto").ToEntero + CompraActual.CveConceptoRetIVA = gvr.DataKey("CveRetIVAConcepto").ToEntero + CompraActual.PorcentajeIVA = gvr.DataKey("IVAPorcentaje").ToDecimal + CompraActual.UsuarioActual = UsuarioActual + CompraActual.CveSubProyecto = gvr.DataKey("CveSubProyecto").ToEntero + CompraActual.IdCtaContableProv = IdCtaProveedor + + ImportePagar = gvr.FCTextBox("TxtAbonar").Text.ToDecimal + ImporteOriginal = gvr.FCTextBox("TxtAbonar").Text.ToDecimal + If SaldoCheque > 0 Then 'ImporteMovto = If(ImportePagar > SaldoCheque, SaldoCheque, ImportePagar) @@ -725,7 +718,6 @@ Partial Class Compras_ReembolsosComprobaciones 'SE USARA PARA PODER ELIMINAR UNA COMPROBACION CvePrePolizaPagoOriginal = ObjMov.AddPrePolizas("Compras/Comprobaciones6", 9, ImporteMovto, ImporteMovto, CveMoneda, TxtFechaPrePoliza.Text.ToDate, If(TxtObservaciones.Text.Trim = "", $"Compra: { gvr.DataKey("SerieFolio").ToString }", TxtObservaciones.Text.Trim), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) - 'registramos el nuevo IE If CveCajaChica > 0 Then CveIEPago = 0 @@ -735,229 +727,43 @@ Partial Class Compras_ReembolsosComprobaciones CveIEPago = CveIERegistrado End If - - Dim ComisionTmp As Decimal = gvr.FCTextBox("TxtComision").Text.ToDecimal + Dim Pago As New CompraPago + Pago.Fecha = TxtFechaDocumento.Text.ToDate + Pago.ImportePago = ImporteMovto + Pago.CveIE = CveIEPago + Pago.CveMonedaPago = CveMonedaPago + Pago.TCPago = TipoCambioPago 'Otros Ingresos - If MsgError = "" AndAlso (ChkAjusteOI.Checked Or ChkOtrosIngresosCheque.Checked) AndAlso ComisionTmp <> 0 Then - - Dim tOtCveCon As Integer = 211 - Dim tOtTipoMovto As Boolean = False - If ComisionTmp < 0 Then - tOtTipoMovto = True : tOtCveCon = 78 - ComisionTmp = Math.Abs(ComisionTmp) - End If - - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, tOtTipoMovto, ComisionTmp, Referencia, tOtCveCon, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIERegistrado, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveSubProyecto:=gvr.DataKey("CveSubProyecto").ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ComisionTmp), ImporteMX:=ComisionTmp * tipoCambio) Then - MsgError = "no se pudo insertar el detalle de la poliza de otros ingresos" - End If - If CveCajaChica > 0 AndAlso Not HdnCheque.Value.ToEntero > 0 Then - - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, Not tOtTipoMovto, ComisionTmp, Referencia, tOtCveCon, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIERegistrado, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveSubProyecto:=gvr.DataKey("CveSubProyecto").ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ComisionTmp), ImporteMX:=ComisionTmp * tipoCambio, Contabilizable:=False) Then - MsgError = "no se pudo insertar el detalle de la poliza de otros ingresos" - End If - End If + If MsgError = "" AndAlso (ChkAjusteOI.Checked Or ChkOtrosIngresosCheque.Checked) AndAlso gvr.FCTextBox("TxtComision").Text.ToDecimal <> 0 Then + Pago.OtroGastoIngreso = gvr.FCTextBox("TxtComision").Text.ToDecimal End If - If gvr.DataKey("Original").ToDecimal > 0 Then PorcentajePago = (ImporteMovto / gvr.DataKey("Original").ToDecimal) Else PorcentajePago = 1 - If MsgError = "" AndAlso Not ChkReembolsarSinBancos.Checked AndAlso (Not HdnCheque.Value.ToEntero > 0 Or Not UsuarioActual.CveEmpresa.Contiene(119, 158)) Then - Dim ImporteMovtoTmp As Decimal = ImporteMovto - 'If ComisionTmp < 0 Then - ' ImporteMovtoTmp = ImporteMovto + ComisionTmp - 'End If - 'Si es caja chica metemos el concepto 30, si es funcionario metemos 29 - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, ImporteMovtoTmp, Referencia, If(CveCajaChica > 0, 30, 29), ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(CveCajaChica > 0, IdCuentaBancaria, IdCtaPersonal), -1, CveIE:=CveIEPago, CveIEDevolucion:=If(CveCajaChica > 0, If(DDlCheques.SelectedValue.ToEntero = -1, CveIECajaChica, DDlCheques.SelectedValue.ToEntero), -1), CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteMovtoTmp), ImporteMX:=ImporteMovtoTmp * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, Contabilizable:=If(CveCajaChica > 0 Or CvePersonal > 0, Not UsaSimplificacionCajaChica, True)) Then + ImporteMovto += Pago.OtroGastoIngreso ' si ajuste, sedebe de aplicar en su contraparte + If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, ImporteMovto, Referencia, If(CveCajaChica > 0, 30, 29), ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(CveCajaChica > 0, IdCuentaBancaria, IdCtaPersonal), -1, CveIE:=CveIEPago, CveIEDevolucion:=If(CveCajaChica > 0, If(DDlCheques.SelectedValue.ToEntero = -1, CveIECajaChica, DDlCheques.SelectedValue.ToEntero), -1), CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteMovto), ImporteMX:=ImporteMovto * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, Contabilizable:=If(CveCajaChica > 0 Or CvePersonal > 0, Not UsaSimplificacionCajaChica, True)) Then MsgError = "Detalle" End If - End If - 'Pago Proveedores - If MsgError = "" AndAlso Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, ImporteMovto, Referencia, CveConceptoContablePago, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIEPago, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteMovto), ImporteMX:=ImporteMovto * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal) Then - MsgError = "Detalle" - End If - - If MsgError = "" AndAlso gvr.DataKey("IVA").ToDecimal > 0 Then - Dim PorcentajeIVA As Decimal = gvr.DataKey("IVAPorcentaje").ToDecimal - Dim IdCtaContIVAXAcreditar As Integer = 0 - Dim IdCtaContIVAAcreditable As Integer = 0 - Dim IdCtaContIVANoAcreditable As Integer = 0 - - If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA).Rows.Count > 0 Then - IdCtaContIVAXAcreditar = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA).Rows(0)("IdCtaIVAXAcreditar").ToString.ToEntero - IdCtaContIVAAcreditable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA).Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero - IdCtaContIVANoAcreditable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA).Rows(0)("IdCtaIVANoAcreditable").ToString.ToEntero - End If - If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then - If ImporteMovto = gvr.FCLiteral("LtlSaldo").Text.ToDouble Then - 'Agrego el IVA - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, gvr.DataKey("IVA").ToDecimal, Referencia, 14, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVAXAcreditar > 0, IdCtaContIVAXAcreditar, IdCtaIVAxAcreditar), -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("IVA").ToDecimal), ImporteMX:=(gvr.DataKey("IVA").ToDecimal) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then - MsgError = "Detalle" - End If - - 'Agrego el IVA - If gvr.DataKey("IVADeducible").ToDecimal > 0 Then - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, gvr.DataKey("IVADeducible").ToDecimal, Referencia, 19, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVAAcreditable > 0, IdCtaContIVAAcreditable, IdCtaIVAAcreditable), -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("IVADeducible").ToDecimal), ImporteMX:=(gvr.DataKey("IVADeducible").ToDecimal) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then - MsgError = "Detalle" - End If - End If - End If - Else - 'Agrego el IVA - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, gvr.DataKey("IVA").ToDecimal * PorcentajePago, Referencia, 14, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVAXAcreditar > 0, IdCtaContIVAXAcreditar, IdCtaIVAxAcreditar), -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("IVA").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("IVA").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then - MsgError = "Detalle" - End If - 'Agrego el IVA - If gvr.DataKey("IVADeducible").ToDecimal > 0 Then - Dim ImporteIVA As Decimal = gvr.DataKey("IVADeducible").ToDecimal * PorcentajePago - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, ImporteIVA, Referencia, 19, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVAAcreditable > 0, IdCtaContIVAAcreditable, IdCtaIVAAcreditable), -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteIVA), ImporteMX:=(ImporteIVA) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then - MsgError = "Detalle" - End If - End If + If AplicaPrePolizaPago(CompraActual, Pago, CvePrePolizaPago, ObjMov) Then + MsgError = "Detalle" End If - If gvr.DataKey("IVANoDeducible").ToDecimal > 0 Then - - Dim ImporteNOIVA As Decimal = gvr.DataKey("IVANoDeducible").ToDecimal * PorcentajePago - - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, ImporteNOIVA, Referencia, 280, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVANoAcreditable > 0, IdCtaContIVANoAcreditable, IdCtaIVAAcreditable), -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, CveSubProyecto:=gvr.DataKey("CveSubProyecto").ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteNOIVA), ImporteMX:=(ImporteNOIVA) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then - MsgError = "Detalle" - End If - End If - - End If - - If MsgError = "" AndAlso gvr.DataKey("RetIVA").ToDecimal > 0 Then - Dim ConceptoContableRetIVAXAcreditar = 0, ConceptoContableRetIVAAcreditable = 0, IdCtaContableRetIVAXAcreditar = 0, IdCtaContableRetIVAAcreditable = 0, CveFunc = 0, CveFuncAcreditable = 0 - Select Case gvr.DataKey("CveRetIVAConcepto").ToEntero - Case 1 - ConceptoContableRetIVAXAcreditar = 15 - ConceptoContableRetIVAAcreditable = 22 - CveFunc = 307 - CveFuncAcreditable = 308 - Case 2 - ConceptoContableRetIVAXAcreditar = 183 - ConceptoContableRetIVAAcreditable = 184 - CveFunc = 309 - CveFuncAcreditable = 310 - Case 3 - ConceptoContableRetIVAXAcreditar = 185 - ConceptoContableRetIVAAcreditable = 186 - CveFunc = 311 - CveFuncAcreditable = 312 - Case 4 - ConceptoContableRetIVAXAcreditar = 248 - ConceptoContableRetIVAAcreditable = 249 - CveFunc = 313 - CveFuncAcreditable = 314 - Case 5 - ConceptoContableRetIVAXAcreditar = 285 - ConceptoContableRetIVAAcreditable = 286 - CveFunc = 578 - CveFuncAcreditable = 578 - End Select - - If UsuarioActual.Empresa.TipoContabilidad = 2 Then - If IdCtaRetIVA > 0 Then - IdCtaContableRetIVAXAcreditar = IdCtaRetIVA - ElseIf UsuarioActual.Empresa.Funcionalidad(CveFunc).ToEntero > 0 Then - IdCtaContableRetIVAXAcreditar = UsuarioActual.Empresa.Funcionalidad(CveFunc).ToEntero - Else - If ObjMov.GetRetCuenta(ConceptoContableRetIVAXAcreditar, UsuarioActual.CveEmpresa) Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaContableRetIVAXAcreditar = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - End If - End If - End If - If IdCtaRetIVA > 0 Then - IdCtaContableRetIVAAcreditable = IdCtaRetIVA - ElseIf UsuarioActual.Empresa.Funcionalidad(CveFuncAcreditable).ToEntero > 0 Then - IdCtaContableRetIVAAcreditable = UsuarioActual.Empresa.Funcionalidad(CveFuncAcreditable).ToEntero - Else - If ObjMov.GetRetCuenta(ConceptoContableRetIVAAcreditable, UsuarioActual.CveEmpresa) Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaContableRetIVAAcreditable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - End If - End If - End If - End If - - If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then - If ImporteMovto = gvr.FCLiteral("LtlSaldo").Text.ToDouble Then - 'Agrego el RetIVA - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, gvr.DataKey("RetIVA").ToDecimal, Referencia, ConceptoContableRetIVAXAcreditar, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetIVAXAcreditar, -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetIVA").ToDecimal), ImporteMX:=(gvr.DataKey("RetIVA").ToDecimal) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal) Then - MsgError = "Detalle" - End If - - 'Agrego el RetIVA - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, gvr.DataKey("RetIVA").ToDecimal, Referencia, ConceptoContableRetIVAAcreditable, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetIVAAcreditable, -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetIVA").ToDecimal), ImporteMX:=(gvr.DataKey("RetIVA").ToDecimal) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal) Then - MsgError = "Detalle" - End If - End If - Else - 'Agrego el RetIVA - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, gvr.DataKey("RetIVA").ToDecimal * PorcentajePago, Referencia, ConceptoContableRetIVAXAcreditar, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetIVAXAcreditar, -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetIVA").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal) Then - MsgError = "Detalle" - End If - - 'Agrego el RetIVA - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, gvr.DataKey("RetIVA").ToDecimal * PorcentajePago, Referencia, ConceptoContableRetIVAAcreditable, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetIVAAcreditable, -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetIVA").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal) Then - MsgError = "Detalle" - End If - End If - - Dim AcreditaISR As Boolean = False - If UsuarioActual.CveEmpresa = 140 Then AcreditaISR = True - - If MsgError = "" AndAlso AcreditaISR AndAlso gvr.DataKey("RetISR").ToDecimal > 0 Then - Dim ConceptoContableRetISRXAcreditar = 0, ConceptoContableRetISRAcreditable = 0, IdCtaContableRetISRXAcreditar = 0, IdCtaContableRetISRAcreditable = 0 - Select Case gvr.DataKey("CveRetIVAConcepto").ToEntero - Case 1 - ConceptoContableRetISRXAcreditar = 16 - ConceptoContableRetISRAcreditable = 23 - - Case 2 - ConceptoContableRetISRXAcreditar = 243 - ConceptoContableRetISRAcreditable = 244 - CveFunc = 309 - CveFuncAcreditable = 310 - - Case 3 - ConceptoContableRetISRXAcreditar = 327 - ConceptoContableRetISRAcreditable = 328 - CveFunc = 311 - - End Select - - 'Agrego el RetIVA - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, gvr.DataKey("RetISR").ToDecimal * PorcentajePago, Referencia, ConceptoContableRetISRXAcreditar, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetISRXAcreditar, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetISR").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("RetISR").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaExcedente, CvePersonal:=CvePersonal) Then - MsgError = "Detalle" - End If - - 'Agrego el RetIVA - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, gvr.DataKey("RetISR").ToDecimal * PorcentajePago, Referencia, ConceptoContableRetISRAcreditable, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetISRAcreditable, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetISR").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("RetISR").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaExcedente, CvePersonal:=CvePersonal) Then - MsgError = "Detalle" - End If - End If End If Dim SaldoExcedente As Decimal = gvr.FCTextBox("TxtSaldoExcedente").Text.ToDecimal If MsgError = "" AndAlso UsuarioActual.Empresa.Funcionalidad(506) = "1" And CbPermitirExcedente.Checked = True And SaldoExcedente > 0 Then If DDlPermitirExcedente.SelectedValue = "1" Then - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, SaldoExcedente, Referencia, CveConceptoContablePago, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, SaldoExcedente), ImporteMX:=(SaldoExcedente) * tipoCambio, CvePersonal:=CvePersonal, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal) Then - MsgError = "Detalle Reembolso Personal" - End If + If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, SaldoExcedente, Referencia, 132, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaOtrosProductos, -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, SaldoExcedente), ImporteMX:=SaldoExcedente * tipoCambio, CvePersonal:=CvePersonal, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal) Then MsgError = "Detalle Reembolso Personal" End If ElseIf DDlPermitirExcedente.SelectedValue = "2" Then - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, SaldoExcedente, Referencia, CveConceptoContablePago, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, SaldoExcedente), ImporteMX:=SaldoExcedente * tipoCambio, CvePersonal:=CvePersonal, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal) Then - MsgError = "Detalle Reembolso Personal Excedente" - End If + If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, SaldoExcedente, Referencia, 29, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaPersonal, -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, SaldoExcedente), ImporteMX:=SaldoExcedente * tipoCambio, CvePersonal:=CvePersonal, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal) Then MsgError = "Detalle Reembolso Personal Excedente" End If @@ -967,12 +773,6 @@ Partial Class Compras_ReembolsosComprobaciones 'Unificamos el cheque y la caja chica con los pagos y facturas If MsgError = "" AndAlso Not IdPoliza > 0 AndAlso Not gvr.DataKey("IdPoliza").ToEntero > 0 AndAlso UsuarioActual.Empresa.Funcionalidad(219) = "1" Then If MsgError = "" Then - 'CvePrePolizaUnificar = CvePrePolizaPago - ''codigo temoral, RMF. falta criterio de unificacion, en una póliza nueva de diario - 'If UsuarioActual.CveEmpresa = 119 Then - ' CvePrePolizaUnificar = ObjMov.AddPrePolizas("Compras/ComprobacionesU", 9, ImporteMovto, ImporteMovto, CveMoneda, TxtFechaPrePoliza.Text.ToDate, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FolioFijo:=TxtFolio.Text.Trim.ToEntero) - ' 'CvePrePolizaUnificar = -1 ' unificar en una de diario - 'End If If Not ObjMov.PrePolizaUnificacion(CvePrePolizaPago, gvr.DataKey("CvePrePoliza").ToEntero) Then MsgError = "No se pudo unificar la prepoliza" @@ -1000,177 +800,25 @@ Partial Class Compras_ReembolsosComprobaciones End If End If - If gvr.DataKey("Original").ToDecimal > 0 Then PorcentajePago = (ImporteMovto / gvr.DataKey("Original").ToDecimal).RoundSQL Else PorcentajePago = 1 + Dim Pago As New CompraPago + Pago.ImportePago = ImporteMovto + Pago.CveIE = CveIEExcedente + Pago.CveMonedaPago = CveMoneda - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, ImporteMovto, Referencia, CveConceptoContablePago, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteMovto), ImporteMX:=(ImporteMovto * tipoCambio)) Then + + If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, ImporteMovto, Referencia, 30, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCuentaBancaria, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteMovto), ImporteMX:=ImporteMovto * tipoCambio, CveCuenta:=CveCuentaBancaria) Then + MsgError = "no se pudo insertar el detalle de la poliza" + End If + + If Not AplicaPrePolizaPago(CompraActual, Pago, CvePrePolizaPago, ObjMov) Then MsgError = "Detalle" - Exit For - Else - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, ImporteMovto, Referencia, 30, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCuentaBancaria, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteMovto), ImporteMX:=ImporteMovto * tipoCambio, CveCuenta:=CveCuentaBancaria) Then - MsgError = "no se pudo insertar el detalle de la poliza" + End If + + 'Otros Ingresos + If ChkAjusteOI.Checked Then + If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, gvr.FCTextBox("TxtComision").Text.ToDecimal, Referencia, UsuarioActual.Empresa.IdCuentaOtrosIngresos, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIERegistrado, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveSubProyecto:=gvr.DataKey("CveSubProyecto").ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.FCTextBox("TxtComision").Text.ToDecimal), ImporteMX:=gvr.FCTextBox("TxtComision").Text.ToDecimal * tipoCambio) Then + MsgError = "no se pudo insertar el detalle de la poliza de otros ingresos" End If - - 'Otros Ingresos - If ChkAjusteOI.Checked Then - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, gvr.FCTextBox("TxtComision").Text.ToDecimal, Referencia, UsuarioActual.Empresa.IdCuentaOtrosIngresos, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIERegistrado, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveSubProyecto:=gvr.DataKey("CveSubProyecto").ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.FCTextBox("TxtComision").Text.ToDecimal), ImporteMX:=gvr.FCTextBox("TxtComision").Text.ToDecimal * tipoCambio) Then - MsgError = "no se pudo insertar el detalle de la poliza de otros ingresos" - End If - End If - - '*********IVA. siempre se registra aunque sea cero PREGUNTAR POR EL CONCEPTO DE IVA EN Conta_Conceptos - If MsgError = "" AndAlso gvr.DataKey("IVA").ToDecimal > 0 Then - Dim PorcentajeIVA As Decimal = gvr.DataKey("IVAPorcentaje").ToDecimal - Dim IdCtaContIVAXAcreditar As Integer = 0 - Dim IdCtaContIVAAcreditable As Integer = 0 - - If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA).Rows.Count > 0 Then - IdCtaContIVAXAcreditar = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA).Rows(0)("IdCtaIVAXAcreditar").ToString.ToEntero - IdCtaContIVAAcreditable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA).Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero - End If - - If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then - If gvr.FCTextBox("TxtAbonar").Text.ToDecimal = gvr.FCLiteral("LtlSaldo").Text.ToDouble Then - 'Agrego el IVA - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, gvr.DataKey("IVA").ToDecimal, Referencia, 14, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVAXAcreditar > 0, IdCtaContIVAXAcreditar, IdCtaIVAxAcreditar), -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("IVA").ToDecimal), ImporteMX:=(gvr.DataKey("IVA").ToDecimal) * tipoCambio, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then - MsgError = "Detalle" - End If - - 'Agrego el IVA - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, False, gvr.DataKey("IVA").ToDecimal, Referencia, 19, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVAAcreditable > 0, IdCtaContIVAAcreditable, IdCtaIVAAcreditable), -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("IVA").ToDecimal), ImporteMX:=(gvr.DataKey("IVA").ToDecimal) * tipoCambio, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then - MsgError = "Detalle" - End If - End If - Else - 'Agrego el IVA - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, gvr.DataKey("IVA").ToDecimal * PorcentajePago, Referencia, 14, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVAXAcreditar > 0, IdCtaContIVAXAcreditar, IdCtaIVAxAcreditar), -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("IVA").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("IVA").ToDecimal * PorcentajePago) * tipoCambio, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then - MsgError = "Detalle" - End If - - 'Agrego el IVA - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, False, gvr.DataKey("IVADeducible").ToDecimal * PorcentajePago, Referencia, 19, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVAAcreditable > 0, IdCtaContIVAAcreditable, IdCtaIVAAcreditable), -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("IVADeducible").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("IVADeducible").ToDecimal * PorcentajePago) * tipoCambio, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then - MsgError = "Detalle" - End If - - End If - - If gvr.DataKey("IVANoDeducible").ToDecimal > 0 Then - - Dim IdCtaContIVANoAcreditable As Integer = 0 - - If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA).Rows.Count > 0 Then - IdCtaContIVANoAcreditable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA).Rows(0)("IdCtaIVANoAcreditable").ToString.ToEntero - End If - - Dim ImporteNOIVA As Decimal = gvr.DataKey("IVANoDeducible").ToDecimal * PorcentajePago - - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, ImporteNOIVA, Referencia, 280, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVANoAcreditable > 0, IdCtaContIVANoAcreditable, IdCtaIVAAcreditable), -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, CveSubProyecto:=gvr.DataKey("CveSubProyecto").ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteNOIVA), ImporteMX:=(ImporteNOIVA) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then - MsgError = "Detalle" - End If - End If - - - End If - - If MsgError = "" AndAlso gvr.DataKey("RetIVA").ToDecimal > 0 Then - Dim ConceptoContableRetIVAXAcreditar = 0, ConceptoContableRetIVAAcreditable = 0, IdCtaContableRetIVAXAcreditar = 0, IdCtaContableRetIVAAcreditable = 0, CveFunc = 0, CveFuncAcreditable = 0 - Select Case gvr.DataKey("CveRetIVAConcepto").ToEntero - Case 1 - ConceptoContableRetIVAXAcreditar = 15 - ConceptoContableRetIVAAcreditable = 22 - CveFunc = 307 - CveFuncAcreditable = 308 - - Case 2 - ConceptoContableRetIVAXAcreditar = 183 - ConceptoContableRetIVAAcreditable = 184 - CveFunc = 309 - CveFuncAcreditable = 310 - - Case 3 - ConceptoContableRetIVAXAcreditar = 185 - ConceptoContableRetIVAAcreditable = 186 - CveFunc = 311 - CveFuncAcreditable = 312 - - Case 4 - ConceptoContableRetIVAXAcreditar = 248 - ConceptoContableRetIVAAcreditable = 249 - CveFunc = 313 - CveFuncAcreditable = 314 - - End Select - - If UsuarioActual.Empresa.TipoContabilidad = 2 Then - If IdCtaRetIVA > 0 Then - IdCtaContableRetIVAXAcreditar = IdCtaRetIVA - ElseIf UsuarioActual.Empresa.Funcionalidad(CveFunc).ToEntero > 0 Then - IdCtaContableRetIVAXAcreditar = UsuarioActual.Empresa.Funcionalidad(CveFunc).ToEntero - Else - If ObjMov.GetRetCuenta(ConceptoContableRetIVAXAcreditar, UsuarioActual.CveEmpresa) Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaContableRetIVAXAcreditar = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - End If - End If - End If - If IdCtaRetIVA > 0 Then - IdCtaContableRetIVAAcreditable = IdCtaRetIVA - ElseIf UsuarioActual.Empresa.Funcionalidad(CveFuncAcreditable).ToEntero > 0 Then - IdCtaContableRetIVAAcreditable = UsuarioActual.Empresa.Funcionalidad(CveFuncAcreditable).ToEntero - Else - If ObjMov.GetRetCuenta(ConceptoContableRetIVAAcreditable, UsuarioActual.CveEmpresa) Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaContableRetIVAAcreditable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - End If - End If - End If - End If - - 'Agrego el RetIVA - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, False, gvr.DataKey("RetIVA").ToDecimal * PorcentajePago, Referencia, ConceptoContableRetIVAXAcreditar, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetIVAXAcreditar, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetIVA").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaExcedente, CvePersonal:=CvePersonal) Then - MsgError = "Detalle" - End If - - 'Agrego el RetIVA - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, gvr.DataKey("RetIVA").ToDecimal * PorcentajePago, Referencia, ConceptoContableRetIVAAcreditable, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetIVAAcreditable, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetIVA").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaExcedente, CvePersonal:=CvePersonal) Then - MsgError = "Detalle" - End If - End If - - Dim AcreditaISR As Boolean = False - If UsuarioActual.CveEmpresa = 140 Then AcreditaISR = True - - If MsgError = "" AndAlso AcreditaISR AndAlso gvr.DataKey("RetISR").ToDecimal > 0 Then - Dim ConceptoContableRetISRXAcreditar = 0, ConceptoContableRetISRAcreditable = 0, IdCtaContableRetISRXAcreditar = 0, IdCtaContableRetISRAcreditable = 0, CveFunc = 0, CveFuncAcreditable = 0 - Select Case gvr.DataKey("CveRetIVAConcepto").ToEntero - Case 1 - ConceptoContableRetISRXAcreditar = 16 - ConceptoContableRetISRAcreditable = 23 - - Case 2 - ConceptoContableRetISRXAcreditar = 243 - ConceptoContableRetISRAcreditable = 244 - CveFunc = 309 - CveFuncAcreditable = 310 - - Case 3 - ConceptoContableRetISRXAcreditar = 327 - ConceptoContableRetISRAcreditable = 328 - CveFunc = 311 - - End Select - - 'Agrego el RetIVA - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, False, gvr.DataKey("RetISR").ToDecimal * PorcentajePago, Referencia, ConceptoContableRetISRXAcreditar, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetISRXAcreditar, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetISR").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("RetISR").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaExcedente, CvePersonal:=CvePersonal) Then - MsgError = "Detalle" - End If - - 'Agrego el RetIVA - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, gvr.DataKey("RetISR").ToDecimal * PorcentajePago, Referencia, ConceptoContableRetISRAcreditable, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetISRAcreditable, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetISR").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("RetISR").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaExcedente, CvePersonal:=CvePersonal) Then - MsgError = "Detalle" - End If - End If - - End If If MsgError = "" AndAlso ImportePagar = ImporteOriginal Then @@ -1229,23 +877,15 @@ Partial Class Compras_ReembolsosComprobaciones AutoConta = False End If - 'Conta ContPAQ AUTOMATICA If UsuarioActual.Empresa.Funcionalidad(200) = "1" AndAlso MsgError.Trim = "" Then If CvePrePolizaIERegistrado > 0 Then If IdCtaPersonal > 0 Or DdlCajaChica.Visible Then If IdCtaProveedor > 0 Then - If IdCtaIVAxAcreditar > 0 Then - If IdCtaIVAAcreditable > 0 Then - If ObjMov.ContabilizarPrePoliza(CvePrePolizaIERegistrado, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then - Else - MsgError = "Ocurrio un Error al contabilizar, pongase en contacto con Soporte Técnico" - End If - Else - MsgError = "No tiene cuenta contable IVA Acreditable" - End If + + If ObjMov.ContabilizarPrePoliza(CvePrePolizaIERegistrado, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then Else - MsgError = "No tiene cuenta contable IVA x Acreditar" + MsgError = "Ocurrio un Error al contabilizar, pongase en contacto con Soporte Técnico" End If Else MsgError = "No tiene cuenta contable de proveedor" @@ -1258,26 +898,12 @@ Partial Class Compras_ReembolsosComprobaciones If ChkChequeExcedente.Checked Then If IdCuentaBancaria > 0 Then If IdCtaProveedor > 0 Then - If IdCtaIVAxAcreditar > 0 Then - If IdCtaIVAAcreditable > 0 Then - If IdCtaRetIVA > 0 Then - If IdCtaRetISR > 0 Then - If ObjMov.ContabilizarPrePoliza(CvePrePolizaExcedente, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then - Else - MsgError = "Ocurrio un Error al contabilizar, pongase en contacto con Soporte Técnico" - End If - Else - MsgError = "No tiene cuenta contable Ret ISR" - End If - Else - MsgError = "No tiene cuenta contable Ret IVA" - End If - Else - MsgError = "No tiene cuenta contable IVA Acreditable" - End If + + If ObjMov.ContabilizarPrePoliza(CvePrePolizaExcedente, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then Else - MsgError = "No tiene cuenta contable IVA x Acreditar" + MsgError = "Ocurrio un Error al contabilizar, pongase en contacto con Soporte Técnico" End If + Else MsgError = "No tiene cuenta contable de proveedor" End If @@ -1533,7 +1159,7 @@ Partial Class Compras_ReembolsosComprobaciones If e.Row.DBCampo("Saldo").ToDouble < 0 Then e.Row.Cells(7).ForeColor = Drawing.Color.Red If e.Row.DBCampo("DiasVencidos").ToDouble > 0 AndAlso CType(sender, GridView).ID = "GvCxP" Then e.Row.Cells(5).ForeColor = Drawing.Color.Red - If e.Row.DBCampo("Original").ToDouble = 0 Then DirectCast(e.Row.FindControl("LtlSaldoOriginal"), Literal).Text = "" + If e.Row.DBCampo("Total").ToDouble = 0 Then DirectCast(e.Row.FindControl("LtlSaldoTotal"), Literal).Text = "" If e.Row.DBCampo("Abonado").ToDouble = 0 Then DirectCast(e.Row.FindControl("LtlAbonado"), Literal).Text = "" If e.Row.DBCampo("Saldo").ToDouble = 0 Then DirectCast(e.Row.FindControl("LtlSaldo"), Literal).Text = "" @@ -1543,7 +1169,7 @@ Partial Class Compras_ReembolsosComprobaciones e.Row.FCTextBox("TxtSaldoExcedente").Attributes.Add("onblur", String.Format("FnSumaExcedente({0},{1},{2});", e.Row.FCTextBox("TxtSaldoExcedente").ClientID, e.Row.FCTextBox("TxtAbonar").ClientID, e.Row.DBCampo("Saldo"))) e.Row.FCTextBox("TxtComision").Attributes.Add("onblur", String.Format("FnCambia({0},this,{1},2);", e.Row.FCCheckBox("Chk").ClientID, e.Row.DBCampo("Saldo"))) - e.Row.FCRangeValidator("RVComision").MinimumValue = 0.00 + e.Row.FCRangeValidator("RVComision").MinimumValue = "0" e.Row.FCRangeValidator("RVComision").MaximumValue = e.Row.DBCampo("Saldo") End If End Sub diff --git a/Compras/eFacturas.aspx.vb b/Compras/eFacturas.aspx.vb index 85d745c64..b7a4ef535 100644 --- a/Compras/eFacturas.aspx.vb +++ b/Compras/eFacturas.aspx.vb @@ -2645,10 +2645,10 @@ Partial Class Compras_eFacturas sbResultado.Append($"{resultSolicitud(1)}
") Else sbResultado.Append($"Solicitud Generada Correctamente") - sbResultado.Append($"Se presento un error al verificar las solicitudes
{resultSolicitud(2)}
") + sbResultado.Append($"Se presento un error al verificar las solicitudes
{resultSolicitud(1)}
") End If Else - sbResultado.Append($"{resultSolicitud(2)}") + sbResultado.Append($"{resultSolicitud(1)}") TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia End If Else @@ -2675,7 +2675,7 @@ Partial Class Compras_eFacturas If Continuar Then txtFechaIAdd.Text = "" txtFechaFAdd.Text = "" - Me.RegistraScript("$('#ModalAgregarSolicitud').modal('hide');") + Me.RegistraScript("$('#ModalViewSolicitudes').modal('hide');") cargasolicitudes() End If @@ -2723,10 +2723,10 @@ Partial Class Compras_eFacturas sbResultado.Append($"{resultSolicitud(2)}
") Else sbResultado.Append($"Solicitud Generada Correctamente") - sbResultado.Append($"Se presento un error al verificar las solicitudes
{resultSolicitud(2)}
") + sbResultado.Append($"Se presento un error al verificar las solicitudes
{resultSolicitud(1)}
") End If Else - sbResultado.Append($"{resultSolicitud(2)}") + sbResultado.Append($"{resultSolicitud(1)}") TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia End If Else @@ -2737,9 +2737,9 @@ Partial Class Compras_eFacturas If SeVerifico AndAlso resultVerificacion.Count = 4 Then If ResultadoVerificaionOK Then - sbResultado.Append($"{resultVerificacion(2)}
") + sbResultado.Append($"{resultVerificacion(1)}
") Else - sbResultado.Append($"Se presento un error al verificar las solicitudes {resultVerificacion(2)}
") + sbResultado.Append($"Se presento un error al verificar las solicitudes {resultVerificacion(1)}
") TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia End If Else diff --git a/Empresas/Grales/Formatos/RepVentaDetalle.rdlc b/Empresas/Grales/Formatos/RepVentaDetalle.rdlc index 816c4bfd3..2d2e81ef0 100644 --- a/Empresas/Grales/Formatos/RepVentaDetalle.rdlc +++ b/Empresas/Grales/Formatos/RepVentaDetalle.rdlc @@ -1114,7 +1114,7 @@ 0.63559in @@ -213,15 +222,21 @@ -
  • - <%-- Descargar--%> -
  • + - -
  • - Solicitudes + + +
  • + Descargar
  • -
    +
  • + Solicitudes +
  • + + + + +
    @@ -229,7 +244,7 @@ - +
    @@ -237,8 +252,8 @@
    - - + +
    @@ -250,10 +265,10 @@ - - + + - +
    @@ -264,13 +279,13 @@ - - + + - +
    -
    +
    @@ -283,257 +298,300 @@ - -
    + +
    - + - - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    + + +
    + +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + +
    +
    + - - -
    -
    - - - - - - - - +
    +
    +
    +
    + + + + + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + + + + + + + + - - - - - + + + + + - - - - - + + + + + + + + + + + + - + + - - - +
    -
    - -
    - - +
    +
    - - - -