Imprimir campo filtro no PDF

Olá sou gostaria da ajuda de alguém com uma dúvida. Como já procurei aqui no fórum e não encontrei resolvi criar este tópico.

Tenho um relatório em pdf e gostaria de colocar no topo de cada página do relatório o tipo de consulta que foi solicitado.

Exemplo:

 Tenho uma opção de consulta que é por cidade   --- Gostaria de colocar o nome da cidade selecionada no topo das páginas.

Lembrando que por exemplo São Paulo tenho mais de 100 registros de São Paulo mas gostaria apenas de colocar o que esta selecionado no filtro.

 ***** Na teoria seu como fazer, pego o campo do filtro gravo em uma variável e passo isto pro pdf  *****

O problema é fazer na prática.

Se alguém puder me ajudar agradeço.

Obrigado a todos.

Já tentou colocar sua teoria em prática?

Beleza Haroldo, vou me esforçar um pouco mais, ler mais alguma coisa se conseguir posto aqui o que fiz.

Valeu.

Edilson,

O título do seu tópico é sobre PDF, mas menciona consulta no texto. Acredito que com consulta quis dizer Filtro do PDF, certo?

Bom, se foi isso que quis dizer, precisei da mesma coisa e resolvi da forma descrita abaixo:

1 - Em [Programação > Atributos] criei a variável is_filtro.
2 - Em [Filtro -> Eventos -> onValidate] coloquei o código abaixo, que monta o texto do filtro e coloca na variável:

// monto o texto com os filtros para o cabecalho
if(!empty({id_cliente_categoria})){
sc_lookup(rs, "SELECT nome FROM cliente_categoria WHERE id_cliente_categoria = " . {id_cliente_categoria});
$ls_categoria = "Categoria: " . {rs[0][0]};
}
if(!empty({id_vendedor})){
sc_lookup(rs, "SELECT nome FROM vendedor WHERE id_vendedor = " . {id_vendedor});
$ls_vendedor = "Vendedor: " . {rs[0][0]};
}
if(!empty({ind_disponivel})){
$ls_disponivel = ({ind_disponivel} == “S”)? “Somente disponíveis” : “Somente indisponíveis”;
}
if(!isset($ls_categoria) && !isset($ls_vendedor) && !isset($ls_disponivel)){
[is_filtro] = “Todos os Clientes”;
}else{
if(isset($ls_categoria)) [is_filtro] = $ls_categoria; else [is_filtro] = “”;
if(isset($ls_vendedor)) [is_filtro] = ([is_filtro] == “”)? $ls_vendedor : [is_filtro] . " - " . $ls_vendedor;
if(isset($ls_disponivel)) [is_filtro] = ([is_filtro] == “”)? $ls_disponivel : [is_filtro] . " - " . $ls_disponivel;
}

3 - Em [Report PDF -> Layout PDF -> Código -> Cabeçalho] inseri o texto da variável no PDF, conforme abaixo:
$this->Cell(0, 5, utf8_decode([is_filtro]), 0, 0, “C”);

Observações:

  • Os campos {id_cliente_categoria}, {id_vendedor} e {ind_disponivel} são os campos disponibilizados no filtro do PDF.
  • A seção de inserção no PDF (cabeçalho, corpo ou rodapé) e seu tamanho dependem do seu design.