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. As funções funcionam de forma diferente porque uma página personalizada é um componente dentro 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 desaparece após o intervalo de tempo limite. Recomendamos que você não use um intervalo de tempo limite de 10, pois isso não é mais considerado um intervalo de tempo limite válido. Para obter mais informações: função Notify.
Notify( "Custom page notification message" )
Notify( "Custom page notify warning message", NotificationType.Warning )
Navegar para uma 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.
Navegando em uma página personalizada
A função Navigate permite que os usuários naveguem em formulários de aplicativo baseado 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.
Navegar para outra página personalizada
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 )
Navegar até a exibição padrão da tabela
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.
Navegar até a exibição do sistema específico da tabela
Para navegar até uma exibição do sistema específica da tabela, passe o GUID da exibição.
Navigate( 'Accounts (Views)'.'My Active Accounts' )
Navegar até a forma padrão da tabela
Para navegar até o formulário padrão da tabela, transmita o registro como o primeiro parâmetro.
Navigate( Gallery1.Selected )
Navegue até um formulário específico de uma tabela
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 } )
Navegue até uma página personalizada específica com uma entrada de registro
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
.
Aqui está um exemplo de carregamento do registro para um controle EditForm
.
AccountEditForm.DataSource = Accounts
AccountEditForm.Item =
LookUp( Accounts, accountid = GUID( Param("id") ) )
Navegar até a forma padrão da tabela no modo de criação
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. A função Defaults abre 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 ) )
Navegue até a forma padrão da tabela no modo de criação com o campo padronizado
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" } )
)
Navegar de volta para a página anterior ou fechar uma caixa de diálogo
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, acesse o artigo Navegar de volta quando a página personalizada tiver várias telas.
Back()
Navegar de volta quando a página personalizada tiver várias telas
A configuração padrão para uma página personalizada é ter uma tela. Nesse caso, a chamada de função Back
fecha 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 criador é responsável por gerenciar o empilhamento de telas. Chamar a função Navigate
a uma tela adiciona à pilha de telas com a página personalizada. Cada chamada de função Back
remove 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. Única tela pode ser alternada ativando Configurações>Exibir>Habilitar várias telas.
Problemas conhecidos
- A função
Navigate
não tem suporte para abrir um aplicativo baseado em modelo ou uma página personalizada para um diálogo. Toda a navegação de uma página personalizada é aberta em linha. - A função Navigate 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