Partilhar via


Trabalhar com fluxos do processo de negócio através de código

Os fluxo de processo empresarial permitem criar vendas, serviços e outros processos de negócio mais eficientes e otimizados. Criam uma visualização do seu processo empresarial ao colocar controlos especiais na parte superior dos formulários de tabela. Os utilizadores são orientados ao longo de várias fases dos processos de vendas, marketing ou serviço até os concluírem. Cada processo suporta múltiplas fases e passos. Pode adicionar ou remover passos, alterar a ordem das fases ou adicionar novas tabelas ao fluxo de processo empresarial.

É possível executar simultaneamente diferentes instâncias de fluxo de processo empresarial na mesma linha de tabela. Os utilizadores podem alternar entre instâncias paralelas do processo empresarial e retomar o trabalho numa fase atual do processo.

Este tópico fornece informações sobre a forma como pode trabalhar programaticamente com fluxos de processo empresarial.

Note

Não tem de escrever código para trabalhar com fluxos de processo empresarial. Para obter informações sobre como pode utilizar a IU para criar e gerir fluxos de processo empresarial, veja Descrição Geral dos Fluxos de Processo Empresarial

Pré-requisitos dos fluxos de processo empresarial

As tabelas personalizadas e as tabelas com formulários de IU atualizados podem participar no fluxo de processo empresarial. As tabelas de IU atualizadas têm a propriedade IsAIRUpdated definida para true.

Para ativar uma tabela para o fluxo de processo empresarial, defina a propriedade IsBusinessProcessEnabled para true.

Important

A ativação de uma tabela para o fluxo de processo empresarial é um processo unidirecional. Não é possível revertê-lo.

Definir fluxos de processo empresarial

Utilize o estruturador de fluxo de processo empresarial visual para definir um fluxo de processo empresarial. Mais informações: Criar um fluxo do processo de negócio

Por predefinição, é criado uma linha de fluxo de processo empresarial no estado Draft.

É armazenada uma definição de fluxo de processo empresarial na tabela workflow, ao passo que as informações da fase do fluxo de processo empresarial são armazenadas na tabela processstage.

Ativar fluxo de processo empresarial

Antes de poder utilizar o fluxo do processo, tem de o ativar. Para o ativar, tem de ter o privilégio prvActivateBusinessProcessFlow para a tabela Workflow. Utilize a mensagem UpdateRequest para definir o estado da linha de tabela Workflow para Activated. Mais informações: Realizar operações especializadas com Atualização

Note

Também pode utilizar o estruturador de fluxo de processo empresarial para ativar um fluxo de processo empresarial.

Tabela de Fluxo do processo empresarial

Depois de ativar uma definição de fluxo do processo empresarial através da alteração do estado da linha de tabela Workflow correspondente ou com recurso ao estruturador de fluxo de processo empresarial, é automaticamente criada uma tabela personalizada com o seguinte nome, para armazenar as instâncias de fluxo de processo empresarial ativadas: "<activesolutionprefix> _ <uniquename>", em que uniquename deriva do nome que especificar.

Por exemplo, se tiver atribuído o nome "O Meu BPF Personalizado" à definição de fluxo de processo empresarial e estiver a utilizar o publicador predefinido (novo) para a sua solução ativa, o nome da tabela personalizada criada para armazenar instâncias do processo será "novo_mycustombpf".

Se o valor uniquename não estiver disponível para uma definição de fluxo do processo empresarial (por exemplo, caso o fluxo do processo empresarial tenha sido importado como parte da solução a partir de uma versão anterior), o nome predefinido da tabela personalizada será "\<activesolutionprefix>_bpf_<GUID_BPF_Definition>":

Important

As linhas do fluxo de processo empresarial de exemplo utilizam tabelas do sistema para armazenar as linhas de instâncias de fluxo de processo empresarial correspondentes.

No entanto, as novas definições de fluxo de processo empresarial que criar utilizarão tabelas personalizadas para armazenar as respetivas linhas de instâncias, conforme explicado anteriormente.

Pode obter o nome da sua tabela de fluxo de processo empresarial de qualquer uma das seguintes formas:

  • Através da IU: utilize a IU de personalização para navegar para a sua tabela de fluxo de processo empresarial:

    Navegar para a sua tabela de fluxo do processo de negócio usando a IU.

  • Através da API Web: utilize o seguinte pedido:

    Pedido

    GET [Organization URI]/api/data/v9.0/workflows?$filter=name eq 'My Custom BPF'&$select=uniquename HTTP/1.1
    

    Response

    {  
    "@odata.context":"[Organization URI]/api/data/v9.0/$metadata#workflows(uniquename)",
    "value":[  
         {  
             "@odata.etag":"W/\"1084677\"",
             "uniquename":"new_mycustombpf",
             "workflowid":"2669927e-8ad6-4f95-8a9a-f1008af6956f"
         }
      ]
    }
    
  • Utilizar o serviço de Organização: utilize o seguinte exemplo de código:

    QueryExpression query = new QueryExpression
    {
        EntityName = "workflow",
        ColumnSet = new ColumnSet("uniquename"),
        Criteria = new FilterExpression
        {
            Conditions =
            {
                new ConditionExpression
                {
                    ColumnName = "name",
                    Operator = ConditionOperator.Equal,
                    Values = { "My Custom BPF" }
                }
            }
        }
    };
    Workflow Bpf = (Workflow)_serviceProxy.RetrieveMultiple(query).Entities[0]; 
    

Note

A propriedade IsBPFEntity é true para as tabelas de fluxos de processo empresarial. Pode obter todas as tabelas de fluxos de processo empresarial na sua instância ao executar o seguinte pedido da API Web:

GET [Organization URI]/api/data/v9.0/EntityDefinitions?$select=SchemaName,LogicalName,DisplayName&$filter=IsBPFEntity eq true HTTP/1.1

Gerir a segurança de fluxos de processo empresarial

A tabela personalizada criada automaticamente ao ativar um fluxo de processo empresarial para armazenar instâncias de fluxos de processo empresarial cumpre o modelo de segurança padrão, assim como qualquer outra tabela personalizada no Microsoft Dataverse. Isto significa que as permissões concedidas nestas tabelas definem as permissões de runtime para os utilizadores dos fluxos de processo empresarial.

A tabela personalizada do fluxo de processo empresarial possui um âmbito organizacional. As permissões de criação, obtenção, atualização e eliminação nesta tabela definem a permissão que os utilizadores teriam com base nas suas funções atribuídas. Por predefinição, quando a tabela personalizada do fluxo de processo empresarial é criada, apenas as funções de segurança Administrador de Sistema e Personalizador de Sistemas possuem acesso. Deve conceder explicitamente permissões à nova tabela do fluxo de processo empresarial (por exemplo, Meu BPF Personalizado) para outras funções de segurança conforme necessário.

Gestão de Direitos de Acesso.

Criar, obter, atualizar e eliminar linhas da tabela do fluxo de processo empresarial (instâncias do processo)

A tabela personalizada, criada automaticamente ao ativar uma definição de fluxo de processo empresarial, armazena todas as instâncias do processo na definição de fluxo de processo empresarial. A tabela personalizada suporta a criação através de programação e gestão de linhas padrão (instâncias do processo) ao utilizar a API Web e o ponto final do CRM 2011.

Important

A mudança para outra instância de processo numa linha de tabela é apenas suportada através de IU (cliente) ou através de programação com as informações disponíveis nesta secção. Já não pode utilizar a mensagem SetProcess (SetProcess Action ou SetProcessRequest) para alternar entre processos através de programação (definir outro fluxo de processo empresarial como a instância de processo ativa) na linha de tabela de destino.

Consideremos o seguinte exemplo onde temos um fluxo de processo de negócio entre tabelas, “O Meu BPF Personalizado”, com 3 fases: F1:Conta, F2:Conta e F3:Contacto.

Fluxo de processo empresarial personalizado.

Obtenha todos as linhas (instâncias) de uma tabela de fluxo de processo de negócio

Se o nome da sua tabela de fluxo do processo empresarial for "new_mycustombpf", utilize a seguinte consulta para obter todas as linhas (instâncias do processo) da sua tabela de fluxo de processo empresarial:

GET [Organization URI]/api/data/v9.0/new_mycustombpfs HTTP/1.1 

Neste momento, poderá não obter nenhuma instância na sua resposta devido à inexistência de instâncias. Execute este pedido depois de criar uma instância da sua definição de fluxo de processo empresarial mais à frente neste tópico.

Note

Para saber como pode obter o nome da sua tabela de fluxo de processo empresarial, veja a secção anterior, Tabela de fluxo de processo de negócio.

Criar uma linha de tabela de fluxo de processo empresarial (instância do processo)

Se quiser mudar para outro fluxo de processo empresarial para uma linha de tabela sem recorrer à IU, crie programaticamente uma linha de tabela de fluxo de processo empresarial (instância do processo).

Para criar uma linha de tabela de fluxo de processo empresarial, tem de especificar os seguintes valores:

  • Associe a linha de tabela de fluxo de processo empresarial a uma linha de tabela primária ao definir a propriedade de navegação de valor único através da anotação @odata.bind. Para ficar a saber o nome da propriedade de navegação que aponta para a linha de tabela primária da sua definição de fluxo do processo empresarial, utilize o documento de metadados CSDL.

  • Associe a linha de tabela de fluxo de processo empresarial a uma fase válida especificada na definição de fluxo de processo empresarial ao definir a propriedade de navegação de valor único através da anotação @odata.bind. Para ficar a saber o nome da propriedade de navegação (normalmente, activestageid) que aponta para a linha da fase da sua definição de fluxo do processo empresarial, utilize o documento de metadados CSDL.

    Além disso, pode obter informações sobre todas as fases de uma definição de fluxo do processo de negócio através do pedido da API Web que se segue, partindo do princípio de que o ID da sua definição de fluxo do processo de negócio é 2669927e-8ad6-4f95-8a9a-f1008af6956f:

    Pedido

    GET [Organization URI]/api/data/v9.0/processstages?$select=stagename&$filter=processid/workflowid eq 2669927e-8ad6-4f95-8a9a-f1008af6956f HTTP/1.1
    

    Response

    {
        "@odata.context": "[Organization URI]/api/data/v9.0/$metadata#processstages(stagename)",
        "value": [
            {
                "@odata.etag": "W/\"858240\"",
                "stagename": "S1",
                "processstageid": "9a9185f5-b75b-4bbb-9c2b-a6626683b99b"
            },
            {
                "@odata.etag": "W/\"858239\"",
                "stagename": "S3",
                "processstageid": "a107e2fd-7543-4c1a-b6b4-b8060ecb1a1a"
            },
            {
                "@odata.etag": "W/\"858238\"",
                "stagename": "S2",
                "processstageid": "19a11fc0-3398-4214-8522-cb2a97f66e4b"
            }
        ]
    }
    

Em seguida, utilize o seguinte pedido para criar uma instância da sua definição de fluxo do processo empresarial para uma linha de conta (ID=a176be9e-9a68-e711-80e7-00155d41e206) e a fase ativa definida como a primeira fase da instância do processo, S1 (ID=9a9185f5-b75b-4bbb-9c2b-a6626683b99b):

Pedido

POST [Organization URI]/api/data/v9.0/new_mycustombpfs HTTP/1.1 
Content-Type: application/json; charset=utf-8 
OData-MaxVersion: 4.0 
OData-Version: 4.0 
Accept: application/json 

{
    "bpf_accountid@odata.bind": "/accounts(a176be9e-9a68-e711-80e7-00155d41e206)",
    "activestageid@odata.bind": "/processstages(9a9185f5-b75b-4bbb-9c2b-a6626683b99b)"    
}

Response

HTTP/1.1 204 No Content
OData-Version: 4.0
OData-EntityId: [Organization URI]/api/data/v9.0/new_mycustombpfs(cc3f721b-026e-e811-80ff-00155d513100)

Tenha em atenção que, se quiser criar uma instância da sua definição de fluxo de processo empresarial com a fase ativa definida como outra fase que não a primeira, também deve fornecer traversedpath no seu pedido. O caminho percorrido é a cadeia de carateres delimitada por vírgulas de IDs de fases do processo que representam as fases visitadas da instância do fluxo de processo empresarial. O seguinte pedido cria uma instância para uma linha de conta (ID=679b2464-71b5-e711-80f5-00155d513100) e a fase ativa definida como segunda fase, S2 (ID=19a11fc0-3398-4214-8522-cb2a97f66e4b).

POST [Organization URI]/api/data/v9.0/new_mycustombpfs HTTP/1.1 
Content-Type: application/json; charset=utf-8 
OData-MaxVersion: 4.0 
OData-Version: 4.0 
Accept: application/json 

{
    "bpf_accountid@odata.bind": "/accounts(679b2464-71b5-e711-80f5-00155d513100)",
    "activestageid@odata.bind": "/processstages(19a11fc0-3398-4214-8522-cb2a97f66e4b)",
    "traversedpath":"9a9185f5-b75b-4bbb-9c2b-a6626683b99b,19a11fc0-3398-4214-8522-cb2a97f66e4b"   
}

Atualizar uma linha de tabela de fluxo de processo empresarial (instância do processo)

Pode atualizar uma instância do processo para navegar para a fase anterior ou seguinte, bem como para abandonar, reativar ou concluir uma instância do processo.

Navegação pelas fases

Para navegar para uma fase diferente, terá de atualizar uma linha de instância do processo para alterar o respetivo ID da fase ativa e atualizar o caminho percorrido. Tenha em atenção que tem de navegar para a fase anterior ou seguinte apenas durante a atualização de uma instância de fluxo de processo empresarial.

Para navegar pelas fases, necessitará do ID da instância de fluxo de processo empresarial que pretende atualizar. Para obter todas as instâncias do seu fluxo de processo empresarial, veja a secção acima Obter todas as linhas (instâncias) para uma tabela de fluxo de processo de negócio.

Partindo do princípio de que o ID da instância do processo que pretende atualizar é dc2ab599-306d-e811-80ff-00155d513100, utilize o seguinte pedido para atualizar a fase ativa de S1 para S2:

PATCH [Organization URI]/api/data/v9.0/new_mycustombpfs(dc2ab599-306d-e811-80ff-00155d513100) HTTP/1.1
Content-Type: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0

{
    "activestageid@odata.bind": "/processstages(19a11fc0-3398-4214-8522-cb2a97f66e4b)",
    "traversedpath": "9a9185f5-b75b-4bbb-9c2b-a6626683b99b,19a11fc0-3398-4214-8522-cb2a97f66e4b"
}

Alterar o estado de uma instância do processo: abortar, reativar ou concluir

Uma instância do processo pode ter um dos seguintes estados: Ativa, Concluída ou Abortada. O estado é determinado pelas seguintes colunas na linha de instância do processo:

  • statecode: apresenta o estado da instância do processo.

    valor Label
    0 Ativos
    1 Inativos
  • statuscode: apresenta informações sobre o estado da instância do processo.

    valor Label
    1 Ativos
    2 Concluído
    3 Abortada

Portanto, para Abortar uma instância do processo, utilize o seguinte pedido para definir adequadamente os valores statecode e statuscode:

PATCH [Organization URI]/api/data/v9.0/new_mycustombpfs(dc2ab599-306d-e811-80ff-00155d513100) HTTP/1.1   
Content-Type: application/json   
OData-MaxVersion: 4.0   
OData-Version: 4.0 
  
{ 
    "statecode" : "1", 
    "statuscode": "3" 
}

Note

Pode abortar uma instância do processo em qualquer fase.

Da mesma forma, para reativar uma instância do processo, substitua os valores statecode e statuscode no código acima por 0 e 1, respetivamente.

Por fim, para definir um estado de instância do processo para Concluída, o que só é possível na última fase de uma instância do processo, substitua os valores statecode e statuscode no código acima por 0 e 2, respetivamente.

Navegação entre tabelas

No caso da navegação entre tabelas deste exemplo, tem de definir a fase ativa da instância do processo para a última fase, S3 (ID=a107e2fd-7543-4c1a-b6b4-b8060ecb1a1a), atualizar o caminho percorrido e definir uma linha de contacto como linha de tabela primária de acordo com a definição de fluxo do processo de negócio.

PATCH [Organization URI]/api/data/v9.0/new_mycustombpfs(dc2ab599-306d-e811-80ff-00155d513100) HTTP/1.1   
Content-Type: application/json   
OData-MaxVersion: 4.0   
OData-Version: 4.0 
  
{
    "activestageid@odata.bind": "/processstages(a107e2fd-7543-4c1a-b6b4-b8060ecb1a1a)",
    "traversedpath":"9a9185f5-b75b-4bbb-9c2b-a6626683b99b,19a11fc0-3398-4214-8522-cb2a97f66e4b,a107e2fd-7543-4c1a-b6b4-b8060ecb1a1a",
    "bpf_contactid@odata.bind": "/contacts(0e3f10b0-da33-e811-80fc-00155d513100)"
}

Eliminar uma linha de tabela de fluxo de processo empresarial (instância do processo)

Utilize o seguinte pedido da API Web:

Pedido

DELETE [Organization URI]/api/data/v9.0/new_mycustombpfs(dc2ab599-306d-e811-80ff-00155d513100) HTTP/1.1

Response

Se a linha existir, receberá uma resposta normal com o estado 204 para indicar que a eliminação foi bem-sucedida. Se a tabela não for encontrada, receberá uma resposta com o estado 404.

Utilizar as mensagens RetrieveProcessInstances e RetrieveActivePath

Utilize a mensagem RetrieveProcessInstances (RetrieveActivePath Function ou RetrieveProcessInstancesRequest) para obter todas as instâncias de fluxo de processo empresarial de uma linha de tabela em todas as definições de processo empresarial. As instâncias de fluxo de processo empresarial devolvidas para uma tabela são ordenadas com base na coluna modifiedon da instância. Por exemplo, a instância de fluxo de processo empresarial modificada mais recentemente será a primeira linha da coleção obtida. A instância de fluxo de processo empresarial modificada mais recentemente é a que está ativada na IU de uma linha de tabela.

Cada linha de instância de fluxo de processo empresarial devolvida para uma linha de tabela devido à utilização da mensagem RetrieveProcessInstances armazena o ID da fase ativa na coluna processstageid, que pode ser utilizada para localizar a fase ativa, e navega para a fase anterior ou seguinte. Para tal, primeiro tem de localizar o caminho ativo de uma instância de fluxo de processo empresarial e as fases disponíveis na instância de fluxo do processo através da mensagem RetrieveActivePath (RetrieveActivePath Function ou RetrieveActivePathRequest).

Quando tiver a fase ativa e as informações do caminho ativo de uma instância de fluxo de processo empresarial, poderá utilizar as informações para navegar para uma fase anterior ou seguinte no caminho ativo. A navegação de avanço entre fases deve ser realizada sequencialmente, ou seja, só deve avançar para a próxima fase do caminho ativo.

Para ver o exemplo completo que demonstra a utilização desses dois métodos e da navegação entre fases com recurso ao Serviço de organização, veja Sample: Work with business process flows (Exemplo: trabalhar com fluxos do processo empresarial).

Aplicar um fluxo de processo empresarial durante a criação de uma linha de tabela

Esta secção fornece informações sobre o comportamento predefinido para aplicar automaticamente fluxos de processo empresarial em novas linhas de tabela criadas no Dataverse, bem como sobre a forma como pode definir manualmente para aplicar um fluxo de processo empresarial da sua preferência a novas linhas de tabela.

Por predefinição, no caso das tabelas que têm múltiplos fluxos do processo empresarial definidos para as mesmas, o sistema aplica um fluxo de processo empresarial à nova linha de tabela com recurso à seguinte lógica de vários passos:

  1. Identifique todos os fluxos do processo empresarial aplicáveis à nova linha de tabela com base na coluna Workflow.PrimaryEntity das linhas de definição de fluxo de processo empresarial.
  2. Identifique as definições de fluxo de processo empresarial às quais o utilizador atual tem acesso. Para obter informações sobre como o acesso a um fluxo de processo empresarial é determinado e gerido, veja a secção acima, Gerir segurança para fluxos do processo empresarial.
  3. Todas as definições de fluxo de processo empresarial no sistema estão sujeitas a uma ordem global por tabela. A ordem do fluxo de processo empresarial é armazenada na coluna Workflow.ProcessOrder. As definições de fluxo de processo empresarial de uma tabela são ordenadas com base nesta ordem. É escolhida a que tem o menor valor de ordem.
  4. Por fim, se a linha de tabela for criada a partir de uma aplicação empresarial (módulo de aplicação), é aplicado um nível de filtragem adicional com vista à escolha do fluxo de processo empresarial que vai ser aplicado automaticamente à nova linha de tabela. Quando trabalharem numa aplicação, os utilizadores só poderão aceder às tabelas, aos fluxos do processo empresarial, às vistas e aos formulários relevantes aos quais têm acesso devido às funções de segurança atribuídas à aplicação empresarial.
    • Se a aplicação empresarial não contiver nenhum fluxo de processo empresarial, o fluxo de processo empresarial será aplicado conforme explicado até ao passo 3.
    • Se a aplicação empresarial tivesse um ou mais fluxos do processo empresarial, apenas os fluxos do processo empresarial presentes na aplicação seriam aplicáveis. Neste caso, quando o utilizador está a trabalhar no contexto de uma aplicação empresarial, a lista de fluxos do processo empresarial do passo 3 é filtrada para os fluxos que fazem parte da aplicação empresarial e que estão presentes no módulo de aplicação. Além disso, a lista é ordenada com base na ordem do processo.
    • Se não estiver disponível nenhum fluxo de processo empresarial numa aplicação empresarial para a tabela ou nenhum fluxo ao qual o utilizador tem acesso, não será aplicado nenhum fluxo de processo empresarial à nova linha de tabela.

Pode substituir a lógica predefinida de fluxos do processo empresarial que são aplicados automaticamente às novas linhas de tabela. Para tal, defina a coluna ProcessId da tabela para um dos seguintes valores quando criar uma nova linha de tabela:

  • Defina para Guid.Empty para ignorar a definição de um fluxo de processo empresarial para novas linhas de tabela. É recomendado que o faça se estiver a criar linhas de tabela em massa, mas não quiser que o fluxo do processo empresarial seja aplicado aos mesmos.
  • Defina-o para uma tabela de fluxo de processo empresarial específica (como uma referência de tabela). Neste caso, o sistema aplicará o fluxo de processo empresarial especificado em vez da lógica predefinida.

Se não definir um valor para a coluna ProcessId quando criar uma nova linha de tabela, o sistema aplicará a lógica predefinida, conforme explicado anteriormente.

Note

A substituição da lógica predefinida de fluxos do processo empresarial que são aplicados automaticamente a novas linhas de tabela só é suportada programaticamente. Não é possível fazê-lo com recurso à IU.

As colunas herdadas relacionadas com processos (tais como ProcessId, StageId e TraversedPath) em tabelas ativadas para fluxos de processo empresarial já foram preteridas. A manipulação destas colunas herdadas relacionadas com processos para linhas de tabela visadas não garante a consistência do estado do fluxo do processo empresarial e não é um cenário suportado. É recomendado utilizar as colunas da tabela de fluxo de processo empresarial conforme explicado anteriormente na secção Criar, obter, atualizar e eliminar linhas de tabela de fluxo de processo empresarial (instâncias do processo)

A única exceção consiste em modificar programaticamente a coluna ProcessId quando criar uma linha de tabela para substituir a aplicação predefinida do fluxo de processo empresarial na nova linha conforme explicado na secção anterior, Aplicar um fluxo de processo empresarial durante a criação de uma linha de tabela.

Suporte de programação do lado do cliente para fluxos do processo empresarial

Há um objeto do lado do cliente que pode utilizar para interagir com fluxos do processo empresarial nos seus scripts de formulário. Os fluxos de processo empresarial acionam eventos do lado do cliente sempre que um processo é aplicado a uma linha, que uma fase do mesmo é alterada ou que o respetivo estado é alterado para Active, Finished ou Aborted. Mais informações: formContext.data.process (referência da API de Cliente)

Número máximo de processos, e de fases de passos

O valor predefinido para o número máximo de fluxos do processo empresarial ativados por tabela é 10. Pode especificar um valor diferente através da coluna Organization.MaximumActiveBusinessProcessFlowsAllowedPerEntity. No entanto, se o valor for superior a 10, o desempenho do seu sistema poderá diminuir quando mudar de processos ou abrir uma linha que tem um fluxo de processo empresarial atribuído. Isto poderá ser especialmente percetível se os processos abrangerem múltiplas tabelas.

As seguintes definições não são personalizáveis:

  • O número máximo de fases por tabela no processo é 30.

  • O número máximo de passos em cada fase é 30.

  • O número máximo de tabelas que podem participar no fluxo do processo é 5.

Note

Pode indicar-nos as suas preferências no que se refere ao idioma da documentação? Responda a um breve inquérito. (tenha em atenção que o inquérito está em inglês)

O inquérito irá demorar cerca de sete minutos. Não são recolhidos dados pessoais (declaração de privacidade).