Como usar una Entidad Virtual PERSONALIZADA de Business Central en Power Apps - Business Central

Breaking

martes, 5 de enero de 2021

Como usar una Entidad Virtual PERSONALIZADA de Business Central en Power Apps

 nivel: Developer    

Vamos a usar las entidades virtuales de Business Central para hacer una pequeña Power App.  Pero usaremos entidades personalizadas, ya que las habitualmente usadas las suponemos controladas.

Partes de Intervención en Power Apps


Los pasos a seguir serían:

1- Crear la tabla personalizada y su página correspondiente para mostrar los datos en Business Central

2- Crear una API page para publicar los datos

3- Configurar la entidad virtual en Dataverse

4- Conectar PowerApps con la nueva entidad virtual

Vamos a ello.

1- Crear la tabla y página personalizada

Lo primero sería crear nuestra tabla personalizada en VSCode.  En este punto lo más importante es que para que funcione correctamente en Dataverse, hay que añadir como clave principal un código GUID y que cuando se inserte un registro, automáticamente se genere dicho campo. 


La generación del Guid se realiza mediante la función CreateGuid en el trigger OnInsert.

La página para Business Central no requiere nada especial por lo que no tiene mayor interés.

2 - Crear una API Page para publicar los datos

Las páginas API son un tipo especial de página que se puede crear en Business Central.  Las propiedades más importantes son:


PageType, que lógicamente tiene que ser API.
APIVersion, en mi caso utilizo v2.0
EntityName, que corresponderá a la entidad en Dataverse.
EntitySetName, que corresponderá al juego de entidades.

Las propiedades APIPublisher y APIGroup afectarían si quisieramos llamarla desde otra aplicación ya que modificarían la URL pero para nuestro caso con entidades virtuales no le vamos a prestar mucha atención.

Importante.  Recuerda que los nombres de los campos deben comenzar por minúscula (ejemplo number).

Por lo demás, sería una página normal. 

Ahora deberemos de publicar la extensión bien en el Sandbox o bien en producción.  Curiosamente las API page, no necesitan publicarse en la tabla de "servicios web" para estar disponibles desde el exterior.

3- Configurar la entidad virtual en Dataverse

En ésta entrada anterior (como conectar las entidades virtuales) os indicaba como configurar la conexión de Dataverse con Business Central.

Para obtener acceso a nuestra nueva tabla / API page, iremos a Entidades de Business Central disponibles dentro de PowerApps:


Una vez allí, veremos todas las API page disponibles.  Las generadas por Microsoft y las nuestras personalizadas, incluyendo la nueva entidad parteIntervencion:


Podemos comprobar que es personalizada, puesto que la Ruta de API nos indica el APIPublisher que hemos puesto en la definición de la página.

Al seleccionarla la podemos poner como visible = Sí.

Una vez pulsado el botón de Guardar y Cerrar, y pasados unos minutos (la creación de la entidad/tabla no es inmediata), la tendremos visible en Dataverse:



4- Conectar PowerApps con la nueva entidad virtual

Una vez publicada en Dataverse, ya podemos usarla en PowerApps.  Para ello vamos a crear una nueva aplicación y a añadir una galería:


Como se puede apreciar, al seleccionar el origen de datos ya nos aparece la entidad/tabla parteIntervencion del Common Data Service.

Una vez creada la aplicación, podemos Modificar, Crear o Borrar registros directamente desde la PowerApps:


Para los botones Nuevo y Guardar, usaremos el comando Patch y para el borrar usaremos el comando Remove.

Y estas modificaciones o creaciones automáticamente y sin tener que utilizar ni conectores personalizados, ni Power Automate, aparecen reflejadas en Business Central:


Por supuesto las entidades virtuales son bidireccionales.  Es decir, si las modificaciones se realizan en Business Central, también aparecerán reflejadas en nuestra Power App.

Como véis las posibilidades son impresionantes.  Si tenéis cualquier duda al respecto, podéis comentar por aquí, en linkedin o twitter.









No hay comentarios: