terça-feira, 19 de outubro de 2021

Como obter dados de colunas do tipo pesquisa no Power Automate

 Olá pessoal –

Conforme o Project for the web vai progredindo, vou também me aprofundando no estudo da Power Platform e seus componentes, para estar apto a trabalhar no desenvolvimento de soluções personalizadas para os clientes com os quais trabalho. Dessa maneira, na medida em que vou descobrindo e aprendendo coisas novas, a ideia é ir trazendo novos conteúdos aqui no blog e também no meu canal no YouTube a respeito da Power Platform, não ficando apenas restrito ao ecosistema PPM.

Hoje vou explorar um tópico interessante: como obter informações de campos baseados em pesquisa no Power Automate. O cenário é o seguinte:

Ao construir aplicativos no Power Apps, é possível criar tabelas que utilizem diferentes tipos de colunas – incluindo colunas de pesquisa (lookup). Por exemplo, eu construí um aplicativo simples para cadastramento de tickets de suporte (Help Desk), o qual possui um campo para definição do solicitante (requester) e também para definição da área de suporte (support area):


Acontece que, ao utilizar o Power Automate para enviar notificações (por exemplo, enviar um e-mail para notificar a equipe de que um novo ticket foi aberto), o registro armazenado na tabela principal (Tickets) não utiliza o texto que contém o nome de exibição do requisitante, assim como a área de suporte; ao invés disso, o flow irá obter apenas o Id exclusivo de cada registro, os quais estão armazenados em tabelas à parte dentro do banco de dados (neste exemplo, a tabela padrão do Power Apps User é responsável por armazenar as informações relacionadas ao solicitante, enquanto a tabela personalizada Support Area armazena os dados da área de suporte). A imagem abaixo ilustra como a notificação é entregue:


Repare como as informações do requisitante e da área de suporte são disponibilizadas em formato de código (Id). Isso acontece devido ao fato de que tanto requisitante quanto área de suporte não residem na tabela Tickets (de onde o flow está capturando as informações), mas sim nas tabelas User e Support Area.

Como obter dados de colunas do tipo pesquisa no power automate?

Então, como resolver o problema e exibir as informações esperadas na notificação que é enviada por e-mail?

Para isso é preciso configurar o flow com algumas ações adicionais. Em primeiro lugar, vale a pena iniciar uma nova variável para armazenar o nome de exibição do requisitante. Em seguida, é preciso adicionar uma ação nativa do Dataverse (List Rows) para obter os dados da tabela Users, filtrando o registro que corresponder ao Id do solicitante. Assim, na área de filtro da ação, é preciso adicionar a seguinte condição:

systemuserid eq '<parâmetro de filtro>'


Através dessa abordagem, o Id exclusivo do requisitante, capturado na tabela Tickets, será utilizado como parâmetro de filtro para obter o registro correspondente na tabela Users. Em seguida bastará armazenar a informação na variável iniciada anteriormente para que seja então possível utilizá-la no envio da notificação:


Com isso, quando um novo ticket for submetido e a notificação for disparada, as informações do requisitante serão apresentadas conforme esperado:


Agora basta repetir o mesmo procedimento para obter as informações da área de suporte... porém, é importante destacar que é preciso observar atentamente o banco de dados para descobrir o nome correto da tabela e também do campo por ela armazenado, o qual será utilizado como parâmetro de filtro. No caso do meu ambiente, os parâmetros são:

opm_supportareaid eq '<parâmetro de filtro>'


Resultando na seguinte notificação automatizada:


Por hoje é isso. Espero que o post ajude 😉.

sábado, 2 de outubro de 2021

Importando cronogramas para o Project for the web

 Olá pessoal –

Na medida em que o tempo vai passando, novas funcionalidades vão sendo adicionadas ao Project for the web, e assim o produto vai amadurecendo e se tornando cada vez mais robusto para suportar as necessidades de negócio das organizações no que se refere ao gerenciamento de projetos.

Recentemente, a Microsoft anunciou a inclusão de um novo recurso à plataforma, com o objetivo de permitir a importação de cronogramas criados no Microsoft Project Desktop (.mpp files) para o Project for the web – e hoje vamos explorar este tópico aqui no blog.

A partir da página inicial do Microsoft Project (https://project.microsoft.com/pt-br), os usuários podem clicar em Novo projeto em branco e então escolher a opção Importar da área de trabalho do Project:


No passo seguinte, é necessário selecionar o arquivo a ser importado:



Ao término do processo de importação, um resumo das ações realizadas para alinhar o arquivo .mpp com as características aceitas pelo Project for the web será compartilhado:


Ao clicar em OK, o projeto criado é disponibilizado no Project for the web:


O que é e o que não é importado?

Como sabemos, o Microsoft Project Desktop é um aplicativo completo para gerenciamento de projetos, que oferece inúmeros recursos e funcionalidades para organização dos cronogramas. Em contrapartida, o Project for the web foi inicialmente concebido para ser uma versão “super light” de uma plataforma de gerenciamento de projetos, de forma que inúmeros recursos e funcionalidades que são disponibilizadas pelo Microsoft Project Desktop não estão presentes no Project for the web.

Como foi possível notar no print que detalha o resumo do processo de importação, os seguintes itens não são suportados pelo Project for the web:

  • Recursos – pois o Project for the web não suporta atribuições que definam unidades
  • Linha de Base – pois se trata de uma função/recurso que, até o momento, não existe no âmbito do Project for the web
  • Datas limite – também se trata de uma função/recurso não suportada pelo Project for the web
  • Divisão de tarefas – também se trata de uma função/recurso não suportada pelo Project for the web
  • Tarefa recorrentes – também se trata de uma função/recurso não suportada pelo Project for the web

Vale sempre a pena lembrar que a Microsoft procura sempre estar atenta às sugestões da comunidade no que se refere à melhoria e inclusão de recursos e funcionalidades em seus produtos. Portanto, se você tem uma sugestão de melhoria para o Project for the web, não deixe de compartilhá-la 😉.

Um abraço e até o próximo post!