Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-08-2007
Avatar de david_uh
david_uh david_uh is offline
Miembro
 
Registrado: may 2007
Ubicación: Arequipa, Perú
Posts: 227
Poder: 17
david_uh Va por buen camino
sugerencia con jerarquias y base de datos!!!!!!!!!!!

Buen dia caballeros

Estoy realizanod un programa que maneja cuentas y subcuentas tal que asi:

Código:
código        nombre cuenta

1           combi1
  1.1        refrigerio
    1.1.1    raul
    1.1.2    jose
   1.1.3    marcos
  1.2        frenos
  1.3        llantas
5        azul
  5.1        verde
55        auto
  55.1        rodaje
  55.3        pintura
    55.3.1    roja
y bueno en otra tabla almaceno los movimientos de cada cuenta
Código:
codCuenta    Monto
1.1.3        10.00
1.1.1        12.00
1.1.1        13.00
1.2        5.00
1.3        6.00
1.2        7.00
1.1.2        8.00
...        ...
lo que deseo es totalizar todas las subcuetas y mostrar el resultado en su cuenta madre
osea asi

Código:
 código        nombre cuenta        monto    totales

1           combi1                    59.00
  1.1        refrigerio            43.00
    1.1.1    raul            25.00
    1.1.2    jose            8.00
    1.1.3    marcos            10.00
  1.2        frenos                10.00
  1.3        llantas                6.00
en fin que vaya sumando asi todas las subcuentas y totalizando mostrando el total
en su cuenta madre inmediata y asi recursvamente hacia arriba, he pensado en utilizar TTreeview como
interfaz para elmantenimiento de las cuentas, y otros form
para ingresar los movimientos donde se elija la cuenta y se ingrese el monto, validando por supuesto
que la cuenta la que se abonoara un monto no tenga hijas, es decir solo se abonan a las hijas

Mi primer problema es
cargar desde y hacia el TTreeview los datos de la tabla cuentas osea mi primera tabla
agradecere mucho cualquier sugerencia al repectoç

otro problema es como hago para mmostrar el reporte final asumiendo qe puedo tener varios niveles de subccuentas
y para totalizar en escalera hacia ariiba, podria hacer esto con una consulta SQL o tendre que hacerlo a mano

agradecere cualqueir sugerencia o ayuda ya que enun primer momento supuse que esto seria sencillo sin embargo
se me esta complicando, y no lo termino y ya me he pasado de la fecha de entrega de este modulo

gracias
__________________
Yo se que muchas veces te paso ESTO
Responder Con Cita
  #2  
Antiguo 21-08-2007
Avatar de Héctor Randolph
[Héctor Randolph] Héctor Randolph is offline
Miembro Premium
 
Registrado: dic 2004
Posts: 882
Poder: 20
Héctor Randolph Va por buen camino
Hola david_uh!

Puedo recomendarte que utilices e componente DBTreeView. Haciendo una búsqueda en google puedes encontrar un sitio para descargarlo
por ejemplo de acá

http://www.sharewareplaza.com/Dynami...oad_39325.html

Este componente es una extensión para VirtualTree que ya maneja por si mismo la comunicación con TCustomADODataSet, TCustomClientDataSet y TTable .

También existe otro componente similar en las bibliotecas JEDI, pero la diferencia es que este último funciona con cualquier DataSet

Saludos.
Responder Con Cita
  #3  
Antiguo 21-08-2007
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Poder: 22
fjcg02 Va camino a la fama
Sugerencia:
Añade a la tabla de cuentas dos campos:
- Saldo: saldo de la cuenta
- Grupo: tipo de cuenta, grupo 1, 2 ... Solo se podrá editar o añadir movimientos a las cuentas del ultimo grupo.
Tendrás que hacer una actualización de los saldos de la cuenta involucrada y la de sus respectivas 'padres' cada vez que hagas un movimiento.
Dependiendo de la BBDD, podría ser vía triggers o procedimiento.

Via trigger: cuando des de alta-baja-modifiques un movimiento, actualizaras con el saldo todas las cuentas que comiencen por el codigo de cuenta y que sean de nivel superior -> una query.

Con una bbdd que no permita triggers, cada vez que hagas una actualización deberás hacerla a mano, pero es lo mismo, en definitiva, una query de actualización .

De esta forma, seguro que es más fácil hacer una visualización de los saldos.
Ejemplo:
a. quiero ver los saldos en un grid. Saco todas las cuentas ordenadas por nº de cuenta. Seguro que dependiendo del tipo de cuenta ( grupo 1, 2 3 ..) puedes poner un colorín o un sangrado en el grid.
b. Quiero ver los saldos en un informe. Igual que a.
c. Quiero ver los saldos en un treeview. Con varias querys ( una por nivel ) sacas toda la información. Una query para nivel 1, otra para nivel dos , otra para nivel x, que dependa de la cuenta 'padre'.

Puedes pensar que los saldos podrían ser calculados en lugar de almacenados, pero generalmente el rendimiento suele verse afectado.
Además no estaría de más que pusieras una utilidad que recalculara los saldos de las cuentas por si hubiera un problema general, para tirar de él en caso necesario.

Piensa además que igual no te viene mal saber cómo incluir los saldos iniciales de las cuentas ( tipico asiento de apertura de todas las contabilidades tras los cierres de los periodos contables).


Espero que te sirva de ayuda.

Saludos y suerte.
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -

Última edición por fjcg02 fecha: 21-08-2007 a las 23:22:46.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Recorriendo un arbol de jerarquias Interbase Naxoman Firebird e Interbase 4 16-03-2007 13:57:30
Una sugerencia por favor Sugerencia !! yepixxx Firebird e Interbase 6 13-03-2007 19:07:10
Alguna sugerencia acerca de pdfs y base de datos ilichhernandez Conexión con bases de datos 3 25-09-2006 22:36:36
Problema con Jerarquias en un Componente chrids506 OOP 10 16-08-2006 19:42:00


La franja horaria es GMT +2. Ahora son las 10:57:22.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi