Usar o Power Fx em uma página personalizada para o aplicativo baseado em modelo

Este artigo descreve como as funções comuns do Microsoft Power Fx operam de forma diferente entre aplicativos de tela independentes e uma página personalizada. Isso ocorre porque uma página personalizada é um componente do aplicativo baseado em modelo. Outras fórmulas do Microsoft Power Fx continuam a se comportar da mesma maneira.

Importante

As páginas personalizadas são um novo recurso com mudanças significativas no produto e atualmente têm uma série de limitações conhecidas descritas em Problemas Conhecidos da Página Personalizada.

Adicionar notificações a uma página personalizada

Uma notificação pode ser mostrada ao usuário em uma página personalizada chamando a função de notificação. Quando as mensagens de notificação aparecem, elas são encaixadas acima da página padrão para permanecerem visíveis até serem desativadas. Se um intervalo de tempo limite for fornecido, a mensagem de notificação desaparecerá após o intervalo de tempo limite. Recomenda-se não usar um intervalo de tempo limite de 10, pois isso não é mais considerado um intervalo de tempo limite. Para obter mais informações: função Notify.

Notify( "Custom page notification message" )

Barra de mensagem de notificação da página personalizada

Notify( "Custom page notify warning message", NotificationType.Warning )

Barra de mensagem de aviso da página personalizada

Esta seção fornece exemplos de navegação de um formulário de aplicativo baseado em modelo para uma página personalizada, navegando de uma página personalizada para outras páginas personalizadas ou formulário de aplicativo baseado em modelo usando Power Fx.

A função Navigate permite que os usuários naveguem em formulários de aplicativos baseados em modelo ou páginas personalizadas. Esta função é aplicável apenas quando a página personalizada está em execução em um aplicativo baseado em modelo. Durante a criação ou a visualização da página customizada no designer de tela, esta função não tem efeito.

Para navegar de uma página personalizada para outra, passe o nome de exibição da página personalizada como o primeiro parâmetro.

Navigate( CustomPage2  )

Para navegar até a visualização padrão da tabela, passe o nome da tabela como o primeiro parâmetro.

Navigate( Accounts )

Para navegar até uma exibição do sistema específica da tabela, passe o GUID da exibição.

Navigate( 'Accounts (Views)'.'My Active Accounts' )

Para navegar até o formulário padrão da tabela, transmita o registro como o primeiro parâmetro.

Navigate( Gallery1.Selected )

Para transmitir um registro do Dataverse para um formulário específico, transmita o nome do formulário no atributo Page do segundo parâmetro.

Navigate( 
  AccountGallery.Selected, 
  { Page: 'Accounts (Forms)'.Account  } )

Para transmitir um registro do Dataverse para uma página personalizada específica, transmita o nome da página personalizada no atributo Page do segundo parâmetro.

Navigate( 
  AccountGallery.Selected, 
  { Page: 'Account Record Page'  } )

Na página personalizada de destino, o registro é recuperado usando a função Param para obter os valores etn e id.

Veja abaixo um exemplo de carregamento do registro em um controle EditForm.

AccountEditForm.DataSource = Accounts
AccountEditForm.Item = 
  LookUp( Accounts, accountid = GUID( Param("id") ) )

Para navegar até o formulário padrão da tabela no modo de criação, transmita um registro do Dataverse criado a partir da função Defaults. Isso abrirá o formulário padrão com o registro como um novo registro. A função Defaults usa o nome da tabela para criar o registro.

Navigate( Defaults( Accounts ) )

Para navegar para um novo registro com alguns campos padronizados, use a função Patch para definir campos no registro padrão da tabela.

Navigate(
    Patch(
        Defaults(Accounts), { 'Account Name': "My company", Phone: "555-3423" } ) 
  )

Para navegar de volta para a última página ou para fechar uma caixa de diálogo, a função Back é chamada em uma página personalizada. A função Back fecha a página atual e retorna para o último aplicativo baseado em modelo ou página personalizada no aplicativo baseado em modelo. Se a página personalizada tiver várias telas, consulte o artigo Navegar de volta quando a página personalizada tiver várias telas.

Back( )

A configuração padrão para uma página personalizada é ter uma tela. Nesse caso, a chamada de função Back fechará a página personalizada, a menos que a página personalizada seja a última na pilha de páginas no aplicativo baseado em modelo. A última página é mantida aberta.

Um criador de aplicativos pode habilitar várias telas em uma página personalizada. Devem ser consideradas como controles de página inteira dentro da página personalizada que podem ser empilhadas. Abrir uma página personalizada não significa especificar a tela a ser usada. Quando uma página personalizada contém várias telas, o fabricante é responsável por gerenciar o empilhamento de telas. Chamar a função Navegar a uma tela adicionará à pilha de telas com a página personalizada. Cada chamada de função Back removerá uma tela da pilha de telas. Quando houver apenas uma tela na pilha de telas, a página personalizada será fechada.

Habilitar várias telas

Por padrão, uma página personalizada usa uma única tela para incentivar a separação do aplicativo em uma tela por página. Isso pode ser alterado ativando Configurações > Exibir > Habilitar várias telas.

Habilitar várias telas da página personalizada

Função "Confirmar"

A função Confirm exibe uma caixa de diálogo no topo da tela atual. Dois botões são fornecidos: um botão Confirmar e um botão Cancelar, que têm como padrão versões localizadas de "OK" e "Cancelar", respectivamente. O usuário deve confirmar ou cancelar antes que a caixa de diálogo seja descartada e a função retorne. Além do botão de diálogo, cancelar também pode ser selecionado com a tecla Esc ou outros gestos específicos da plataforma.

O parâmetro Message é exibido no corpo da caixa de diálogo. Se a mensagem for muito longa, ela será truncada ou será fornecida uma barra de rolagem.

Use o parâmetro OptionsRecord para especificar opções para a caixa de diálogo. Nem todas as opções estão disponíveis em todas as plataformas e são tratadas com base no melhor esforço.

Observação

As opções na tabela abaixo não estão disponíveis atualmente com aplicativos de tela.

Campo de Opção Descrição
ConfirmButton O texto a ser exibido no botão confirmar, substituindo o texto "OK" localizado, padrão.
CancelButton O texto a ser exibido no botão cancelar, substituindo o texto "Cancelar" localizado, padrão.
Título O texto a ser exibido como título da caixa de diálogo. Uma fonte em negrito maior do que a fonte da mensagem pode ser usada para exibir este texto. Se esse valor for muito longo, ele será truncado.
Subtítulo O texto a ser exibido como subtítulo da caixa de diálogo. Uma fonte em negrito maior do que a fonte da mensagem pode ser usada para exibir este texto. Se esse valor for muito longo, ele será truncado.

Confirm retornará verdadeiro se o botão de confirmação tiver sido selecionado e falso, caso contrário.

Sintaxe

Confirm( Message [, OptionsRecord ] )

  • Message - obrigatório. Mensagem a ser exibida ao usuário.
  • OptionsRecord - opcional. Fornece opções avançadas para a caixa de diálogo. Nem todas as opções estão disponíveis em todas as plataformas e são tratadas com base no melhor esforço. No momento, em aplicativos de tela, nenhuma dessas opções é compatível.

Problemas conhecidos

  • A função Navigate não tem suporte para abrir um modelo ou página personalizada para um diálogo. Toda a navegação de uma página personalizada é aberta em linha.
  • A função Navegar não dá suporte para abrir:
    • Uma coleção de painel ou um painel específico.
    • Um formulário de aplicativo baseado em modelo específico.
  • Uma página personalizada só pode ser aberta na guia do aplicativo atual da sessão atual em um aplicativo baseado em modelo de várias sessões.

Veja também

Navegar para uma página personalizada usando a API do cliente

Visão geral da página personalizada do aplicativo baseado em modelo