Autor Tópico: Imprimir campo filtro no PDF  (Lida 1006 vezes)

edilson_bj

  • Novato
  • *
  • Mensagens: 13
Imprimir campo filtro no PDF
« Online: Janeiro 28, 2014, 01:24:04 pm »
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.

Haroldo

  • Expert
  • *****
  • Mensagens: 6268
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Imprimir campo filtro no PDF
« Responder #1 Online: Janeiro 28, 2014, 03:18:47 pm »
Já tentou colocar sua teoria em prática?

edilson_bj

  • Novato
  • *
  • Mensagens: 13
Re:Imprimir campo filtro no PDF
« Responder #2 Online: Janeiro 29, 2014, 09:31:58 am »
Beleza Haroldo, vou me esforçar um pouco mais, ler mais alguma coisa se conseguir posto aqui o que fiz.

Valeu.

Erikson Flávio

  • Iniciante
  • **
  • Mensagens: 71
    • Email
Re:Imprimir campo filtro no PDF
« Responder #3 Online: Março 23, 2014, 04:10:49 am »
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.
« Última modificação: Março 23, 2014, 04:18:30 am por Erikson Flávio »
Desenvolvedor PHP/Java/Oracle/MySQL - Veterano
ScriptCase - Intermediário