Escenario: Usar un origen de datos y registrar información

Completado

Los botones de la barra de comandos siempre se muestran de forma predeterminada en la barra de comandos. En algunos casos, la acción del botón no se puede ejecutar. Puede controlar la visibilidad mediante la lógica de Power Fx. Puede utilizar Power Fx para realizar comprobaciones condicionales con la información del entorno de tiempo de ejecución y los datos seleccionados. Por ejemplo, podría ocultar el botón cuando un usuario crea una nueva fila o si una fila de datos tiene un valor específico. También puede comprobar los permisos del usuario para asegurarse de que no le está ofreciendo una acción que no puede realizar.

Hay dos opciones para comprobar los permisos del usuario de la aplicación. Puede usar la función DataSourceInfo para verificar ampliamente los permisos en la tabla en el nivel de origen de datos. Este enfoque es bueno si tiene la intención de crear una nueva fila en su acción y asegurarse de que el usuario pueda completarla. DataSourceInfo no tiene un contexto de fila de datos, por lo que no puede determinar si puede actualizar una fila específica. Por ejemplo, es posible que pueda crear una nueva fila que pertenezca a su usuario, pero no pueda actualizar una fila que pertenezca a otro. Para comprobar los permisos de un usuario específico, puede utilizar la función RecordInfo. Esta función requiere una referencia a una fila de datos y comprueba el permiso del usuario en ese contexto.

El siguiente vídeo demostrará cómo usar DataSourceInfo para mejorar la experiencia del usuario de una acción de la barra de comandos.

Nota

Puede aumentar la resolución del vídeo si selecciona los tres puntos, Calidad y una velocidad de bits más alta.

Además de ser útil para comprobar los permisos, la función DataSourceInfo también proporciona otra información valiosa sobre las columnas de origen de datos. Esta información puede resultar útil al redactar expresiones de Power Fx de la barra de comandos, de modo que no contengan valores que estén sujetos a cambios. Por ejemplo, observe la siguiente función Notify, que especifica el nombre de la columna como un literal.

Notify("Invalid value for Name")

Dataverse permite cambiar el nombre para mostrar de las columnas de la tabla; en este ejemplo, si el nombre se cambiara a "Nombre del producto", el mensaje aún se mostraría como "Nombre". Mediante la siguiente fórmula que llama a la función DataSourceInfo, se mostraría el nombre de columna adecuado sin tener que cambiar la expresión.

Notify("Invalid value for " & DataSourceInfo(Products,DataSourceInfo.DisplayName,"sample_name")

La función DataSourceInfo puede proporcionar otros valores útiles, como valores mínimos y máximos, si la columna es obligatoria y se permite la longitud máxima.

El uso de DataSourceInfo y RecordInfo puede ayudar a mejorar la experiencia de los usuarios que interactúan con las personalizaciones de la barra de comandos.