Adicionar lógica a comandos com o Power Fx

Concluído

Aplicativos controlados por modelos dão suporte a uma barra de comandos na parte superior dos formulários e exibições em que você pode adicionar botões personalizados. Usando o Power Fx, você pode controlar o que acontece quando um botão é selecionado, se o botão está visível e como ele interage com o registro selecionado.

O que é comando?

O comando permite que os criadores adicionem botões personalizados à barra de comandos de um aplicativo controlado por modelos usando o designer de comandos. Em vez de escrever JavaScript, você escreve expressões do Power Fx — a mesma linguagem de fórmula usada em aplicativos de tela — para definir o comportamento e a visibilidade do botão.

Note

Muitas funções do Power Fx que funcionam em aplicativos de tela também têm suporte no comando. Algumas funções não são compatíveis, incluindo Set(), Collect(), UpdateContext() e outras que dependem do gerenciamento de estado específico do canvas.

OnSelect

A OnSelect propriedade define o que é executado quando um usuário seleciona o botão. Você pode usar qualquer função do Power Fx com suporte aqui.

Por exemplo, para atualizar o nome no registro de conta selecionado no momento:

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

Para navegar até uma tela ou exibição diferente:

Navigate(Accounts)

Para mostrar uma caixa de diálogo de confirmação antes de executar uma ação:

If(
    Confirm("Are you sure?", { ConfirmButton: "Yes", CancelButton: "No" }),
    Patch(Accounts, Self.Selected.Item, {Status: "Closed"})
)

Visível

A Visible propriedade controla se o botão aparece na barra de comandos. Defina-a como uma expressão power fx que retorna true ou false.

Por exemplo, para mostrar o botão somente quando um ou mais registros são selecionados em uma grade:

CountRows(Self.Selected.AllItems) > 0

Para mostrar o botão somente para registros com um valor de campo específico:

Self.Selected.Item.'Account Rating' > 20

A propriedade Selected

Dentro das expressões Power Fx de um comando, o objeto Self.Selected dá acesso ao registro ou aos registros selecionados no momento no aplicativo.

Property Returns Description
Self.Selected.Item Registro único O registro selecionado no momento. Em branco se nada estiver selecionado ou se vários registros estiverem selecionados.
Self.Selected.AllItems Tabela de registros Todos os registros atualmente selecionados. Vazio se nada estiver selecionado.
Self.Selected.State Enum Se o formulário está no estado Editar (0), Novo (1) ou Exibição (2).

Notificar o usuário

Use a função Notify para mostrar uma mensagem em banner ao usuário do aplicativo após a execução de um comando:

Notify("Record updated successfully.")

Em seguida, você colocará suas habilidades em prática criando um aplicativo baseado em modelo completo em um exercício prático.