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, pode incluir tabelas relacionadas no modo só de leitura com um formulário de vista rápida e criar ou editar um registo utilizando um formulário principal num 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.

Controlo de componentes de formulário adicionado a um separador separado.

Por exemplo, eis o componente de formulário num separador existente no formulário principal de conta, o que também permite ao utilizador editar um registo de contacto sem sair do separador Resumo do formulário de conta.

Controlo Form component adicionado a um separador 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 pretendido.
  2. Expanda Entrada ou Visualização e, em seguida, selecione Formulário. Na página de configuração do controlo de componentes do formulário, selecione as propriedades do controlo:
    • Selecione a Coluna de procura para o formulário.
    • Selecione o Formulário relacionado. Consoante a configuração da tabela relacionada para a coluna:
      • Se a coluna estiver ligada a uma única tabela (tal como a coluna Criado Por), selecione o Formulário relacionado a utilizar. Adicionar controlo de componente de formulário para uma única tabela relacionada
      • Se a coluna estiver ligada a várias tabelas (polimórfica, como a coluna de proprietário), selecione + Formulário relacionado e, em seguida, 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 predefinição, todos os tipos de aplicação cliente Web, Telefone e Tablet estão ativados para apresentar o formulário. Desmarque os tipos de cliente onde não pretende que o formulário seja apresentado.
  3. Selecionar Concluído.
  4. Guarde e, em seguida, Publique o formulário.

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

Neste exemplo, o formulário principal padrão Contacto está configurado para o controlo Form component 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. Mais informações: Adicionar o componente de formulário a um formulário principal de tabela

  1. Inicie sessão no Power Apps.

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

  3. Selecione Formulários do menu de componentes.

  4. Selecione um formulário com um tipo de formulário Principal a partir dos 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 o separador 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 de pesquisa Contacto Principal.

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

  9. No separador Controlos, selecione Adicionar Controlo, na lista de tipos de controlo selecione Controlo de Componentes de Formulário e, em seguida, selecione Adicionar.

    Selecionar o Controlo de Componentes 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 este 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 tornar o formulário principal Contacto no formulário de conta, utilize: <QuickForms><QuickFormIds><QuickFormId entityname="contact">1fed44d1-ae68-4a41-bd2b-f13acac4acfa</QuickFormId></QuickFormIds></QuickForms>

    Configurar o controlo de componente de formulário.

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

  13. Guarde e, em seguida, Publique o seu formulário.

Gorjeta

Para encontrar o nome exclusivo de uma tabela, selecione a tabela no Power Apps e, em seguida, selecione Definições. O Nome aparece no painel de tabela Editar. O ID do formulário pode ser encontrado no URL do browser quando edita um formulário. O ID segue a porção /edit/ do URL. O ID do Formulário pode ser encontrado no URL do browser quando abre um formulário no estruturador de formulários moderno.

No estruturador de formulários clássico, o ID do formulário segue a porção formId%3d do 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 controlo mostrará a mensagem Registo de origem 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.

Os processadores OnSave são executados para o formulário principal e os seus controlos de componentes de formulário. Qualquer processador pode cancelar a ação de guardar para o formulário principal e os controlos de componentes de formulário utilizando preventDefault. Isto significa que nenhuma operação de guardar pode chamar preventDefault para que os dados sejam enviados para o Dataverse. A ordem de quando os processadores OnSave são chamados não está definida. Mais informações: Evento OnSave de Formulário (referência API de Cliente) em aplicações condicionadas 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

Está disponível um contexto de formulário para o controlo de componentes do formulário. Pode ser acedido através do contexto de formulário principal, acedendo ao controlo através de uma API, como getControl. Antes de aceder aos dados relativos à tabela relacionada no controlo de componentes do formulário, os manipuladores de eventos devem esperar que isLoaded API seja necessária para que o controlo volte a ser verdadeiro.

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 controlo do componentes de formulários não suporta aplicações de tela incorporadas. 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 utiliza com um componente de formulário deve incluído na sua aplicação. 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 utilizados pelo formulário num componente de formulário devem ser incluídos na sua aplicação. 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. Se a API cliente for utilizada para modificar o controlo form component, ou se os dados forem introduzidos no formulário, é possível que as alterações não sejam persistentes ao alternar entre separadores de multissessão.

  • 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 subgrelhas, os botões dos comandos Ver todos os registos e Ver registos associados não estarão disponíveis se forem compostos 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.

Consulte também

Utilizar controlos personalizados para visualizações de dados em aplicações condicionadas por modelo

Nota

Pode indicar-nos as suas preferências no que se refere ao idioma da documentação? Responda a um breve inquérito. (tenha em atenção que o inquérito está em inglês)

O inquérito irá demorar cerca de sete minutos. Não são recolhidos dados pessoais (declaração de privacidade).