Error iReport URGENTE

10 respostas
jasperjavascriptprogramaçãojavaireport
A

Estou tentando colocar os meses que já se passaram colo coluna do relatório do iReport mas estando erro sempre. Já tentei criar classe, já fiz inúmeros códigos e sempre da erro. Segue os erros e o código.

OBS: utilizo o java

1. Syntax error on token "(", ; expected value = (java.lang.String)({//$JR_EXPR_ID=18$

 2. Syntax error on token ")", delete this token });//$JR_EXPR_ID=18$
{

Calendar cal= Calendar.getInstance();

cal.set($P{runDate}.getMonth());

c.add ($P{cal}.MONTH,-1);

return $P{cal}.getTime();

}

10 Respostas

V

poste mais código e explique melhor o que quer fazer. Você quer pegar os meses de anteriores tipo: Estamos no Mês 12 e você quer que exiba de Janeiro a Novembro?
Janeiro Fevereiro Março…

A

Oi, Vinicius. Isso mesmo, eu quero que apareça Junho/2021, Julho/2021 e por ai vai…
O código antigo era esse mas estava dando esses erros:

new java.text.SimpleDateFormat(“MMMM/yyyy”).format(
comum.util.DateUtils.adicionar(comum.util.DateUtils.MES,-6,(new java.util.Date())))

comum.util.DateUtils cannot be resolved to a type
comum.util.DateUtils.MES cannot be resolved to a type|Linha

Tentei alterar para o que eu coloquei a cima mas mesmo assim esta dando erro

V

Não sei qual o contexto que quer exibir isso. Será só do ano corrente? Poderá selecionar periodo de datas? vai exibir só a string ou na coluna tera: Janeiro - 100,00 Fevereiro - 89,00…

Dessa forma você pegaria o mês corrente.

Calendar c1 = Calendar.getInstance();
    int mes = c1.get(Calendar.MONTH);

O mes passaria como parametro e podia deixar fixo de Janeiro a Dezembro no seu relatorio. Na propriedade print when Expression do jasper poderia colocar para o Field Janeiro : $P{mes}>0 para Fevereiro $P{mes}>1…

A

Isso seria o mesmo ano com meses diferentes como eu dei o exemplo, Janeiro/2021…

Eu adicionei o parâmetro mas agora esta com esse erro:

Parameter not found : mes /jasperReport/parameter[9]/defaultValueExpression[1]

image

E estou colocando assim no código:

image

V

Você vai criar uma variavel pra armazenar o mês corrente:

Calendar c1 = Calendar.getInstance();
 int mes = c1.get(Calendar.MONTH);
 setVariavel(mes);

No botão que vai gerar o relatorio cria algo como:

HashMap<String, Object> mapFicha = new HashMap<String, Object>();
   mapFicha.put("mes", getVariavel);
   //aqui vc passa o map criado
   JasperPrint impressao = JasperFillManager.fillReport(caminhoRelatorio, mapFicha, dataSource);

No Jasper você cria a variavel chamada: mes . Lembrando que pelo que estou dizendo você teria os field Janeiro Fevereivo Março Abril… Assim se o mes da sua varialvel for 11 vai mostrar de Janeiro a Novembro.
pra Janeiro vc usa $P{mes}>0 em Fevereiro $P{mes}>1 Março: $P{mes}>2 Abril: $P{mes}>3
jasper

A

Perfeito, Vinicius fiz todo esse passo a passo mas ainda continua dando erro:

image

V

A mensagem já mostra onde está o erro: LInha 2898, coluna 53. Abra o arquivo no Jasper e na aba source pode alterar seu código

A

Ai que esta outro problema, eu não acho a pasta “jasperReport” pra alterar o código, mas muito obrigada Vinicius! Me ajudou bastante

V

Não é na pasta do Jasper… no Ireport ou no TIBCO você procura por essa aba aí vai na linha do erro e faz a correção
source

A

Oi, Vinicius, então nesse meu campo não tem a linha Linha 2898, coluna 53. Por isso achei que estivesse falando de algo dentro de uma pasta.

Criado 22 de dezembro de 2021
Ultima resposta 27 de dez. de 2021
Respostas 10
Participantes 2