Compartilhar via


Invocar uma função de aplicativo, fluxo, código ou outra função (versão preliminar)

[Este tópico faz parte da documentação de pré-lançamento e está sujeito a alterações.]

Você pode invocar funções no Dataverse de um aplicativo de tela, uma página personalizada em um aplicativo baseado em modelo, um fluxo, código ou de outra função.

Importante

  • Este é um recurso em versão preliminar.
  • Os recursos de versão preliminar não foram criados para uso em ambientes de produção e podem ter funcionalidade restrita. Esses recursos são disponibilizados antes de um lançamento oficial para que os clientes possam ter acesso antecipado e forneçam comentários.

Invocar uma função de uma página aplicativo de tela ou personalizada

  1. Na área Funções no Power Apps (make.powerapps.com), selecione a função que deseja invocar em uma aplicativo de tela ou página personalizada.
  2. Selecione Copiar trecho de código na barra de comandos.
  3. Cole e salve a fórmula copiada em um editor de texto, no bloco de notas ou em algum lugar que você possa consultar facilmente.
  4. No Power Apps Studio:
    1. Crie ou edite um aplicativo de tela ou página personalizada no Power Apps Studio.
    2. No painel de navegação esquerdo, na guia Fontes de Dados, selecione Adicionar dados, procure a opção Ambiente no conector do Dataverse e selecione-a.
    3. Insira os seguintes componentes na tela:
      • Adicione controles de entrada que correspondam ao tipo de dados de cada parâmetro, como entrada de número.
      • Adicione um botão para chamar a função.
      • Adicione um controle de saída que corresponda ao tipo de dados do parâmetro, como entrada de número.
  5. Selecione o botão que você criou e, na propriedade OnSelect, insira sua função, como Environment.new_calculatesum.
  6. Mapeie cada parâmetro de entrada Value para fazer referência aos controles de entrada correspondentes:
    • Se sua função for Environment.new_CalculateSum({ X: Value, Y: Value });, ela pode ser reescrita como: Environment.new_CalculateSum({ X: NumberInput1.value, Y: NumberInput2.value });.
    • Para definir a saída 'result' da Função, atualize sua fórmula para 'Set(result, Environment.new_CalculateSum({ X: NumberInput1.value, Y: NumberInput2.value })'.
  7. Selecione o controle de saída e defina a propriedade 'Value' com uma fórmula de 'result.z'.

Visualize seu aplicativo, insira os valores de entrada 1 e 2 e selecione o botão. O resultado deve aparecer no campo de saída.

Invocar funções de um fluxo da nuvem do Power Automate

  1. Em um fluxo da nuvem, adicione uma nova ação do conector do Microsoft Dataverse.
  2. Selecione a ação chamada Executar uma ação não associada
  3. Selecione sua função. A função tem um nome exclusivo com um prefixo.
  4. Forneça valores para todos os parâmetros de entrada (se houver).

Invocar funções da API da Web do Dataverse

Siga as etapas para as seções de ação não acoplada no artigo Invocando APIs personalizadas da Web API (dependendo do escopo apropriado do plug-in).

Invocar funções existentes a partir de novas funções

Para invocar uma função existente dentro de uma nova função, use a sintaxe: Environment.ExistingFunction({inputParam1: value1, inputParam2: value2, ... inputParamN: valueN})

Como a saída é sempre um registro, use a notação de ponto para acessar os parâmetros de saída. Por exemplo, se a função "ExistingFunction" tiver dois parâmetros de saída definidos como out1 e out2, você poderá acessá-los de uma destas duas maneiras:

  • Environment.ExistingFunction({inputParam1: value1, inputParam2: value2, ... inputParamN: valueN}).out1
  • Environment.ExistingFunction({inputParam1: value1, inputParam2: value2, ... inputParamN: valueN}).out2

Limitações com funções no Dataverse

  • O objeto do idioma do ambiente precisa ser adicionado novamente para acessar novas funções nos aplicativos de tela existentes. Para qualquer função criada após adicionar a origem de dados da tabela de ambiente a um aplicativo de canvas existente, você deve remover e adicionar novamente o objeto de idioma do ambiente do Power Fx. Em seguida, você verá a lista atualizada de funções como ações.
  • Suporte aninhado. As funções só podem chamar ações da Microsoft publicadas pela Microsoft a partir de expressões do Power Fx.
  • Alguns cenários Collect exigem Patch. Existem alguns cenários em que Collect() não funciona. A solução alternativa é usar Patch() conforme mostrado no exemplo de preenchimento da coluna em questão aqui.
Patch(Faxes,
       Collect(Faxes, {  Subject : "Sub1" } ),
       { Regarding : First(Accounts) }
    )

Depurar e obter ajuda com suas funções

Se você encontrar problemas ao criar ou executar sua função, use a função trace() para depuração ou vá para Limitações com funções no Dataverse para problemas comuns que podem ocorrer.

Depuração usando a função trace()

  1. Para depurar usando a função trace, certifique-se de habilitar o plug-in e o rastreamento de atividades de fluxo de trabalho personalizado.
  2. Acesse Power Apps (make.powerapps.com), selecione o ícone de engrenagem Configurações na parte superior direita e selecione Configurações avançadas.
  3. Selecione Configurações > Auditoria > Configurações de Auditoria Global.
  4. Na guia Personalização, certifique-se de que Habilitar registro no log de rastreamento do plug-in está habilitada para Todos.

Depois de habilitar o rastreamento, você pode começar a usar as funções trace() para depurar fórmulas do Power Fx. Saiba mais sobre como usar a função trace() dentro de uma expressão do Power Fx: função Trace - Power Platform.

Contatando ajuda + suporte

Para problemas com funções não abordadas em dicas de plug-ins low-code e problemas conhecidos do Microsoft Dataverse, como erros não documentados recebidos, use a experiência de Ajuda + suporte e inclua as seguintes informações:

  • Tipo de problema - Web API e SDK do Dataverse.
  • Subtipo de Problema.

Funções de exemplo

Criar e usar funções no Microsoft Dataverse