Esse documento irá apresentar como exibir uma banda de relatório apenas se houver dados em um campo do Objeto de Negócio.
Será utilizado como exemplo o Objeto de Negócio abaixo:
Nesse Objeto de Negócio, o campo "Nome Dependente" é vazio para alguns registros.
Nesse exemplo foi utilizado o Template A4 em retrato, disponível em Templates de Layout de Relatório nos padrões TOTVS.
Abaixo a imagem do layout criado:
No Cabeçalho de Grupo foram incluídas as informações do funcionário (Chapa e Nome) e foi configurado para realizar agrupamento por Chapa:
Ao gerar o relatório, temos o seguinte comportamento no caso de funcionários que não possuem dependentes:
Desejamos que tanto a label "Dependentes:" como toda a banda de detalhe não sejam exibidas caso o funcionários não possua dependentes.
Será utilizada propriedade Visível para esconder a label e a banda. Essa propriedade pode receber valores True ou False para indicar se o elemento deve ou não ser exibido.
Primeiro vamos selecionar a label "Dependentes" e acessar o seu editor de expressões. Em seguida, na propriedade "Visível", vamos incluir a expressão: " ! IsNullOrEmpty( [Nome Dependente] ) ":
A função IsNullOrEmpty( ) retorna um True caso o campo passado esteja nulo ou vazio. Como queremos que a label esteja visível nesse caso, invertemos o retorno da função incluindo um "!" na frente.
Agora basta fazer o mesmo para a banda de detalhes. A configuração das expressões também podem ser acessadas pelo menu à esquerda:
Alguns ERPs, como o Protheus, para campos do tipo STRING, ao invés de entregar um valor vazio, entregam uma sequência de caracteres de espaço (" ") conforme o tamanho do campo na base. Nesses casos, ao utilizar a função IsNullOrEmpty( ) o retorno é sempre False, pois o campo possui caracteres. Para contornar isso, basta passar o retorno da função Trim(), a qual remove os espaços à esquerda. Assim, a expressão para configuração de visibilidade do exemplo apresentado seria: !IsNullOrEmpty( Trim([Nome Dependente]) ) .
Com as configurações de visibilidades feitas, a impressão do relatório para os funcionários sem dependentes passou a ficar assim: