Sutilezas dos aplicativos Power Automate e Logic. Citizen developer'a guia de referência # 1

Bom Dia a todos! Em um dos meus artigos anteriores, falei sobre quais recursos os serviços em nuvem do Power Automate e Logic Apps têm. Examinamos as principais diferenças entre eles, estudamos os casos em que um ou outro serviço deve ser usado e também nos familiarizamos com alguns cenários de uso. Hoje, gostaria de iniciar uma nova série de artigos dedicados a vários hacks e soluções alternativas que permitirão implementar vários cenários de negócios usando as ferramentas disponíveis.



Não vamos perder tempo e vamos olhar para um dos cenários hoje, a saber:

Inicie o fluxo de aplicativos lógicos por botão no Power Apps


Em alguns casos, durante o design e a configuração de vários módulos do sistema, é mais lucrativo usar o Logic Apps do que o Power Automate. Pode haver muitas razões para isso, mas uma das mais populares é a presença de conectores premium no Logic Apps sem a compra de planos adicionais, como o Power Automate. Por exemplo, dentro de um fluxo, pode ser necessário fazer uma chamada de serviço da Web HTTP e conectar-se ao SQL Server, mas no Power Automate esses conectores não estão disponíveis sem a compra de um plano especial para usuários ou fluxos. Nesse caso, o Logic Apps nos ajudará, onde um mecanismo tarifário ligeiramente diferente é usado e todos os conectores, incluindo premium, estão disponíveis inicialmente. Você pode ler mais sobre os recursos do Logic Apps neste artigo .

No entanto, há um recurso: o fluxo do Logic Apps não pode ser iniciado por um botão de um formulário ou aplicativo do Power Apps, diferente do fluxo do Power Automate. Como resolver este problema? De fato, a solução é bastante simples. Considere este caso como um exemplo do processo de solicitação de suporte técnico.

Portanto, no nosso caso, temos uma lista do SharePoint de "Aplicativos de suporte técnico":



Além disso, a lista possui personalização do formulário usando o Power Apps:



Como você pode ver, no cabeçalho do formulário, há uma transição para uma tela adicional com botões de ação para o aplicativo selecionado:



Clique em "Delegar Aplicativo" e preencha os campos adicionais:



Usando o botão "Confirmar", você precisa iniciar o fluxo do Logic Apps, mas não temos a capacidade de executar esta operação diretamente. Portanto, tentaremos fazer um pouco diferente.

Crie uma ActionList adicional no site do SharePoint e adicione vários campos:

  1. ActionType - tipo de ação a ser chamada
  2. Comentários - Comentários
  3. ParentItemID - identificador do elemento pai (aplicativo)
  4. DelegateTo - campo adicional para armazenar o delegado
  5. CompleteProcessFlag - sinalizador de processamento de ação



Agora, no PowerApps, criamos um elemento na lista ActionsList clicando no botão "Confirmar":



Usando a função Patch, crie um novo elemento na lista ActionsList com o tipo "Delegate" e transfira os valores de controle restantes do formulário. Verifique se o item foi criado:



Agora podemos acessar o Logic Apps. Vamos para o Azure, criamos um novo fluxo de aplicativos lógicos e especificamos o gatilho “Ao criar um item na lista do SharePoint”:



fazemos o fluxo com a opção:



A lógica desse fluxo é a seguinte:

Ao criar um elemento na lista ActionsList, o fluxo aumenta, verifica o valor do campo "ActionType" do novo elemento e, dependendo do tipo de ação, vai para uma das ramificações do comutador em que a lógica necessária é processada. Assim, podemos criar quantas ramificações você desejar para a troca em um thread e processar quaisquer eventos dentro do mesmo segmento. Resta apenas criar elementos na lista ActionsList com os tipos de eventos desejados e adicionar suporte para esses tipos no fluxo, na forma de ramificações adicionais da opção.
Vamos criar outra criação de eventos do PowerApps, por exemplo, para cancelar um aplicativo:



Nesse caso, um novo evento aparecerá na lista ActionsList com o tipo "Rejeitar" e comentários para cancelamento. Certifique-se de passar o valor do identificador do elemento pai, caso contrário, será muito problemático encontrar a ordem necessária do fluxo posteriormente. Em seguida, adicione suporte para o novo tipo de evento no fluxo dos Aplicativos Lógicos. Fazemos mais uma ramificação no comutador:



e resta adicionar ao final do fluxo uma atualização do sinalizador de processamento, a fim de entender quais eventos são processados ​​pelo nosso fluxo e quais não são:



esse sinalizador ajudará no caso de situações imprevistas durante as quais o processamento do evento pelo encadeamento é malsucedido. Será possível criar um encadeamento que, por exemplo, será ativado duas vezes por dia, de acordo com uma agenda e eventos de processo na lista ActionsList, cujo sinalizador “CompleteProcessFlag” é No.

O mecanismo descrito neste artigo foi implementado com êxito e funciona de maneira estável para vários clientes. Concluindo, gostaria de dizer que existem muitos recursos interessantes na Plataforma de Energia que podem não ser visíveis à primeira vista, mas podem ser muito úteis na implementação de vários casos. Nos artigos a seguir, tentarei mostrar ainda mais possibilidades. Muito obrigado pela atenção!

All Articles