Ver Mensaje Individual
  #3  
Antiguo 11-04-2007
seara2005 seara2005 is offline
Miembro
 
Registrado: ago 2003
Ubicación: Colombia
Posts: 63
Reputación: 21
seara2005 Va por buen camino
Saldos Contabilidad

Yo utilizo Delphi 7 y Firevird 1.5

Les digo que yo estoy realizando un proyecto similar y tengo la misma duda, si bien en el ejemplo anterior que es sencillo escalonado, puede coincidir que al ordenar y agrupar por la cuenta y recorriendo desde abajo hacia arriba siempre que la longitud de la cuenta sea igual se suman los saldos y se acumulan en una variable, cuando se encuentre una cuenta de longitud inferior se le asigna el acumulado y así por el estilo hasta que se encuentre una cuenta con longitud superior a la actual donde se reinicia el saldo e inicia un nuevo ciclo.
Pues el problema real surge cuando al ordenar alfabeticamente los hijos no quedan inmediatamente en la posición inferior del padre, por ejemplo:

CUENTA DESCRIPCION SALDO
1 Activo 1,500.00
11 Disponible 1,500.00
1101 Cajas 800.00
110505 Caja General 100.00
110510 Cajas menores 500.00
110515 Moneda extranjera 200.00
1110 Bancos 700.00
111005 Moneda Nacional 600.00
111010 Moneda extranjera 100.00

y así sucesivamente...

En este ejemplo tienen saldo resultante de operaciones contables las cuentas de 6 dígitos, el saldo del resto se determina a partir de su saldo y el cálculo o el algoritmo se complica al determinar el 11 Disponible que es la suma de 1101 Caja y 1110 Bancos, pero que no están contínuos.

Si alguien me pudiera explicar un algoritmo genérico para resolver un arbol de cualquier profundidad y complejidad le estaria muy agradecido.

Ya he pensado en asignar un campo al crear cada cuenta para identificar la cuenta padre y así recorrer, pero no tengo nada que me funcione confiablemente



Saludos para todos

Pedro Pablo
Responder Con Cita