Usar Power Fx

Completado 100 XP

Power Fx es el lenguaje con poco código que se usará en Microsoft Power Platform. Es posible que esté familiarizado con Power Fx si creó una aplicación de lienzo de Power Apps. Power Fx también se puede usar para implementar una lógica personalizada con comandos de la barra de comandos basados en modelo de Power Apps. La lógica de la barra de comandos puede usar un subconjunto de las capacidades de lenguaje completas de Power Fx.

Hay dos lugares en los que puede usar Power Fx al personalizar un comando:

  • OnSelect: esta lógica se ejecuta cuando un usuario selecciona un botón de comando.

  • Visible: esta lógica se ejecuta para evaluar si el comando debe estar oculto o visible para el usuario que ejecuta la aplicación.

Configuración de OnSelect

Para usar la lógica de Power Fx cuando se selecciona el comando, asegúrese de que la propiedad de acción esté configurada para ejecutar la fórmula.

Captura de pantalla que muestra la configuración de una acción

Cuando se configura, la barra de fórmulas está habilitada y se puede proporcionar lógica de Power Fx. Esta opción es la predeterminada para los nuevos comandos. Sin embargo, si la barra de fórmulas está deshabilitada, es probable que esté trabajando con un comando que usa JavaScript para la lógica.

Puede proporcionar su lógica personalizada utilizando la barra de fórmulas en la parte superior de la página.

Captura de pantalla que muestra el comando OnSelect=true

La fórmula predeterminada es simplemente "true", lo que no da como resultado que no suceda nada. Debe proporcionar su propia lógica para que el comando realice cualquier acción intencionada cuando se seleccione.

También puede seleccionar abrir barra de fórmulas, que establecerá el foco en la barra de fórmulas para que pueda realizar cambios.

Captura de pantalla que muestra la opción para abrir la barra de fórmulas

Cuando un usuario selecciona el comando, cualquier cambio pendiente en los datos del formulario se guarda y luego se ejecuta la lógica del comando OnSelect. Este orden garantiza un estado coherente de los datos en el momento en que se ejecuta el comando.

Configuración de la visibilidad

De forma predeterminada, los nuevos comandos agregados a una barra de comandos estarán visibles. Al cambiar la propiedad de visibilidad en el comando para mostrar la condición de la fórmula, puede proporcionar una fórmula que se evalúa para determinar si el comando debe estar visible.

Captura de pantalla para mostrar la visibilidad de un conjunto de elementos para mostrar en condición de fórmula

Puede proporcionar su lógica personalizada utilizando la barra de fórmulas en la parte superior de la página.

Captura de pantalla para mostrar visible en fórmula establecida en true

Recuerde, la fórmula predeterminada es simplemente "true", lo que simplemente hace que el comando esté siempre visible. Debe proporcionar su propia lógica que resulte en una determinación true o false. Si la evaluación de su fórmula arroja un resultado false, el comando no estará visible.

La fórmula de visibilidad se vuelve a evaluar si cambia alguno de sus valores dependientes. Permite que la visibilidad reaccione a la condición actual de los datos y las acciones del usuario. Por ejemplo, un botón podría no estar visible hasta que se seleccionen filas en una cuadrícula.

Datos actualmente activos

Una característica valiosa al escribir fórmulas para comandos es la capacidad de hacer referencia a los datos actualmente activos. Por ejemplo, si la barra de comandos está en el formulario principal para una fila de la tabla, los datos activos actuales son la fila. Si la barra de comandos está en la cuadrícula principal, los datos activos actuales serán la tabla de filas que se muestra en la cuadrícula.

Puede acceder a los datos activos actuales utilizando la propiedad seleccionada. La propiedad seleccionada se rellena automáticamente en tiempo de ejecución. La propiedad seleccionada tiene varios campos que pone a disposición dependiendo de si se selecciona un solo elemento o una tabla de elementos.

Campo Tipo Descripción
Elemento Registro de DataSource Disponible solo cuando se selecciona una sola fila o cuando en un formulario muestra una sola fila. Cuando no se complete, se establecerá en blanco. Por ejemplo, la siguiente fórmula verificaría el valor de la columna de calificación de la cuenta. Self.Selected.Item.'Account Rating'>20
AllItems Tabla de registros de DataSource Todas las filas seleccionadas de DataSource. Por ejemplo, la siguiente fórmula comprobaría el recuento seleccionado. CountRows(Self.Selected.AllItems) > 0
Estado Enum Indica si el control de hospedaje tiene el estado Edit (=0), New (=1), o View (=2).
Unsaved Booleano Devuelve true si Selected o SelectedItems tienen cambios sin guardar. De lo contrario devuelve false.

Datos de orígenes de datos

Además de trabajar con datos de la propiedad seleccionada, también puede consultar y guardar datos en otras tablas de Microsoft Dataverse. Por ejemplo, lo siguiente cambia el nombre en una fila de cuenta.

Patch(Accounts, Self.Selected.Item, {'Account Name': "New Account name"})

También puede usar relaciones entre tablas para acceder a las filas relacionadas. Por ejemplo, la siguiente fórmula permite el acceso a las citas periódicas relacionadas del elemento actualmente seleccionado.

Self.Selected.Item.'Recurring Appointments'

Actualmente, Microsoft Dataverse es el único origen de datos disponible para su uso desde la lógica de comando.

Escenarios comunes

El uso de Power Fx en un comando hace posible manejar una amplia gama de casos de uso que encontrará. Los siguientes son algunos ejemplos de casos de uso comunes que podría implementar.

  • Cree filas relacionadas basadas en datos actuales. Por ejemplo, cree una serie de llamadas de seguimiento programadas basadas en el valor de oportunidad posible.

  • Navegar a sitios web internos o externos. Por ejemplo, puede realizar una búsqueda en un sitio de noticias de la empresa actual pasando el nombre de la empresa de la fila como parámetro de búsqueda.

  • Modificar datos en la fila actual. Por ejemplo, puede tener una tabla de servicios que realice un seguimiento de los clientes de servicios activos. Puede seleccionar un comando en una fila inactiva para reactivar el servicio para el cliente configurando varios valores en la fila para reflejar el nuevo estado del servicio.

  • Use RecordInfo para asegurarse de que los comandos estén visibles cuando deberían estarlo. RecordInfo se puede utilizar para obtener información sobre un registro particular de un origen de datos. Por ejemplo, puede verificar si el usuario tiene permiso de edición y solo mostrar el comando si lo tiene.

A medida que comience a implementar lógica de Power Fx para los comandos, se inspirará para crear otros casos de uso exclusivos para sus propias aplicaciones.


Siguiente unidad: Ejercicio: Personalizar la barra de comandos

Anterior Siguientes