14413 - Manipular Campos de Tela de Entrada via Regra no Relatório
Problema: Se faz necessário alterar alguns campos da tela de entrada de relatório em momento de execução através de regras do próprio modelo, no entanto ao alterar o valor da tela de entrada em regra de seção Inicializando ou Pré-Seleção o sistema não considera esta alteração para buscar os dados da base conforme informação manipulada.
Não é possível manipular em temo de execução? Por que isto ocorre?
Quando ocorre / onde se aplica: Recursos > Gerador Relatórios
Solução: Não é possível alterar o conteúdo informado nos campos da tela de entrada de relatórios, isto ocorre porque a seção Pré-Seleção serve para adicionar filtros ou condições no comando SQL que neste momento já está montado com base nas informações da tela de entrada (não é possível substituir o comando montado até o momento).
Alternativas: Chamar o relatório desejado através de regra pela função ExecutaRelatorio, passando os parâmetros corretos para execução, conforme exemplo abaixo:
SetaDataTelaEntrada(EDatInr,DatSis);
SetaDataTelaEntrada(EDatFir,DatSis);
SetaNumeroTelaEntrada(ENumMar,1);
SetaNumeroTelaEntrada(ETipLis,8);
SetaAlfaTelaEntrada(ELisAtr,T);
(..)
ExecutaRelatorio(HRFR001.APU,N);
Não é possível manipular em temo de execução? Por que isto ocorre?
Quando ocorre / onde se aplica: Recursos > Gerador Relatórios
Solução: Não é possível alterar o conteúdo informado nos campos da tela de entrada de relatórios, isto ocorre porque a seção Pré-Seleção serve para adicionar filtros ou condições no comando SQL que neste momento já está montado com base nas informações da tela de entrada (não é possível substituir o comando montado até o momento).
Alternativas: Chamar o relatório desejado através de regra pela função ExecutaRelatorio, passando os parâmetros corretos para execução, conforme exemplo abaixo:
SetaDataTelaEntrada(EDatInr,DatSis);
SetaDataTelaEntrada(EDatFir,DatSis);
SetaNumeroTelaEntrada(ENumMar,1);
SetaNumeroTelaEntrada(ETipLis,8);
SetaAlfaTelaEntrada(ELisAtr,T);
(..)
ExecutaRelatorio(HRFR001.APU,N);