Administração do sistema
Operação RECORD_REPORT - Report de um registro
RT.FAQ-132509
A operação RECORD_REPORT está relacionado à geração de um documento a partir de um registro específico. Este tipo de operação é normalmente utilizado a partir da consulta de um registro para gerar documentos com leiautes específicos. Exemplos: Ordem de compra, Pedido de venda, Orçamento, Contratos, etc.
A execução utiliza os recursos de Template (Ver Templates de documentos). O template utilizado para a geração do documento, bem como o comportamento da execução da operação é definido através de algumas propriedades:
TEMPLATE
A propriedade TEMPLATE indica o nome lógico do arquivo a ser utilizado como template para a geração do documento. Caso não informado, o sistema assume o próprio nome global da operação.
A relação entre o nome global e o arquivo é realizada da seguinte forma:
- Todo o nome é transformado para Lowercase.
- O primeiro ".", entre o sistema e o bloco, é trasformado em "/"
- O segundo ".", entre o bloco e a operação, é transformado em "_".
Exemplo:
SISTEMA.BLOCO.OPERACAO -> sistema/bloco_operacao
O arquivo
Dado um nome global informado como SISTEMA.BLOCO.OPERACAO
O arquivo a ser utilizado como template é formado pelo nome global informado transformado da seguinte forma:
SISTEMA.BLOCO.OPERACAO -> sistema/bloco_operacao
buscará um arquivo na seguinte ordem:
{custom}/templates/{sistema}/{bloco}_{operacao}.jasper (ou .jrxml)
{bundled}/templates/{sistema}/{bloco}_{operacao}.jasper (ou .jrxml)
A indicação {bundled} refere-se à área onde a aplicação ELIGO é instalada. Exemplo: /var/lib/tomcat7/webapps/ELIGO/
A indicação {custom} refere-se à pasta onde os arquivos da instância são armazenados. Exemplo: /usr/share/tomcat7/apps/ELIGO/files/
TEMPLATE_PATHS
Esta propriedade é usada quando não é informado um template específico. Neste caso, o sistema busca por um template utilizando uma lista de lugares onde procurar.
Por padrão, os caminhos a serem procurados são:
${custom}/reports;${distro}/reports
Essas macros referem-se respectivamente a uma pasta "reports" abaixo da pastas "files" da área de arquivos da instância e à pasta "WEB-INF/reports" distribuída juntamente com a versão do sistema.
Esta preferência é utilizada em conjunto com a preferência TEMPLATE_EXTENSIONS.
TEMPLATE_EXTENSIONS
Esta preferência é usada em conjunto com a TEMPLATE_PATHS e indica as extensões de template que são pesquisadas. Caso não configurada, será usado "html;docx;odt;jasper;jrxml", ou seja, um template escrito em HTML terá preferência sobre o mesmo template escrito em JASPER.
MENU_ID
Indica um menu que permite ao usuário escolher diferentes relatórios.
As opções deste menu deverão ser relatórios do mesmo tipo (RECORD_REPORT).
IMPLEMENTATION
Indica o que deve ser utilizado para executar o relatório:
- jasper://pasta/nome - Nome de um arquivo jasper que deve ser executado.
- template://pasta/nome.ext - Informa um template que deve receber
Quando não informado, assume o próprio sistema/bloco como caminho para o arquivo jasper.
- REPORT: Executa um relatório dos dados filtrados de forma apropriada para ser impresso, ou seja, organizado em páginas com cabeçalho e rodapé. Se assemelha à operação LIST.
- RECORD_REPORT: Gera um documento que apresenta os dados de um registro com leiaute e forma apropriada para ser impresso, ou seja, organizado em páginas com cabeçalhos e rodapé. Se assemelha à operação VIEW.
Cada relatório deve ter as seguintes informações:
- Mecanismo de execução: Indica como o relatório será executado:
- Jasper
- Script engine
- SQL (PRO_REPORTS)
- Custom (código Java)
- Telescope
- Base dos dados:
- Objeto - O relatório é executado a partir de um objeto específico (que pode ser informado tanto pela informação de Tabela + ID, quando pela instância de uma classe de entidade).
- Formulário - O relatório é executado a partir do preenchimento de um formulário (QUERY).
- Tipos de processamento: Indica como o relatório é processado.
- Texto contínuo (Matricial ou térmica)
- Texto paginado (Laser, Jato de tinta ou PDF)
- Etiquetas contínuo (Matricial ou térmica)
- Etiquetas paginado (Jato de tinta)
- Mídia: Indica o papel que é utilizado:
- A4 (papel A4)
- C 104 (Contínuo 104mm)
- L 50x100 (Label 50mm de altura x 100mm de largura)
- MIME type: Indica o formato do arquivo gerado - Isso vai indicar qual o tipo de saída que poderá ser usado. Diferentes engines pode gerar mais do que uma mime-type.
- application/pdf
- plain/text
- application/x-ppla
- application/x-zpl2
No cadastramento dos tipos de impressoras, será necessário informar os mime-types aceitos pela impressora.
- Menu de relatórios: Em muitos casos, no momento da emissão do relatório existe a possibilidade do usuário escolher um layout entre alguns disponíveis. Isso ser configurável no bloco que chama este relatório e preferencialmente deve ser controlado por um menu.
Ver também