Insertar una aplicación de lienzo en un formulario basado en modelo

Completado

Microsoft Power Apps se compone de dos herramientas principales: las aplicaciones de lienzo y las aplicaciones basadas en modelo. Mientras que las aplicaciones basadas en modelo solo pueden tener Microsoft Dataverse como base de datos, las aplicaciones de lienzo dan soporte a más de 400 orígenes de datos mediante el uso de conectores integrados o personalizados.

Puede usar aplicaciones de lienzo para dispositivos móviles o tabletas, donde necesitará aplicaciones basadas en tareas. El proceso de desarrollo es sencillo; se le proporciona un lienzo en blanco al que puede arrastrar componentes para formar la interfaz de usuario. Además, puede desarrollar fórmulas en el panel de propiedades de cada componente para agregar validación y otra lógica de negocios.

Para llevar toda la funcionalidad de las aplicaciones de lienzo a una aplicación basada en modelo, puede insertar una aplicación de lienzo. Al insertarla, podrá crear áreas visuales de gran riqueza en un formulario y mostrar datos de varios orígenes junto con los datos de Dataverse.

Insertar una aplicación de lienzo según la experiencia clásica

Para insertar una aplicación de lienzo en un formulario basado en modelo mediante la experiencia clásica, primero deberá abrir el formulario principal y cambiar a la vista clásica. En la plataforma de desarrollo clásico, que es la plataforma de desarrollo original de las aplicaciones de Dynamics CRM, puede generar automáticamente la aplicación de lienzo que se insertará en la aplicación basada en modelo.

Captura de pantalla de la opción Cambiar a clásico

En la vista clásica, debe seleccionar la columna que se enlazará a la aplicación de lienzo. Seleccione Cambiar propiedades en el grupo Editar de la pestaña Inicio. Seleccione la pestaña Controles en el cuadro de diálogo Propiedades de campo.

Captura de pantalla del cuadro de diálogo Propiedades de campo

Para agregar el control de una aplicación de lienzo, seleccione Agregar control. Seleccione Web para permitir que la aplicación de lienzo se muestre en una interfaz web.

Utilice las siguientes propiedades para configurar las propiedades de la aplicación de lienzo insertada en la aplicación basada en modelo:

  • Nombre de tabla (entidad): especifica la tabla que proporcionará datos a la aplicación de lienzo insertada. Esta propiedad se rellenará previamente en el origen de los datos del formulario. Sin embargo, puede cambiar el valor seleccionando el icono Configurar propiedad.

  • Nombre de aplicación: especifica el nombre de la aplicación de lienzo que se insertará. El formulario basado en modelo busca la aplicación de lienzo con el nombre especificado en el entorno actual. Si no la puede encontrar con ese nombre en el entorno, el control de la aplicación de lienzo utilizará el id. de la aplicación para cargar la aplicación de lienzo. Introduzca el nombre de una aplicación de lienzo ya existente.

  • Id. de aplicación: especifica el id. de la aplicación de lienzo insertada. Puede introducir el id. de una aplicación de lienzo ya existente.

Captura de pantalla del cuadro de diálogo Propiedades de campo, con la aplicación de lienzo seleccionada en Web

Si no tiene una aplicación de lienzo ya existente, puede dejar las propiedades de Nombre de aplicación e Id. de aplicación en blanco y seleccionar el botón Personalizar en el cuadro de diálogo Propiedades de campo para crear una aplicación de lienzo nueva. Con esta acción, abrirá el estudio de la aplicación de lienzo de Power Apps.

Se creará una aplicación de lienzo nueva con el campo de clave principal de la tabla seleccionada en la aplicación basada en modelo host de la interfaz de usuario. La clave principal se coloca en el control de formulario Form1, que se crea automáticamente. La propiedad Item del control de formulario hace referencia a un control ModelDrivenFormIntegration especial.

Aparecerá un control ModelDrivenFormIntegration especial en el panel izquierdo del estudio de la aplicación de lienzo. Este control es el encargado de llevar los datos contextuales del formulario basado en modelo del host a la aplicación de lienzo insertada.

Puede diseñar la aplicación de lienzo agregando más campos y controles. Acuérdese de guardar y publicar la aplicación de lienzo una vez que haya completado el diseño. El nombre de la aplicación y la propiedad de id. de la aplicación basada en modelo del host se actualizan automáticamente con los detalles correspondientes de la aplicación de lienzo recién creada.

Insertar una aplicación de lienzo según la experiencia moderna

Para insertar una aplicación de lienzo en un formulario basado en modelo mediante la experiencia moderna, primero deberá abrir el formulario principal, que es el formulario basado en modelo del host. Seleccione la columna del editor de formularios principal que se enlazará a la aplicación de lienzo y luego seleccione el control Canvas app en el grupo Datos relacionados de la lista Componentes de la aplicación basada en modelo.

Captura de pantalla del área de Agregar aplicación de lienzo

Se abrirá el cuadro de diálogo Agregar aplicación de lienzo. Este cuadro de diálogo tiene tres propiedades: Nombre de entidad, Nombre de aplicación e Id. de aplicación. Estas propiedades son similares a las propiedades de la experiencia clásica. Puede crear una aplicación de lienzo en blanco y luego introducir el id. de aplicación en el cuadro de diálogo.

O bien, puede seleccionar la columna que se enlazará a la aplicación de lienzo y luego seleccionar la propiedad Component en el panel de propiedades de la columna, a la derecha del editor de formularios. En el cuadro de diálogo Agregar componente, seleccione Aplicación de lienzo.

Captura de pantalla de la propiedad Component

Se abrirá un cuadro de diálogo donde tendrá que rellenar las tres propiedades Nombre de entidad, Nombre de aplicación e Id. de aplicación. Puede crear una aplicación de lienzo en blanco y luego introducir el id. de aplicación en el cuadro de diálogo.

El componente de aplicación de lienzo se insertará en la aplicación basada en modelo y luego la propiedad del componente se parecerá a la siguiente captura de pantalla.

Captura de pantalla del componente de aplicación de lienzo insertada en la aplicación basada en modelo

Propiedades y acciones del control ModelDrivenFormIntegration

Cuando una aplicación de lienzo se inserta en una aplicación basada en modelo, se agrega un control especial llamado ModelDrivenFormIntegration a la aplicación de lienzo. Este control es el encargado de llevar los datos contextuales de la aplicación basada en modelo del host a la aplicación de lienzo insertada. Este control tiene propiedades y acciones importantes:

  • DataSource: de forma predeterminada, el valor de la propiedad DataSource debe establecerse en el origen de datos que está conectado a la tabla principal del formulario basado en modelo host. Cuando inserta una aplicación de lienzo ya existente, puede configurar el origen de datos ModelDrivenFormIntegration desde la vista de árbol de la aplicación de lienzo.

  • OnDataRefresh: la fórmula de esta propiedad se evalúa cuando el formulario basado en modelo host guarda los datos. Utilice esta propiedad para actualizar el origen de datos que está conectado a la tabla principal del formulario basado en modelo host y para ejecutar otras acciones, como establecer o actualizar variables.

  • Item: propiedad de solo lectura que permite que la aplicación de lienzo insertada tenga acceso a las columnas de la aplicación basada en modelo host. Por ejemplo, para obtener el valor de una columna con el nombre de departmentnumber y nombre para mostrar Department Number, puede usar ModelDrivenFormIntegration.Item. departmentnumber o ModelDrivenFormIntegration.Item.'Department Number'.

  • SaveForm: acción predefinida que guarda los datos en el formulario basado en modelo host.

  • RefreshForm: acción predefinida que actualiza los datos del formulario basado en modelo host. Esta propiedad viene con un solo parámetro:

    showPrompt: parámetro booleano obligatorio que indica si se debe mostrar una solicitud de confirmación al usuario para que guarde todos los datos no guardados del formulario basado en modelo host. Los valores deben ser verdadero o falso.

  • NavigateToMainForm: acción predefinida que navega por el formulario basado en modelo host hasta un formulario principal y muestra la fila especificada. Esta propiedad viene con tres parámetros:

    • entityName: parámetro de cadena obligatorio que especifica la tabla principal del formulario principal.

    • formName: parámetro de cadena obligatorio que especifica el nombre del formulario principal al que navegará.

    • recordId: parámetro de cadena obligatorio que especifica el id. de la fila para mostrar en el formulario principal.

  • NavigateToView: acción predefinida que navega por el formulario basado en modelo host hasta una vista. Esta propiedad viene con dos parámetros:

    • entityName: parámetro de cadena obligatorio que especifica la tabla principal de la vista.

    • viewName: parámetro de cadena obligatorio que especifica el nombre del formulario principal al que navegará.

  • OpenQuickCreateForm: acción predefinida que puede abrir el formulario de creación rápida predeterminado de una tabla. Esta propiedad viene con un solo parámetro:

    entityName: parámetro de cadena obligatorio que especifica la tabla principal del formulario de creación rápida.

En la siguiente unidad, aprenderá a agregar un componente de escala de tiempo en un formulario basado en modelo.