FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Saldos Contabilidad
En mi caso:
PUC = Tabla con el Plan Unico de Cuentas (PC en el ejemplo de figcg02). TRANSACCCIONES = Tabla que contiene los movimientos de las cuentas ( DA en el ejemplo de figcg02). En General la forma en que figcg02 expone me funcionó correctamente, solo realicé dos cambios, en el caso de la sentencia que pones (SUM(DA.Debe-DA.Haber) As SALDO, no me da ningún error pero no funciona o sea crea el campo Saldo pero lo deja en blanco, tambien probé con (SUM(DA.Debe)- SUM(DA.Haber)) As Saldo y ocurre exactamente lo mismo. Este problema lo resolví asignando un campo debe, uno haber y adicionando un campo calculado Saldo donde en el evento OnCalcFields determino el saldo. También cambié la linea WHERE PC.Codigo = left(DA.Codigo,len(PC.Codigo)) POR WHERE TR.Cuenta STARTING WITH PUC.Cuenta, Que aunque las dos hacen lo mismo, según leí la instrucción Starting With utiliza índices, es mas rápida y me parece mas sencillo. El código me quedó asi: SELECT PUC.Cuenta, PUC.Descripcion Sum(TR.Debe) As Debe, Sum(TR.Haber) As Haber FROM PUC, Transacciones TR WHERE TR.Cuenta STARTING WITH PUC.Cuenta GROUP BY PUC.Cuenta, PUC.Descripcion ORDER BY PUC.Cuenta; Gracias a todos, especialmente a figcg02.
__________________
Saludos Seara2005 |
#2
|
|||
|
|||
Saldos Contabilidad
SELECT PUC.Cuenta, PUC.Descripcion Sum(TR.Debe) As Debe, Sum(TR.Haber) As Haber
FROM PUC, Transacciones TR WHERE TR.Cuenta STARTING WITH PUC.Cuenta GROUP BY PUC.Cuenta, PUC.Descripcion ORDER BY PUC.Cuenta; En el código anterior se determina el saldo final de todas las transacciones, también se puede delimitar en un rango de fechas o cuentas determinado, etc, ahora ¿se pueden integrar varias consultas en una?, me explico mejor: Yo quisiera tener en la consulta seis campos: 1 Cuenta 2 Descripcion 3 SaldoInicial 4 Debe 5 Haber 6 SaldoFinal Esto quiere decir que cuando la consulta corresponda a un mes determinado, el SaldoInicial debe contener el saldo de las operaciones hasta el mes anterior, Debe y Haber las de ese mes y SaldoFinal= SaldoInicial+Debe-Haber. Para el saldo inicial seria algo como adicionar despues de la fila WHERE TR.Cuenta STARTING WITH PUC.Cuenta la siguiente AND TR.Mes<Mes Pero esto me limiaria la consulta al saldo inicial, Como puedo conbinar para que se tomen distintos períodos de operaciones en la misma consulta?.
__________________
Saludos Seara2005 |
#3
|
||||
|
||||
Te voy a dar unas directrices, porque de Firebird no conozco demasiado, aunque sé que se puede hacer, no sé exactamente cómo.
1.- Crea una procedure con dos parámetros
Con esto consigues el saldo al 1 de enero. Si en el asiento de apertura tienes el saldo, no necesitarías hacerlo. 2.- utiliza el case o lo que corresponda en tu motor de BBDD Esto te devuelve Cuenta, saldo inicial, Enero, Febrero, ... Diciembre por cada cuenta si no lo filtras y a partir de ahí, lo que quieras. La verdad es que queda bastante elegante. Observa que he escrito el código 'a pelo' y que seguro tiene errores. En un post similar puse un ejemplo que funciona. http://www.clubdelphi.com/foros/show...+enero+febrero Suerte y un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Existe algún Proyecto de contabilidad OpenSource | socger | Varios | 2 | 27-12-2005 10:21:25 |
COMPRO Codigo Fuente Contabilidad | Anonimo | Varios | 1 | 22-05-2005 11:50:43 |
Informes en Delphi 7 | jatorve | Conexión con bases de datos | 2 | 06-03-2005 22:21:58 |
Editor de informes | CARSOFT_AR | Impresión | 4 | 24-02-2005 20:06:49 |
Problemas con los informes en XP | rvinfo | Impresión | 4 | 12-06-2003 23:55:10 |
|