Editar rexistros de táboas relacionados directamente desde o formulario principal doutra táboa

Hai varias formas de traballar con rexistros de táboas relacionados nun formulario de táboa dentro de Power Apps. Por exemplo, podes incluír táboas relacionadas en modo de só lectura cun formulario de vista rápida e crear ou editar un rexistro usando un formulario principal nun diálogo.

Outra forma de traballar cos rexistros de táboas relacionados é engadindo un control de compoñentes de formulario ao formulario principal doutra táboa. O control de compoñentes de formulario permite aos usuarios editar a información dun rexistro de táboa relacionado directamente desde o formulario doutra táboa.

Por exemplo, aquí está o compoñente do formulario nunha pestana separada do formulario de conta principal, que permite ao usuario editar un rexistro de contacto sen saír do formulario de conta.

Engadiuse o control de compoñentes do formulario a unha lapela separada.

Por exemplo, aquí está o compoñente de formulario nunha pestana existente no formulario principal da conta, que tamén permite ao usuario editar un rexistro de contacto sen saír da pestana Resumo do formulario da conta.

Engadiuse un control de compoñentes de formulario a unha lapela existente.

Engadir o compoñente do formulario a un formulario principal da táboa

  1. No panel de navegación esquerdo, selecciona Compoñentes. Se o elemento non está no panel lateral, selecciona …Máis e despois selecciona o elemento que queres.
  2. Expande Entrada ou Mostrar e, a seguir, selecciona Formulario. Na páxina de configuración do control do compoñente do formulario, seleccione as propiedades do control:
    • Seleccione a columna Busca para o formulario.
    • Selecciona o Formulario relacionado. Dependendo da configuración da táboa relacionada para a columna:
      • Se a columna está conectada a unha única táboa (como a columna Creado por), seleccione o Formulario relacionado que quere usar. Engadir control de compoñente de formulario para unha única táboa relacionada
      • Se a columna está conectada a varias táboas (polimórficas, como a columna propietaria), seleccione + Formulario relacionado e, a seguir, seleccione Engadir para engadir o formulario relacionado. Continúa seleccionando + Formulario relacionado>Engadir para engadir un formulario relacionado para cada táboa relacionada. Engadir compoñente de formulario para varias táboas relacionadas
    • Por defecto, todos os tipos de aplicacións cliente Web, Teléfono e Tableta están habilitados para mostrar o formulario. Borre os tipos de clientes nos que non quere que se mostre o formulario.
  3. Seleccione Feito.
  4. Garda e despois publica o formulario.

Engada o compoñente do formulario usando a experiencia clásica

Neste exemplo, o formulario principal estándar de Contacto está configurado para o control de compoñentes do formulario que se engade ao formulario principal da conta.

Importante

O xeito de engadir un control de compoñente de formulario cambiou. Recomendámoslle que use a experiencia máis recente. Máis información: Engadir o compoñente de formulario a un formulario principal de táboa

  1. Inicia sesión en Power Apps.

  2. Seleccione Táboas no panel esquerdo. Como alternativa, abra unha solución e, a seguir, seleccione unha táboa, como Conta. Se o elemento non está no panel lateral, selecciona …Máis e despois selecciona o elemento que queres.

  3. Seleccione Formularios no menú de compoñentes.

  4. Seleccione un formulario cun tipo de formulario de Principal entre os formularios dispoñibles.

  5. Seleccione Mudar a clásico. A interface clásica do editor de formularios ábrese como unha pestana no seu navegador.

  6. Selecciona a lapela Inserir . Despois, crea unha nova lapela e engade unha nova sección ou engade unha nova sección a unha lapela existente.

  7. Na nova sección, engade unha columna de busca, como a columna de busca Contacto principal .

  8. Seleccione a columna de busca e, a seguir, na lapela Inicio , seleccione Cambiar propiedades.

  9. Na lapela Controis , seleccione Engadir control, na lista de tipos de control seleccione Control de compoñentes de formulario e, a seguir, seleccione Engadir.

    Seleccione o Control de compoñentes de formulario.

  10. Seleccione Web, Tableta e Teléfono para o compoñente.

  11. Selecciona Editar (icona do lapis) e na caixa de diálogo Configurar propiedade selecciona Vincular a un valor estático e despois engade unha entrada XML semellante a esta onde NomeTáboa é o nome único da táboa e IDFormulario é o ID do formulario principal:<QuickForms><QuickFormIds><QuickFormId entityname="TableName">FormID</QuickFormId></QuickFormIds></QuickForms>

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

    Configurar o control de compoñentes do formulario.

  12. Selecciona Aceptar e, a seguir, selecciona Aceptar de novo.

  13. Garda e despois publica o teu formulario.

Suxestión

Para atopar o nome único dunha táboa, selecciona a táboa en Power Apps e despois selecciona Configuración. O Nome aparece no panel Editar táboa. O ID do formulario pódese atopar no URL do navegador cando edita un formulario. O ID vai despois da parte /edit/ do URL. O ID do formulario pódese atopar no URL do navegador ao abrir un formulario no deseñador de formularios moderno.

No deseñador de formularios clásico, o ID do formulario segue á parte formId%3d do URL.

Comportamento do compoñente do formulario

Esta sección describe o comportamento dos compoñentes do formulario cando se usan nunha aplicación baseada en modelos.

Selección de rexistros

Para que o control dos compoñentes do formulario mostre un formulario, a columna de busca á que está ligada precisa ter un valor. Se non, o control mostra a mensaxe Rexistro de orixe non seleccionado. Un xeito de establecer o valor é engadir ao formulario un control de busca que estea ligado á mesma columna de busca que o control dos compoñentes do formulario. Cando se usa o control de busca para cambiar o valor da columna de busca, o control do compoñente do formulario mostra un formulario cos datos para o novo valor da columna de busca.

Validación de columnas

Todas as columnas, tanto no formulario principal como nos controis dos compoñentes do formulario, deben ser válidas para que se envíen os datos a Microsoft Dataverse. Isto é certo tanto para erros de validación de columnas como para as columnas necesarias etc.

OnSave Execútanse xestores para o formulario principal e os seus controis de compoñentes de formulario. Calquera xestor pode cancelar a gardada do formulario principal e dos controis dos compoñentes do formulario usando preventDefault. Isto significa que ningunha operación de gardado pode chamar preventDefault para que se envíen datos a Dataverse. Non se define a orde de chamada dos xestores OnSave . Máis información: Evento Form OnSave (referencia da API do cliente) en aplicacións baseadas en modelos

Gardado do rexistro

Unha vez que se pasa a etapa de validación, envíanse os datos a Dataverse para cada rexistro. Actualmente, cada rexistro actualízase de forma independente con solicitudes diferentes. Os gardados non son transaccionais e a orde dos gardados non está definida. Un erro ao gardar un compoñente de formulario non reverterá os cambios ao formulario principal ou a outros compoñentes do formulario. Despois de completar cada gardado, actualízanse os datos de todos os rexistros do formulario.

Notificacións

As notificacións sobre o compoñente do formulario agrúpanse nas notificacións do formulario principal. Por exemplo, se hai columnas non válidas no compoñente do formulario e intentas gardar, a notificación de columna non válida aparece na parte superior do formulario principal en lugar de no compoñente do formulario.

Manexo de erros

Se hai varios erros durante o gardado, só se lle mostrará ao usuario un. Se o usuario pode facer cambios para corrixir o primeiro erro e garda, o seguinte erro será visible. O usuario debe seguir gardando ata que se resolvan todos os erros.

Cambio de rexistros con cambios sen gardar

Se hai cambios sen gardar nun formulario para un compoñente de formulario e un usuario tenta cambiar a columna de busca á que está vinculado o compoñente de formulario, o usuario recibe unha notificación sobre este cambio.

API de cliente

Hai dispoñible un contexto de formulario para o control do compoñente do formulario. Pódese acceder a el a través do contexto do formulario principal accedendo ao control mediante unha API, como getControl. Antes de acceder aos datos da táboa relacionada no control do compoñente do formulario, os xestores de eventos deben esperar a que a API isLoaded control devolva verdadeiro.

Limitacións

Teña en conta as seguintes limitacións cando engada o control de compoñentes de formulario a un formulario de táboa:

  • O control de compoñentes de formulario só admite o procesamento de formularios principais. Do mesmo xeito, a compatibilidade para engadir un control de compoñentes de formulario só é compatible cos formularios principais. Non se admiten outros tipos de formularios, como a creación rápida, a visualización rápida e a tarxeta.

  • Os formularios con fluxo do proceso de negocio non son compatibles actualmente nin co formulario de táboa principal nin co formulario de táboa relacionado. Se tes un formulario cun fluxo de proceso de negocio, é posible que te atopes cun comportamento inesperado. Recomendamos que non use un compoñente de formulario cun formulario que use un fluxo do proceso de negocio.

  • O control de compoñentes de formulario non admite controis de compoñentes de formulario incrustados, como engadir un control de compoñentes de formulario a un formulario que é usado por un control de compoñentes de formulario.

  • O control do compoñente do formulario non admite aplicacións de lenzo integradas. É posible que atopes un comportamento inesperado con estas aplicacións de lenzo.

  • O control do compoñente do formulario só amosará a primeira pestana do formulario que usa se se inclúen varias pestanas nese formulario.

  • Non se admite o uso do mesmo formulario para controis de compoñentes de formulario diferentes nun único formulario.

  • O formulario que usas cun compoñente de formulario debe estar incluído na túa aplicación. Se non o é, ou se o usuario actual non ten acceso ao formulario, recorre ao formulario principal superior que está incluído na aplicación e dispoñible para o usuario (segundo a orde dos formularios).

  • Todos os compoñentes empregados polo formulario nun compoñente de formulario deben estar incluídos na túa aplicación. Estes compoñentes inclúen táboas, vistas e fluxos de procesos de negocio relacionados. Se non o están, non estarán dispoñibles no formulario ou pode haber un comportamento inesperado.

  • Os controis de compoñentes de formulario teñen certas limitacións cando se renderizan en aplicacións multisesión. Especificamente, os controladores engadidos dinamicamente no formulario do compoñente do formulario, como addOnSave ou addOnChange , poden non executarse despois de cambiar as lapelas multisesión.

  • Pode que notes que o muro da liña de tempo non se actualice cando unha columna que se usa para definir o muro da liña de tempo cambia no compoñente do formulario. Cando se actualiza a páxina, o muro da liña de tempo actualízase segundo o esperado.

  • No móbil, o control da liña de tempo non aparece actualmente no control dos compoñentes do formulario.

  • Para as subgrades, o botón de comando Ver rexistros asociados non estará dispoñible se a subgrade se renderiza dentro dun compoñente de formulario.

  • Os controis dos compoñentes do formulario non se admiten nos diálogos de edición masiva. Non aparecerán no formulario no diálogo de edición masiva por defecto e non se gardarán os cambios realizados nos rexistros de táboa relacionados con eles.

  • Cando se detectan rexistros duplicados ao gardar un control de compoñentes de formulario, é posible que os usuarios non poidan ver os duplicados para resolver conflitos.

  • A validación de formularios só se realiza para os campos obrigatorios que se renderizan. Non é posible a validación para os campos obrigatorios que non son visibles ou non se renderizan ou non están presentes noutra lapela.

Ver tamén

Usar controis personalizados para visualizacións de datos de aplicacións baseadas en modelos