Compartilhar via


Edite os registros relacionados da tabela diretamente do formulário principal de outra tabela

Existem várias maneiras de trabalhar com registros de tabela relacionados em um formulário de tabela no Power Apps. Por exemplo, você pode incluir tabelas relacionadas no modo somente leitura com um formulário de visualização rápida e criar ou editar um registro usando um formulário principal em uma caixa de diálogo.

Outra maneira de trabalhar com registros de tabelas relacionadas é adicionar um controle de componente de formulário ao formulário principal de outra tabela. O controle de componente de formulário permite que os usuários editem informações de um registro de tabela relacionado diretamente de outro formulário de tabela.

Por exemplo, este é o componente de formulário em uma guia separada no formulário de conta principal, que permite ao usuário editar um registro de contato sem sair do formulário de conta.

Controle de componente de formulário adicionado a uma aba separada.

Por exemplo, Here é o componente de formulário em uma guia existente no formulário da conta principal, que também permite que o usuário edite um registro de contato sem sair da guia Resumo do formulário da conta.

Controle de componente de formulário adicionado a uma guia existente.

Adicionar o componente de formulário a um formulário principal da tabela

  1. No painel de navegação esquerdo, selecione Componentes. Se o item não estiver no painel lateral, selecione …Mais e selecione o item desejado.
  2. Expanda Entrada ou Exibição e, em seguida, Select Formulário. Na página de configuração do controle do componente de formulário, Select as propriedades do controle:
    • Select a coluna de pesquisa para o formulário.
    • Select o Formulário relacionado. Dependendo da configuração da tabela relacionada à coluna:
      • Se a coluna estiver conectada a uma única tabela (como a coluna Criado por), Select o Formulário relacionado a ser usado. Adicionar controle de componente de formulário para uma única tabela relacionada
      • Se a coluna estiver conectada a várias tabelas (polimórficas, como a coluna do proprietário), Select + Formulário relacionado e então Select Adicionar para adicionar o formulário relacionado. Continue para Select + Formulário relacionado>Adicionar para adicionar um formulário relacionado para cada tabela relacionada. Adicionar componente de formulário para várias tabelas relacionadas
    • Por padrão, todos os tipos de aplicativos cliente Web, Telefone e Tablet estão habilitados para exibir o formulário. Limpe os tipos de cliente em que não deseja que o formulário seja exibido.
  3. Escolha Concluído.
  4. Salve e depois Publique o formulário.

Adicione o componente de formulário usando a experiência clássica

Neste exemplo, o formulário principal padrão Contato é configurado para o controle de componente de formulário que é adicionado ao formulário principal da conta.

Importante

A maneira como você adiciona um controle de componente de formulário foi alterada. Recomendamos usar a experiência mais recente. Mais informações: Adicione o componente de formulário a um formulário principal de tabela

  1. Entre no Power Apps.

  2. Select Tabelas no painel esquerdo. Como alternativa, abra uma solução e, em seguida, Select uma tabela, como Conta. Se o item não estiver no painel lateral, selecione …Mais e selecione o item desejado.

  3. Select Formulários no menu de componentes.

  4. Select um formulário com um tipo de formulário de Principal dos formulários disponíveis.

  5. Selecione Alternar para clássico. A interface clássica do editor de formulários é aberta como uma guia em seu navegador.

  6. Select a aba Inserir . Em seguida, crie uma nova aba e adicione uma nova seção ou adicione uma nova seção a uma aba existente.

  7. Na nova seção, adicione uma coluna de pesquisa, como a coluna de pesquisa Contato principal .

  8. Select na coluna de pesquisa e, em seguida, na guia Página inicial , Select Alterar propriedades.

  9. Na guia Controles , Select Adicionar controle, na lista de tipos de controle Select Controle de componente de formulário e, em seguida, Select Adicionar.

    Select o Controle de Componente de Formulário.

  10. Select Web, Tablet e Telefone para o componente.

  11. Select Editar (ícone de lápis) e na caixa de diálogo Configurar propriedade Select Vincular a um valor estático e então adicionar uma entrada XML similar a esta onde TableName é o nome exclusivo da tabela e FormID é o ID do formulário principal:<QuickForms><QuickFormIds><QuickFormId entityname="TableName">FormID</QuickFormId></QuickFormIds></QuickForms>

    • Por exemplo, para renderizar o formulário principal Contato no formulário da conta, use: <QuickForms><QuickFormIds><QuickFormId entityname="contact">1fed44d1-ae68-4a41-bd2b-f13acac4acfa</QuickFormId></QuickFormIds></QuickForms>

    Configure o controle do componente de formulário.

  12. Select OK e, em seguida, Select OK novamente.

  13. Salve e então Publique seu formulário.

Dica

Para encontrar o nome exclusivo de uma tabela, Select a tabela em Power Apps e então Select Configurações. O Nome aparece no painel Editar da tabela. O ID do formulário pode ser encontrado no URL do navegador quando você edita um formulário. O ID segue a parte /edit/ da URL. O ID do formulário pode ser encontrado na URL do navegador quando você abre um formulário no moderno designer de formulários.

No clássico designer de formulários, o ID do formulário segue a parte formId%3d do URL.

Comportamento do componente de formulário

Esta seção descreve o comportamento do componente de formulário quando usado em um aplicativo baseado em modelos.

Seleção de registros

Para que o controle de componente de formulário mostre um formulário, a coluna de pesquisa à qual ele está vinculado deve ter um valor. Caso contrário, o controle mostrará a mensagem Registro de origem não selecionado. Uma maneira de definir o valor é adicionar ao formulário um controle de pesquisa que esteja vinculado à mesma coluna de pesquisa do controle de componente de formulário. Quando você usa o controle de pesquisa para alterar o valor da coluna de pesquisa, o controle de componente de formulário mostra um formulário com os dados para o novo valor da coluna de pesquisa.

Validação de coluna

Todas as colunas, tanto no formulário principal quanto nos controles de componentes do formulário, devem ser válidas para que os dados sejam enviados para o Microsoft Dataverse. Isso é verdadeiro para erros de validação de coluna, colunas obrigatórias ausentes e assim por diante.

OnSave Os manipuladores são executados para o formulário principal e seus controles de componentes de formulário. Qualquer manipulador pode cancelar o salvamento do formulário principal e dos controles do componente do formulário usando preventDefault. Isso significa que nenhuma operação de salvamento pode solicitar preventDefault que os dados sejam enviados para Dataverse. A ordem em que os manipuladores são chamados não está definida. OnSave Mais informações: Form OnSave Event (referência da API do cliente) em aplicativos orientados a modelos

Salvar registro

Quando o estágio de validação é aprovado, os dados são enviados para o Dataverse para cada registro. Atualmente, cada registro é atualizado de forma independente com diferentes solicitações. Os salvamentos não são transacionais e a ordem dos salvamentos não está definida. Um erro ao salvar um componente do formulário não reverterá as alterações no formulário principal ou em outros componentes de formulário. Após a conclusão de cada salvamento, os dados são atualizados para todos os registros no formulário.

Notificações

As notificações no componente de formulário são agregadas às notificações do formulário principal. Por exemplo, se houver colunas inválidas no componente de formulário e você tentar salvar, a notificação da coluna inválida aparecerá na parte superior do formulário principal, e não no componente de formulário.

Tratamento de erros

Se houver vários erros durante o salvamento, apenas um erro será mostrado ao usuário. Se o usuário puder fazer alterações para corrigir o primeiro erro e salvar, o próximo erro ficará visível. O usuário precisará continuar salvando até que todos os erros sejam resolvidos.

Alteração de registros com alterações não salvas

Se houver alterações não salvas em um formulário para um componente de formulário e um usuário tentar alterar a coluna de pesquisa à qual o componente de formulário está vinculado, o usuário será alertado sobre essa alteração.

API de cliente

Um contexto de formulário está disponível para o controle do componente de formulário. Ele pode ser acessado por meio do contexto do formulário principal acessando o controle por meio de uma API, como getControl. Antes de acessar dados da tabela relacionada no controle do componente de formulário, os manipuladores de eventos devem aguardar que a API isLoaded para o controle retorne verdadeiro.

Limitações

Observe as seguintes limitações ao adicionar o controle de componente de formulário a um formulário de tabela:

  • O controle de componente de formulário permite apenas a renderização de formulários principais. Da mesma forma, o suporte para adicionar um controle de componente de formulário só é compatível com os formulários principais. Outros tipos de formulário, como o de criação rápida, visualização rápida e cartão não são compatíveis.

  • Formulários com um fluxo do processo empresarial atualmente não têm suporte no formulário de tabela principal ou no formulário de tabela relacionado. Se você tiver um formulário com um fluxo do processo empresarial, poderá haver um comportamento inesperado. Recomendamos que você não use um componente de formulário com um formulário que use um fluxo do processo empresarial.

  • O controle de componente de formulário não é compatível com controles de componente de formulário incorporados, como adicionar um controle de componente de formulário a um formulário que é usado por um controle de componente de formulário.

  • O controle do componente de formulário não oferece suporte a aplicativos de tela incorporados. Você pode encontrar um comportamento inesperado com esses aplicativos de tela.

  • O controle de componente de formulário só exibirá a primeira guia do formulário que ele usa se várias guias estiverem incluídas nesse formulário.

  • Não há suporte para o uso do mesmo formulário para diferentes controles de componentes de formulário.

  • O formulário que você usa com um componente de formulário deve ser incluído no seu aplicativo. Se não for, ou se o usuário atual não tiver acesso ao formulário, ele retornará ao formulário principal superior incluído no aplicativo e disponível para o usuário (com base na ordem do formulário).

  • Todos os componentes usados pelo formulário em um componente de formulário devem ser incluídos no seu aplicativo. Entre esses componentes estão tabelas, exibições e fluxos de processo empresarial relacionados. Se não estiverem, eles não estarão disponíveis no formulário ou talvez haja um comportamento inesperado.

  • Os controles de componente do formulário têm determinadas limitações quando renderizados em aplicativos multissessão. Especificamente, manipuladores adicionados dinamicamente no componente de formulário, como addOnSave ou addOnChange , podem não ser executados após alternar entre guias de multissessão.

  • Convém notar que o mural da linha do tempo não é atualizado quando uma coluna é usada para definir o mural da linha do tempo tiver sido alterada no componente de formulário. Quando a página for atualizada, a parede da linha do tempo será atualizada conforme o esperado.

  • No celular, o controle da linha do tempo não aparece no controle de componente do formulário no momento.

  • Para subgrades, os botões de comando Ver todos os registros e Ver registros associados não estarão disponíveis se forem renderizados dentro de um componente de formulário.

  • Não há suporte aos controles de componente de formulário nas caixas de diálogo de edição em massa. Eles não aparecerão no formulário na caixa de diálogo de edição em massa por padrão e quaisquer alterações feitas nos registros de tabela relacionados a eles não serão salvas.

  • Quando registros duplicados são detectados quando um controle de componente de formulário é salvo, os usuários podem não conseguir visualizar as duplicatas para resolver conflitos.

Ver também

Use controles personalizados para visualizações de dados de aplicativos orientadas a modelos