Como chamar ações em um portal do Microsoft Power Apps

Por Erick Alves de Moura
Como chamar ações em um portal do Microsoft Power Apps

Todos sabemos que chamar a ação a partir de um botão no CRM pode ser facilmente alcançado usando JavaScript. Mas e se você quiser chamar uma ação do botão personalizado do portal do Power Apps. Como não há uma maneira direta de chamar a ação no portal do Power Apps, podemos fazer isso usando um fluxo do Power Automate. Vamos ver como podemos conseguir isso.

Pré-requisitos

  • Power Apps Portal
  • Power Automate

Cenário

Temos um botão personalizado na entidade chamado “Duplicar” quando o usuário clicar neste botão, os registros duplicados surgem.

Passos 

Passo 1

Adicione um botão personalizado no qual você deseja chamar a ação

Code: $(‘#UpdateButton’).after(‘<button type=”button” id=”CloneProduct” onclick= duplicateRecord() class=”btn btn-warning”>Duplicate</button>’);

Passo 2

Criar fluxo MS (Power Automate).

Certifique-se de criar o fluxo MS da solução (esta é uma etapa muito importante)

  • Vá para + Novo –> Fluxo
  • Procure o gatilho “Solicitar” e selecione-o.
    Solicitação –> Quando uma solicitação HTTP é recebida
  • Selecione “Quando uma solicitação HTTP é recebida”
  • Clique em “usar carga útil de amostra para gerar esquema”
  • Digite JSON (aqui você deve passar os parâmetros de entrada que são necessários para sua ação)
    Minha ação requer apenas o GUID do registro, então estou passando isso
{
"vv_hardwarespecificationsid": "787F593F-B48B-4DC0-831A-0463EDD9631C"
}
  • Clique em Concluído
  • Clique em “+ Novo Passo”
  • Procure o conector Common Data Service (ambiente atual) e selecione-o.
  • Pesquise e selecione “Executar uma ação vinculada” nesse conector
  • Insira os detalhes abaixo em ação

Nome da Entidade : selecione a entidade na qual a ação está registrada

Nome da ação: selecione a ação

ID do item : Guid do registro (selecione na etapa anterior)

NOTA: se você não criar um fluxo dentro da solução, não poderá ver esta ação.

  • Você também pode enviar a resposta de volta no Portal do Power Apps adicionando a ação “Resposta”
  • Salve o fluxo após salvar o fluxo copie a “ URL HTTP POST ” que usaremos no Portal Power Apps para chamar esse fluxo.

Passo 3

Quando seu fluxo estiver pronto, adicione o código JavaScript abaixo na página da Web do portal para chamar o fluxo

Código:

registroduplicado():

  • esta função será acionada quando o usuário clicar no botão “Duplicar”
  • estamos obtendo o GUID do registro da URL.
  • Chame o método “callFlowAction()”

callFlowAction():

  • este método aciona o fluxo MS
  • cole a URL que você copiou do fluxo.
$(document).ready(function(){
  
  $('#UpdateButton').after('<button type="button" id="CloneProduct" onclick= duplicateRecord() class="btn btn-warning">Duplicate</button>');

})

function duplicateRecord() {
    let searchParams = new URLSearchParams(window.location.search);
    if (searchParams.has('id') === true) {
        id = searchParams.get('id');

    }
    callFlowAction(id);
}

function callFlowAction(id) {
    var postMethod = {
        "url": "https://prod-03.centralindia.logic.azure.com:443/workflows/32063cc9e9594a749912e7d81f5709f6/triggers/manual/paths/invoke?api-version=2016-06",
        "method": "POST",
        "timeout": 0,
        "headers": {
            "Content-Type": "application/json"
        },
        "data": JSON.stringify({ "vv_hardwarespecificationsid": id }),
    };

    $.ajax(postMethod).done(function (response) {
        console.log(response);
        alert("Record is Duplicated Successfully");
    });
}

Depois de adicionar o código, tente criar registros duplicados clicando no botão personalizado “Duplicar”

Resumo

Esperamos que este blog ajude você a chamar qualquer ação do portal Power Apps. Aproveite e veja também nosso outro artigo sobre maneiras de aproveitar os Portais do Power Apps.

Ver mais artigos

Entre em Contato

Vamos juntos transformar sua dor
em solução!

#moveFast