Tempo aproximado para leitura: 00:02:30 min
Dúvida
Como exibir uma banda em relatório apenas se houver dados em um campo em relatório do Smart View?
Ambiente
Cross Segmentos - TOTVS Backoffice (Linha RM) - RM BI - A partir da 12.1.2302
Solução
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.
Criando o layout
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:
Configuração 1 - Exibição do layout sem dados
Este é o comportamento padrão do sistema para impressão do relatório. Nesse caso, mesmo que o Objeto de Negócio não entregue dados, o layout é exibido. A opção que preserva esta funcionalidade se encontra na propriedade: Propriedades do Relatório > Impressão > Relatório Opções de Impressão > Imprime se fonte de dados está vazio e seu status deve ser Marcado;
Para o layout de exemplo mostrado na Introdução e aplicando um filtro no Objeto de Negócio que não traz nenhum dado, a geração do relatório será exibida conforme abaixo:
Comportamento quando o relatório for gerado pela API de integração, Será entregue uma resposta, de status code 200, com o corpo da resposta contendo o relatório gerado.
Configuração 2 - Exibição de mensagem
Nessa configuração, quando o relatório não possui dados, é exibida a mensagem Documento não contém páginas na sua geração, ou seja, não é impresso com um layout sem dados. Para realizar essa configuração, basta desmarcar a opção padrão citada anteriormente.
Para o layout de exemplo mostrado na Introdução e aplicando um filtro no Objeto de Negócio que não traz nenhum dado, a geração do relatório será exibida conforme abaixo:
Comportamento quando o relatório for gerado pela API de integração., será entregue uma resposta, de status code 200, com o corpo da resposta vazio.
0 Comentários