Usar o Power Fx

Concluído

O Power Fx é a linguagem low-code usada no Microsoft Power Platform. Você poderá estar familiarizado com o Power Fx se tiver criado um aplicativo de tela do Power Apps. O Power Fx também pode ser usado para implementar a lógica personalizada com comandos da barra de comandos baseados em modelo do Power Apps. A lógica da barra de comandos pode usar um subconjunto de recursos da linguagem Power Fx completa.

Há dois locais em que você pode usar o Power Fx ao personalizar um comando:

  • OnSelect: essa lógica é executada quando um botão de comando é selecionado por um usuário.

  • Visible: essa lógica é executada para avaliar se o comando deve estar oculto ou visível para o usuário que está executando o aplicativo.

Configurar OnSelect

Para usar a lógica do Power Fx quando o comando for selecionado, verifique se a propriedade da ação está configurada para executar a fórmula. Você pode encontrar Ação no painel Comandos, no lado esquerdo da tela.

Captura de tela que mostra a configuração de uma ação.

Quando configurado, a barra de fórmulas é habilitada e a lógica do Power Fx pode ser fornecida. Essa opção é o padrão para novos comandos. No entanto, se a barra de fórmulas estiver desabilitada, provavelmente você estará trabalhando com um comando que usa JavaScript para a lógica.

Você pode fornecer sua lógica personalizada usando a barra de fórmulas na parte superior da página.

Captura de tela que mostra o comando OnSelect=true.

A fórmula padrão é simplesmente "true", que não resulta em ação alguma. Você deve fornecer sua própria lógica para o comando a fim de executar uma ação quando selecionado.

Também é possível selecionar a barra de fórmulas aberta no painel Comando, que colocará o foco na barra de fórmulas para a realização de alterações.

Captura de tela que mostra a opção de barra de fórmula aberta.

Quando um usuário seleciona o comando, as alterações pendentes nos dados do formulário são salvas e, em seguida, a lógica OnSelect do comando é executada. Essa ordem garante um estado consistente dos dados no momento em que o comando é executado.

Configurar a visibilidade

Por padrão, novos comandos adicionados a uma barra de comandos estarão visíveis. Ao alterar a propriedade de visibilidade do comando para Mostrar na fórmula da condição, você pode fornecer uma fórmula avaliada para determinar se o comando deve estar visível. A Visibilidade pode ser encontrada e alterada no painel Comando à esquerda.

Captura de tela para mostrar a visibilidade de um item definido para exibição na condição da fórmula.

Você pode fornecer a lógica de visibilidade personalizada de um comando usando a barra de fórmulas na parte superior da página.

Captura de tela para mostrar visível na fórmula definida como true.

Lembre-se de que a fórmula padrão é simplesmente "true", o que torna o comando sempre visível. Para alterar o padrão, é preciso fornecer sua própria lógica true/false. Se a fórmula resultar em uma avaliação false, o comando não ficará visível.

A fórmula de visibilidade será reavaliada se qualquer um dos valores dependentes for alterado. Isso permite que a visibilidade do comando responda à condição atual de dados e às ações do usuário. Por exemplo, um botão não pode estar visível depois que todas as linhas em uma grade são selecionadas.

Dados ativos no momento

Atualmente, a capacidade de fazer referência a dados ativos é um recurso valioso ao escrever fórmulas para comandos. Por exemplo, se a barra de comandos estiver no formulário principal para uma linha da tabela, os dados ativos atuais serão a linha. Se a barra de comandos estiver na grade principal, os dados ativos atuais serão a tabela de linhas exibida na grade.

Você pode acessar os dados ativos atuais usando a propriedade selecionada. A propriedade selecionada é populada automaticamente no runtime. A propriedade selecionada tem vários campos disponíveis; os campos que estarão disponíveis dependem da seleção feita, se de um único item ou de uma tabela de itens.

Campo Tipo Descrição
Item Registro de DataSource Disponível somente quando uma única linha é selecionada ou quando em um formulário exibe uma única linha. Quando não estiver preenchido, ele será definido para estar em branco. Por exemplo, a fórmula a seguir verificará o valor da coluna de classificação da conta. Self.Selected.Item.'Account Rating'>20
AllItems Tabela de registros de DataSource Todas as linhas selecionadas de DataSource. Por exemplo, a fórmula a seguir verificará a contagem selecionada. CountRows(Self.Selected.AllItems) > 0
Estado Enumeração Indica se o controle de hospedagem está em estado Editar (= 0), Novo (= 1) ou Exibir (= 2).
Não salvo Booliano Retornará true se Selected ou SelectedItems tiverem alterações não salvas. Caso contrário, retornará false.

Dados de fontes de dados

Além de trabalhar com dados da propriedade Selected, você também pode consultar e salvar dados em outras tabelas do Microsoft Dataverse. Por exemplo, a fórmula a seguir altera o nome em uma linha de conta para "Nome da Nova Conta".

Patch(Accounts, Self.Selected.Item, {'Account Name': "New Account name"})

Você também pode usar relacionamentos entre tabelas para acessar linhas relacionadas. Por exemplo, a fórmula a seguir acessa os compromissos recorrentes relacionados do item selecionado no momento.

Self.Selected.Item.'Recurring Appointments'

Atualmente, o Microsoft Dataverse é a única fonte de dados disponível para usar lógica de comando.

Cenários comuns

Usar a lógica do Power Fx em um comando permite lidar com uma ampla variedade de casos de uso que você encontrará. Veja a seguir alguns exemplos de casos de uso comuns que você pode implementar:

  • Criar linhas relacionadas com base nos dados atuais. Por exemplo, crie uma série de chamadas de acompanhamento agendadas com base no valor da oportunidade potencial.

  • Navegue até sites internos ou externos. Por exemplo, você pode fazer uma pesquisa em um site de notícias para a empresa atual que passa o nome da empresa da linha como um parâmetro de pesquisa.

  • Modifique os dados na linha atual. Por exemplo, você pode ter uma tabela de serviço que rastreia os clientes de serviço ativos. Você pode selecionar um comando em uma linha inativa para reativar o serviço para o cliente, definindo vários valores na linha para refletir o novo status do serviço.

  • Use RecordInfo para garantir que os comandos fiquem visíveis quando necessário. RecordInfo pode ser usado para obter informações sobre determinado registro de uma fonte de dados. Por exemplo, você poderá verificar se o usuário tem permissão de edição e só exibir o comando se ele tiver.

Ao começar a implementar a lógica do Power Fx para comandos, você ficará inspirado a criar outros casos de uso exclusivos para seus próprios aplicativos.