Partilhar via


Editar registos de tabela relacionados diretamente a partir do formulário principal de outra tabela

Existem várias formas de trabalhar com registos de tabelas relacionados num formulário de tabela dentro do Power Apps. Por exemplo, você pode incluir tabelas relacionadas no modo somente leitura com a formulário de vista rápida e criar ou editar um registro usando um formulário principal em uma caixa de diálogo.

Outra forma de trabalhar com registos de tabelas relacionados é adicionando um controlo de componentes de formulário ao formulário principal de outra tabela. O controlo de componentes do formulário permite que os utilizadores editem informações de um registo de tabelas relacionados diretamente a partir do formulário de outra tabela.

Por exemplo, aqui está o componente do formulário num separador separado no formulário de conta principal, que permite ao utilizador editar um registo de contacto sem sair do formulário de conta.

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

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

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

Adicione o componente de formulário a um formulário principal de tabela

  1. No painel de navegação esquerdo, selecione Componentes. Se o item não estiver no painel lateral, selecione ... Mais e, em seguida, selecione o item desejado.
  2. Expanda Entrada ou Exibir e selecione Formulário. Na página de configuração do controle de componente de formulário, selecione as propriedades do controle:
    • Selecione a coluna Pesquisa para o formulário.
    • Selecione o formulário Relacionado. Dependendo da configuração da tabela relacionada para a coluna:
      • Se a coluna estiver conectada a uma única tabela (como a coluna Criado por), selecione 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 proprietário), selecione + Formulário relacionado e selecione Adicionar para adicionar o formulário relacionado. Continue a selecionar + 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 aplicativo cliente Web, Telefone e Tablet estão habilitados para exibir o formulário. Desmarque os tipos de cliente onde não pretende que o formulário seja apresentado.
  3. Selecione Concluído.
  4. Salve e publique o formulário.

Adicionar o componente de formulário utilizando a experiência clássica

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

Importante

A forma como adiciona um controlo de componentes de formulário foi alterada. Recomendamos que utilize a nova experiência mais recente. Para obter mais informações: Adicionar o componente de formulário a um formulário principal de tabela

  1. Iniciar sessão no Power Apps.

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

  3. Selecione Formulários no menu de componentes.

  4. Selecione um formulário com um tipo de formulário Main nos formulários disponíveis.

  5. Selecione Mudar para clássico. A interface de editor de formulários clássico abre como um separador no seu browser.

  6. Selecione a guia Inserir . Em seguida, crie um novo separador e adicione uma nova secção ou adicione uma nova secção a um separador existente.

  7. Na nova secção, adicione uma coluna de pesquisa, como a coluna Pesquisa de contato principal.

  8. Selecione a coluna de pesquisa e, em seguida, no separador Base , selecione Alterar Propriedades.

  9. Na guia Controles , selecione Adicionar Controle, na lista de tipos de controle, selecione Controle de Componente de Formulário e selecione Adicionar.

    Selecione o controle de componente de formulário.

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

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

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

    Configure o controle de componente de formulário.

  12. Selecione OK e, em seguida, selecione OK novamente.

  13. Salve e publique seu formulário.

Sugestão

Para encontrar o nome exclusivo de uma tabela, selecione-a em e, em Power Apps seguida, selecione Configurações. O Nome aparece no painel Editar tabela. O ID do formulário pode ser encontrado no URL do browser quando edita um formulário. O ID segue a /edit/ parte do URL. A ID do formulário pode ser encontrada no URL do navegador quando você abre um formulário no estruturador de formulários moderno.

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

Comportamento do componente raiz

Esta secção descreve o comportamento do componente de formulário quando usado numa aplicação condicionada por modelo.

Seleção de registo

Para que o controlo do componente do formulário apresente um formulário, a coluna de pesquisa precisa de ter um valor. Caso contrário, o controle mostrará o registro de origem da mensagem não selecionado. Uma forma de definir o valor é adicionar à forma um controlo de pesquisa que está ligado à mesma coluna de pesquisa que o controlo do componente do formulário. Quando utilizar o controlo de pesquisa para alterar o valor da coluna de pesquisa, o controlo do componente do formulário mostrará um formulário com os dados para o novo valor da coluna de pesquisa.

Validação de colunas

Todas as colunas, tanto no formulário principal como nos controlos dos componentes, devem ser válidas para os dados a serem enviados para o Microsoft Dataverse. Isto é verdade para ambos os erros de validação de colunas, colunas obrigatórias em falta, e assim por diante.

OnSave manipuladores são executados para o formulário principal e seus controles de componente de formulário. Qualquer manipulador pode cancelar o salvamento para o formulário principal e os controles do componente de formulário usando preventDefault. Isso significa que nenhuma operação de salvamento pode exigir preventDefault o envio Dataverse de dados. A ordem de quando os OnSave manipuladores são chamados não está definida. Para obter mais informações: Evento Form OnSave (referência da API do cliente) em aplicativos controlados por modelo

Guardar registo

Uma vez que a fase de validação tenha passado, os dados são enviados para o Dataverse para cada registo. Atualmente, cada registo é atualizado independentemente com diferentes pedidos. As ações de guardar não são transacionais, e a sua ordem não está definida. Um erro ao guardar um componente de formulário não reverterá alterações para o formulário principal ou outros componentes de formulário. Após cada ação de guardar ser concluída, os dados são atualizados para todos os registos do formulário.

Notificações

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

Processamento de erros

Se houver vários erros durante o processo de guardar, apenas um erro será mostrado ao utilizador. Se o utilizador puder efetuar alterações para corrigir o primeiro erro e guardar, o próximo erro será visível. O utilizador terá de continuar a guardar até que todos os erros tenham sido resolvidos.

Alteração de registos com alterações não guardadas

Se houver alterações não guardadas num formulário para um componente de formulário e um utilizador tentar alterar a coluna de pesquisa a que o componente de formulário está vinculado, o utilizador será alertado sobre esta alteração.

API do Cliente

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

Limitações

Note as seguintes limitações quando adiciona o controlo do componente de formulário a um formulário de tabela:

  • O controlo de componente de formulário só suporta a composição de formulários principais. Da mesma forma, o suporte para a adição de um controlo de componente de formulário só é suportado com os formulários principais. Outros tipos de formulários, tais como criação rápida, vista rápida e cartão não são suportados.

  • Os formulários com um fluxo de processo empresarial não são atualmente suportados no formulário da tabela principal ou no formulário da tabela relacionada. Se tiver um formulário com um fluxo de processo empresarial poderá encontrar comportamentos inesperados. Recomendamos que não utilize um componente de formulário com um formulário que utilize um fluxo do processo empresarial.

  • O controlo de componente de formulário não suporta controlos de componentes de formulário incorporados, tais como a adição de um controlo de componentes de formulário a uma formulário que é usado por um controlo de componentes de formulário.

  • O controle de componente de formulário não oferece suporte a aplicativos de tela incorporados. Pode encontrar um comportamento inesperado com estas aplicações de tela.

  • O controlo form component só apresentará o primeiro separador do formulário que utiliza se vários separadores estiverem incluídos nesse formulário.

  • A utilização do mesmo formulário para controlos form component diferentes num único formulário não é suportada.

  • O formulário que você usa com um componente de formulário deve ser incluído em seu aplicativo. Se assim não for, ou se o utilizador atual não tiver acesso ao formulário, irá voltar ao formulário principal superior incluído na aplicação e que esteja disponível para o utilizador (baseado na ordem do formulário).

  • Todos os componentes usados pelo formulário em um componente de formulário devem ser incluídos em seu aplicativo. Estes componentes incluem tabelas relacionadas, vistas e fluxos do processo de negócio. Se não estiverem, não estarão disponíveis no formulário ou poderá haver um comportamento inesperado.

  • Os controlos de componentes de formulário têm determinadas limitações quando são compostos em aplicações com várias sessões. Especificamente, manipuladores adicionados dinamicamente no formulário do componente de formulário, como addOnSave ou addOnChange não podem ser executados após alternar guias de várias sessões.

  • Poderá notar que o mural da linha cronológica pode não atualizar quando uma coluna que é utilizada para definir o mural da linha cronológica mudou no componente de formulários. Quando a página for atualizada, o mural da linha cronológica será atualizado conforme esperado.

  • Atualmente, no telemóvel, o controlo da linha cronológica não aparece no controlo de componentes de formulário.

  • 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.

  • Os controlos dos componentes de formulário não são suportados em diálogos de edição em massa. Não aparecerão no formulário no diálogo de edição a granel por predefinição e quaisquer alterações efetuadas aos registos de tabelas relacionados com eles não serão guardadas.

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

Consulte também

Usar controles personalizados para visualizações de dados de aplicativos orientadas por modelo