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 em um Power App. 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 um 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.
Por exemplo, este é o componente de formulário em uma guia existente no formulário da conta principal, que também permite ao usuário editar um registro do contato sem sair da guia Resumo do formulário da conta.
Adicionar o componente do formulário a um formulário principal da tabela
Neste exemplo, o formulário principal padrão Contato é configurado para o controle de componente do formulário adicionado ao formulário principal da conta.
Entre no Power Apps.
Selecione Dataverse e, em seguida, Tabelas no painel esquerdo. Alternativamente, selecione uma solução no menu e, em seguida, uma tabela, como Conta.
Selecione Formulários no menu de componentes.
Selecione um formulário com um tipo Principal dentre os formulários disponíveis.
Selecione Alternar para clássico. A interface clássica do editor de formulários é aberta como uma guia em seu navegador.
Selecione a guia Inserir. Em seguida, crie uma nova guia e adicione uma nova seção ou adicione uma nova seção a uma guia existente.
Na nova seção, adicione uma coluna de pesquisa, tal como a coluna de pesquisa Contato primário.
Selecione a coluna de pesquisa e, em seguida, na guia Casa, selecione Alterar propriedades.
Na guia Controles, selecione Adicionar controle, na lista de tipos de controle, selecione Controle de componente de formulário e selecione Adicionar.
Selecione Rede, Tablet e Telefone para o componente.
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 em que TableName é o nome exclusivo da tabela e FormID é o ID de formulário 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 de conta, use:
<QuickForms><QuickFormIds><QuickFormId entityname="contact">1fed44d1-ae68-4a41-bd2b-f13acac4acfa</QuickFormId></QuickFormIds></QuickForms>
- Por exemplo, para renderizar o formulário principal Contato no formulário de conta, use:
Selecione OK e depois OK novamente.
Salve e então Publique seu formulário.
Dica
Para encontrar o nome exclusivo de uma tabela, selecione a tabela no Power Apps e então selecione Configurações. O Nome aparece no painel da tabela Editar.
O ID do formulário pode ser encontrado no URL do navegador quando você edita um formulário. O ID segue a parte /edit/ do URL.
No designer de formulários clássico, 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 do componente do formulário mostre um formulário, a coluna de pesquisa à qual está vinculado precisa 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 do formulário. Quando você usa o controle de pesquisa para alterar o valor da coluna de pesquisa, o controle do 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.
Os manipuladores OnSave são executados para o formulário principal e seus controles de componente 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 chamar preventDefault para que os dados sejam enviados no Dataverse. A ordem de quando os manipuladores OnSave são chamados não está definida. Mais Informações: Evento OnSave de formulário (referência de API do cliente) em aplicativos baseados em 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 do formulário são agregadas às notificações do formulário principal. Por exemplo, se houver colunas inválidas no componente do 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 do formulário está disponível para o controle do componente do formulário. Ele pode ser acessado por meio do contexto de formulário do formulário principal, acessando o controle por meio de uma API, como getControl. Antes de acessar os dados da tabela relacionada no controle de componente do formulário, os manipuladores de eventos devem esperar pela isLoaded API para que 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 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). Mais informações: Adicionar um componente.
Você poderá notar que o mural da linha do tempo não é atualizado quando uma coluna que é 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.
Para subgrades, os botões de comando Ver todos os registros e Ver registros associados não estarão disponíveis se forem renderizados em um componente de formulário.
Os controles do componente de formulário não têm suporte em 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 com eles não serão salvas.
Consulte também
Usar controles personalizados para visualizações de dados do aplicativo controladas por modelo
Observação
Você pode nos falar mais sobre suas preferências de idioma para documentação? Faça uma pesquisa rápida. (Observe que esta pesquisa está em inglês)
A pesquisa levará cerca de sete minutos. Nenhum dado pessoal é coletado (política de privacidade).
Comentários
Enviar e exibir comentários de