Editar registros de tabla relacionados directamente desde el formulario principal de otra tabla

Hay varias formas de trabajar con registros de tabla relacionados en un formulario de tabla dentro de Power Apps. Por ejemplo, puede incluir tablas relacionadas en modo de solo lectura con un formulario de vista rápida y crear o editar un registro mediante un formulario principal en un cuadro de diálogo.

Otra forma en que puede trabajar con registros de tabla relacionados es agregando un control form component al formulario principal de otra tabla. El control form component permite a los usuarios editar información de un registro de tabla relacionado directamente desde el formulario de otra tabla.

Por ejemplo, aquí está el componente de formulario en una pestaña independiente en el formulario de cuenta principal, que permite al usuario editar un registro de contacto sin salir del formulario de cuenta.

Control form component agregado a una pestaña independiente.

Por ejemplo, aquí está el componente de formulario en una pestaña existente en el formulario de cuenta principal, que también permite al usuario editar un registro de contacto sin salir de la pestaña Resumen del formulario de la cuenta.

Control form component agregado a una pestaña existente.

Agregar el componente de formulario a un formulario principal de tabla

  1. En el panel de navegación izquierdo, seleccione Componentes. Si el elemento no se encuentra en el panel lateral, seleccione …Más y, a continuación, el elemento que desee.
  2. Expanda Entrada o Mostrar y luego seleccione Formulario. En la página de configuración del control del componente de formulario, seleccione las propiedades del control:
    • Seleccione la Columna de búsqueda para el formulario
    • Seleccione la pestaña Formulario relacionado. Según la configuración de la tabla relacionada para la columna:
      • Si la columna está conectada a una sola tabla (como la columna Autor), seleccione el Formulario relacionado que se usará. Agregar el control form component para una sola tabla relacionada
      • Si la columna está conectada a varias tablas (polimórficas, como la columna del propietario), seleccione + Formulario relacionado y luego seleccione Agregar para agregar el formulario relacionado. Continúe para seleccionar + Formulario relacionado > Agregar para agregar un formulario relacionado para cada tabla relacionada. Agregar componente de formulario para varias tablas relacionadas
    • De forma predeterminada, todos los tipos de aplicaciones cliente Web, Teléfono y Tableta están habilitados para mostrar el formulario. Borre los tipos de clientes en los que no desea que aparezca el formulario.
  3. Seleccione Listo.
  4. Debe Guardar y, a continuación, Publicar el formulario.

Agregar el componente de formulario usando la experiencia clásica

En este ejemplo, el formulario principal estándar Contacto está configurado para el control form component que se agrega al formulario principal de la cuenta.

Importante

La manera de agregar un control form component ha cambiado. Le recomendamos que use la experiencia más reciente. Más información: Agregar el componente de formulario a un formulario principal de tabla

  1. Inicie sesión en Power Apps.

  2. En el panel izquierdo, seleccione Tablas. Alternativamente, abra una solución y luego seleccione una tabla, como Cuenta. Si el elemento no se encuentra en el panel lateral, seleccione …Más y, a continuación, el elemento que desee.

  3. Seleccione Formularios en el menú de componentes.

  4. Seleccione un formulario con un tipo de formulario Principal de los formularios disponibles.

  5. Seleccione Cambiar a clásico. La interfaz clásica editor de formularios se abre como una pestaña en su navegador.

  6. Seleccione la pestaña Insertar. A continuación, cree una nueva pestaña y agregue una nueva sección o agregue una nueva sección a una pestaña existente.

  7. En la nueva sección, agregue una columna de búsqueda, como la columna Contacto principal de búsqueda.

  8. Seleccione la columna de búsqueda y, a continuación, en la pestaña Inicio, seleccione Cambiar propiedades.

  9. En la pestaña Controles, seleccione Agregar control, en la lista de tipos de control seleccione Control de componente del formulario y, a continuación, seleccione Agregar.

    Seleccione el control form component.

  10. Seleccione Web, Tableta y Teléfono para el componente.

  11. Seleccione Editar (icono de lápiz) y en el cuadro de diálogo Configurar propiedad seleccione Enlazar a un valor estático y, a continuación, agregue una entrada XML similar a esta donde TableName es el nombre único de la tabla y FormID es el ID de formulario para el formulario principal:<QuickForms><QuickFormIds><QuickFormId entityname="TableName">FormID</QuickFormId></QuickFormIds></QuickForms>

    • Por ejemplo, para representar el formulario principal Contacto en el formulario de la cuenta, use: <QuickForms><QuickFormIds><QuickFormId entityname="contact">1fed44d1-ae68-4a41-bd2b-f13acac4acfa</QuickFormId></QuickFormIds></QuickForms>

    Configure el control form component.

  12. Seleccione Aceptar y, a continuación, seleccione Aceptar de nuevo.

  13. Seleccione Guardar y después Publicar su formulario.

Sugerencia

Para encontrar el nombre exclusivo de una tabla, seleccione la tabla en Power Apps y luego seleccione Configuración. El Nombre aparecerá en el panel de la tabla Editar. El ID del formulario se puede encontrar en la dirección URL del navegador cuando edita un formulario. El Id. sigue la parte /edit/ de la dirección URL. El ID del formulario se puede encontrar en la dirección URL del navegador cuando abre un formulario en el diseñador de formularios moderno.

En el diseñador de formularios clásico, el Id. del formulario sigue la parte formId%3d de la dirección URL.

Comportamiento del componente del formulario

Esta sección describe el comportamiento del componente de formulario cuando se usa en una aplicación basada en modelo.

Selección de registros

Para que el control form component muestre un formulario, la columna de búsqueda a la que está vinculado debe tener un valor. De lo contrario, el control mostrará el mensaje Registro de origen no seleccionado. Una forma de establecer el valor es agregar al formulario un control search que está enlazado a la misma columna de búsqueda que el control del componente del formulario. Cuando usa el control search para cambiar el valor de la columna de búsqueda, el control form component mostrará un formulario con los datos del nuevo valor de la columna de búsqueda.

Validación de columna

Todas las columnas, tanto en el formulario principal como en los controles de componentes del formulario, deben ser válidas para que los datos se envíen a Microsoft Dataverse. Esto es cierto para los errores de validación de ambas columnas, las columnas obligatorias que faltan, etc.

Los controladores OnSave se ejecutan para el formulario principal y sus controles de componentes de formulario. Cualquier controlador puede cancelar el guardado del formulario principal y los controles del componente del formulario usando preventDefault. Esto significa que ninguna operación de guardado puede llamar a preventDefault para que los datos se envíen a Dataverse. El orden en que se llama a los controladores OnSave no está definido. Más información: Evento OnSave de formulario (referencia de API de cliente) en aplicaciones basadas en modelos

Guardar registro

Una vez pasada la fase de validación, los datos se envían a Dataverse para cada registro. Actualmente, cada registro se actualiza de forma independiente con diferentes solicitudes. Los guardados no son transaccionales y el orden de los guardados no está definido. Un error al guardar un componente del formulario no revertirá los cambios en el formulario principal u otros componentes del formulario. Una vez que se completa cada guardado, los datos se actualizan para todos los registros del formulario.

Notificaciones

Las notificaciones del componente de formulario se agregan a las notificaciones del formulario principal. Por ejemplo, si hay columnas no válidas en el componente de formulario e intenta guardar, la notificación de columna no válida aparecerá en la parte superior del formulario principal en lugar de en el componente de formulario.

Control de errores

Si hay varios errores durante el guardado, solo se mostrará un error al usuario. Si el usuario puede realizar cambios para corregir el primer error y guarda, el siguiente error será visible. El usuario deberá seguir guardando hasta que se hayan resuelto todos los errores.

Cambio de registros con cambios no guardados

Si hay cambios sin guardar en un formulario para un componente de formulario y un usuario intenta cambiar la columna de búsqueda a la que está vinculado el componente de formulario, el usuario recibirá una alerta sobre este cambio.

API de cliente

Un contexto de formulario está disponible para el control form component. Se puede acceder a través del contexto del formulario del formulario principal accediendo al control a través de una API, como getControl. Antes de acceder a los datos de la tabla relacionada en el control form component, los controladores de eventos deben esperar la API isLoaded para que el control vuelva a ser verdadero.

Limitaciones

Tenga en cuenta las siguientes limitaciones cuando agrega el control form component a un formulario de tabla:

  • El control form component solo admite la representación de formularios principales. De manera similar, la compatibilidad para agregar un control form component solo se admite con formularios principales. No se admiten otros tipos de formularios, como creación rápida, vista rápida y tarjeta.

  • Actualmente no se admiten formularios con un flujo de proceso de negocio ni en el formulario de la tabla principal ni en el formulario de la tabla relacionada. Si tiene un formulario con flujo de proceso de negocio, puede encontrar un comportamiento inesperado. Le recomendamos que no utilice un componente de formulario con un formulario que utilice un flujo de proceso de negocio.

  • El control form component no admite controles de componente de formulario incrustados, como agregar un control form component a un formulario usado por un control form component.

  • El control del componente de formulario no admite aplicaciones de lienzo integradas. Es posible que encuentres un comportamiento inesperado con estas aplicaciones de lienzo.

  • El control form component solo mostrará la primera pestaña del formulario que usa si se incluyen varias pestañas en ese formulario.

  • No se admite el uso del mismo formulario para diferentes controles de componentes de formulario en un solo formulario.

  • El formulario que usa con un componente de formulario debe incluirse en su aplicación. Si no es así, o si el usuario actual no tiene acceso al formulario, volverá al formulario principal superior que se incluye en la aplicación y está disponible para el usuario (según el orden del formulario).

  • Todos los componentes usados por el formulario en un componente de formulario deben incluirse en su aplicación. Estos componentes incluyen tablas, vistas y flujos de procesos de negocio relacionados. Si no es así, no estarán disponibles en el formulario o puede haber un comportamiento inesperado.

  • Los controles de componentes de formularios tienen ciertas limitaciones cuando se representan en aplicaciones multisesión. Si se usa la API del cliente para modificar el control del componente del formulario, o si se ingresan datos en el formulario, es posible que los cambios no se mantengan al cambiar las pestañas de sesiones múltiples.

  • Podría observar que el muro de la línea de tiempo podría no actualizarse cuando una columna que se usa para configurar el muro de la línea de tiempo ha cambiado en el componente de formulario. Cuando se actualice la página, el muro de la línea de tiempo se actualizará como se esperaba.

  • En dispositivos móviles, el control timeline no aparece actualmente en el control form component.

  • En las subcuadrículas no estarán disponibles los botones de comando Ver todos los registros y Ver registros asociados si se representan dentro de un componente de formulario.

  • Los controles de componentes del formulario no son compatibles con los diálogos de edición masiva. No aparecerán en el formulario del diálogo de edición masiva de forma predeterminada y los cambios realizados en los registros de la tabla relacionados con ellos no se guardarán.

Consulte también

Usar controles personalizados para visualizaciones de datos de aplicaciones basadas en modelos

Nota

¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)

La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).