Directrices y solución de problemas para aplicaciones de lienzo insertadas

Orientación sobre la incrustación de aplicaciones de lienzo

Este artículo proporciona una orientación acerca de cómo trabajar con aplicaciones del lienzo incrustadas así como sugerencias útiles para solucionar los problemas que puede encontrar.

  • Las aplicaciones de lienzo incrustadas se admiten solo con aplicaciones basadas en modelos de interfaz unificada.
  • Solo se pueden habilitar tres aplicaciones de lienzo integradas para cada formulario con web, y una para los tipos de cliente de tableta y teléfono.
  • Se pueden agregar varias aplicaciones de lienzo incrustadas al formulario, pero solo se pueden habilitar tres a la vez para la web y una a la vez para los tipos de cliente de tableta y teléfono.
  • Si más de tres aplicaciones de lienzo integradas están habilitadas con el tipo de cliente web en una aplicación basada en modelos, el mensaje de error muestra lo siguiente: "Tiene más de tres aplicaciones de lienzo con el factor de forma Web y el máximo es tres para este factor de forma. La cantidad de aplicaciones de lienzo se limita a tres para Web y una para factores de forma de tableta y teléfono ".
  • Para habilitar o deshabilitar una aplicación incrustada del lienzo consulte Habilitar una aplicación de lienzo incrustada y Deshabilitar una aplicación incrustada de lienzo.
  • Le recomendamos que tenga una única aplicación de lienzo incrustada para cada pestaña de formulario.
  • Cuando agrega una aplicación de lienzo incrustada a un formulario basado en modelos, use siempre una columna obligatoria que tiene garantizado siempre un valor. Si la columna no tiene un valor, su aplicación incrustada de lienzo no se actualizará como respuesta a cualquier cambio en los datos del formulario controlado por modelos de host.
  • Publicar un formulario controlado por modelos tampoco publica la aplicación de lienzo incrustada.
    • Las aplicaciones incrustadas de lienzo tienen que publicarse independientemente del formulario controlado por modelos del host. Más información: Publicación una aplicación.
  • Si abre Power Apps Studio para crear o editar una aplicación incrustada de lienzo mediante el botón Personalizar en las propiedades del control de aplicaciones de la lona está bloqueado debido a un bloqueador de elementos emergentes de explorador web, debe habilitar el sitio de make.powerapps.com o temporalmente deshabilitar el bloqueador de elementos emergentes y después seleccionar Personalizar de nuevo.
  • Las aplicaciones incrustadas de lienzo no se muestran al crear una nueva fila ya que necesitan que se les pase un contexto de fila.
  • El objeto de ModelDrivenFormIntegration.Item es de solo lectura.
    • Para devolver datos por escrito debe usar el conector Dataverse. Más información: Microsoft Dataverse
  • Las aplicaciones incrustadas del lienzo se pueden crear solo a través del formulario controlado por modelos del host.
  • Al visualizar un formulario basado en modelos con una aplicación de lienzo incrustada, si aparece un mensaje de error que dice "Parece que no tiene acceso a la aplicación. Pida a su propietario que lo comparta con usted", asegúrese de que el autor haya compartido la aplicación de lienzo incrustada con usted. Más información: Compartir una aplicación incrustada de lienzo.
  • Ya no es posible agregar una aplicación de lienzo en el control subgrid.
    • En el lanzamiento de vista previa, los creadores pudieron agregar una aplicación de lienzo en un control subgrid. Con la incrustación de aplicaciones de lienzo en formularios basados en modelo ahora disponible de manera generalizada, la adición de una aplicación de lienzo incrustada en un formulario basado en modelo se simplifica a la columna.
    • Esto hace que sea más fácil para los creadores ya que no tienen que decidir de antemano si pasan a la fila (formulario principal) como el contexto de datos o una lista de filas relacionadas con la fila actual (formulario principal).
    • Los creadores siempre empiezan con una columna y pueden tener acceso tanto a la fila actual (formulario principal) como a una lista de filas relacionados con la fila actual (formulario principal).
    • Para obtener acceso a la lista de filas relacionadas en la aplicación de lienzo, los creadores pueden usar el conector de Dataverse y la función Filtro con la funcionalidad Mejorar la experiencia de orígenes de datos y vistas de Dataverse habilitada en la aplicación de lienzo.
      Por ejemplo, para tener acceso a la vista Contactos activos de la tabla Contactos, los creadores pueden usar: Filter(Contacts, 'Contacts (Views)'.'Active Contacts').
    • Las aplicaciones de lienzo existentes que usen el control subgrid continuarán funcionando. Sin embargo, se recomienda migrar estas aplicaciones para usar una columna en su lugar. Más información: Migrar aplicaciones de lienzo insertadas en formularios basados en modelos que usan una lista de filas relacionadas con la fila actual (formulario principal).

Habilitar una aplicación incrustada de lienzo

  1. Seleccione la columna que está personalizado para mostrarse como una aplicación incrustada de lienzo.
  2. En el cuadro de diálogo Propiedades de columna , seleccione la pestaña Controles .
  3. En la lista de controles seleccione Aplicación de lienzo y seleccione la opción Web .
  4. Seleccione Aceptar.

Deshabilitar una aplicación incrustada de lienzo

  1. Seleccione la columna que está personalizado para mostrarse como una aplicación incrustada de lienzo.
  2. En el cuadro de diálogo Propiedades de columna , seleccione la pestaña Controles .
  3. En la lista de controles, seleccione el control predeterminado y seleccione la opción Web.
  4. Seleccione Aceptar.

Guardar datos en una aplicación incrustada de lienzo

  • Un evento de guardado realizado desde una aplicación basada en modelos, como seleccionar el botón Guardar en la barra de comandos del formulario principal, no guarda los cambios realizados en la aplicación de lienzo incrustada.
  • Para guardar los cambios realizados en una aplicación de lienzo incrustada, utilice el conector de Dataverse.
  • La acción OnDataRefresh del control ModelDrivenFormIntegration solo debe usarse para actualizar datos dentro de la aplicación de lienzo incrustada. No recomendamos que la acción OnDataRefresh se use para guardar cambios dentro de la aplicación de lienzo incrustada.

Problemas y limitaciones conocidos con aplicaciones incrustadas de lienzo

Limitaciones

  • El control personalizado de aplicación de lienzo solo es compatible para usarlo con el tipo de cliente Web . Actualmente, no se admiten los tipos de cliente Teléfono y Tableta .
  • No puede usar el privilegio Aplicación de lienzo en un rol de seguridad para conceder acceso a usuarios de la aplicación a una aplicación incrustada o independiente de lienzo. Para obtener más información sobre compartir una aplicación incrustada de lienzo, consulte: Compartir una aplicación incrustada de lienzo.
  • Si responde escribiendo los mismos datos que se muestran en el formulario controlado por modelos de host, el formulario seguirá mostrando datos antiguos hasta que se actualice. Una forma simple de hacer esto es usar el método RefreshForm.
  • Los controles de capacidad del dispositivo y sin conexión, como escanear códigos de barras, capturar fotos desde el dispositivo o adjuntar archivos, no son compatibles con las aplicaciones de lienzo integradas.

Por ejemplo, cuando el control ModelDrivenFormIntegration está conectado a la tabla Cuentas, el uso de ModelDrivenFormIntegration.Item.’Primary Contact’.’Full Name’ no devolverá un valor.

Para obtener acceso a columnas de una tabla relacionada, los creadores puede usar cualquiera de las expresiones enumeradas aquí: - LookUp(Accounts, Account = GUID(First(ModelDrivenFormIntegration.Data).ItemId)).'Primary Contact'.'Full Name'
- ItemId está vacío en el momento de creación pero tendrá un valor en tiempo de ejecución. - LookUp(Accounts, Account = ModelDrivenFormIntegration.Item.Account).'Primary Contact'.'Full Name' (Esta expresión es más fácil de leer, pero la anterior tendrá un comportamiento ligeramente mejor.)

La aplicación de lienzo insertada no se reproduce correctamente

Puede crear la aplicación de lienzo con capacidad de respuesta, que se refiere a la capacidad de una aplicación para alinearse automáticamente con diferentes tamaños de pantalla y factores de forma para usar el espacio de pantalla disponible de manera sensata. Dependiendo de si su aplicación está diseñada para responder o no, recomendamos diferentes configuraciones para garantizar que su aplicación de lienzo se represente correctamente dentro del campo en el formulario de la aplicación basada en modelo. Si experimenta espacios en blanco o barras de desplazamiento adicionales alrededor de su aplicación de lienzo, le recomendamos verificar lo siguiente en su aplicación.

Para aplicaciones con capacidad de respuesta:

  • Deshabilitar la opción Ajustar al área. Esto permite que su aplicación escale según las dimensiones y propiedades que haya configurado para su aplicación. Una aplicación de lienzo insertada podría no mostrarse correctamente en el campo en el formulario de aplicación basada en modelo, como espacios en blanco adicionales o barras de desplazamiento alrededor de la aplicación de lienzo.

Aplicaciones no dinámicas:

  • Le recomendamos que habilite la opción Escalar para adaptarse. Esto ayuda a que la aplicación cambie de tamaño para adaptarse al espacio disponible.

En ambos escenarios, asegúrese de que el valor de la propiedad Nombre de aplicación está definido incorrectamente en el control canvas app insertada.

La aplicación de lienzo insertada no respeta la altura

La propiedad Altura del campo de formulario no es respetada por el componente de la aplicación de lienzo. Cuando está incrustado, las dimensiones del componente de la aplicación de lienzo respetan la relación de aspecto establecida en la aplicación de lienzo. Debido a que la relación de aspecto es fija, la altura del componente de la aplicación de lienzo se calcula en relación con el ancho de la aplicación. El ancho de la aplicación se determina en función del espacio horizontal disponible en la aplicación basada en modelos. Si desea realizar ajustes en la altura del componente de la aplicación de lienzo, le recomendamos personalizar la relación de aspecto en su aplicación de lienzo. Tenga en cuenta que para personalizar la relación de aspecto, la aplicación debe estar en diseño de tableta.

Habilitar Ajustar al área

De forma predeterminada, las aplicaciones de lienzo tienen habilitada la opción Ajustar al área.

  1. Abra la aplicación de lienzo que está insertando en un formulario de aplicación basado en modelo para editar.
  2. En Power Apps studio, seleccionar Archivo > Configuración > Tamaño de pantalla + orientación.
  3. En Configuración avanzada, establezca Ajustar al área como Activado. Configuración de la aplicación de lienzo Ajustar al área.

El valor de la propiedad Nombre de aplicación falta o está definido incorrectamente

Para resolver este problema, elija la opción correcta:

  • Soluciones administradas: si la solución se importó a un entorno como solución administrada, siga estos pasos:

    1. Inicie sesión en Power Apps y vaya al entorno de desarrollo donde creó originalmente su aplicación de lienzo insertada. Este es también el entorno donde se exportó la solución.

    2. Abra la solución no administrada que incluye la aplicación de lienzo y luego busque la aplicación de lienzo en la lista de componentes de la solución. Copiar la aplicación de lienzo Nombre exactamente como aparece en la lista de componentes. Por ejemplo, contoso_flooringestimatesapp_624d7. Copie el nombre único de la aplicación de lienzo.

    3. En la misma solución, edite la aplicación basada en modelo que tiene el control canvas app insertada y luego configure el Nombre de aplicación del lienzo con el control canvas app insertada utilizando el valor del paso anterior. Más información: Agregar una aplicación de lienzo insertada en un formulario basado en modelo

    4. Exporte la solución desde el entorno de desarrollo y luego importe la solución a su entorno de destino.

  • Soluciones no administradas: si la solución se importó a un entorno como solución no administrada, edite la aplicación basada en modelo que tiene el control canvas app insertada y luego siga pasos similares a los descritos para un solución administrada para configurar la propiedad Nombre de aplicación del lienzo.

El control canvas app integrado carga la aplicación de lienzo desde un entorno diferente

Cuando una solución que contiene una aplicación basada en modelo con una aplicación de lienzo insertada se importa a un entorno de destino, el control carga la aplicación de lienzo desde el entorno de origen (donde se exportó la solución). El control debe cargar la aplicación de lienzo desde el entorno de destino (actual).

Este problema se produce porque el usuario de la aplicación no tiene acceso de lectura a la tabla de metadatos extendidos de CanvasApp en el entorno de destino (actual). Para resolver este problema, agregue al usuario a un rol de seguridad usado para la aplicación que tiene acceso de lectura a la tabla de metadatos extendidos de CanvasApp. Más información: Otorgar privilegios de lectura para la tabla de metadatos extendidos de CanvasApp

Mensaje de error: "No tiene privilegios de lectura para la entidad Aplicación de lienzo. Póngase en contacto con el administrador del sistema."

El mensaje de error se muestra en el formulario de la aplicación basada en modelo, donde debería aparecer la aplicación de lienzo insertada.

Este problema se debe a que el usuario de la aplicación no tiene acceso de lectura a la tabla de metadatos extendidos de CanvasApp. Para resolver este problema, agregue al usuario a un rol de seguridad usado para la aplicación que tiene acceso de lectura a la tabla de metadatos extendidos de CanvasApp.

Otorgar privilegios de lectura para la tabla de metadatos extendidos de CanvasApp
  1. En Power Apps, seleccione el entorno y, en el panel de navegación de la izquierda, seleccione Aplicaciones.
  2. Seleccione la aplicación que desea, seleccione ... y, a continuación, seleccione Compartir.
  3. En el panel izquierdo, seleccione la aplicación y después seleccione Administrar roles de seguridad.
  4. Abra el rol de seguridad asignado a la aplicación, como el rol de seguridad Usuario básico, por ejemplo.
  5. Seleccione la pestaña Entidades personalizadas y establezca privilegios de lectura de ámbito de la organización para la tabla Metadatos extendidos de CanvasApp. Establecer el privilegio de lectura de ámbito de la organización en la tabla Metadatos extendidos de CanvasApp
  6. Seleccione Guardar y cerrar para cerrar la ventana de rol de seguridad.

Consultar también

Insertar una aplicación de lienzo en un formulario basado en modelos
Agregar una aplicación de lienzo incrustada en un formulario basado en modelos
Editar una aplicación de lienzo incrustada en un formulario basado en modelos
Personalizar el tamaño y orientación de la pantalla de una aplicación de lienzo insertada en un formulario basado en modelos
Realice acciones predefinidas en el formulario de host desde una aplicación de lienzo insertada
Propiedades y acciones del control ModelDrivenFormIntegration
Compartir una aplicación incrustada de lienzo
Migrar aplicaciones de lienzo insertadas en formularios basados en modelos creados mediante la versión de vista previa pública a la más reciente

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