Usar Power Fx
Power Fx es el lenguaje con poco código que se usa en todo el ámbito de Microsoft Power Platform. Si ha creado una aplicación de lienzo de Power Apps, es posible que conozca Power Fx. 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. Encontrará Acción en el panel Comando, en el lado izquierdo de la pantalla.
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.
La fórmula predeterminada es simplemente "true", lo que no hace que se desencadene ninguna acción. A fin de que el comando haga alguna acción cuando se seleccione, deberá proporcionar su propia lógica.
También puede abrir la barra de fórmulas en el panel Comando, lo que pondrá el foco en la barra de fórmulas y le permitirá hacer cambios.
Cuando un usuario selecciona el comando, todos los cambios pendientes en los datos del formulario se guardan; luego, se ejecuta la lógica del comando OnSelect. Esta orden garantiza la uniformidad 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 del comando a Mostrar según fórmula de condición, puede proporcionar una fórmula que se evaluará para determinar si el comando debe estar visible. Encontrará la opción de visibilidad en el panel Comando de la izquierda, donde podrá cambiarla.
Puede proporcionar una lógica de visibilidad personalizada de un comando mediante la barra de fórmulas de la parte superior de la página.
Recuerde que la fórmula predeterminada es simplemente "true", lo que hace que el comando esté siempre visible. Para cambiar el valor predeterminado, debe proporcionar su propia lógica true/false. Si su fórmula genera una evaluación falsa, el comando no será visible.
La fórmula de visibilidad se vuelve a evaluar si cambia alguno de sus valores dependientes. Esto permite que la visibilidad del comando responda a la condición actual de los datos y a las acciones del usuario. Por ejemplo, un botón podría estar visible tras seleccionar todas las filas en una cuadrícula.
Datos actualmente activos
La posibilidad de hacer referencia a los datos actualmente activos es una característica importante a la hora de escribir fórmulas para comandos. 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 actualmente utilizando la propiedad seleccionada. La propiedad seleccionada se rellena automáticamente en tiempo de ejecución. La propiedad seleccionada tiene varios campos disponibles, que dependen de si se selecciona un único elemento o una tabla de elementos.
| Campo | Tipo | Descripción |
|---|---|---|
| Artículo | 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, la siguiente fórmula cambia el nombre de una fila de cuenta a "Nuevo nombre 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 usar la lógica de comandos.
Escenarios comunes
El uso de la lógica de Power Fx en un comando permite gestionar una amplia gama de casos de uso. Estos son algunos ejemplos de casos de uso comunes que podría implementar:
Crear 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.