Share via


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 )

Importante

Certifique-se de adicionar a tabela de contas do Microsoft Dataverse à página personalizada antes de publicar e testar.

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

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