Boa tarde pessoal
Estou tentando desenvolver alguns relatórios com o FRX mas me deparei com um problema, vejam os trechos abaixo:
procedure TFrm_Central_Relatorios.Executa_Venda_Periodo;
Var
DM_Rel: TDm_Relatorios;
Cds: TClientDataSet;
begin
//Seta Data
Seta_Data;
//Setando o Cliente
Seta_Cliente;
//Setando o Produto
Seta_Produto;
//Monta o Sql das Vendas edetuadas Conforme os Parametros Passados
vParanetros.Monta_Sql_Vendas_Periodo;
//Monta um Cds com os dados dos Consumos
Cds := Ctrl_App.RetornaCds( vParanetros.Sqls[0] );
DM_Rel := TDm_Relatorios.Create( nil, Ctrl_App );
Try
DM_Rel.Query1.DataSet := Cds;
DM_Rel.Imprime_Relatorio('Vendas_Periodo.fr3', Lbl_Nome.Caption, vParanetros.Filtro);
Finally
FreeAndNil( DM_Rel );
Cds.Close;
FreeAndNil( CDS );
end;
end;
procedure TFrm_Central_Relatorios.Executa_Venda_Produtos;
Var
DM_Rel: TDm_Relatorios;
Cds: TClientDataSet;
begin
//Seta Data
Seta_Data;
//Setando o Cliente
Seta_Cliente;
//Setando o Produto
Seta_Produto;
//Monta o Sql dos Produtos Consumidos Conforme os Parametros Passados
vParanetros.Monta_Sql_Produtos_Consumidos;
//Monta um Cds com os dados dos Consumos
Cds := Ctrl_App.RetornaCds( vParanetros.Sqls[0] );
DM_Rel := TDm_Relatorios.Create( nil, Ctrl_App );
Try
DM_Rel.Query1.DataSet := Cds;
DM_Rel.Imprime_Relatorio('Itens_Vendidos.fr3', Lbl_Nome.Caption, vParanetros.Filtro);
Finally
FreeAndNil( DM_Rel );
Cds.Close;
FreeAndNil( CDS );
end;
end;
Vejam que devolve um ClienteDataSet em tempo de execução e passo ele para o mesmo QUERY1.
Teria como preencher os Campos do FRXDbdataset em tempo de execução, já que em cada rel ele terá campos diferentes?
Obrigado pela ateñção de todos
--
Wendel Wagner
67 9252-9307 / 3423-8233
SoftCom Informática
Automação Comercial