PDA

Ver la Versión Completa : Plan de Cuentas en Treeview


osmardj
28-12-2017, 23:01:19
Un saludo a todos

Quiero que me ayuden con el treeview quiero realizar un plan de cuentas para un sistema contable como la imagen siguiente
3639

son 5 niveles

estoy con delphi berlin y BD Access

Casimiro Notevi
28-12-2017, 23:42:29
¿Y en qué parte en concreto quieres ayuda?

osmardj
28-12-2017, 23:53:35
¿Y en qué parte en concreto quieres ayuda?

muchas gracias por responder

como cargar al treview la verdad no se como

duilioisola
29-12-2017, 09:05:14
procedure RellenaCuentas;
var
Nodo : TTreeNode;
begin
// Nodo primer nivel
Nodo := TreeViewCuentas.Items.Add(nil, 'Cuentas');
RellenaCuentasNivel(Nodo);
end;

procedure RellenaCuentasNivel(Nodo: TTreeNode; Nivel: integer = 1);
var
aNodo : TTreeNode;
Codigo, Cuenta : string;
begin
/// Recorro cuentas del [Nivel] y las agrego al [Nodo].

// Creo ADOQuery de Cuentas del nivel
with ADOQuery.Create(nil) do
begin
try
// Filtrar cuentas del nivel
// SELECT CODIGO, CUENTA FROM CUENTAS WHERE NIVEL = :NIVEL ORDER BY CODIGO

// Recorro las cuentas
while not EOF do
begin
Codigo := FieldByName['CODIGO'].AsString;
Cuenta := FieldByName['CUENTA'].AsString];
aNodo := TreeViewCuentas.Items.AddChild(Nodo, Codigo + ' ' + Cuenta);

// Llamada recursiva para el siguiente nivel
RellenaCuentas(aNodo, Nivel + 1);

Next;
end;
Close;
finally
Free;
end;
end;
end;

osmardj
29-12-2017, 18:10:01
hice la prueba en código pero nada me sale error

too many actual parameters

mi tabla tiene

código cuenta nivel
1 activo 1
1.1 activo corriente 2
1.1.1 activo disponible 3
1.1.1.1 caja 4
1.1.1.1.01 caja moneda nacional 5

la inserción de las cuentas solo es hasta el nivel 5 con los que se trabaja para realizar los asientos contables

duilioisola
29-12-2017, 18:55:18
"Too many actual parameters" se refiere a que tienes un procedimiento o una función a la que le pasas parámetros de más.

No veo tu código y tampoco dices en qué línea (en que instrucción) te da el error.
No podré ayudarte asi...

El código de ejemplo que publiqué está basado en uno que utilizo para mostrar una estructura de producción de máquinas.
Puede ser que me haya faltado algo (o sobrado).

Tendrás que debugar tu código.

Repeat

Busca la línea en que te da el error.
Lee el mensaje de error. (Too many actual parameters)
Busca la definición del procedimiento/función que da error. (fuentes, help, San Google)
corrige el error. (Quita los parámetros que sobren)

Until NOT HayErrores;

Feliz Año Nuevo y Happy Debugging! :D