Como abrir uma aplicação PDF em uma consulta

Olá pessoal,

Tentei de diversas maneiras mas não consegui.

Preciso que no grid de uma consulta tenha uma ligação com uma aplicação ReportPDF gerada pelo próprio SC, onde o usuário, ao clicar no ícone da linha, abra o ReportPDF com o parâmetro desta linha, que é a chave principal deste grid.

A única forma que consegui imprimir o PDF é abrindo o ReportPDF pelo filtro e neste filtro escolho o ID e ai ele abre corretamente.

O que desejo é que o usuário possa escolho no Grid e este já passar o ID.

Não sei como fazer isto.

Já tentei com uma aplicação Blank, mas não consegui fazer.

Vocês podem me ajudar com isto?

Abraços a todos e uma boa semana.

Você pode usar desta maneira:

Mostrar

Desabilite o filtro do repot_pdf na consulta.
Aplique a macro sc_link no id da sua grid linkando com a app report pdf.

Bom dia Haroldo e Pessanha,

Obrigado aos dois pelo retorno com as dicas para me auxiliar.

Não entendi e nem soube o que fazer…

Onde eu aplico esta macro sc_link? Em um evento ajax no campo?

Eu tentei fazer isto:

Criei um evento ajax para o campo ID no onclick.

sc_link (idcalibra, pdf_calibra.php, idcalibra={idcalibra}, “_blank”);

Onde o idcalibra é a chave do grid e o que eu preciso é imprimir somente o pdf deste registro, usando o idcalibra.

Rodei, mas não acontece nada, nem habilita um link em cima do campo idcalibra no grid.

O que eu preciso seria criar uma ligação entre este grid e passar como parâmetro o idcalibra, mas ao criar esta ligação o pdf_calibra (que é o ReportPDF que criei) nem aparece na seleção de aplicações para chamar.

Seria alguma coisa deste jeito.

Na aplicação do ReportPDF, se habilito o filtro funciona corretamente, mas não é desta forma que eu preciso fazer e sim mostrar em um grid tudo que pode ser impresso em PDF e o usuário escolher qual, clicando em alguma coisa e o PDF abrir em outra janela.

Achei que seria uma coisa fácil de fazer, mas pelo visto não é.

Se puderem me dar mais detalhes, fico aguardando.

[]'s

Epa,

Desculpem, acabei não vendo o WebHelp até o final.

Já vi que o evento é no onRecord.

Fiz isto e já habilitou o link no grid, mas não está respeitando o filtro, que deveria ser somente abrir o PDF do idcalibra.

Está abrindo o PDF de todos os registros.

[]'s

maurelio,

eu tive um problema parecido com o seu.
No meu caso, eu estava precisando em uma consulta exibir o arquivo PDF, mas geralmente o nome do arquivo fica muito grande quando mostrado em grid, então o que fiz
no grid substitui o nome do arquivo por um IMAGEM, e no link desta imagem, coloquei no onRecord a seguinte linha:

{imagem} = Mostrar[/b]

Então, quando chamo o grid da consulta, vem a imagem, é só clicar emcima e pronto…

Oi Pessanha,

Mas eu acho que o meu caso é diferente do seu.
Pelo que entendi o seu PDF é um arquivo que está gravado e no meu é um relatório dos campos do registro em questão, que ainda nem existe. Vai existir depois que eu clicar em alguma coisa.
Seria da mesma forma que na grid tivesse o Detalhe, mas em vez deste, ao clicar, abriria o PDF com o relatório daquele registro.
Não sei se me fiz entender.

Entendi!

Bem, acho que encontrei uma solução paliativa utilizando uma explicação do Haroldo de 2010 no post " http://www.scriptcase.com.br/forum/index.php?topic=2228.0 " .

Como não encontrei uma forma de associar um botão no grid para chamar o ReportPDF com um parâmetro (com a dica do Haroldo abaixo chamou mas trouxe todos os registros e não só o desejado) usando a dica de 2010, criei um formulário com um Botão para chamar o ReportPDF, pois no formulário dá para passar parâmetros, que no caso seria o idcalibra.

No grid eu criei um botão que chama o formulário, pois se chamar um formulário também dá para passar parâmetros, no caso o mesmo idcalibra do registro que desejo.

Sei que é um passo a mais para o usuário, pois ele vai clicar no botão, vai abrir o formulário e depois ele tem que clicar novamente em outro botão para abrir o PDF, mas foi a única forma que encontrei.

Não entendi porque o ScripCase não permite passar direto para o ReportPDF em uma consulta e somente no formulário, mas fazer o que…

Obrigado ao Haroldo e ao Pessanha pelas dicas.

[]'s

Fiz da seguinte forma para esconder o link:
naligação ele tinha como parametro o id_avaliacao
if ( $grupo != $usr_grupo) {
?>

$(document).ready(function(){
var id = {id_avaliacao};

	$("a[onclick*='id_avaliacao?#?"+id+"?']").css('display','none');	
	
	
	
	});		
</script>
<?php