VARIÁVEIS COM SOMA NO FASTREPORT
Estou estudando o FastReport e pretendo fazer um relatório do movimento diário do caixa. minha estrutura da tabela :
CREATE TABLE SINCAI (
NEW_SINCAI KEY_DOMAIN NOT NULL,
SEQDIA_CAI INTEGER,
DATADIA_CAI DATE NOT NULL,
HORADIA_CAI TIME NOT NULL,
SALDOINI_CAI FLOAT DEFAULT 0,
SALDOFINAL_CAI FLOAT DEFAULT 0,
RECHIS_CAI INTEGER NOT NULL,
DEBCRE_CAI VARCHAR(7) NOT NULL,
VALOR FLOAT,
DESCRI_CAI VARCHAR(100),
ESPECIE_CAI VARCHAR(10) NOT NULL,
KEY_SINFAT1_CAI INTEGER,
MESCOM_FAT_CAI VARCHAR(4),
ANOCOM_FAT_CAI VARCHAR(4),
GARANTIA_CAI VARCHAR(3),
KEY_SINOP1_CAI INTEGER,
KEY_CAD_OP1_CAI INTEGER,
MESCOM_OP1_CAI VARCHAR(2),
ANOCOM_OP1_CAI VARCHAR(4),
KEY_CODFUN_CAI INTEGER NOT NULL,
KEY_FINLAND_CAI INTEGER,
KEY_FINLANC_CAI INTEGER,
KEY_FINORD_ORDF_CAI INTEGER,
VALORANT_CAI FLOAT
);
o que eu preciso fazer é ao imprimir os dados do relatório, pegar o conteúdo campo DEBCRE_CAI, verificar
se for débito, somar o valor em uma variável se for crédito, somar o valor em outra variavel, pois
no final do relatório tenho que totalizar o valor do débito e o valor do crédito e o total + o saldo inicial.
tentei fazer direto no dataset, mas como tenho pesquisa de de datas no dataset antes de imprimir os dados,
não funcionou direito no campo calculado, por isso decidi fazer direto dentro do fastreport.
tentei colocar as variáveis no onbeforeprint da banda master mas não funcionou direito.
atenciosamente.
Jorge Trento
CREATE TABLE SINCAI (
NEW_SINCAI KEY_DOMAIN NOT NULL,
SEQDIA_CAI INTEGER,
DATADIA_CAI DATE NOT NULL,
HORADIA_CAI TIME NOT NULL,
SALDOINI_CAI FLOAT DEFAULT 0,
SALDOFINAL_CAI FLOAT DEFAULT 0,
RECHIS_CAI INTEGER NOT NULL,
DEBCRE_CAI VARCHAR(7) NOT NULL,
VALOR FLOAT,
DESCRI_CAI VARCHAR(100),
ESPECIE_CAI VARCHAR(10) NOT NULL,
KEY_SINFAT1_CAI INTEGER,
MESCOM_FAT_CAI VARCHAR(4),
ANOCOM_FAT_CAI VARCHAR(4),
GARANTIA_CAI VARCHAR(3),
KEY_SINOP1_CAI INTEGER,
KEY_CAD_OP1_CAI INTEGER,
MESCOM_OP1_CAI VARCHAR(2),
ANOCOM_OP1_CAI VARCHAR(4),
KEY_CODFUN_CAI INTEGER NOT NULL,
KEY_FINLAND_CAI INTEGER,
KEY_FINLANC_CAI INTEGER,
KEY_FINORD_ORDF_CAI INTEGER,
VALORANT_CAI FLOAT
);
o que eu preciso fazer é ao imprimir os dados do relatório, pegar o conteúdo campo DEBCRE_CAI, verificar
se for débito, somar o valor em uma variável se for crédito, somar o valor em outra variavel, pois
no final do relatório tenho que totalizar o valor do débito e o valor do crédito e o total + o saldo inicial.
tentei fazer direto no dataset, mas como tenho pesquisa de de datas no dataset antes de imprimir os dados,
não funcionou direito no campo calculado, por isso decidi fazer direto dentro do fastreport.
tentei colocar as variáveis no onbeforeprint da banda master mas não funcionou direito.
atenciosamente.
Jorge Trento
Jorge Trento
Curtidas 0
Respostas
Wesley Yamazack
29/06/2010
Olá amigo,
Infelizmente o suporte não abrange FastReport. Mas podemos resolver seu problema com os ClientDataSet, ou até mesmo no seu Select. O que acha ?
Se puder mandar a tabela preenchida, fica mais facil testar.
Att,
Wesley Y
Infelizmente o suporte não abrange FastReport. Mas podemos resolver seu problema com os ClientDataSet, ou até mesmo no seu Select. O que acha ?
Se puder mandar a tabela preenchida, fica mais facil testar.
Att,
Wesley Y
GOSTEI 0
Jorge Trento
29/06/2010
Desculpe a demora, segue abaixo tabela com alguns dados:
/******************************************************************************/
/**** Generated by IBExpert 2008.08.08 5/7/2010 15:42:35 ****/
/******************************************************************************/
SET SQL DIALECT 3;
SET NAMES ISO8859_1;
SET CLIENTLIB 'C:\Arquivos de programas\Firebird\Firebird_2_0\bin\fbclient.dll';
CREATE DATABASE 'localhost:C:\SISIMO\BDSISIMO\SISLOC.FDB'
USER 'SYSDBA' PASSWORD 'masterkey'
PAGE_SIZE 16384
DEFAULT CHARACTER SET ISO8859_1;
/******************************************************************************/
/**** Tables ****/
/******************************************************************************/
CREATE TABLE SINCAI (
NEW_SINCAI KEY_DOMAIN NOT NULL,
SEQDIA_CAI INTEGER,
DATADIA_CAI DATE NOT NULL,
HORADIA_CAI TIME NOT NULL,
SALDOINI_CAI FLOAT DEFAULT 0,
SALDOFINAL_CAI FLOAT DEFAULT 0,
RECHIS_CAI INTEGER NOT NULL,
DEBCRE_CAI VARCHAR(7) NOT NULL,
VALOR FLOAT,
DESCRI_CAI VARCHAR(100),
ESPECIE_CAI VARCHAR(10) NOT NULL,
KEY_SINFAT1_CAI INTEGER,
MESCOM_FAT_CAI VARCHAR(4),
ANOCOM_FAT_CAI VARCHAR(4),
GARANTIA_CAI VARCHAR(3),
KEY_SINOP1_CAI INTEGER,
KEY_CAD_OP1_CAI INTEGER,
MESCOM_OP1_CAI VARCHAR(2),
ANOCOM_OP1_CAI VARCHAR(4),
KEY_CODFUN_CAI INTEGER NOT NULL,
KEY_FINLAND_CAI INTEGER,
KEY_FINLANC_CAI INTEGER,
KEY_FINORD_ORDF_CAI INTEGER,
VALORANT_CAI FLOAT
);
INSERT INTO SINCAI (NEW_SINCAI, SEQDIA_CAI, DATADIA_CAI, HORADIA_CAI, SALDOINI_CAI, SALDOFINAL_CAI, RECHIS_CAI, DEBCRE_CAI, VALOR, DESCRI_CAI, ESPECIE_CAI, KEY_SINFAT1_CAI, MESCOM_FAT_CAI, ANOCOM_FAT_CAI, GARANTIA_CAI, KEY_SINOP1_CAI, KEY_CAD_OP1_CAI, MESCOM_OP1_CAI, ANOCOM_OP1_CAI, KEY_CODFUN_CAI, KEY_FINLAND_CAI, KEY_FINLANC_CAI, KEY_FINORD_ORDF_CAI, VALORANT_CAI) VALUES (1, 0, '2010-06-21', '16:45:38.000', 100, 200, 29, 'CREDITO', 100, 'Lançamento de Encerramento de Caixa', 'Dinheiro', 0, '', '', '', 0, 0, '', '', 0, 0, 0, 0, 0);
INSERT INTO SINCAI (NEW_SINCAI, SEQDIA_CAI, DATADIA_CAI, HORADIA_CAI, SALDOINI_CAI, SALDOFINAL_CAI, RECHIS_CAI, DEBCRE_CAI, VALOR, DESCRI_CAI, ESPECIE_CAI, KEY_SINFAT1_CAI, MESCOM_FAT_CAI, ANOCOM_FAT_CAI, GARANTIA_CAI, KEY_SINOP1_CAI, KEY_CAD_OP1_CAI, MESCOM_OP1_CAI, ANOCOM_OP1_CAI, KEY_CODFUN_CAI, KEY_FINLAND_CAI, KEY_FINLANC_CAI, KEY_FINORD_ORDF_CAI, VALORANT_CAI) VALUES (2, 0, '2010-06-21', '16:45:50.000', 200, 300, 18, 'CREDITO', 100, 'Lançamento de Abertura de Caixa', 'Dinheiro', 0, '', '', '', 0, 0, '', '', 0, 0, 0, 0, 0);
INSERT INTO SINCAI (NEW_SINCAI, SEQDIA_CAI, DATADIA_CAI, HORADIA_CAI, SALDOINI_CAI, SALDOFINAL_CAI, RECHIS_CAI, DEBCRE_CAI, VALOR, DESCRI_CAI, ESPECIE_CAI, KEY_SINFAT1_CAI, MESCOM_FAT_CAI, ANOCOM_FAT_CAI, GARANTIA_CAI, KEY_SINOP1_CAI, KEY_CAD_OP1_CAI, MESCOM_OP1_CAI, ANOCOM_OP1_CAI, KEY_CODFUN_CAI, KEY_FINLAND_CAI, KEY_FINLANC_CAI, KEY_FINORD_ORDF_CAI, VALORANT_CAI) VALUES (3, 0, '2010-06-21', '16:45:53.000', 300, 150, 18, 'DEBITO', 150, 'Crédito', 'Dinheiro', 0, '', '', '', 0, 0, '', '', 0, 0, 0, 0, 0);
INSERT INTO SINCAI (NEW_SINCAI, SEQDIA_CAI, DATADIA_CAI, HORADIA_CAI, SALDOINI_CAI, SALDOFINAL_CAI, RECHIS_CAI, DEBCRE_CAI, VALOR, DESCRI_CAI, ESPECIE_CAI, KEY_SINFAT1_CAI, MESCOM_FAT_CAI, ANOCOM_FAT_CAI, GARANTIA_CAI, KEY_SINOP1_CAI, KEY_CAD_OP1_CAI, MESCOM_OP1_CAI, ANOCOM_OP1_CAI, KEY_CODFUN_CAI, KEY_FINLAND_CAI, KEY_FINLANC_CAI, KEY_FINORD_ORDF_CAI, VALORANT_CAI) VALUES (4, 0, '2010-06-21', '10:18:02.000', 250, 250, 2, 'CREDITO', 100, 'dqdqf', 'DINHEIRO', 0, '', '', '', 0, 0, '', '', 21, 0, 0, 0, 0);
COMMIT WORK;
/******************************************************************************/
/**** Primary Keys ****/
/******************************************************************************/
ALTER TABLE SINCAI ADD CONSTRAINT PK_SINCAI PRIMARY KEY (NEW_SINCAI);
/* Fields descriptions */
DESCRIBE FIELD SEQDIA_CAI TABLE SINCAI
'TENTAR FAZER UM sequence (SE PRECISAR) NÃO AGORA';
DESCRIBE FIELD DATADIA_CAI TABLE SINCAI
'RECEBE A DATA DA MAQUINA (DATA DO DIA)';
DESCRIBE FIELD HORADIA_CAI TABLE SINCAI
'HORA DA AUTENTICAÇÃO';
DESCRIBE FIELD SALDOFINAL_CAI TABLE SINCAI
'SALDO FINAL DO CAIXA';
DESCRIBE FIELD RECHIS_CAI TABLE SINCAI
'CHAVE PRIMARIA DO SINHIS';
DESCRIBE FIELD DEBCRE_CAI TABLE SINCAI
'SE É DEBITO OU CRÉDITO PARA USAR NA GRAVAÇÃO DO LANÇAMENTO -DBCOMBOBOX DÉBITO OU CREDITO';
DESCRIBE FIELD VALOR TABLE SINCAI
'VALOR DO LANÇAMENTO';
DESCRIBE FIELD DESCRI_CAI TABLE SINCAI
' complemento do historico';
DESCRIBE FIELD ESPECIE_CAI TABLE SINCAI
'DINHEIRO, CHEQUE, VALE, OUTROS -';
DESCRIBE FIELD KEY_SINFAT1_CAI TABLE SINCAI
'PEGAR DO SINFAT1 O KEY_SINFAT1';
DESCRIBE FIELD GARANTIA_CAI TABLE SINCAI
'SE FATURA É GARANTIDO SIM OU NÃO';
DESCRIBE FIELD KEY_SINOP1_CAI TABLE SINCAI
'VEM DA TABELA SINOP1 - PEGAR A CHAVE KEY_SINOP1';
DESCRIBE FIELD KEY_CAD_OP1_CAI TABLE SINCAI
'CHAVE PRIMARIA DO CADASTRO GERAL PEGAR DA SINOP1 KEY_CAD_OP1';
DESCRIBE FIELD MESCOM_OP1_CAI TABLE SINCAI
'PEGAR DA SINOP1 CAMPO MESCOM_OP1';
DESCRIBE FIELD ANOCOM_OP1_CAI TABLE SINCAI
'PEGAR DA SINOP1 CAMPO ANOCOM_OP1';
DESCRIBE FIELD KEY_CODFUN_CAI TABLE SINCAI
'PEGAR DO SINFUNC KEY_CODFUN - SOLICITAR A CADA LANÇAMENTO NOME SENHA E AREA E TESTAR';
DESCRIBE FIELD KEY_FINLAND_CAI TABLE SINCAI
'CHAVE DO FINLAND KEY_FINLAND SERA USADO PELO PROGRAMA FINLAND PARA REGISTRAR
A BAIXA E SAIDA DO CAIXA SERA ALIMENTADO PELO PROGRAMA DE BAIXA DO FINLAND E FINLAN';
DESCRIBE FIELD KEY_FINLANC_CAI TABLE SINCAI
'CHAVE DO FINLAND KEY_FINLAND SERA USADO PELO PROGRAMA FINLAND PARA REGISTRAR
A BAIXA E ENTRADA NO CAIXA SERA ALIMENTADO PELO PROGRAMA DE BAIXA DO FINLAND E FINLANC';
DESCRIBE FIELD KEY_FINORD_ORDF_CAI TABLE SINCAI
'SERA ALIMENTADO PELO PROGRAMA DE BAIXA DO FINORDF TABELA FINORDF A CHAVE KEY_FINORD_ORDF';
repetindo o que preciso é fazer a soma do saldo total, somar todos os débitos e todos os créditos.
Atenciosaente.
Jorge
/******************************************************************************/
/**** Generated by IBExpert 2008.08.08 5/7/2010 15:42:35 ****/
/******************************************************************************/
SET SQL DIALECT 3;
SET NAMES ISO8859_1;
SET CLIENTLIB 'C:\Arquivos de programas\Firebird\Firebird_2_0\bin\fbclient.dll';
CREATE DATABASE 'localhost:C:\SISIMO\BDSISIMO\SISLOC.FDB'
USER 'SYSDBA' PASSWORD 'masterkey'
PAGE_SIZE 16384
DEFAULT CHARACTER SET ISO8859_1;
/******************************************************************************/
/**** Tables ****/
/******************************************************************************/
CREATE TABLE SINCAI (
NEW_SINCAI KEY_DOMAIN NOT NULL,
SEQDIA_CAI INTEGER,
DATADIA_CAI DATE NOT NULL,
HORADIA_CAI TIME NOT NULL,
SALDOINI_CAI FLOAT DEFAULT 0,
SALDOFINAL_CAI FLOAT DEFAULT 0,
RECHIS_CAI INTEGER NOT NULL,
DEBCRE_CAI VARCHAR(7) NOT NULL,
VALOR FLOAT,
DESCRI_CAI VARCHAR(100),
ESPECIE_CAI VARCHAR(10) NOT NULL,
KEY_SINFAT1_CAI INTEGER,
MESCOM_FAT_CAI VARCHAR(4),
ANOCOM_FAT_CAI VARCHAR(4),
GARANTIA_CAI VARCHAR(3),
KEY_SINOP1_CAI INTEGER,
KEY_CAD_OP1_CAI INTEGER,
MESCOM_OP1_CAI VARCHAR(2),
ANOCOM_OP1_CAI VARCHAR(4),
KEY_CODFUN_CAI INTEGER NOT NULL,
KEY_FINLAND_CAI INTEGER,
KEY_FINLANC_CAI INTEGER,
KEY_FINORD_ORDF_CAI INTEGER,
VALORANT_CAI FLOAT
);
INSERT INTO SINCAI (NEW_SINCAI, SEQDIA_CAI, DATADIA_CAI, HORADIA_CAI, SALDOINI_CAI, SALDOFINAL_CAI, RECHIS_CAI, DEBCRE_CAI, VALOR, DESCRI_CAI, ESPECIE_CAI, KEY_SINFAT1_CAI, MESCOM_FAT_CAI, ANOCOM_FAT_CAI, GARANTIA_CAI, KEY_SINOP1_CAI, KEY_CAD_OP1_CAI, MESCOM_OP1_CAI, ANOCOM_OP1_CAI, KEY_CODFUN_CAI, KEY_FINLAND_CAI, KEY_FINLANC_CAI, KEY_FINORD_ORDF_CAI, VALORANT_CAI) VALUES (1, 0, '2010-06-21', '16:45:38.000', 100, 200, 29, 'CREDITO', 100, 'Lançamento de Encerramento de Caixa', 'Dinheiro', 0, '', '', '', 0, 0, '', '', 0, 0, 0, 0, 0);
INSERT INTO SINCAI (NEW_SINCAI, SEQDIA_CAI, DATADIA_CAI, HORADIA_CAI, SALDOINI_CAI, SALDOFINAL_CAI, RECHIS_CAI, DEBCRE_CAI, VALOR, DESCRI_CAI, ESPECIE_CAI, KEY_SINFAT1_CAI, MESCOM_FAT_CAI, ANOCOM_FAT_CAI, GARANTIA_CAI, KEY_SINOP1_CAI, KEY_CAD_OP1_CAI, MESCOM_OP1_CAI, ANOCOM_OP1_CAI, KEY_CODFUN_CAI, KEY_FINLAND_CAI, KEY_FINLANC_CAI, KEY_FINORD_ORDF_CAI, VALORANT_CAI) VALUES (2, 0, '2010-06-21', '16:45:50.000', 200, 300, 18, 'CREDITO', 100, 'Lançamento de Abertura de Caixa', 'Dinheiro', 0, '', '', '', 0, 0, '', '', 0, 0, 0, 0, 0);
INSERT INTO SINCAI (NEW_SINCAI, SEQDIA_CAI, DATADIA_CAI, HORADIA_CAI, SALDOINI_CAI, SALDOFINAL_CAI, RECHIS_CAI, DEBCRE_CAI, VALOR, DESCRI_CAI, ESPECIE_CAI, KEY_SINFAT1_CAI, MESCOM_FAT_CAI, ANOCOM_FAT_CAI, GARANTIA_CAI, KEY_SINOP1_CAI, KEY_CAD_OP1_CAI, MESCOM_OP1_CAI, ANOCOM_OP1_CAI, KEY_CODFUN_CAI, KEY_FINLAND_CAI, KEY_FINLANC_CAI, KEY_FINORD_ORDF_CAI, VALORANT_CAI) VALUES (3, 0, '2010-06-21', '16:45:53.000', 300, 150, 18, 'DEBITO', 150, 'Crédito', 'Dinheiro', 0, '', '', '', 0, 0, '', '', 0, 0, 0, 0, 0);
INSERT INTO SINCAI (NEW_SINCAI, SEQDIA_CAI, DATADIA_CAI, HORADIA_CAI, SALDOINI_CAI, SALDOFINAL_CAI, RECHIS_CAI, DEBCRE_CAI, VALOR, DESCRI_CAI, ESPECIE_CAI, KEY_SINFAT1_CAI, MESCOM_FAT_CAI, ANOCOM_FAT_CAI, GARANTIA_CAI, KEY_SINOP1_CAI, KEY_CAD_OP1_CAI, MESCOM_OP1_CAI, ANOCOM_OP1_CAI, KEY_CODFUN_CAI, KEY_FINLAND_CAI, KEY_FINLANC_CAI, KEY_FINORD_ORDF_CAI, VALORANT_CAI) VALUES (4, 0, '2010-06-21', '10:18:02.000', 250, 250, 2, 'CREDITO', 100, 'dqdqf', 'DINHEIRO', 0, '', '', '', 0, 0, '', '', 21, 0, 0, 0, 0);
COMMIT WORK;
/******************************************************************************/
/**** Primary Keys ****/
/******************************************************************************/
ALTER TABLE SINCAI ADD CONSTRAINT PK_SINCAI PRIMARY KEY (NEW_SINCAI);
/* Fields descriptions */
DESCRIBE FIELD SEQDIA_CAI TABLE SINCAI
'TENTAR FAZER UM sequence (SE PRECISAR) NÃO AGORA';
DESCRIBE FIELD DATADIA_CAI TABLE SINCAI
'RECEBE A DATA DA MAQUINA (DATA DO DIA)';
DESCRIBE FIELD HORADIA_CAI TABLE SINCAI
'HORA DA AUTENTICAÇÃO';
DESCRIBE FIELD SALDOFINAL_CAI TABLE SINCAI
'SALDO FINAL DO CAIXA';
DESCRIBE FIELD RECHIS_CAI TABLE SINCAI
'CHAVE PRIMARIA DO SINHIS';
DESCRIBE FIELD DEBCRE_CAI TABLE SINCAI
'SE É DEBITO OU CRÉDITO PARA USAR NA GRAVAÇÃO DO LANÇAMENTO -DBCOMBOBOX DÉBITO OU CREDITO';
DESCRIBE FIELD VALOR TABLE SINCAI
'VALOR DO LANÇAMENTO';
DESCRIBE FIELD DESCRI_CAI TABLE SINCAI
' complemento do historico';
DESCRIBE FIELD ESPECIE_CAI TABLE SINCAI
'DINHEIRO, CHEQUE, VALE, OUTROS -';
DESCRIBE FIELD KEY_SINFAT1_CAI TABLE SINCAI
'PEGAR DO SINFAT1 O KEY_SINFAT1';
DESCRIBE FIELD GARANTIA_CAI TABLE SINCAI
'SE FATURA É GARANTIDO SIM OU NÃO';
DESCRIBE FIELD KEY_SINOP1_CAI TABLE SINCAI
'VEM DA TABELA SINOP1 - PEGAR A CHAVE KEY_SINOP1';
DESCRIBE FIELD KEY_CAD_OP1_CAI TABLE SINCAI
'CHAVE PRIMARIA DO CADASTRO GERAL PEGAR DA SINOP1 KEY_CAD_OP1';
DESCRIBE FIELD MESCOM_OP1_CAI TABLE SINCAI
'PEGAR DA SINOP1 CAMPO MESCOM_OP1';
DESCRIBE FIELD ANOCOM_OP1_CAI TABLE SINCAI
'PEGAR DA SINOP1 CAMPO ANOCOM_OP1';
DESCRIBE FIELD KEY_CODFUN_CAI TABLE SINCAI
'PEGAR DO SINFUNC KEY_CODFUN - SOLICITAR A CADA LANÇAMENTO NOME SENHA E AREA E TESTAR';
DESCRIBE FIELD KEY_FINLAND_CAI TABLE SINCAI
'CHAVE DO FINLAND KEY_FINLAND SERA USADO PELO PROGRAMA FINLAND PARA REGISTRAR
A BAIXA E SAIDA DO CAIXA SERA ALIMENTADO PELO PROGRAMA DE BAIXA DO FINLAND E FINLAN';
DESCRIBE FIELD KEY_FINLANC_CAI TABLE SINCAI
'CHAVE DO FINLAND KEY_FINLAND SERA USADO PELO PROGRAMA FINLAND PARA REGISTRAR
A BAIXA E ENTRADA NO CAIXA SERA ALIMENTADO PELO PROGRAMA DE BAIXA DO FINLAND E FINLANC';
DESCRIBE FIELD KEY_FINORD_ORDF_CAI TABLE SINCAI
'SERA ALIMENTADO PELO PROGRAMA DE BAIXA DO FINORDF TABELA FINORDF A CHAVE KEY_FINORD_ORDF';
repetindo o que preciso é fazer a soma do saldo total, somar todos os débitos e todos os créditos.
Atenciosaente.
Jorge
GOSTEI 0
Wesley Yamazack
29/06/2010
Olá amigo,
Desculpe a demora, mas segue abaixo uma solução que acredito que resolva seu problema, fiz na aplicação usando o ClientDataSet.
V eja que crie uma procedure Executar, com dois parametros de saida. :
procedure TForm2.Button1Click(Sender: TObject);
Var
Deb, Cre : Currency;
begin
Executar(Deb,Cre);
ShowMessage('Debito ' + CurrToStr(Deb) + #13 +
'Credito ' + CurrToStr(Cre) );
end;
procedure TForm2.Executar(out Deb, Cre : Currency);
Var
xDeb, xCre : Currency;
begin
xDeb := 0;
xCre := 0;
while not CDS.Eof do
begin
if CDS.FieldByName('DEBCRE_CAI').AsString = 'DEBITO' then
xDeb := xDeb + CDS.FieldByName('VALOR').AsCurrency
else
if CDS.FieldByName('DEBCRE_CAI').AsString = 'CREDITO' then
xCre := xCre + CDS.FieldByName('VALOR').AsCurrency;
CDS.Next;
end;
Deb := xDeb;
Cre := xCre;
end;
A idéia seria você criar no teu relatórios parâmetros, e passar estes valores para dentro do relatório, sacou a idéia ?
Qualquer coisa agente tenta de outra forma senão lhe atender.
att,
Wesley Y
Desculpe a demora, mas segue abaixo uma solução que acredito que resolva seu problema, fiz na aplicação usando o ClientDataSet.
V eja que crie uma procedure Executar, com dois parametros de saida. :
procedure TForm2.Button1Click(Sender: TObject);
Var
Deb, Cre : Currency;
begin
Executar(Deb,Cre);
ShowMessage('Debito ' + CurrToStr(Deb) + #13 +
'Credito ' + CurrToStr(Cre) );
end;
procedure TForm2.Executar(out Deb, Cre : Currency);
Var
xDeb, xCre : Currency;
begin
xDeb := 0;
xCre := 0;
while not CDS.Eof do
begin
if CDS.FieldByName('DEBCRE_CAI').AsString = 'DEBITO' then
xDeb := xDeb + CDS.FieldByName('VALOR').AsCurrency
else
if CDS.FieldByName('DEBCRE_CAI').AsString = 'CREDITO' then
xCre := xCre + CDS.FieldByName('VALOR').AsCurrency;
CDS.Next;
end;
Deb := xDeb;
Cre := xCre;
end;
A idéia seria você criar no teu relatórios parâmetros, e passar estes valores para dentro do relatório, sacou a idéia ?
Qualquer coisa agente tenta de outra forma senão lhe atender.
att,
Wesley Y
GOSTEI 0
Jorge Trento
29/06/2010
Amigo, Já resolvi o meu problema pode encerrar os trabalho, pois tinha muita urgência e acabei achando uma maneira direto dentro do Fast Report
Att.
Jorge
Att.
Jorge
GOSTEI 0
Wesley Yamazack
29/06/2010
ok então,
Att,
Wesley Y
Att,
Wesley Y
GOSTEI 0