Dataverse.Unmask Función

Se aplica a: Aplicaciones de Canvas

Solicita el valor sin máscara de una columna protegida para un único registro de Microsoft Dataverse.

Description

La Dataverse.Unmask función lee una columna de forma asincrónica y devuelve un único valor con el tipo Power Fx de la columna. No devuelve un registro o una tabla, actualiza el registro de origen, cambia la regla de enmascaramiento o reemplaza los valores enmascarados en otra parte de la aplicación.

Dataverse aplica los permisos del usuario. La función no concede acceso ni omite la seguridad de nivel de columna. Para leer un valor sin máscara, el usuario necesita acceso a la tabla y el registro, el permiso leer columna y el permiso Leer sin enmascarar adecuado en un perfil de seguridad de columna.

Agregue la tabla Dataverse como origen de datos en la aplicación de lienzo y habilite la seguridad de nivel de columna en la columna. Para configurar el enmascaramiento, aplique una regla de enmascaramiento compatible en un entorno administrado. Una columna protegida no tiene necesariamente una regla de enmascaramiento. Consulte Seguridad de nivel de columna y Creación y administración de reglas de enmascaramiento para la configuración, las opciones de permisos y los tipos de reglas de enmascaramiento admitidos.

Importante

Haga que el administrador elija el permiso Leer sin máscara adecuado para el escenario. No conceda todos los registros únicamente para habilitar un ejemplo de registro único. Pruebe las restricciones de acceso con una cuenta que no sea de administrador porque la seguridad de nivel de columna no oculta los datos de los administradores del sistema.

Syntax

Dataverse.Unmask( Record, Column )
  • Registro : obligatorio. Un registro que conserva su identidad de registro de Dataverse y está asociada exactamente a un origen de datos de Dataverse.
  • Columna : obligatorio. Identificador de una columna escalar protegida y admitida en ese registro. Proporcione un identificador de columna, no una expresión de texto que contenga el nombre de columna.

Puede usar un nombre para mostrar válido o un nombre lógico para Column. Use comillas simples alrededor de un nombre para mostrar que contenga espacios, como 'Sensitive reference'. Las comillas dobles crean un literal de texto y no son equivalentes. Power Apps resuelve el identificador en el nombre lógico de la columna.

Requisitos de registro y columna

Se puede usar un registro de la galería seleccionado, un registro devuelto por LookUp o un registro almacenado en una variable o colección si conserva su identidad y asociación de Dataverse con exactamente un origen de Dataverse. La construcción de un registro anónimo con los mismos valores de campo no establece esa identidad.

No asigne registros de tablas de Dataverse diferentes a la misma variable de registro usada por Dataverse.Unmask. Dicha variable está asociada a varios orígenes y se rechaza, incluso si las tablas tienen columnas protegidas con nombres coincidentes. Use variables o llamadas de origen único independientes.

La columna de destino debe estar protegida y tener un tipo escalar admitido. Las columnas con valores de búsqueda, registro, tabla, archivo, imagen y sin tipo no son destinos admitidos. Leer un registro a través de una búsqueda es diferente de desenmascarar una columna con valores de búsqueda. Consulte la documentación de la regla de enmascaramiento para ver los escenarios de enmascaramiento admitidos; la aceptación del tipo de fórmula no establece que se pueda configurar una regla de enmascaramiento para una columna.

Valor devuelto y errores

El resultado tiene el mismo tipo de Power Fx que la columna de destino. Por ejemplo, una columna de texto devuelve texto, no un registro que contiene texto.

Use IfError para controlar las lecturas con errores. Dataverse determina la respuesta cuando el acceso está restringido; no suponga que cada denegación de permiso produce un error HTTP.

Situación Behavior
El registro no tiene ningún origen de Dataverse asociado o tiene varios orígenes de Dataverse. Power Apps Studio rechaza el argumento record.
La columna es desconocida, no seguro o tiene un tipo no admitido. Power Apps Studio rechaza el argumento de columna.
Un registro que no tiene ninguna identidad válida en tiempo de ejecución o su origen de Dataverse no se puede resolver. La función devuelve un error de registro no válido.
Se produce un error en la solicitud de Dataverse. La función devuelve un error de Power Fx que puede controlar con IfError.
Una solicitud correcta no devuelve ninguna fila, omite la columna solicitada o devuelve un valor NULL. El resultado está en blanco.

Un resultado en blanco por sí solo no identifica un problema de permiso. Compruebe el registro seleccionado, su valor y el acceso del usuario antes de tratar un resultado en blanco como un error.

Examples

En estos ejemplos se usa una tabla ilustrativa Customers de Dataverse con una columna de texto protegida denominada 'Sensitive reference'. Agregue la tabla como origen de datos, configure una regla de enmascaramiento y use registros sintéticos con un usuario de prueba que tenga los permisos adecuados. Reemplace los nombres de tabla y columna por los suyos propios.

Leer un registro seleccionado

Establezca la propiedad Items de una galería en Customers. Con un registro guardado seleccionado, esta fórmula solicita su referencia sin máscara:

Dataverse.Unmask( Gallery1.Selected, 'Sensitive reference' )

Si el valor almacenado es "REF-12345" y el usuario tiene permiso para leerlo sin máscara, el resultado esperado es el texto "REF-12345". La fórmula no cambia el valor enmascarado leído a través Gallery1.Selected.'Sensitive reference'de .

Control de un error para un resultado de texto

Use la fórmula siguiente en la propiedad Text de una etiqueta de texto en la que pretende mostrar el valor sin máscara:

IfError(
    Dataverse.Unmask( Gallery1.Selected, 'Sensitive reference' ),
    "Unable to show this value."
)

El valor de reemplazo es texto porque 'Sensitive reference' es una columna de texto. Para un tipo de columna compatible diferente, use un valor de reemplazo compatible o convierta el resultado antes de devolver un mensaje de texto. IfError controla los errores, no los resultados en blanco correctos.

Para obtener una interacción completa de revelación y ocultación, consulte Reveal a masked Dataverse column value (Mostrar un valor de columna de Dataverse enmascarado).

Manejo de datos

Las evaluaciones repetidas pueden reutilizar los resultados almacenados en caché en lugar de realizar nuevas solicitudes de red. No confíe en otra evaluación para volver a comprobar los permisos modificados recientemente. Ocultar un control no es un límite de autorización y no borra los valores almacenados en caché.

No conserve valores sin máscara con SaveData, escríbalos en los registros o cópielos en un origen de datos menos protegido. Evite exponer datos sin máscara en capturas de pantalla o datos adjuntos de diagnóstico.