No artigo de hoje, vou mostrar como adicionar campos e fórmulas em um relatório padrão sem precisar mexer com códigos fontes.
Um dos recursos interessantes de relatórios feitos com TReport, é a possibilidade de você manipular o layout, criando e editando campos.
Para fazer isso é bem simples, no caso para esse tutorial iremos usar como exemplo o MATR680, que é o relatório de Pedidos não Entregues.
Então vamos agora ao passo a passo de como fazer:
- Primeiramente imprima o relatório normalmente, para ver o visual padrão dele
- Abra novamente a tela do relatório, e clique em Outras Ações > Personalizar
- Na esquerda, selecione a seção que você vai manipular, no nosso caso será a “Por Pedido”, e em seguida, clique em Células. Na esquerda vai estar as tabelas do sistema que estão posicionadas e na direita vai ter os campos. Iremos adicionar o nome do Município do cliente, posicionando no campo e clicando na seta para direita.
- Depois iremos subir o campo até a posição A5. Em seguida, na esquerda, iremos descer até a opção Fórmula, e iremos clicar na seta da direita para adicionar
- Na tela de fórmulas, nós podemos usar uma célula que está sendo impressa, então por exemplo, na primeira linha eu mostro como usar o Posicione. Ou se for o caso, também é possível acionar direto o campo da tabela se ela já estiver posicionada, como o exemplo abaixo. (Outras funções em AdvPL também funcionam como SubStr, Alltrim, Capital, etc)
- Após adicionar o código do Município no item 5, iremos subir ele até a posição A5. Depois iremos clicar em Salvar, o nome do layout será chamado de Com_Municipio. E no Salvar para, iremos deixar marcado para Todos os Usuários.
- Após salvar, abra novamente o relatório, e veja na opção de Layout, selecione o novo criado
- Ao imprimir, veja as informações que foram adicionadas no relatório
Observações:
- Alguns relatórios padrões não permitem a edição de layout
- Já alguns não permitem salvar layouts novos
- Para ambos casos acima, a alternativa talvez seja congelar o relatório padrão, mas utilize apenas em último caso, nesse link tem um tutorial de como fazer – Como baixar fontes padrão de relatórios e transformá-los em User Function?
Bom pessoal, por hoje é só.
Abraços e até a próxima.
Muito bom Dani.
Opa, eu que agradeço pelo comentário Rafa.
Grande abraço.
É possível inserir neste campo de fórmulas do relatório consultas em SQL? Preciso percorrer todos os atendimentos e ver quais estão em aberto, e usando o posicione eu não consigo validar, já que existe mais de um registro para o mesmo veículo, por exemplo.
Boa tarde Rodrigo, tudo joia?
Eu nunca precisei inserir direto query SQL. Mas você poderia adicionar uma User Function, que executa uma query SQL e retorna um valor para ser impresso na célula.
Mas talvez pode ser que fique lento alguma coisa. Talvez o interessante seria baixar o fonte no portal do cliente, ai você transforma em User Function e faz suas customizações.
Abraços.
Bom dia, você teria o fonte deste personalizar padrão ? Procurei dentro dos fontes dos relatórios padrões e não localizei essa tela que abre de Relatórios e Seções >> Células. Preciso criar uma tela de manipulação de campos parecida com essa do personalizar, seria ideal o modelo de montagem que a totvs fez.
Bom dia Dalton, tudo joia?
Infelizmente nunca fizemos uma customização parecida com essa tela do padrão.
Mas o que você pode tentar ver é, abre a tela de personalização, ai com ela aberta, pressione Shift + F6 e vá até aba Stack, e veja qual classe que o sistema esta utilizando para montar a tela.
Você pegando o nome da classe, procure no TDN para ver se ela é aberta para utilização, pode ser que às vezes você consegue acionar ela na sua customização, ai daria pra ganhar um tempo.
Tenha uma ótima e abençoada quinta feira.
Um grande abraço.