2026-01-30-v2
This commit is contained in:
@@ -0,0 +1,279 @@
|
||||
|
||||
|
||||
Imports System.Data.Entity
|
||||
Imports DevExpress.Xpf.Core.ServerMode
|
||||
Imports bdGrupoSanchoToro
|
||||
Imports DevExpress.Xpf.Grid
|
||||
Imports DevExpress.Xpf.Core
|
||||
Imports System.Linq.Dynamic
|
||||
Imports DevExpress.Xpf.Bars
|
||||
Imports tsl5.Datos
|
||||
Imports tsWPF
|
||||
Imports tsWPF.Comun
|
||||
Imports tsWPFCore.Comun
|
||||
Imports tsWPFCore
|
||||
Imports tsUtilidades
|
||||
Imports bdGrupoSanchoToro.db
|
||||
Imports bdGrupoSanchoToro.db.Utilidades
|
||||
Public Class ucCuentas
|
||||
|
||||
|
||||
Dim bd As tscGrupoSanchoToro
|
||||
|
||||
|
||||
Dim EjerContables As List(Of ejercicioscontables)
|
||||
' Private _Ejercicios As List(Of Integer)
|
||||
' Private _NivelCuentas As Integer
|
||||
|
||||
|
||||
|
||||
Public Overrides ReadOnly Property idRegistroAplicacionActual As String
|
||||
Get
|
||||
Return "CuentasContables"
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Overrides ReadOnly Property DescripcionRegistro As String
|
||||
Get
|
||||
Return "Cuentas"
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Overrides ReadOnly Property NombreTablaBase As String
|
||||
Get
|
||||
Return "cuentas"
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Overrides Sub EstableceDataContextSecundarios(Optional Background As Boolean = False)
|
||||
If Me.ContenedorAplicacion.cbAcciones.ItemsSource Is Nothing Then
|
||||
Dim Acciones As New List(Of tsWPFCore.Accion)
|
||||
Acciones.Add(New Accion With {
|
||||
.idAccion = 1,
|
||||
.Descripcion = "LISTADO DIARIO CUENTAS SELECCIONADAS"})
|
||||
Acciones.Add(New Accion With {
|
||||
.idAccion = 2,
|
||||
.Descripcion = "LISTADO DIARIO CUENTAS SELECCIONADAS (ANTES CIERRE)"})
|
||||
Acciones.Add(New Accion With {
|
||||
.idAccion = 3,
|
||||
.Descripcion = "EXTRACTO DE CUENTAS (MAYOR)"})
|
||||
|
||||
Me.ContenedorAplicacion.cbAcciones.ItemsSource = Acciones
|
||||
|
||||
Me.ContenedorAplicacion.beAcciones.EditValue = Acciones.First.idAccion
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub EstableceTitulo()
|
||||
Me.docpanel.Caption = "Cuentas"
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub Cargado()
|
||||
GridSeleccion = Me.gc
|
||||
'Dim Ejercicios = bd.ejercicioscontables.OrderByDescending(Function(x) x.FechaInicio).ToList
|
||||
|
||||
'If Me.lgFiltrosBusquedaAvanzada.Visibility = Visibility.Visible Then
|
||||
' cbEjerciciosBA.ItemsSource = Ejercicios
|
||||
' Dim ejab = Ejercicios.Where(Function(x) x.FechaCierre Is Nothing)
|
||||
' Me.cbEjerciciosBA.EditValue = ejab.Select(Function(x) x.idEjercicio).ToList
|
||||
' cbNivelBA.ItemsSource = bdGrupoSanchoToro.cuentas.ListadoGruposCuentas
|
||||
' cbNivelBA.EditValue = bdGrupoSanchoToro.cuentas.LongitudCuentaFinal
|
||||
'Else
|
||||
' cbEjercicios.ItemsSource = Ejercicios
|
||||
' Me.cbEjercicios.EditValue = _Ejercicios
|
||||
' cbNivel.ItemsSource = bdGrupoSanchoToro.cuentas.ListadoGruposCuentas
|
||||
' cbNivel.EditValue = _NivelCuentas
|
||||
'End If
|
||||
End Sub
|
||||
|
||||
|
||||
Public Overrides Function EstableceDCPrincipal(Optional Background As Boolean = False, Optional FuerzaNuevo As Boolean = False, Optional Refrescar As Boolean = False) As EstadosAplicacion
|
||||
Dim Ejercicios = bd.ejercicioscontables.OrderByDescending(Function(x) x.FechaInicio).ToList
|
||||
cbEjercicios.ItemsSource = Ejercicios
|
||||
Me.cbEjercicios.EditValue = Ejercicios.Where(Function(x) x.FechaCierre.HasValue = False).Select(Function(x) x.idEjercicio).ToList
|
||||
cbNivel.ItemsSource = bdGrupoSanchoToro.db.cuentas.ListadoGruposCuentas
|
||||
cbNivel.EditValue = bdGrupoSanchoToro.db.cuentas.LongitudCuentaFinal
|
||||
Return EstadosAplicacion.AplicacionSinIndice
|
||||
End Function
|
||||
|
||||
Public Overrides Function ObtieneBD() As tsUtilidades.ItsContexto
|
||||
bd = tscGrupoSanchoToro.NuevoContexto()
|
||||
Return bd
|
||||
End Function
|
||||
|
||||
'Public Overrides Function ObtieneConexionBD() As BBDD
|
||||
' Return bdGrupoSanchoToro.gestionasegasaEntities.bdga
|
||||
'End Function
|
||||
|
||||
Public Overrides Function ObtienePermisos() As tsUtilidades.Permisos
|
||||
Return Comun.ObtienePermisos(Me.bd, "AP.CONTABILIDAD", idUsuario)
|
||||
End Function
|
||||
|
||||
'Public Sub New(TextoBusqueda As String, TituloCamposBusqueda As String, CamposBusquedaAlfabeticos() As String, CamposBusquedaNumericos() As String, Ejercicios As List(Of Integer), NivelCuentas As Integer)
|
||||
|
||||
' InitializeComponent()
|
||||
' ' _ListadoFiltrado = ListadoFiltrado
|
||||
|
||||
' Me.lgFiltrosBusquedaRapida.Visibility = Visibility.Visible
|
||||
' Me.lgFiltrosBusquedaAvanzada.Visibility = Visibility.Collapsed
|
||||
' Me.teBusqueda.Text = TextoBusqueda
|
||||
' Me.tbCamposBusqueda.Text = TituloCamposBusqueda
|
||||
' _Ejercicios = Ejercicios
|
||||
' _CamposBusquedaAlfabeticos = CamposBusquedaAlfabeticos
|
||||
' _CamposBusquedaNumericos = CamposBusquedaNumericos
|
||||
' _NivelCuentas = NivelCuentas
|
||||
'End Sub
|
||||
|
||||
Public Sub New()
|
||||
|
||||
' Esta llamada es exigida por el diseñador.
|
||||
InitializeComponent()
|
||||
'Me.lgFiltrosBusquedaRapida.Visibility = Visibility.Collapsed
|
||||
'Me.lgFiltrosBusquedaAvanzada.Visibility = Visibility.Visible
|
||||
' Agregue cualquier inicialización después de la llamada a InitializeComponent().
|
||||
|
||||
End Sub
|
||||
|
||||
Public Function ObtieneCuentas(BackGround As Boolean, TextoBusqueda As String, Ejercicios() As Integer, Nivel As Integer) As List(Of vf_cuentas)
|
||||
Dim iNumExc As Integer = 0
|
||||
Dim ctas As List(Of vf_cuentas)
|
||||
Do
|
||||
Try
|
||||
Dim ExpresionBusqueda As String = ""
|
||||
If TextoBusqueda <> "" Then
|
||||
'Dim CamposBusquedaNumericos() As String = {"TotalDebe", "TotalHaber"}
|
||||
Dim CamposBusquedaAlfabeticos() As String = {"Denominacion", "Mote"}
|
||||
Dim CamposBusquedaAlfabeticosPorComienzo() As String = {"NumeroCuenta"}
|
||||
ExpresionBusqueda = tsWPFCore.Utilidades.Varias.GeneraExpresionBusqueda(TextoBusqueda, Nothing, CamposBusquedaAlfabeticos, Nothing, CamposBusquedaAlfabeticosPorComienzo)
|
||||
End If
|
||||
ctas = bdGrupoSanchoToro.db.vf_cuentas.Obtiene_vf_cuentas(bd, Ejercicios, Nivel, ExpresionBusqueda)
|
||||
Exit Do
|
||||
Catch ex As Exception
|
||||
If BackGround = False Then Throw New Exception(ex.Message, ex)
|
||||
iNumExc += 1
|
||||
If iNumExc > 3 Then
|
||||
Throw New Exception(ex.Message, ex)
|
||||
End If
|
||||
End Try
|
||||
Loop
|
||||
Return ctas
|
||||
End Function
|
||||
Public Async Sub ObtienecuentasAsync(bd As tscGrupoSanchoToro, Background As Boolean)
|
||||
Try
|
||||
Dim rs As New List(Of vf_cuentas)
|
||||
Dim ejercicios As New List(Of Integer)
|
||||
Dim Nivel As Integer
|
||||
Dim Busqueda As String
|
||||
Busqueda = Me.teBusqueda.Text.Trim
|
||||
If cbEjercicios.EditValue IsNot Nothing Then
|
||||
If cbEjercicios.EditValue.GetType Is GetType(List(Of Object)) Then
|
||||
Dim loej As List(Of Object) = cbEjercicios.EditValue
|
||||
For Each ej In loej
|
||||
ejercicios.Add(CType(ej, Integer))
|
||||
Next
|
||||
Else
|
||||
ejercicios = TryCast(cbEjercicios.EditValue, List(Of Integer))
|
||||
End If
|
||||
End If
|
||||
Nivel = cbNivel.EditValue
|
||||
If Background Then
|
||||
Me.ContenedorAplicacion.IsEnabled = False
|
||||
Await Task.Run(Sub()
|
||||
rs = ObtieneCuentas(Background, Busqueda, ejercicios.ToArray, Nivel)
|
||||
End Sub)
|
||||
Else
|
||||
If DXSplashScreen.IsActive = False Then DXSplashScreen.Show(Of tsWPFCore.SplashScreenTecnosis)()
|
||||
DXSplashScreen.SetState("Buscando cuentas ...")
|
||||
rs = ObtieneCuentas(Background, Busqueda, ejercicios.ToArray, Nivel)
|
||||
End If
|
||||
gc.ItemsSource = rs
|
||||
DataContext = rs
|
||||
Catch ex As Exception
|
||||
If DXSplashScreen.IsActive Then DXSplashScreen.Close()
|
||||
DXMessageBox.Show(ex.Message, "Error")
|
||||
Finally
|
||||
Me.ContenedorAplicacion.IsEnabled = True
|
||||
If DXSplashScreen.IsActive Then DXSplashScreen.Close()
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Sub Nuevo() Handles Me.BotonNuevoPulsado
|
||||
FuncionesDinamicas.AbrirAP(New ucCuenta(), OtrosParametros)
|
||||
End Sub
|
||||
|
||||
Private Sub ApLineas_Enlazar(Celda As EditGridCellData, Defecto As Boolean) Handles Me.Enlazar
|
||||
Dim id As Integer = DirectCast(Me.gc.SelectedItems(0), vf_cuentas).idCuenta
|
||||
Dim uc As New ucCuenta(id)
|
||||
FuncionesDinamicas.AbrirAP(uc, OtrosParametros)
|
||||
End Sub
|
||||
|
||||
Private Sub BtBuscar_Click(sender As Object, e As RoutedEventArgs)
|
||||
'Dim Nivel As Integer = cbNivel.EditValue
|
||||
'gcGrupo1.Visible = Nivel > 1
|
||||
'gcGrupo2.Visible = Nivel > 2
|
||||
'gcGrupo3.Visible = Nivel > 3
|
||||
'gcGrupo4.Visible = Nivel > 4
|
||||
|
||||
ObtienecuentasAsync(bd, False)
|
||||
End Sub
|
||||
'Private Sub CbEjerciciosBA_EditValueChanged(sender As Object, e As DevExpress.Xpf.Editors.EditValueChangedEventArgs)
|
||||
' ObtienecuentasAsync(bd, False, True)
|
||||
'End Sub
|
||||
|
||||
Private Sub CbNivelBA_EditValueChanged(sender As Object, e As DevExpress.Xpf.Editors.EditValueChangedEventArgs)
|
||||
'Dim Nivel = CInt(e.NewValue)
|
||||
'gcGrupo1.Visible = Nivel > 1
|
||||
'gcGrupo2.Visible = Nivel > 2
|
||||
'gcGrupo3.Visible = Nivel > 3
|
||||
'gcGrupo4.Visible = Nivel > 4
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub ApLineas_EjecutarAccion(sender As Object, e As ItemClickEventArgs, idAccion As Integer) Handles Me.EjecutarAccion
|
||||
Try
|
||||
Select Case idAccion
|
||||
Case 1 'LISTADO DE DIARIO INCLUIDO CIERRE
|
||||
Dim vf_ctas = gc.ElementosSeleccionados.Cast(Of vf_cuentas).ToList
|
||||
If vf_ctas.Count = 0 Then
|
||||
DXMessageBox.Show("Antes debe seleccionar las cuentas para el listado.", "Atención")
|
||||
Else
|
||||
If DXSplashScreen.IsActive = False Then DXSplashScreen.Show(Of tsWPFCore.SplashScreenTecnosis)()
|
||||
DXSplashScreen.SetState("Buscando cuentas ...")
|
||||
Dim lc As New List(Of cuentas)
|
||||
For Each ct In vf_ctas
|
||||
Dim CUENTA = bd.cuentas.First(Function(x) x.idCuenta = ct.idCuenta)
|
||||
CUENTA.RellenaApuntesTemporales(True)
|
||||
lc.Add(CUENTA)
|
||||
Next
|
||||
Dim idp = bd.plantillas.First(Function(x) x.Codigo = "CONTA.DIACUEN").idPlantilla
|
||||
DXSplashScreen.Close()
|
||||
Informes.MuestraImpresos(bd, idp, lc, Me.GrupoDocumentos, dm.DockController)
|
||||
End If
|
||||
Case 2 'LISTADO DE DIARIO SIN CIERRE
|
||||
Dim vf_ctas = gc.ElementosSeleccionados.Cast(Of vf_cuentas).ToList
|
||||
If vf_ctas.Count = 0 Then
|
||||
DXMessageBox.Show("Antes debe seleccionar las cuentas para el listado.", "Atención")
|
||||
Else
|
||||
If DXSplashScreen.IsActive = False Then DXSplashScreen.Show(Of tsWPFCore.SplashScreenTecnosis)()
|
||||
DXSplashScreen.SetState("Buscando cuentas ...")
|
||||
Dim lc As New List(Of cuentas)
|
||||
For Each ct In vf_ctas
|
||||
Dim CUENTA = bd.cuentas.First(Function(x) x.idCuenta = ct.idCuenta)
|
||||
CUENTA.RellenaApuntesTemporales(False)
|
||||
lc.Add(CUENTA)
|
||||
Next
|
||||
Dim idp = bd.plantillas.First(Function(x) x.Codigo = "CONTA.DIACUEN").idPlantilla
|
||||
DXSplashScreen.Close()
|
||||
Informes.MuestraImpresos(bd, idp, lc, Me.GrupoDocumentos, dm.DockController)
|
||||
End If
|
||||
Case 3
|
||||
Dim uc As New ucApuntes
|
||||
FuncionesDinamicas.AbrirAP(uc, OtrosParametros)
|
||||
End Select
|
||||
Catch ex As Exception
|
||||
If DXSplashScreen.IsActive Then DXSplashScreen.Close()
|
||||
FuncionesDinamicas.ErrorNoControladoAp(Me, ex)
|
||||
DXMessageBox.Show(ex.Message, "Error")
|
||||
End Try
|
||||
End Sub
|
||||
End Class
|
||||
Reference in New Issue
Block a user