Cree aplicaciones más rápidamente mediante el control Formulario de la entidad para agregar completos formularios para una entidad de Common Data Service.

Para ver una introducción al control Formulario de la entidad, consulte esta entrada de blog: New entity form control (experimental feature) for Common Data Service (Nuevo control Formulario de la entidad (versión preliminar) para Common Data Service).

Importante: Tenga en cuenta la naturaleza experimental del control Formulario de la entidad, tal como se describe en la entrada de blog, y tenga cuidado al usarlo en aplicaciones de producción, al menos por ahora.

Propiedades principales

Estas son las propiedades fundamentales de un control Formulario de la entidad.

DataSource: especifica el origen de datos que contiene el registro o los registros que desea mostrar.
Nota: Actualmente se admiten solo entidades en Common Data Service como orígenes de datos para el control Formulario de la entidad.

Patrón: especifica el estilo del formulario que desea mostrar en el control Formulario de la entidad. Establezca esta propiedad mediante la enumeración FormPattern.

  • FormPattern.List: muestra una lista tabular de registros.
  • FormPattern.CardList: muestra una lista de tarjetas de registros.
  • FormPattern.Details: muestra un formulario para ver o editar los detalles de un único registro.
  • FormPattern.None: no se ha especificado explícitamente ningún estilo. El valor predeterminado es List para aplicaciones de tableta y CardList para las de teléfono.

Item: especifica el registro en el origen de datos que el control Formulario de la entidad debería mostrar. Esta propiedad se usa solo cuando Patrón está establecida en FormPattern.Details.

Seleccionado: obtiene el registro que está seleccionado actualmente.
Ejemplo: si el control Formulario de la entidad muestra una lista de registros de pedido de ventas, la propiedad Seleccionado le proporcionará el registro que está seleccionado actualmente. También puede acceder a un campo dentro de un registro. (Por ejemplo, especifique el valor del campo Account del registro seleccionado como Selected.Account).

CamposSeleccionables: especifica qué campos deben aparecer como vínculos. Establezca el valor de esta propiedad con esta sintaxis:
{NombreDeCampo1: true, NombreDeCampo2: true}
Ejemplo: si desea que los campos SalesOrderId y Account aparezcan como vínculos en un formulario, establezca la propiedad CamposSeleccionables de ese formulario en este valor:
{SalesOrderId : true, Account : true}

CampoSeleccionado: determina en qué campo se hizo clic o se pulsó. Esto solo se aplica a los campos especificados como CamposSeleccionables.
Ejemplo: si establece la propiedad CamposSeleccionables en {SalesOrderId: true, Account: true} y el usuario hace clic o pulsa en el campo Account, SelectedField.Account está establecido en true.

OnFieldSelect: cómo responde una aplicación cuando el usuario hace clic o pulsa en un campo. Esto solo se aplica a los campos especificados como CamposSeleccionables.

Mode: determina el modo del formulario. Para cambiar el modo, utilice la función ViewForm, EditarFormulario o NewForm. Estas funciones solo se pueden usar cuando la propiedad Patrón está establecida en FormPattern.Details. Establezca el valor de la propiedad Mode en uno de los de la enumeración FormMode.

  • FormMode.View: permite que los usuarios vean pero no que editen ni agreguen un registro.
  • FormMode.Edit: permite que los usuarios editen un registro.
  • FormMode.New: permite que los usuarios agreguen un registro.

OnSuccess: la forma en la que responde una aplicación cuando una operación de datos se ha realizado correctamente.

OnFailure: la forma en la que responde una aplicación cuando una operación de datos ha sido incorrecta.

Unsaved: determina si un registro que un usuario está editando tiene cambios no guardados.

Funciones relacionadas

Puede usar estas funciones compartidas con el control Formulario de la entidad o el control de formulario Editar. Estas funciones se pueden usar con el control Formulario de la entidad solo cuando su propiedad Patrón está establecida en FormPattern.Details.

ViewForm: establece la propiedad Mode de un control Formulario de la entidad en FormMode.View.

EditarFormulario: establece la propiedad Mode de un control Formulario de la entidad en FormMode.Edit.

NewForm: establece la propiedad Mode de un control Formulario de la entidad en FormMode.New.

SubmitForm: guarda los cambios cuando un usuario edita un registro en un control Formulario de la entidad.

ResetForm: abandona los cambios sin guardar cuando un usuario edita un registro en un control Formulario de la entidad.

Después de esta introducción a las distintas propiedades y funciones, se van a mostrar en acción.

Nota: Si no tiene acceso a una base de datos de Common Data Service, cree una antes de empezar a seguir estos pasos.

Mostrar una lista de registros

Los cinco procedimientos siguientes proporcionan un ejemplo único, de principio a fin, de cómo usar controles Formulario de la entidad. En este procedimiento, se agrega un formulario que muestra una lista de pedidos de ventas.

  1. Cree una aplicación de tableta vacía.

  2. Cambie el nombre de la primera pantalla a SalesOrderListScreen.

  3. En la pestaña Insertar, haga clic o pulse en Formularios y en Formulario de la entidad (versión preliminar).

    Se agrega un control Formulario de la entidad a la pantalla.

  4. Cambie el nombre del control Formulario de la entidad a SalesOrderListForm y aumente su tamaño para cubrir toda la pantalla.

  5. En el panel derecho, haga clic en o pulse en el icono de la base de datos junto al texto No se ha seleccionado un origen de datos y haga clic o pulse en Agregar un origen de datos.

  6. En la lista de conexiones, haga clic o pulse en la conexión para la base de datos.

  7. En la lista de entidades, haga clic o pulse en Pedido de ventas y en Conectar.

    Se crea un origen de datos para la entidad Pedido de ventas y la propiedad DataSource de SalesOrderListForm se establece en ese origen de datos.

    El control Formulario de la entidad muestra una lista de pedidos de ventas. Con el control Formulario de la entidad, ha mostrado rápidamente un formulario de lista sin tener que crearlo manualmente.

    No ha configurado la propiedad Patrón para el control Formulario de la entidad, por lo que el valor predeterminado es el patrón List. Por otra parte, el grupo de campos DefaultList de la entidad Pedido de ventas se usa para mostrar el formulario de lista. Además, el formulario es dinámico y reflejará automáticamente cualquier cambio en el grupo de campos.

  8. (Opcional) Vea el grupo de campos DefaultList de la entidad Pedido de ventas:

    1. Inicie sesión en powerapps.com, haga clic o pulse en Common Data Service en el panel de navegación izquierdo y, después, en Entidades.
    2. En la lista de entidades, haga clic o pulse en Pedido de ventas, en la pestaña Grupos de campos y en el grupo de campos DefaultList.

    Los campos en la lista de pedidos de ventas coinciden con los mencionados aquí.

    En Common Data Service, también puede modificar grupos de campos para entidades personalizadas (pero no entidades estándar) con el fin de cambiar los campos que aparecen en los formularios correspondientes que el control Formulario de la entidad muestra. Lo mejor de todo es que cualquier cambio en el grupo de campos se refleja automáticamente en todas las aplicaciones que usan un control Formulario de la entidad para mostrar el formulario correspondiente.

Mostrar los detalles de un registro

Ahora se va a agregar otro control Formulario de la entidad para mostrar los detalles del pedido de ventas que está seleccionado en la lista que creó antes.

  1. Cambie el tamaño de SalesOrderListForm hasta que cubra la mitad de la pantalla y agregue un segundo control Formulario de la entidad para cubrir la otra mitad.

  2. Cambie el nombre del segundo control Formulario de la entidad a SalesOrderDetailsForm y conéctelo al origen de datos Pedido de ventas que creó antes.

  3. Establezca la propiedad Patrón de SalesOrderDetailsForm en FormPattern.Details.

    SalesOrderDetailsForm usa el grupo de campos DefaultDetails de la entidad Pedido de ventas para mostrar el formulario. Al igual que con SalesOrderListForm, puede mostrar rápidamente los detalles del registro sin tener que crear manualmente un formulario.

  4. Establezca la propiedad Item de SalesOrderDetailsForm en SalesOrderListForm.Selected.

    SalesOrderDetailsForm mostrará los detalles del registro en el que el usuario hace clic o pulsa en SalesOrderListForm.

  5. Para obtener una vista previa de la aplicación, presione F5 y haga clic o pulse en un pedido de ventas en la lista de la izquierda.

    Los detalles del pedido que ha seleccionado aparecen a la derecha.

Configurar un campo para ir a otra pantalla

A continuación, se van a agregar más pantallas a la aplicación y a configurar campos en un control Formulario de la entidad para ir a otra pantalla de la aplicación cuando el usuario hace clic o pulsa en un campo.

  1. Agregue una segunda pantalla a la aplicación y cámbiela de nombre a SalesOrderDetailsScreen.

  2. Corte SalesOrderDetailsForm, péguelo en SalesOrderDetailsScreen y cambie el formulario de tamaño para que cubra la mayor parte de la pantalla, dejando espacio suficiente para un icono en la parte superior.

  3. Agregue un icono Flecha atrás cerca de la esquina superior izquierda de SalesOrderDetailsScreen.

  4. Establezca la propiedad AlSeleccionar del icono Flecha atrás en la función Atrás.

  5. En SalesOrderListScreen, cambie el tamaño de SalesOrderListForm para que cubra toda la pantalla.

  6. Haga clic o pulse en SalesOrderListForm para seleccionarlo.

  7. En el panel derecho, en Campos, establezca SalesOrderId para que vaya a SalesOrderDetailsScreen.

    El control Formulario de la entidad muestra los valores del campo SalesOrderId (la primera columna de la lista) como vínculos.

  8. Para obtener una vista previa de la aplicación, presione F5 y haga clic o pulse en un vínculo de la lista de pedidos de ventas.

    Se abre la segunda pantalla y se muestran los detalles del pedido de ventas que ha especificado.

    Para mostrar los detalles de otro pedido de ventas, haga clic o pulse en la flecha atrás para volver a la lista y haga clic o pulse en el vínculo del pedido cuyos detalles desea mostrar.

Navegar con una variable de contexto

La propiedad Item de SalesOrderDetailsForm está establecida en SalesOrderListForm.Selected para que SalesOrderDetailsForm muestre detalles sobre el registro que el usuario seleccione en SalesOrderListForm. También puede obtener el contexto del registro seleccionado mediante la variable de contexto NavigationContext, que se crea automáticamente cuando se usa el panel de personalización de formularios para configurar un campo al que ir.

  1. Establezca la propiedad Item de SalesOrderDetailsForm en NavigationContext.

  2. Para obtener una vista previa de la aplicación, presione F5 y haga clic o pulse en un vínculo de la lista de pedidos de ventas.

    La aplicación abre SalesOrderDetailsScreen y muestra los detalles del pedido de ventas que ha especificado.

Ahora se va a profundizar en cómo el panel de personalización de formularios configura la navegación y el contexto.

La propiedad CamposSeleccionables de SalesOrderListForm especifica SalesOrderId como campo seleccionable.

Esto se configura automáticamente cuando se utiliza el panel de personalización de formularios para hacer que el campo SalesOrderId vaya a SalesOrderDetailsScreen. Por lo tanto, los valores del campo SalesOrderId aparecen como vínculos.

La propiedad OnFieldSelect de SalesOrderListForm está establecida en una función If, que determina si el usuario hace clic o pulsa en el campo Id. de pedido de ventas: SalesOrderListForm.SelectedField.SalesOrderId = true.

Si la función se evalúa como true, SalesOrderDetailsScreen se abre con la variable de contexto denominada NavigationContext que se ha usado antes.

Además, todo esto se configura automáticamente cuando se utiliza el panel de personalización de formularios para hacer que el campo SalesOrderId vaya a SalesOrderDetailsScreen.

Por lo tanto, cuando el usuario hace clic o pulsa en un campo Id. de pedido de ventas, la función If se evalúa como true y se llama a la función Navegar con el contexto correspondiente, lo que abre la pantalla de detalles.

Nota: Cuando se usa el panel de personalización de formularios, se determina NavigationContext de forma inteligente y automática. Cuando el usuario hace clic o pulsa en SalesOrderId, NavigationContext se establece en SalesOrderListForm.Selected, como se muestra en la fórmula anterior. Si se hubiera especificado el campo Account para la navegación en su lugar, NavigationContext se habría establecido en SalesOrderListForm.Selected.Account para asegurarse de que se pasara el contexto correcto. Sin embargo, para consumir ese contexto, necesitaría tener un control Formulario de la entidad conectado a la entidad Cuenta en Common Data Service.

Editar y guardar un registro

Por último, se va a explicar cómo editar y guardar un registro en un control Formulario de la entidad.

  1. En SalesOrderDetailsScreen, agregue un icono Editar y establezca su propiedad AlSeleccionar en esta fórmula:
    EditForm(SalesOrderDetailsForm)

  2. Agregue un icono de marca de verificación junto al icono Editar y establezca la propiedad AlSeleccionar del icono de marca de verificación en esta fórmula:
    SubmitForm(SalesOrderDetailsForm)

  3. Para obtener una vista previa de la aplicación, presione F5, haga clic o pulse en un vínculo Id. de pedido de ventas para ver los detalles de un pedido de ventas y haga clic o pulse en el icono Editar.

    La propiedad Mode del control Formulario de la entidad se establece en FormMode.Edit para que pueda editar el registro.

  4. Actualice Estado de pedido a Factura.

  5. Actualice Vendedor a WRK014.

    Para ayudarle a elegir un valor en Vendedor, el control Formulario de la entidad representa automáticamente una búsqueda detallada completa. Para generar y mostrar esta búsqueda, el control usa el grupo de campos DefaultLookup de la entidad Trabajador en Common Data Service. Se usa la entidad Trabajador porque el campo Vendedor es de tipo Trabajador.

  6. Haga clic o pulse en el icono de marca de verificación para guardar los cambios.

Con este paso se finaliza este artículo sobre cómo usar el control Formulario de la entidad en sus aplicaciones. Esperamos que la información que se trata aquí le haya resultado útil para empezar a usar el control Formulario de la entidad. Estamos deseando escuchar lo que piensa sobre el control Formulario de la entidad y nuestra iniciativa general para ayudarle a agregar rápidamente formularios completos a las aplicaciones.