Criar um Relatório
A gestão dos relatórios é facilitada pela utilização de uma definição do RecordM. Para iniciar a criação de um novo relatório, basta aceder à definição Reports e clicar no botão 'Novo registo'.
Um relatório é composto por 4 blocos:

Identificação do Relatório
As informações fundamentais sobre o relatório incluem o seu nome, uma breve descrição do objetivo pretendido e o template do relatório especificado a ser utilizado durante a geração.

Para mais informações sobre como criar um modelo de relatório, consulte Configuração do modelo Excel.
Visibilidade do Relatório
A lista de grupos que terão acesso a este relatório. A restrição é feita com a ajuda das permissões do lelve4 e é feita com a referência cruzada entre os grupos de utilizadores e a lista de grupos definida aqui.


Execução de um relatório
Observando as imagens acima, nota-se que um relatório é composto por vários campos de entrada, auxiliando na definição de um novo relatório e determinando seus parâmetros de geração. O ReportM atualmente acomoda três tipos de execução para a geração de relatórios:
Execução manual
Esta execução introduzirá um novo menu na definição de pesquisa, permitindo-lhe gerar o relatório opcionalmente contra registos seleccionados.
TIP
Quaisquer linhas seleccionadas serão passadas para o relatório através da variável query.


Extra arguments for the report
Também é possível ampliar o formulário de geração de relatório fornecendo argumentos adicionais que serão passados para o relatório. Para obter mais informações sobre argumentos de um relatório, consulte Report COB_ ARGS.


Durante a geração do relatório, os valores introduzidos nestes campos serão passados o relatório como um valor de um cob arg, permitindo serem referenciados num relatório.
Execução a partir de um evento
Esta execução ocorre com base num evento. É feita a avaliação se o relatório deve ser gerado com base numa condição Groovy especificada no campo de condição e se o resultado for verdadeiro.
TIP
Para obter mais informações sobre como escrever condições em Groovy, consulte ...
msg.field("State").changedTo("Done")
Execução agendada
Esta execução automatiza a geração de relatórios com base em agendamentos. O único requisito é definir a frequência com que o relatório deve ser gerado.

Acções
Depois de gerar um relatório, o utilizador tem a flexibilidade de determinar acções subsequentes. De momento, as acções suportadas são:
Enviar para uma lista de destinatários
A configuração do email é bastante simples, assemelhando-se a uma configuração típica. Aqui, especifica o(s) destinatário(s) da mensagem de correio eletrónico, o assunto e o conteúdo do corpo da mensagem.
Além disso, está disponível suporte para placeholders. Esta funcionalidade é possível com a ajuda do Handlebars, permitindo emails mais poderosos em que os dados fornecidos ao contexto do Handlebars podem ser extraídos do próprio relatório. Inicialmente, as variáveis são definidas juntamente com as referências de células correspondentes (por exemplo, sheet!A1), que podem ser referenciadas nos templates do Handlebars.
Ranges de células
Se prefixar a referência da célula com o número da última linha, como sheet!A1:10, pode definir um intervalo. Neste cenário, terá acesso a todos os valores não vazios da coluna A nas linhas 1 a 10.

Variáveis default disponíveis no contexto do Handlebar:
| Variável | Descrição |
|---|---|
| REPORT_NAME | o nome do relatório |
| REPORT_DESCRIPTION | a descrição do relatório |
| REPORT_SOURCE_INSTANCE_ID | o ID da instância que accionou a geração do relatório. Apenas aplicável a relatórios accionados a partir de um evento |
Handlerbar helpers:
| Helper | Descrição | Tipo de Input | argumento |
|---|---|---|---|
| emails | concatena a lista de valores separado pelo caracter ';' | List | List |
| join | concatena a lista de valores separado pelo caracter indicado | List | char (default ',') |
| iterate | Separa o texto usando o caracter indicado e itera os valores | String | char (default ',') |
| isEqual | compara dois valores e retorna TRUE se forem iguaus | any | |
| isNotEqual | compara dois valores e retorna TRUE se não forem iguais | any |
Anexar o relatório gerado a uma instância
Neste caso, é necessário indicar o nome do campo ao qual se pretende anexar o ficheiro.

WARNING
Só é possível anexar um ficheiro à instância de origem do evento se o tipo de relatório for EVENT.
