Usar o Power Fx
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.
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.
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.
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.
Você pode fornecer a lógica de visibilidade personalizada de um comando usando a barra de fórmulas na parte superior da página.
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.