IReport pesquisando com parametro lista

Tudo bem pessoal?
Estou tentando rodar um sql no meu IReport mais ou menos assim:

SELECT * FROM funcionario WHERE funcionario.id IN (1,2,3)

Pela minha logica seria apenas colocar o parâmetro lista no lugar dos numeros, tipo assim:

SELECT * FROM funcionario WHERE funcionario.id IN $P{valores_id_funcionarios} 

Acontece que ele esta me retornando o seguinte erro:

Valor de types desconhecido
parameter type not supported in query : valores_id_funcionarios class java.util.List

Qual o jeito certo de se fazer isso??

Você esta trabalhando com query nativa então não pode passar um List dentro do seu SQL.
Tu vai ter que passar uma string contendo os id’s separadores pelo caractere “,”.

[]'s

Achei que o IReport aceitasse o List… :frowning:

Acabei fazendo com string mesmo como vc disse… mas pra isso funcionar tem que colocar uma exclamação depois do P, e um valor default pra esse parâmetro.
Assim:

SELECT * FROM funcionario WHERE funcionario.id IN ($P!{valores_id_funcionarios})   

Olá boa tarde

Prezados tenho uma consulta de notas fiscais e preciso passar uma lista como parâmetro, apesar deste topico parecer que seria a solução não consegui obter o resultado desejado.

A consulta abaixo aparentemente esta certa mais o editor indica que existe um erro, erro este que só sai se eu colocar aspas simples dentro dos parentesis mais como o campo id_nota é do tipo inteiro eu não o coloquei

Select * From notas As N
Where N.id_nota In ($P!{Plista_notas})  And  
  N.nf_dtcancel Is Null

desta forma apenas o primeiro elemento da lista é utilizado para filtrar ou seja se eu passar 30,31,32,33 vem dados apenas do Id 30

Da forma abaixo ao executar o relatório ocorre um erro por conta do campo id_nota ser do tipo inteiro

Select * From notas As N
Where N.id_nota In ('$P!{Plista_notas}')  And  
  N.nf_dtcancel Is Null

Alguem já passou por situação semelhante?

Você não pode utilizar aspas ou aspas simples porque você esta utilizando parâmetros.
Talvez este link possa te ajudar:

Depois posta o resultado.

Olá boa noite!

Prezado obrigado pelo retorno, e então eu li com bastante atenção o texto, e sobre a aspa simples se eu não a colocar

Where N.id_nota In ('$P!{Plista_notas}')

o editor do sql indica que existe algo errado na consulta, mais fiz testes com e sem as aspas, e bem lendo o texto que vc indicou a unica coisa que eu não fiz e que esta lá é que eu devo especificar um valor padrão, bem isto eu não entendi muito bem a finalidade porém observei que vc recomendou isto, no meu caso o campo com o id da nota é do tipo inteiro este seria o valor padrão???

agora estou em casa amanhã farei o teste com o valor padrão.

Olá boa tarde!

Eu consegui resolver.

O relatório necessita ter um grupo e começar um novo registro em uma nova pagina

Como eu estou usando no parâmetro a exclamação isto quer dizer que em run-time o jasper irá concatenar o conteúdo passado com a consulta então eu devo na minha aplicação passar para o jasper o parâmetro desta forma, exemplificando se eu processei as notas de id´s 30,31,32,33 e 34 que eu devo criar uma variável e concatenar o seguinte conteudo:
var1 = “Where N.id_notafiscal IN (30,31,32,33,34) And N.nf_dtcancel Is Null”

esta var1 que será passada para o meu parâmetro Plista_notas o lance é no meu aplicativo eu montar a string que irá na var1

e o select ficara assim

select *
from notas N
$P!{Plista_notas}

Funcionou blz