Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 25-01-2011
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.806
Poder: 22
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Antes que nada, creo que en la tabla conta_asientos_deta te falta la cuenta. Sponiendo que la tienes en esta tabla:

Si solo trabajás con estas dos tablas te propongo una solución simple:
Creá una tabla temporal con los campos que necesitas mostrar
libro_mayor(n_asiento, cliente, debe, haber, saldo)
Luego calculas el saldo inicial. Esto es lo que suma la columna debe y lo que suma la columna haber hasta la Fecha_Desde.
Recorres el detalle hasta que llegas a la fecha_desde
Código Delphi [-]
{PSEUDOCODIGO}
while (Fecha_asiento < Fecha_Desde) do
begin
   if (conta_asientos_deta.cuenta = Cuenta_Seleccionada) then
   begin
      Debe := Debe + conta_asientos_deta.debe;
      Haber := Haber + conta_asientos_derta.haber;
   end;
   Next
end;
with libro_mayor do
begin
   Insert (0{asiento_ficticio_inicial}, debe, haber, debe-haber {saldo});
   Acumulador_de_Saldo := debe-haber;
end;

Luego vas recorriendo las tablas e insertando los registros hasta la Fecha_Hasta y calculando el saldo:
Código Delphi [-]
{PSEUDOCODIGO}
while (Fecha_asiento < Fecha_Hasta) do
begin
   if (conta_asientos_deta.cuenta = Cuenta_Seleccionada) then
   begin
      with libro_mayor do
      begin
         Acumulador_de_Saldo := Acumulador_de_Saldo + (debe-haber);
         Insert (asiento, debe, haber, Acumulador_de_Saldo);
      end;
   end;
   Next;
end;

Nota para todo esto, los datos tienen que estar ordenados por fecha!
Además de esto, deberás hacer bucles anidados para tomar los datos de la cabecera del asiento y del detalle. La fecha está en la cabecera y si cumple con esta deberás tomar la cuenta del detalle. Si la cuenta es la que buscamos, utilizamos debe y haber para contar el saldo inicial o para rellenar el resto de registros.

Última edición por duilioisola fecha: 25-01-2011 a las 01:01:06.
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
El diario de un perro Lord Delfos La Taberna 0 17-05-2010 06:54:36
Diario de una mujer madura jcarteagaf Humor 6 30-07-2008 18:30:20
Diario de un cincuentón egostar Humor 5 06-11-2007 05:34:43
Diario de un Cincuenton FGarcia Humor 0 25-09-2007 19:32:54
Diario de un lammer JaMFrY Humor 3 28-06-2003 14:21:10


La franja horaria es GMT +2. Ahora son las 17:42:08.


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