segunda-feira, 19 de outubro de 2015

Dicas Ireport

Efeito zebrado:

Criar uma variável:
Variable Class = Integer
Calculation = Count
Reset Type: Report (ou Group)
Variable Expression = 1

Adicionar um retângulo que cubra todo o detail, alterando a cor de borda e cor de fundo para a desejada.

Selecionar o retângulo e na propriedade Print When Expression adicionar a expressão:

$V{variável}.intValue() % 2 != 0 ? Boolean.TRUE : Boolean.FALSE




Condicionar valores com cores:

Variable Class = Integer
Calculation = Nothing
Reset Type: Report (ou Group)
Variable Expression = $F{CAMPO1} - $F{CAMPO2}

No Field Text que está no detail e que receberá a expressão condicionada com cor, duplicá-lo e sobrepor eles para que fiquem na mesma posição.




Em um field text, altere a cor de borda e cor de fundo para Azul e adicione a expressão: 

$V{variável} >= 0 ? $V{variável} : null

No outro field text, altere a cor de borda e cor de fundo para Vermelho e adicione a expressão:

$V{variável} < 0 ? $V{variável} : null

Obs: Neste exemplo fiz com o uso de uma variavel, mas pode ser feito diretamente, desta maneira:
Azul
$F{CAMPO1} - $F{CAMPO2} >= 0 ? $F{CAMPO1} - $F{CAMPO2} : null
Vermelho
$F{CAMPO1} - $F{CAMPO2} < 0 ? $F{CAMPO1} - $F{CAMPO2} : null




Variável para máscara de valor:

(new DecimalFormat("#,###,##0.00")).format($F{TGFFIN_VLRDESDOB})

Text Field Expression (por extenso): SE NÃO FUNCIONAR NO IREPORT, VER SE NÃO JÁ ESTÁ FUNCIONANDO NO JIVA-W

" (" + com.sankhya.util.Extenso.getExtenso( $F{TGFFIN_VLRDESDOB} ) + ")"

ou 

SELECT SNK_GET_EXTENSO_MONETARIO($F{TGFFIN_VLRDESDOB}, 1) FROM DUAL



Máscara para agência ou conta:

$F{AGENCIA}.substring(0,$F{AGENCIA}.length()-1)+"-"+
$F{AGENCIA}.substring($F{AGENCIA}.length()-1, $F{AGENCIA}.length())

Nosso Número para boletos, com dígito verificador (Itaú):

$V{cartei} + "/" + $V{nosnum}.substring(3,11) + "-" + $V{nosnum}.substring(11,12)

Cálculo matemático na variável (divide, multiply): 

$P{total_vendas}.subtract($F{preco_total})

Função Like na Cláusula Where

TGFPAR."NOMEPARC" LIKE('%$P!{Nome}%') 

Colocar zeros à esquerda no Nro. da Nota com máscara de milhar.


DecimalFormat("000000").format($F{NumeroNota})).substring(0,3) + "." + (new DecimalFormat("000000").format($F{NumeroNota})).substring(3,6)

Ordenar pelo número do desdobramento:

ORDER BY

     TO_NUMBER(FIN.DESDOBRAMENTO) ASC

Período de DATA_INICIO à DATA_FIM:

"Período: "+(new SimpleDateFormat("dd/MM/yyyy").format($P{DTINICIO})) +

"  à "+(new SimpleDateFormat("dd/MM/yyyy").format($P{DTFIM}))

Sem select:
"Impresso em " + (new SimpleDateFormat("dd/MM/yyyy").format(new java.util.Date())) + " às " + (new SimpleDateFormat("HH:mm:ss").format(new java.util.Date()))

Impresso por:

Incluir no select:

( SELECT USU."NOMEUSU" FROM "TSIUSU" USU WHERE USU.CODUSU = STP_GET_CODUSULOGADO ) AS USUARIO_LOGADO,
     TO_CHAR(SYSDATE,'DD/MM/YYYY') AS DATA_ATUAL,
     TO_CHAR(SYSDATE,'HH24:MI:SS') AS HORA_ATUAL,

E em um textfield nas bandas Page Footer e Last Page Foote:

"Impresso por " + $F{USUARIO_LOGADO} + " em " + (new SimpleDateFormat("dd/MM/yyyy").format(new java.util.Date())) + " às " + (new SimpleDateFormat("HH:mm:ss").format(new java.util.Date()))

Nenhum comentário:

Postar um comentário