Breadcrumbs

Personaliza e descarrega relatórios com os nossos modelos dinâmicos no Word

Na GlobalSuite Solutions, entendemos que uma gestão documental eficiente e personalizada é fundamental para otimizar os processos empresariais. Por isso, projetámos funcionalidades que simplificam as tarefas mais essenciais, como a geração de relatórios. Uma das nossas ferramentas mais destacadas é a possibilidade de gerar documentos personalizados em formato Word utilizando modelos dinâmicos.

Como funciona esta funcionalidade?
A nossa funcionalidade de modelos dinâmicos aproveita o poder do Microsoft Word, uma ferramenta amplamente conhecida e utilizada no âmbito empresarial. Criar um modelo no Word é simples: basta desenhar o seu documento base e introduzir as variáveis necessárias utilizando um formato intuitivo, como {element.name}, {element.category} ou {control.name}.

Além disso, a ferramenta permite reutilizar estes modelos em diferentes processos, adaptando-os a diversas necessidades sem necessidade de redesenhar cada documento do zero.

Vantagens principais

  1. Personalização sem limites: Desenhe documentos adaptados ao seu estilo corporativo ou necessidades específicas.

  2. Economia de tempo: Gere relatórios em segundos sem copiar e colar manualmente dados.

  3. Redução de erros: Ao automatizar o preenchimento de dados, minimiza inconsistências e erros humanos.

  4. Integração direta com o GlobalSuite: Aproveite as variáveis configuradas previamente para que tudo esteja sincronizado.

Conclusão
O download de relatórios Word a partir de modelos é uma ferramenta chave para quem procura eficiência e precisão nos seus processos documentais. Ainda não a utiliza? Descubra como esta funcionalidade pode ajudá-lo a otimizar o seu trabalho diário.

Lista de Variáveis para uso

Nesta seção podemos ver todas as variáveis para uso.

Variáveis de Elementos.

Variável

Descrição

{element.name}

Nome do Item

{element.units}

Unidades do Item

{element.category}

Categoria do Item

{element.category_path}

Caminho da Categoria do Item

{element.supervisor}

Responsável pelo Item

{element.other_supervisor}

Outros Responsáveis pelo Item

{element.owner}

Proprietário do Item

{element.dim_IX.dimension_name}

Nome da Dimensão com alias IX. Substituir o X pelo número do alias.

{element.dim_IX.dimension_alias}

Alias da dimensão do item.

Substituir o X pelo número do alias. (I1, I2, …, IN)

{element.dim_IX.dimension_value}

Valor específico da dimensão IX no item.

Substituir o X pelo número do alias.

{element.element_customAttr_Atributo_Nombre}

Atributos Configuráveis identificando o atributo pelo nome.

{#element.custom_attrs}
{custom_attr_name}: {custom_attr_value}
{/}

Lista de atributos configuráveis. etiqueta de início e outra de fim (início com '#' e fim com '/'), e o bloco de texto que está dentro repete-se tantas vezes quantos elementos desse tipo existirem

{#element.dimensions}
{dimension_name} ({dimension_alias}): {dimension_value}
{/}

Ciclo de todas as dimensões onde se podem adicionar todos os valores da dimensão do item, os seus alias e os seus nomes.

{#element.descendants}
{descendant.name}

{descendant.category}

{descendant.dim_I1.dimension_value}
{/}

{descendant.dim_I1.dimension_value}
{/}

Laço que percorre todos os filhos do elemento segundo a árvore de dependências. Isto listaria todos os elementos que dependem do elemento selecionado como uma lista plana, mostrando o seu nome e os seus atributos. Também estariam disponíveis os mesmos requisitos e as mesmas variáveis que para um elemento, ou seja, os que aparecem no comentário anterior colocando ‘descendant.’ à frente por estar dentro do laço.

Importante destacar que dentro desta informação também podem ser obtidos riscos e controlos como será visto na seção seguinte.

{#element.descendants | categoryType: ‘PROCESSES’}

{descendant.name}

{descendant.category}

{descendant.dim_I1.dimension_value}
{/}

{descendant.dim_I1.dimension_value}
{/}

Ciclo para obter os itens configurados na árvore de dependências com uma categoria especial.

SERVIÇOS
PROCESSOS
INFORMAÇÃO
INFRAESTRUTURAS
APLICAÇÕES
ÁREAS
PESSOAL
FORNECEDORES
TRATAMENTO
RELAÇÕES_COMERCIAIS

{element.analysis.AA1.rge}

Cálculo de Risco Global por Elemento (RGE) da Análise de Riscos onde AA1 é o alias da análise. Este valor, embora corresponda a um elemento, está associado a uma Análise de Riscos.

{element.analysis.AA1.rrge}

Cálculo de Risco Repercutido Global por Elemento (RRGE) da Análise de Riscos onde AA1 é o alias da análise. Este valor, embora corresponda a um elemento, está associado a uma Análise de Riscos.

Variáveis de Ameaças/Riscos. Opção do GlobalSuite Análise de Riscos.

A informação desta tabela representa toda a informação que pode ser obtida a partir da opção de Análise de Riscos. Esta informação estará associada a um item que será o item do relatório descarregado.

Para obter a informação da Análise de Riscos, é necessário adicionar o seu alias, que é um campo que pode ser configurado no GlobalSuite na configuração geral da análise de riscos (Análise - Análise de Riscos - Informação Geral)

image-20250605-061826.png

Variável

Descrição

{#element.analysis.AA1.threats}
{threat_column_amenaza}
{threat_column_vulnerabilidad}
{/}

Valor das Colunas principais dos riscos (são os campos de texto). Exemplo com Ameaça e Vulnerabilidade. O alias AA1 corresponde ao alias da análise onde estão os riscos e controlos que se pretendem obter no relatório.

{#element.analysis.AA1.threats}
{threat_dim_A1}

{threat_dim_A2}

….

{threat_dim_AXX}
{/}

Dentro do ciclo de ameaças/riscos também podem ser obtidas as dimensões específicas uma a uma através do alias da dimensão. O resultado será o valor dessa dimensão para cada uma das ameaças. Este ciclo será utilizado quando se pretende um valor concreto do risco/ameaça. O alias AA1 corresponde ao alias da análise onde estão os riscos e controlos que se pretendem obter no relatório.

{#element.analysis.AA1.threats | where: ‘threat_dim_A2 == “Alto” || threat_dim_A2 == “Muito Alto”’}
{threat_dim_A1}
{threat_dim_AXX}
{/}

Loop anterior com a possibilidade de percorrer apenas os riscos/ameaças que cumpram a condição. No exemplo, pode-se ver que a dimensão com alias A2 = Alto e Muito Alto. O alias AA1 corresponde ao alias da análise onde estão os riscos e controlos que se pretendem obter no relatório.

{#element.analysis.AA1.threats}
Risco: {threat_column_riesgo}

{#threat_dimensions}

{dimension_name}
{dimension_alias}
{dimension_value}
{/}
{/}

Dentro do loop de ameaças também é possível obter outro loop com todas as dimensões, para obter o seu nome, alias e valor. Este loop serve para representar toda a informação dos riscos/ameaças. O alias AA1 corresponde ao alias da análise onde estão os riscos e controlos que se pretendem obter no relatório. Aqui também se poderia adicionar um where ao loop de threats.

{#element.descendants}
{descendant.name}

{descendant.dim_I1.dimension_value}

{#descendant.analysis.AA1.threats}
Risco: {threat_column_riesgo}

Dimensão:{threat_dim_A2}
{/}

{/}

{/}

Obter os riscos/ameaças de um descendente da árvore de dependências que depende do elemento do relatório.

Em primeiro lugar, define-se o laço de descendentes onde já se pode obter toda a informação dos filhos da árvore de dependências.

Para obter os riscos/ameaças, é necessário incluir o mesmo laço, mas com a palavra descendant no início. Todas as variáveis de riscos/ameaças estão disponíveis e são iguais às do elemento principal.

Nota sobre campos configuráveis
Para que os campos configuráveis (configuram-se em metodologias > Riscos), sejam exibidos corretamente nos relatórios, ao configurar o modelo deve ter em conta o seguinte:

  • Todos os caracteres que não sejam letras (A-Z, a-z) ou números (0-9) devem ser substituídos por um sublinhado (_).

  • Além disso, o nome do campo deve estar em minúsculas, tal como acontece com as variáveis do sistema.

Por exemplo, se o nome original do campo for Âmbito, o identificador correto que deverá usar no modelo é:
threat_column__mbito
(o carácter com acento foi substituído por sublinhado e tudo está em minúsculas).

Lista de Controlos

As linhas desta tabela representam toda a informação que pode ser obtida a partir da opção do GlobalSuite de Gestão de Controlos. Esta informação poderá ser obtida dentro do loop de riscos/ameaças.

Variável

Descrição

{#element.analysis.AA1.threats}
Ameaça: {threat_column_amenaza}
{#threat_controls}
{control_name}
{control_soa_control}
{control_supervisor}
{control_another_supervisor}
{control_resources}
{control_deadline}
{control_observations}
{control_adequacy}
{control_action}
{control_budget}
{control_comments}
{/}
{/}

Se se pretender obter os controlos de uma ameaça para ter toda a estrutura hierarquizada, dentro do loop de riscos/ameaças, pode-se gerar um loop de controlos para obter toda a informação. No exemplo, podem-se ver os campos Core de Controlos. O alias AA1 corresponde ao alias da análise onde estão os riscos e controlos que se pretendem obter no relatório.

{#element.analysis.AA1.threats}
Ameaça: {threat_column_amenaza}
{#threat_controls}
{control_dim_C1}
{control_dim_C2}
{/}
{/}

Seguindo o mesmo loop que o anterior, além dos campos core, é possível obter as dimensões específicas identificando-as pelo número de Alias: CX

{#element.analysis.AA1.threats}
Ameaça: {threat_column_amenaza}
{#threat_controls}
{control_name}

{control_dim_C1}
{control_dim_C2}
{#control_dimensions}
{dimension_name}
{dimension_alias}
{dimension_value}
{/}
{/}

Além de obter as dimensões pelo número de alias, pode-se realizar um loop para obter toda a informação das dimensões de todos os controlos. No exemplo, veem-se as duas formas de obter as dimensões de controlos:

Identificando o alias concreto

Adicionando um loop que percorre as dimensões para obter um valor.

{#element.analysis.AA1.threats}
Ameaça: {threat_column_amenaza}
{#threat_controls | where : 'control_dim_C1=="Muito Eficaz"'}
{control_name}

{control_dim_CX}
{#control_dimensions }
{dimension_name}
{dimension_alias}
{dimension_value}
{/}
{/}

{/}

Exemplo de filtragem de controlos por uma dimensão do controlo. Neste caso, apenas traria os controlos que cumprem esta condição.

Lista de variáveis de Análise de Riscos e Metodologias

Tipo

Variável

Descrição

Análise

{analysis.AliasAnálisis.name}

Nome da Análise, sendo AliasAnálisis o valor configurado no GlobalSuite.

Análise

{analysis.AliasAnálisis.start_date}

Data de Início da Análise, sendo AliasAnálisis o valor configurado no GlobalSuite.

Análise

{analysis.AliasAnálisis.supervisor}

Responsável pela Análise, sendo AliasAnálisis o valor configurado no GlobalSuite.

Análise

{analysis.AliasAnálisis.department}

Departamento da análise, sendo AliasAnálisis o valor configurado no GlobalSuite.

Análise

{analysis.AliasAnálisis.nra}

Nível de Risco Aceitável da análise, sendo AliasAnálisis o valor configurado no GlobalSuite.

Análise

{analysis.AliasAnálisis.nro}

Nível de Risco Objetivo da análise, sendo AliasAnálisis o valor configurado no GlobalSuite.

Análise

{analysis.AliasAnálisis.vgan}

Valor geral da Análise de Riscos, sendo AliasAnálisis o valor configurado no GlobalSuite.

Análise

{analysis.AliasAnálisis.grouping_risk_calculation}

Cálculo da agregação de riscos, sendo AliasAnálisis o valor configurado no GlobalSuite.

Análise

{analysis.AliasAnálisis.risk_appetite}

Apetite de risco da análise, sendo AliasAnálisis o valor configurado no GlobalSuite.

Metodologia

{analysis.AliasAnálisis.methodology.name}

Nome da metodologia associada à análise de riscos, sendo AliasAnálisis o valor configurado no GlobalSuite.

Metodologia

{analysis.AliasAnálisis.methodology.acceptable_percentage}

% Aceitável para o cálculo de riscos críticos da análise de riscos, sendo AliasAnálisis o valor configurado no GlobalSuite.

Metodologia

{analysis.AliasAnálisis.methodology.risk_dimension}

Dimensão principal da análise de riscos da metodologia associada, sendo AliasAnálisis o valor configurado no GlobalSuite.

Metodologia

{analysis.AliasAnálisis.methodology.cost_dimension}

Dimensão do custo da análise de riscos da metodologia associada, sendo AliasAnálisis o valor configurado no GlobalSuite.

Metodologia

{analysis.AliasAnálisis.methodology.controls_methodology_name}

Nome da metodologia de controlos da análise de riscos, sendo AliasAnálisis o valor configurado no GlobalSuite.

Metodologia

{analysis.AliasAnálisis.methodology.controls_evaluation_type}

Tipo de avaliação da metodologia de controlos, sendo AliasAnálisis o valor configurado no GlobalSuite.

Operadores adicionais

Todas estas variáveis podem ser utilizadas com vários operadores para formatar:

  • Obter a variável em maiúsculas: Adicionar | UC ou | upperCase à variável. Exemplo: {element.name | UC}

  • Utilização de filtros. Operador igual. Adicionar == ao filtro. Exemplo:

{#element.analysis.AA1.threats}
Ameaça: {threat_column_amenaza}
{#threat_controls | where : 'control_dim_C1=="Muito Eficaz"'}

{/}

  • Utilização de filtros. Operador diferente. Adicionar != ao filtro. Exemplo:

{#element.analysis.AA1.threats}
Ameaça: {threat_column_amenaza}
{#threat_controls | where : 'control_dim_C1!="Muito Eficaz"'}

{/}

  • Utilização de filtros. Operadores lógicos: && (AND), || (OR)

Exemplos de personalização de Modelos

Como recolher toda a informação da metodologia de elementos em formato tabela?

image-20250127-194259.png
image-20250127-194335.png

Como configurar toda a informação das dimensões da metodologia de elementos com marcadores?

image-20250127-195021.png
image-20250127-195041.png

Como configurar a informação em forma de tabela dos riscos associados a um elemento escolhendo as colunas da tabela?

O exemplo é realizado para um campo principal chamado ameaça e um campo de texto chamado vulnerabilidade. A análise sobre a qual o modelo é realizado tem um alias chamado AA1.

Além disso, a dimensão probabilidade tem um alias A1, o impacto um alias A2 e o risco um alias A3.

image-20250204-152617.png
image-20250127-200539.png

Como gerir os dados da árvore de dependências?

Esta informação é muito necessária quando se tem que fazer um relatório de uma área específica para obter o consolidado de toda a informação. Para isso, utiliza-se a opção do GlobalSuite da árvore de dependências.

Para obter uma lista dos elementos dependentes e poder obter processos, aplicações ou qualquer recurso utilizado na área, é necessário definir um loop igual a este. O filtro é opcional e, neste caso, queremos trazer os elementos que sejam Processos.

{#element.descendants | categoryType: ‘PROCESSES’}

Nome do Processo: {descendant.name}

Proprietário: {descendant.supervisor}

Avaliação do processo:

{#descendant.dimensions}

  • {dimension_name}: {dimension_value}

{/}

{/}

Adicionalmente, também está disponível para os elementos deste loop todas as dimensões. Exemplo para obter uma tabela dos riscos por cada processo:

image-20250204-153512.png

Como obter a informação de todos os riscos filtrados por aqueles que tenham um valor Muito Alto?

Na metodologia do exemplo, a análise de riscos tem um alias AA1, e o risco tem um alias A3.

{#element.analysis.AA1.threats | where: ‘threat_dim_A3 == “Muito Alto”’}

{threat_column_amenaza}

{threat_column_vulnerabilidad}

{threat_dim_A1}

{threat_dim_A2}

{/ }

Como obter uma lista de controlos associados aos riscos / ameaças?

{#element.analysis.AA1.threats}

Risco: {threat_column_amenaza} - {threat_column_vulnerabilidad} - {threat_dim_A3}

Os controlos são:

{#threat_controls}

  • Nome do controlo: {control_name}

  • Responsável: {control_supervisor}

  • Comentários: {control_comments}

  • Avaliação:

{#control_dimensions}

ou {dimension_name}: {dimension_value}

{/}

{/}

{/}

Erros mais frequentes na configuração de relatórios.

{#element.analysis.AA1.threats}

Ameaça: {threat_column_amenaza}

{#threat_controls | where : 'control_dim_C1=="Muito Eficaz"'}

{control_name}

{control_dim_CX}

{#control_dimensions }

{dimension_name}

{dimension_alias}

{dimension_value}

{/}

{/}

{/}

Erros mais frequentes na configuração de relatórios.

  • Utilizar as variáveis e adicionar um espaço no final. Exemplo: {control_name }

  • Utilizar um loop sem adicionar o #. Exemplo: {element.analysis.AA1.threats}

  • Registrar uma variável incorreta. Exemplo {element}

  • Não fechar um loop com {/}

  • Nos filtros dos loops, utilizar apenas um =. Exemplo: {#threat_controls | where : 'control_dim_C1="Muito Eficaz"'}

  • Utilizar as variáveis em maiúsculas. Exemplo: {Element.Name} ou {element.name | uc}. No primeiro caso, a variável deve estar em minúsculas, no segundo UC deve estar em maiúsculas.