diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index 3ee4bfbb3..e28a517c6 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -2315,7 +2315,6 @@ Public Class ClsPaginas Public Shared Property GlobalDTVtaCobranzaEstatus(CveEmpresa As Integer, Optional CveCobranzaEstatus As Integer = -1) As DataTable Get Dim AppNombre As String = $"GlobalDTVtaCobranzaEstatus-{CveEmpresa}" - 'sino existe, recarga los datos If HttpContext.Current.Application(AppNombre) Is Nothing Then Dim ObjVentas As New ClsVentas If ObjVentas.GetCobranzaEstatus(-1, CveEmpresa) Then HttpContext.Current.Application(AppNombre) = ObjVentas.DtResultados @@ -2438,20 +2437,22 @@ Public Class ClsPaginas #Region "***********************************************************************DT ACTIVOS FIJOS**********************************************************************************" Property GlobalDTActivoFijos(CveEmpresa As Integer, Optional CveSubTipoActivoFijo As Integer = -1, Optional CveActivoFijo As Integer = -1) As DataTable Get - Dim dt As DataTable = Nothing - 'Dim Str As New StringBuilder - 'Str.AppendFormat("CveEmpresa = {0}", CveEmpresa) - 'If CveSubTipoActivoFijo <> -1 Then Str.AppendFormat(" AND CveSubTipoActivoFijo = {0}", CveSubTipoActivoFijo) - Dim ObjAF As New ClsAF - 'If ObjAF.GetActivosFijos(CveActivoFijo, UsuarioActual.CveEmpresa, "-1", "-1", -1, -1, -1, "-1", -1, -1, -1, -1, -1) Then - If ObjAF.GetActivosFijos(CveActivoFijo, CveEmpresa, "-1", "-1", -1, CveSubTipoActivoFijo, "-1", -1, -1, -1, -1, -1, "", -1) Then - dt = ObjAF.DtResultados + Dim AppNombre As String = $"GlobalDTActivoFijo-{CveEmpresa}" + If HttpContext.Current.Application(AppNombre) Is Nothing Then + Dim ObjActivosFijos As New ClsAF + If ObjActivosFijos.GetActivosFijos(-1, CveEmpresa, "-1", "-1", -1, -1, "-1", -1, -1, -1, -1, -1, "", -1) Then HttpContext.Current.Application(AppNombre) = ObjActivosFijos.DtResultados + ObjActivosFijos.Dispose() End If - ObjAF.Dispose() - GlobalDTActivoFijos = dt + Dim Str As New StringBuilder + If CveSubTipoActivoFijo <> -1 Then Str.AppendFormat(" CveSubTipoActivoFijo = {0} ", CveSubTipoActivoFijo) + If CveActivoFijo > 0 Then Str.AppendFormat("{0} CveActivoFijo = {1}", IIf(Str.Length > 0, " AND ", ""), CveActivoFijo) + Dim Dv As New DataView(DirectCast(HttpContext.Current.Application(AppNombre), DataTable), Str.ToString, "", DataViewRowState.CurrentRows) + GlobalDTActivoFijos = Dv.ToTable + Dv.Dispose() End Get Set(ByVal value As DataTable) - Application("GlobalDTActivoFijos") = value + Dim AppNombre As String = $"GlobalDTActivoFijo-{CveEmpresa}" + Application(AppNombre) = value End Set End Property Public Shared Property GlobalDTEstadoActivoFijo() As DataTable @@ -2488,14 +2489,13 @@ Public Class ClsPaginas Public Shared Property GlobalDTModeloActivoFijo(CveEmpresa As Integer, CveMarca As Integer) As DataTable Get Dim AppNombre As String = $"GlobalDTModeloActivoFijo-{CveEmpresa}" - 'sino existe, recarga los datos If HttpContext.Current.Application(AppNombre) Is Nothing Then Dim ObjActivosFijos As New ClsAF If ObjActivosFijos.GetModelosActivosFijos(CveEmpresa, -1) Then HttpContext.Current.Application(AppNombre) = ObjActivosFijos.DtResultados ObjActivosFijos.Dispose() End If If CveMarca > 0 Then - Dim Dv As New DataView(DirectCast(HttpContext.Current.Application(AppNombre), DataTable), $"CveMarca = {CveMarca}", "", DataViewRowState.CurrentRows) + Dim Dv As New DataView(DirectCast(HttpContext.Current.Application(AppNombre), DataTable), $"CveMarcaActivoFijo = {CveMarca}", "", DataViewRowState.CurrentRows) GlobalDTModeloActivoFijo = Dv.ToTable Dv.Dispose() Else @@ -2510,7 +2510,6 @@ Public Class ClsPaginas Public Shared Property GlobalDTSubTipoActivoFijo(CveEmpresa As Integer, Optional CveTipoActivoFijo As Integer = -1) As DataTable Get Dim AppNombre As String = $"GlobalDTSubTipoActivoFijo-{CveEmpresa}" - 'sino existe, recarga los datos If HttpContext.Current.Application(AppNombre) Is Nothing Then Dim ObjSubTipos As New ClsAF If ObjSubTipos.GetSubTiposActivosFijos(CveEmpresa) Then HttpContext.Current.Application(AppNombre) = ObjSubTipos.DtResultados @@ -2531,10 +2530,9 @@ Public Class ClsPaginas Public Shared Property GlobalDTTipoActivoFijo(CveEmpresa As Integer) As DataTable Get Dim AppNombre As String = $"GlobalDTTipoActivoFijo-{CveEmpresa}" - 'sino existe, recarga los datos If HttpContext.Current.Application(AppNombre) Is Nothing Then Dim GetTiposActivosFijos As New ClsAF - If GetTiposActivosFijos.GetCaracteristicas(CveEmpresa) Then HttpContext.Current.Application(AppNombre) = GetTiposActivosFijos.DtResultados + If GetTiposActivosFijos.GetTiposActivosFijos(CveEmpresa) Then HttpContext.Current.Application(AppNombre) = GetTiposActivosFijos.DtResultados GetTiposActivosFijos.Dispose() End If GlobalDTTipoActivoFijo = DirectCast(HttpContext.Current.Application(AppNombre), DataTable) @@ -4293,25 +4291,29 @@ Public Class ClsPaginas ObjUsuario.Dispose() Return Retorno End Function - Public Sub CargarCentrosDeCosto(DdlProyecto As ListControl, DdlSubProyecto As ListControl, LthProyectoP As Label, LblSubProyecto As Label, Optional AplicaTodos As String = "Todos", Optional DdlSubProyectoMultiple As ListControl = Nothing) + Public Sub CargarCentrosDeCosto(DdlProyecto As ListControl, DdlSubProyecto As ListControl, LblProyecto As Label, LblSubProyecto As Label, Optional AplicaTodos As String = "Todos", Optional DdlSubProyectoMultiple As ListControl = Nothing, Optional divProyecto As HtmlControl = Nothing) + Select Case UsuarioActual.Empresa.Tipo_CentroCosto Case 1 If DdlProyecto IsNot Nothing Then DdlProyecto.Visible = False - If LthProyectoP IsNot Nothing Then LthProyectoP.Visible = False + If LblProyecto IsNot Nothing Then LblProyecto.Visible = False + If divProyecto IsNot Nothing Then divProyecto.Visible = False If LblSubProyecto IsNot Nothing Then LblSubProyecto.Text = "Centro de costo" Case 2 If DdlProyecto IsNot Nothing Then DdlProyecto.Visible = False - If LthProyectoP IsNot Nothing Then LthProyectoP.Visible = False + If LblProyecto IsNot Nothing Then LblProyecto.Visible = False + If divProyecto IsNot Nothing Then divProyecto.Visible = False If LblSubProyecto IsNot Nothing Then LblSubProyecto.Text = "Sucursal" Case 3 If DdlProyecto IsNot Nothing Then DdlProyecto.Visible = False - If LthProyectoP IsNot Nothing Then LthProyectoP.Visible = False + If LblProyecto IsNot Nothing Then LblProyecto.Visible = False + If divProyecto IsNot Nothing Then divProyecto.Visible = False If LblSubProyecto IsNot Nothing Then LblSubProyecto.Text = "Proyecto" Case 4 - If LthProyectoP IsNot Nothing Then LthProyectoP.Text = "Proyecto
" + If LblProyecto IsNot Nothing Then LblProyecto.Text = "Proyecto
" If LblSubProyecto IsNot Nothing Then LblSubProyecto.Text = "Subproyecto" Case 5 - If LthProyectoP IsNot Nothing Then LthProyectoP.Text = "Proyecto
" + If LblProyecto IsNot Nothing Then LblProyecto.Text = "Proyecto
" If LblSubProyecto IsNot Nothing Then LblSubProyecto.Text = "Sucursal" End Select If DdlProyecto IsNot Nothing Then @@ -7490,18 +7492,11 @@ Public Class ClsPaginas Dim tFechaUltimaFluctuacion As Date Dim tImportePago As Decimal Dim tImporteCompra As Decimal = Pago.ImportePago - 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 Pago.CveConceptoPago = 272 And CompraActual.CveMoneda = 2 Then Pago.CveConceptoPago = 304 'pago nota de crédito ME - 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 ConPreP As ConceptosTipoSaldo = ObtenerCveConceptoPrePoliza(1, CompraActual.CveMoneda, True, CompraActual.CveTipoConceptoProveedor) + 'cuando el Pago viene por NC, se utiliza un concepto + If Pago.TipoPago.Contiene("NC", "DEV") Then If CompraActual.CveMoneda = 2 Then ConPreP.CveConcepto = 304 Else ConPreP.CveConcepto = 272 'pago nota de crédito ME + 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 @@ -7534,10 +7529,10 @@ Public Class ClsPaginas ImportePagoMN = (Pago.ImportePago * TCValuacionCompra).RoundSQL End If 'movimiento de pago proveedor - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Pago.ImportePago, ImportePagoMN, Pago.CveConceptoPago, CompraActual.SerieFolio, Concepto, CompraActual.IdCtaContableProv, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, CveCompraAmortizacion:=Pago.CveCompraAmortizacion, TipoCambio:=TCValuacionCompra, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Pago.ImportePago, ImportePagoMN, ConPreP.CveConcepto, CompraActual.SerieFolio, Concepto, CompraActual.IdCtaContableProv, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, CveCompraAmortizacion:=Pago.CveCompraAmortizacion, TipoCambio:=TCValuacionCompra, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True 'movimiento de pago proveedor Complementaria If Not ErrorMovtos AndAlso CompraActual.CveMoneda > 1 AndAlso UsaComplementaria Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Pago.ImportePago, (ImporteME * TCValuacionCompra - ImporteME).RoundSQL, CveConceptoContableComplementaria, CompraActual.SerieFolio, Concepto, CompraActual.IdCtaContableProvComplementaria, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, CveCompraAmortizacion:=Pago.CveCompraAmortizacion, TipoCambio:=TCValuacionCompra, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Pago.ImportePago, (ImporteME * TCValuacionCompra - ImporteME).RoundSQL, ConPreP.CveConceptoComplementario, CompraActual.SerieFolio, Concepto, CompraActual.IdCtaContableProvComplementaria, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, CveCompraAmortizacion:=Pago.CveCompraAmortizacion, TipoCambio:=TCValuacionCompra, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True End If If Pago.AplicaAcreditable Then 'si tiene iva y su proporcion @@ -7619,35 +7614,36 @@ Public Class ClsPaginas 'concepto pago Concepto = String.Format("{0} NC:{1}", CompraActual.ProveedorNombre, Pago.Referencia) If Pago.TipoPago = "Egsc" AndAlso Not ErrorMovtos Then ' A N T I C I P O / E G R E S O S X C O M P R O B A R - Dim Ret As New ConceptosRetenciones + Dim ConPrepAplicacion As ConceptosTipoSaldo = ObtenerCveConceptoPrePoliza(11, CompraActual.CveMoneda, True, CompraActual.CveTipoConceptoProveedor) If Pago.CveMonedaPago > 1 Then 'Agregamos la Extranjera - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, Pago.ImportePago, 21, Pago.Referencia, Concepto, CompraActual.IdCtaContableAnticipoProv, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, ImporteME:=Pago.ImportePago, TipoCambio:=TCValuacionPago, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, Pago.ImportePago, ConPrepAplicacion.CveConcepto, Pago.Referencia, Concepto, CompraActual.IdCtaContableAnticipoProv, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, ImporteME:=Pago.ImportePago, TipoCambio:=TCValuacionPago, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True ImporteMN = (Pago.ImportePago * TCValuacionPago - Pago.ImportePago).RoundSQL - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, ImporteMN, 266, Pago.Referencia, Concepto, CompraActual.IdCtaContableAnticipoProvComplementaria, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, ImporteME:=Pago.ImportePago, TipoCambio:=TCValuacionPago, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, ImporteMN, ConPrepAplicacion.CveConceptoComplementario, Pago.Referencia, Concepto, CompraActual.IdCtaContableAnticipoProvComplementaria, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, ImporteME:=Pago.ImportePago, TipoCambio:=TCValuacionPago, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True Else 'Agregamos Nacional - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, Pago.ImportePago, 21, Pago.Referencia, Concepto, CompraActual.IdCtaContableAnticipoProv, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambioPago:=Pago.TCPago) Then ErrorMovtos = True + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, Pago.ImportePago, ConPrepAplicacion.CveConcepto, Pago.Referencia, Concepto, CompraActual.IdCtaContableAnticipoProv, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambioPago:=Pago.TCPago) Then ErrorMovtos = True End If End If If Pago.TipoPago.Contiene("NC", "DEV") AndAlso Not ErrorMovtos Then ' N O T A D E C R E D I T O - Dim Ret As New ConceptosRetenciones + Dim ConPrepAplicacion As ConceptosTipoSaldo = ObtenerCveConceptoPrePoliza(15, CompraActual.CveMoneda, True, CompraActual.CveTipoConceptoProveedor) If Pago.CveMonedaPago > 1 Then 'Agregamos la Extranjera - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, Pago.ImportePago, 342, Pago.Referencia, Concepto, CompraActual.IdCtaContableProv, CveCompra:=Pago.CveCompraAmortizacion, CveCompraAmortizacion:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, ImporteME:=Pago.ImportePago, TipoCambio:=TCValuacionPago, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, Pago.ImportePago, ConPrepAplicacion.CveConcepto, Pago.Referencia, Concepto, CompraActual.IdCtaContableProv, CveCompra:=Pago.CveCompraAmortizacion, CveCompraAmortizacion:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, ImporteME:=Pago.ImportePago, TipoCambio:=TCValuacionPago, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True ImporteMN = (Pago.ImportePago * TCValuacionPago - Pago.ImportePago).RoundSQL - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, ImporteMN, 235, Pago.Referencia, Concepto, CompraActual.IdCtaContableProvComplementaria, CveCompra:=Pago.CveCompraAmortizacion, CveVentaAmortizacion:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, ImporteME:=Pago.ImportePago, TipoCambio:=TCValuacionPago, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, ImporteMN, ConPrepAplicacion.CveConceptoComplementario, Pago.Referencia, Concepto, CompraActual.IdCtaContableProvComplementaria, CveCompra:=Pago.CveCompraAmortizacion, CveVentaAmortizacion:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, ImporteME:=Pago.ImportePago, TipoCambio:=TCValuacionPago, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True Else 'Agregamos Nacional - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, Pago.ImportePago, 60, Pago.Referencia, Concepto, CompraActual.IdCtaContableProv, CveCompra:=Pago.CveCompraAmortizacion, CveCompraAmortizacion:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, Pago.ImportePago, ConPrepAplicacion.CveConcepto, Pago.Referencia, Concepto, CompraActual.IdCtaContableProv, CveCompra:=Pago.CveCompraAmortizacion, CveCompraAmortizacion:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True End If End If - If Pago.TipoPago = "DD" AndAlso Not ErrorMovtos Then ' D E U D O R D I V E R S O - Dim Ret As New ConceptosRetenciones - If UsuarioActual.Empresa.TipoContabilidad = 2 Then - If ObjConta.GetRetCuenta(66, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then Ret.IdCtaContableAcreditable = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSAcreditable").ToString.ToEntero - If Pago.CveMonedaPago > 1 AndAlso ObjConta.GetRetCuenta(207, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then Ret.IdCtaContablexAcreditar = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSxAcreditar").ToString.ToEntero - End If + If Pago.TipoPago = "DD" AndAlso Not ErrorMovtos Then ' D E U D O R D I V E R S O + 'Dim ConPrepAplicacion As ConceptosTipoSaldo = ObtenerCveConceptoPrePoliza(1, CompraActual.CveMoneda, True, CompraActual.CveTipoConceptoProveedor) + 'Dim Ret As New ConceptosRetenciones + 'If UsuarioActual.Empresa.TipoContabilidad = 2 Then + ' If ObjConta.GetRetCuenta(66, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then Ret.IdCtaContableAcreditable = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSAcreditable").ToString.ToEntero + ' If Pago.CveMonedaPago > 1 AndAlso ObjConta.GetRetCuenta(207, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then Ret.IdCtaContablexAcreditar = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSxAcreditar").ToString.ToEntero + 'End If If Pago.CveMonedaPago > 1 Then 'Agregamos la Extranjera If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, Pago.ImportePago, 92, Pago.Referencia, Concepto, CompraActual.IdCtaContableProv, CveCompra:=Pago.CveCompraAmortizacion, CveCompraAmortizacion:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, ImporteME:=Pago.ImportePago, TipoCambio:=TCValuacionPago, CveSubProyecto:=CompraActual.CveSubProyecto, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True @@ -7658,22 +7654,7 @@ Public Class ClsPaginas If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, Pago.ImportePago, 92, Pago.Referencia, Concepto, CompraActual.IdCtaContableProv, CveVenta:=Pago.CveCompraAmortizacion, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CveSubProyecto:=CompraActual.CveSubProyecto, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True End If End If - 'If Pago.TipoPago = "Egsc" AndAlso Not ErrorMovtos Then ' I N G R E S O S X C O M P R O B A R - ' Dim Ret As New ConceptosRetenciones - ' If UsuarioActual.Empresa.TipoContabilidad = 2 Then - ' If ObjConta.GetRetCuenta(66, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then Ret.IdCtaContableAcreditable = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSAcreditable").ToString.ToEntero - ' If Pago.CveMonedaPago > 1 AndAlso ObjConta.GetRetCuenta(207, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then Ret.IdCtaContablexAcreditar = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSxAcreditar").ToString.ToEntero - ' End If - ' If Pago.CveMonedaPago > 1 Then - ' 'Agregamos la Extranjera - ' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Pago.ImportePago, Pago.ImportePago, 92, Pago.Referencia, Concepto, VentaActual.IdCtaContableClienteAnticipo, CveVenta:=VentaActual.CveVenta, CveCliente:=VentaActual.CveCliente, CveIE:=Pago.CveIE, ImporteME:=Pago.ImportePago, TipoCambio:=TCValuacionPago, CveSubProyecto:=VentaActual.CveSubProyecto, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True - ' ImporteMN = (Pago.ImportePago * TCValuacionPago - Pago.ImportePago).RoundSQL - ' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Pago.ImportePago, ImporteMN, 207, Pago.Referencia, Concepto, VentaActual.IdCtaContableClienteAnticipoComplementaria, CveVenta:=VentaActual.CveVenta, CveCliente:=VentaActual.CveCliente, CveIE:=Pago.CveIE, ImporteME:=Pago.ImportePago, TipoCambio:=TCValuacionPago, CveSubProyecto:=VentaActual.CveSubProyecto, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True - ' Else - ' 'Agregamos Nacional - ' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Pago.ImportePago, Pago.ImportePago, 92, Pago.Referencia, Concepto, VentaActual.IdCtaContableClienteAnticipoExtranjera, CveVenta:=VentaActual.CveVenta, CveCliente:=VentaActual.CveCliente, CveIE:=Pago.CveIE, CveSubProyecto:=VentaActual.CveSubProyecto, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True - ' End If - 'End If + If Not ErrorMovtos AndAlso TCValuacionCompra <> TCValuacionPago Then Dim ConceptoContable, IdCtaContable As Integer Dim TipoMovimiento As Boolean @@ -7861,6 +7842,71 @@ Public Class ClsPaginas End Get End Property End Class + ' 1. Proveedores, 11. anticipos proveedores, 15. Notas de crédito de proveedores + Public Shared ReadOnly Property ObtenerCveConceptoPrePoliza(CveTipoSaldo As Integer, CveMoneda As Integer, EsAplicacionPago As Boolean, CveTipoProveedor As Integer) As ConceptosTipoSaldo + Get + Dim Retorno As New ConceptosTipoSaldo + If EsAplicacionPago Then + Select Case CveTipoSaldo + Case 1 ' proveedores/acreedores + Select Case CveMoneda + Case 1 'pesos + Retorno.CveConcepto = If(CveTipoProveedor = 1, 17, 308) + Case 2 'dólares + Retorno.CveConcepto = If(CveTipoProveedor = 1, 312, 309) + Retorno.CveConceptoComplementario = If(CveTipoProveedor = 1, 206, 310) + End Select + Case 11 ' anticipos + Select Case CveMoneda + Case 1 'pesos + Retorno.CveConcepto = If(CveTipoProveedor = 1, 21, 56) + Case 2 'dólares + Retorno.CveConcepto = If(CveTipoProveedor = 1, 339, 346) + Retorno.CveConceptoComplementario = If(CveTipoProveedor = 1, 266, 340) + End Select + Case 15 ' notas de crédito + Select Case CveMoneda + Case 1 'pesos + Retorno.CveConcepto = If(CveTipoProveedor = 1, 60, 324) + Case 2 'dólares + Retorno.CveConcepto = If(CveTipoProveedor = 1, 342, 344) + Retorno.CveConceptoComplementario = If(CveTipoProveedor = 1, 235, 235) + End Select + End Select + Else 'cuando es la provisión + Select Case CveTipoSaldo + Case 1 ' proveedores/acreedores + Select Case CveMoneda + Case 1 'pesos + Retorno.CveConcepto = If(CveTipoProveedor = 1, 5, 305) + Case 2 'dólares + Retorno.CveConcepto = If(CveTipoProveedor = 1, 311, 306) + Retorno.CveConceptoComplementario = If(CveTipoProveedor = 1, 201, 307) + End Select + Case 11 ' anticipos + Select Case CveMoneda + Case 1 'pesos + Retorno.CveConcepto = If(CveTipoProveedor = 1, 10, 48) + Case 2 'dólares + Retorno.CveConcepto = If(CveTipoProveedor = 1, 338, 345) + Retorno.CveConceptoComplementario = If(CveTipoProveedor = 1, 266, 340) + End Select + Case 15 ' notas de crédito + Select Case CveMoneda + Case 1 'pesos + Retorno.CveConcepto = If(CveTipoProveedor = 1, 18, 323) + Case 2 'dólares + Retorno.CveConcepto = If(CveTipoProveedor = 1, 341, 343) + Retorno.CveConceptoComplementario = If(CveTipoProveedor = 1, 234, 234) + End Select + End Select + + End If + + Return Retorno + End Get + End Property + Public Class ConceptosRetenciones Public Property CveConceptoxAcreditar As Integer Public Property CveConceptoAcreditable As Integer @@ -7868,6 +7914,10 @@ Public Class ClsPaginas Public Property IdCtaContableAcreditable As Integer Public Property IdCtaContIVANoAcreditable As Integer End Class + Public Class ConceptosTipoSaldo + Public Property CveConcepto As Integer + Public Property CveConceptoComplementario As Integer + End Class #End Region #Region "P A G O D E V E N T A S " @@ -8547,8 +8597,8 @@ Public Class ClsPaginas PaginaDict.Add("/Compras/RepEvaluacionesProveedores.aspx".ToUpper(), 754) PaginaDict.Add("/Ventas/RepTopClientesVentas.aspx".ToUpper(), 755) PaginaDict.Add("/OI/Circular.aspx".ToUpper(), 756) - PaginaDict.Add("/OI/CircularDetalle.aspx".ToUpper(), 757) - PaginaDict.Add("/OI/CircularDetalleB.aspx".ToUpper(), 757) + PaginaDict.Add("/OI/CircularDetalle.aspx".ToUpper(), 756) + PaginaDict.Add("/OI/CircularDetalleB.aspx".ToUpper(), 756) PaginaDict.Add("/Compras/CatTipoGasto.aspx".ToUpper(), 759) #End Region #Region "Contabilidad" diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index 47d5bf7b6..5e0d0eaea 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -5031,7 +5031,7 @@ Namespace Modelos 'SI YA ESTA TIMBRADA, NUEVO PROCESO REFACTURACION, ASIGNA LA CANCELACION PENDIENTE 'EL ESTATUS REFACTURACION 4 ES PARA LAS QUE NO SE PUDIERON CANCELAR, DEBE OBLIGAR A CANCELAR ANTE EL SAT - If EsRefacturacion AndAlso Me.CveEstatusFactura = 3 AndAlso CveMotivoCancelacion > 0 AndAlso CveEstatusRefacturacion <> 4 Then + If EsRefacturacion AndAlso Me.CveEstatusFactura.Contiene(2, 3) AndAlso CveMotivoCancelacion > 0 AndAlso CveEstatusRefacturacion <> 4 Then CveEstatusFacturaAsignado = 23 End If diff --git a/App_Code/modExtensiones.vb b/App_Code/modExtensiones.vb index 9f9cd4c4e..38efe79a1 100644 --- a/App_Code/modExtensiones.vb +++ b/App_Code/modExtensiones.vb @@ -24,8 +24,7 @@ Imports iText.Layout Imports iText.Html2pdf Imports iText.Html2pdf.Resolver.Font Imports iText.Layout.Properties -Imports Newtonsoft.Json - +Imports Newtonsoft.Json Namespace Extensiones #Region "E X T E N S I O N E S" @@ -1647,20 +1646,32 @@ Namespace Extensiones Public Function FBColumn(gv As GridView, name As String) As DataControlField - name = name.ToLower - For Each col As DataControlField In gv.Columns - If TypeOf col Is BoundField Then - Dim field As BoundField = CType(col, BoundField) - If field.DataField.ToLower = name OrElse field.SortExpression.ToLower = name OrElse field.HeaderText.Trim.ToLower = name Then - Return col + name = name.ToLower() + Dim headerCells As TableCellCollection = Nothing + If gv.Columns.Count > 0 Then + For i = 0 To gv.Columns.Count - 1 'Si las columnas son autogeneradas, el número de columnas siempre es 0 + Dim col = gv.Columns(i) + If TypeOf col Is BoundField Then + Dim field As BoundField = CType(col, BoundField) + If field.DataField.ToLower() = name OrElse field.SortExpression.ToLower() = name OrElse field.HeaderText.Trim().ToLower() = name Then + Return col + End If + Continue For + ElseIf TypeOf col Is HyperLinkField Then + Dim field As HyperLinkField = CType(col, HyperLinkField) + If field.DataTextField.ToLower() = name OrElse field.SortExpression.ToLower() = name OrElse field.HeaderText.Trim().ToLower() = name Then + Return col + End If + Continue For End If - ElseIf TypeOf col Is HyperLinkField Then - Dim field As HyperLinkField = CType(col, HyperLinkField) - If field.DataTextField.ToLower = name OrElse field.SortExpression.ToLower = name OrElse field.HeaderText.Trim.ToLower = name Then - Return col + If headerCells Is Nothing Then headerCells = gv.HeaderRow?.Cells + If headerCells IsNot Nothing Then + If headerCells(i).Text.Trim().ToLower() = name Then + Return col + End If End If - End If - Next + Next + End If Return Nothing End Function diff --git a/Ashx/E119.ashx b/Ashx/E119.ashx index 3bcda13fb..86dfc5f45 100644 --- a/Ashx/E119.ashx +++ b/Ashx/E119.ashx @@ -196,7 +196,7 @@ Public Class E119 : Implements IHttpHandler TieneError = True End If End Using - Dim Msg As String = "Consultado día: " & Fecha.ToShortDateString + Dim Msg As String = "Información día " & Fecha.ToShortDateString & If(RespuestaError.message <> "", " Error: " & RespuestaError.message, "") Msg.GuardaLogAD("LogE119") Else RespuestaError.message = "la fecha no es leida correctamente" diff --git a/Bancos/PagoAcreedor.aspx.cs b/Bancos/PagoAcreedor.aspx.cs index fb4ab7a2d..7079468f1 100644 --- a/Bancos/PagoAcreedor.aspx.cs +++ b/Bancos/PagoAcreedor.aspx.cs @@ -302,7 +302,7 @@ public partial class Bancos_PagoAcreedor : ClsPaginas // DATOS PREPOLIZA if (DdlTipoTransaccion.SelectedValue == "1" && UsuarioActual.CveEmpresa != 119) FolioFijo = TxtFolio.Text.ToEntero(); - CvePrePoliza = ObjMov.AddPrePolizas("Bancos/IE PAGO ACRREDORES", CvePlantillaPoliza, TxtImporte.Text.Trim().ToDouble(), TxtImporte.Text.Trim().ToDouble(), CveMonedaPago, TxtFechaDocumento.Text.ToDate(), DdlProveedores.SelectedText.ToString(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FolioFijo: FolioFijo, ReglaFolioPoliza: ObjComp.ObtenerReglaFolio(DdlTipoTransaccion.SelectedValue, null, UsuarioActual.CveEmpresa), CveTipoPoliza: ObjMov.ObtenerTipoPoliza(DdlTipoTransaccion.SelectedValue, "-1", UsuarioActual.CveEmpresa)); + CvePrePoliza = ObjMov.AddPrePolizas("PAGO ACRREDORES", CvePlantillaPoliza, TxtImporte.Text.Trim().ToDouble(), TxtImporte.Text.Trim().ToDouble(), CveMonedaPago, TxtFechaDocumento.Text.ToDate(), DdlProveedores.SelectedText.ToString(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FolioFijo: FolioFijo, ReglaFolioPoliza: ObjComp.ObtenerReglaFolio(DdlTipoTransaccion.SelectedValue, null, UsuarioActual.CveEmpresa), CveTipoPoliza: ObjMov.ObtenerTipoPoliza(DdlTipoTransaccion.SelectedValue, "-1", UsuarioActual.CveEmpresa)); if (CvePrePoliza > 0) { @@ -727,7 +727,7 @@ public partial class Bancos_PagoAcreedor : ClsPaginas // DATOS PREPOLIZA if ((DdlTipoTransanccionPrestamo.SelectedValue == "1")) FolioFijo = TxtFolioPrestamo.Text.ToEntero(); - CvePrePoliza = ObjMov.AddPrePolizas("Bancos/IE PRESTAMO ACRREDORES", CvePlantillaPoliza, TxtImportePrestamo.Text.Trim().ToDouble(), TxtImportePrestamo.Text.Trim().ToDouble(), CveMoneda, TxtFechaPrestamo.Text.ToDate(), DdlProveedorPrestamo.SelectedText.ToString(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FolioFijo: FolioFijo, ReglaFolioPoliza: ObjComp.ObtenerReglaFolio(DdlTipoTransaccion.SelectedValue, null, UsuarioActual.CveEmpresa), CveTipoPoliza: ObjMov.ObtenerTipoPoliza(DdlTipoTransanccionPrestamo.SelectedValue, "-1", UsuarioActual.CveEmpresa)); + CvePrePoliza = ObjMov.AddPrePolizas("PRESTAMO ACRREDORES", CvePlantillaPoliza, TxtImportePrestamo.Text.Trim().ToDouble(), TxtImportePrestamo.Text.Trim().ToDouble(), CveMoneda, TxtFechaPrestamo.Text.ToDate(), DdlProveedorPrestamo.SelectedText.ToString(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FolioFijo: FolioFijo, ReglaFolioPoliza: ObjComp.ObtenerReglaFolio(DdlTipoTransaccion.SelectedValue, null, UsuarioActual.CveEmpresa), CveTipoPoliza: ObjMov.ObtenerTipoPoliza(DdlTipoTransanccionPrestamo.SelectedValue, "-1", UsuarioActual.CveEmpresa)); if (CvePrePoliza > 0) { diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 0de6f650c..5710ba58f 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -7143,13 +7143,14 @@ Partial Class Compras_Compras 'PROVISION de NC IdCtaContable = CtaProveedorExtranjera - Dim CveCon As Integer = ObtConceptoContableProvisionCompra(CveTipoConcepto, DdlTipoComprobante.SelectedValue, DdlMoneda.SelectedValue.ToEntero, False) + Dim ConPreP As ConceptosTipoSaldo = ClsPaginas.ObtenerCveConceptoPrePoliza(15, DdlMoneda.SelectedValue.ToEntero, False, CveTipoConcepto) + 'Dim CveCon As Integer = ObtConceptoContableProvisionCompra(CveTipoConcepto, DdlTipoComprobante.SelectedValue, DdlMoneda.SelectedValue.ToEntero, False) - If ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importeMovimiento, Referencia, CveCon, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMovimiento, ImporteME:=importeMovimiento, Contabilizable:=SeContabiliza) Then + If ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importeMovimiento, Referencia, ConPreP.CveConcepto, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMovimiento, ImporteME:=importeMovimiento, Contabilizable:=SeContabiliza) Then IdCtaContable = CtaProveedorComplementaria - CveCon = ObtConceptoContableProvisionCompra(CveTipoConcepto, DdlTipoComprobante.SelectedValue, DdlMoneda.SelectedValue.ToEntero, True) + 'CveCon = ObtConceptoContableProvisionCompra(CveTipoConcepto, DdlTipoComprobante.SelectedValue, DdlMoneda.SelectedValue.ToEntero, True) - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importeMN - importeMovimiento, Referencia, CveCon, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMN - importeMovimiento, ImporteME:=importeMovimiento, Contabilizable:=SeContabiliza, TipoCambio:=tipoCambioActual) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importeMN - importeMovimiento, Referencia, ConPreP.CveConceptoComplementario, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMN - importeMovimiento, ImporteME:=importeMovimiento, Contabilizable:=SeContabiliza, TipoCambio:=tipoCambioActual) Then ErrorPrepoliza = True Exit Select End If @@ -7168,7 +7169,7 @@ Partial Class Compras_Compras Dim CveMonedaNC As Integer = If(TipoCambioFactura = 1, 1, 2) IdCtaContable = CtaProveedorExtranjera - CveCon = ObtConceptoContableProvisionCompra(Gvr.DataKey("CveTipoConcepto").ToEntero, "NC", CveMonedaNC, False) + 'CveCon = ObtConceptoContableProvisionCompra(Gvr.DataKey("CveTipoConcepto").ToEntero, "NC", CveMonedaNC, False) CompraActual.CveCompra = Gvr.DataKey("CveCompra").ToEntero CompraActual.SerieFolio = Gvr.DataKey("SerieFolio") @@ -7241,17 +7242,8 @@ Partial Class Compras_Compras ErrorPrepoliza = True End If - - - End If - - - - - - Case 21 'Anticipo If ArrAnticipos.Count > 0 Then @@ -8677,14 +8669,7 @@ Partial Class Compras_Compras CveIE = gvr.DataKey("CveIE").ToEntero End Select - PorcentajePago = gvr.FCTextBox("TxtAnticipo").Text.ToDecimal / TxtTotal.Text.ToDecimal - - If CveMonedaAnticipo > 1 Then - Dim ImporteAntMN As Decimal = TipoCambioAnt * ImporteAnt - ImporteAnt - If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaNueva, TipoMovimientoCompra, ImporteAntMN, "", CveConceptoCompraComplementaria, "", TxtFechaPago.Text.ToDate, IdCtaContableComp, -1, CveCompra:=CveCompraNC, CveCompraAmortizacion:=CveCompra, CveProveedor:=CveProveedor, CveIE:=CveIE, ImporteMX:=ImporteAntMN, ImporteME:=If(TipoCambioAnt = 1, 0, ImporteAnt), TipoCambio:=TipoCambioAnt, CveSubProyecto:=CveSubProyectoAnticipo) Then - ErrorMovtosCxP = 1 - End If - End If + 'PorcentajePago = gvr.FCTextBox("TxtAnticipo").Text.ToDecimal / TxtTotal.Text.ToDecimal Pago.CveIE = CveIE Pago.CveCompraAmortizacion = CveCompraNC @@ -20574,34 +20559,34 @@ Partial Class Compras_Compras End Sub - Private Function ObtConceptoContableProvisionCompra(CveTipoConcepto As Integer, TipoDocto As String, CveMoneda As Integer, Optional EsComplementaria As Boolean = False) As Integer - Dim Retorno As Integer = -1 + 'Private Function ObtConceptoContableProvisionCompra(CveTipoConcepto As Integer, TipoDocto As String, CveMoneda As Integer, Optional EsComplementaria As Boolean = False) As Integer + ' Dim Retorno As Integer = -1 - If CveTipoConcepto = 1 Then ''PROVEEDOR - If EsComplementaria Then - Retorno = If(TipoDocto = "Fac", 201, 234) - Return Retorno - End If - If CveMoneda = 1 Then - Retorno = If(TipoDocto = "Fac", 5, 18) - Else - Retorno = If(TipoDocto = "Fac", 311, 341) - End If - Else ''ACREEDOR - If EsComplementaria Then - Retorno = If(TipoDocto = "Fac", -1, -1) - Return Retorno - End If - If CveMoneda = 1 Then - Retorno = If(TipoDocto = "Fac", 305, 323) - Else - Retorno = If(TipoDocto = "Fac", 306, 309) - End If - End If + ' 'If CveTipoConcepto = 1 Then ''PROVEEDOR + ' If EsComplementaria Then + ' Retorno = If(TipoDocto = "Fac", 201, 234) + ' Return Retorno + ' End If + ' If CveMoneda = 1 Then + ' Retorno = If(TipoDocto = "Fac", 5, 18) + ' Else + ' Retorno = If(TipoDocto = "Fac", 311, 341) + ' End If + ' Else ''ACREEDOR + ' If EsComplementaria Then + ' Retorno = If(TipoDocto = "Fac", -1, -1) + ' Return Retorno + ' End If + ' If CveMoneda = 1 Then + ' Retorno = If(TipoDocto = "Fac", 305, 323) + ' Else + ' Retorno = If(TipoDocto = "Fac", 306, 343) + ' End If + ' End If - Return Retorno + ' Return Retorno - End Function + 'End Function End Class diff --git a/Compras/RepCompras.aspx b/Compras/RepCompras.aspx index 2b3afe529..9b735f488 100644 --- a/Compras/RepCompras.aspx +++ b/Compras/RepCompras.aspx @@ -158,9 +158,7 @@