[firebase-br] sql pra movimentação de caixa
Zottis
zottissistemas em brturbo.com.br
Sex Mar 6 09:17:58 -03 2009
eu uso assim:
CREATE GENERATOR GEN_CAIXA_ID;
CREATE TABLE CAIXA (
CAIXANO PK /* PK = INTEGER NOT NULL */,
DATA DATAS /* DATAS = DATE */,
LOJANO PK /* PK = INTEGER NOT NULL */,
USUARIONO PK /* PK = INTEGER NOT NULL */,
REGISTRONO PK /* PK = INTEGER NOT NULL */,
DESCRIMINACAO VAR_CHAR_180 /* VAR_CHAR_180 = VARCHAR(180) */,
ENTRADA MOEDA DEFAULT 0 /* MOEDA = NUMERIC(15,2) */,
SAIDA MOEDA DEFAULT 0 /* MOEDA = NUMERIC(15,2) */,
HORARIO VARCHARTIME /* VARCHARTIME = VARCHAR(8) */,
EXCLUIDO_POR INTEIRO /* INTEIRO = INTEGER */,
DATA_EXCLUSAO DATAS /* DATAS = DATE */,
HORA_EXCLUSAO TEMPO /* TEMPO = TIME */,
DELETADO PAGO_NOT_NULL /* PAGO_NOT_NULL = VARCHAR(1) DEFAULT 'N'
NOT NULL CHECK (value in ('N' , 'S')) */,
REVERSO_NO INTEIRO /* INTEIRO = INTEGER */
);
ALTER TABLE CAIXA ADD CONSTRAINT PK_CAIXA PRIMARY KEY (CAIXANO);
ALTER TABLE CAIXA ADD CONSTRAINT FK_CAIXA_REG_NO FOREIGN KEY (REGISTRONO)
REFERENCES REGISTROS (REGISTRONO) ON UPDATE CASCADE;
CREATE INDEX CAIXA_IDX_DATA ON CAIXA (DATA);
CREATE INDEX CAIXA_IDX_REVERSO ON CAIXA (REVERSO_NO);
SET TERM ^ ;
/* Trigger: CAIXA_BI */
CREATE TRIGGER CAIXA_BI FOR CAIXA
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
IF (NEW.CAIXANO IS NULL) THEN
NEW.CAIXANO = GEN_ID(GEN_CAIXA_ID,1);
END
^
SET TERM ; ^
e na busca faço assim:
tenho uma query com os saldos(Calculos) e outra com os lançamentos do dia
o SQL do Diario:
Select T2.Data,
coalesce( Sum (T2.Entrada), 0) as Entradas
,coalesce( Sum (T2.saida), 0 ) as saidas
,(select coalesce( Sum (C1.Entrada ), 0 ) from caixa C1 where
C1.data <= T2.data and C1.deletado = 'N' )
- (select coalesce( Sum (C1.Saida ), 0 ) from caixa C1 where
C1.data <= T2.data and C1.deletado = 'N' ) as Saldo
,(select coalesce( Sum (C1.Entrada ), 0 ) from caixa C1 where
C1.data < T2.data and C1.deletado = 'N' )
- (select coalesce( Sum (C1.Saida ), 0 ) from caixa C1 where
C1.data < T2.data and C1.deletado = 'N' ) as SaldoAnterior
>From Caixa T2
Where T2.DELETADO = 'N' and T2.Data = :DataInicial
Group By T2.Data
Order by T2.Data
e o Sql do Caixa:
select C.CAIXANO,
C.DATA,
C.LOJANO,
C.USUARIONO,
C.REGISTRONO,
C.DESCRIMINACAO,
C.ENTRADA,
C.SAIDA,
C.HORARIO,
S.LOGIN AS USUARIO,
C.EXCLUIDO_POR,
C.DATA_EXCLUSAO,
C.HORA_EXCLUSAO,
C.DELETADO,
C.REVERSO_NO
from CAIXA C, SENHAS S
where C.USUARIONO = S.SENHANO AND
C.data =:data AND C.DELETADO = 'N'
order by C.Horario
está ligada na Query Diario pelo DataSource.
Espero que te ajude.
Zottis(TeamFB Users)
Zottis Sistemas - 2008 Ano XI
Programação Delphi/PHP/Firebird/MySQL
"Um homem só tem o direito de olhar
a um outro de cima para baixo, quando
vai ajuda-lo a levantar-se".
Gabriel Garcia Marquez
----- Original Message -----
From: "Reijanio Nunes Ribeiro" <rnribeiro em gmail.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Friday, March 06, 2009 9:09 AM
Subject: Re: [firebase-br] sql pra movimentação de caixa
isso mesmo
2009/3/5 Zottis <zottissistemas em brturbo.com.br>
> o que vc quer saber?
> tipo, saldo anterior, saldo atual, total de entradas, saidas, etc?
>
> Zottis(TeamFB Users)
>
> Zottis Sistemas - 2008 Ano XI
> Programação Delphi/PHP/Firebird/MySQL
>
> "Um homem só tem o direito de olhar
> a um outro de cima para baixo, quando
> vai ajuda-lo a levantar-se".
> Gabriel Garcia Marquez
> ----- Original Message ----- From: "Reijanio Nunes Ribeiro" <
> rnribeiro em gmail.com>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Thursday, March 05, 2009 10:37 AM
> Subject: [firebase-br] sql pra movimentação de caixa
>
>
> alguem poderia me dar uma ideia de como, de como se faze um sql pra
> movimentação de caixa
> pois to apnhando disso, grato pela atenção
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Mais detalhes sobre a lista de discussão lista