Nota: Nos gustaría proporcionarle el contenido de ayuda actual lo más rápido posible en su idioma. Esta página se ha traducido mediante un sistema automático y es posible que contenga imprecisiones o errores gramaticales. Nuestro objetivo es que este contenido sea útil para usted. ¿Puede informarnos sobre si la información le ha sido útil al final de la página? Aquí tiene el artículo en inglés para que pueda consultarlo fácilmente.
Las fórmulas le permiten sacar más rendimiento de las reglas creadas que el uso de reglas básicas predefinidas. Por ejemplo, las fórmulas se usan para acciones como el cálculo de la fecha actual o futura, o incluso la concatenación de texto.
En este artículo
Información general
Una fórmula es una expresión XPath (lenguaje de rutas XML) que consta de valores, campos, grupos, funciones y operadores que se usan para calcular y presentar otros valores. Puede usar una fórmula para crear un nuevo valor para un campo y mostrar ese valor en un control que se enlaza a dicho campo. Las fórmulas sirven para lo siguiente:
Calcule un valor matemático basado en los valores especificados al diseñar la plantilla o basada en los valores escritos por un usuario al rellenar la plantilla de formulario.
Ejecute una regla basada en un valor que se calcula mediante una fórmula.
Muestre texto de solo lectura que se calcula a partir de otros controles o muestre el valor de otro control.
Una función es una expresión que devuelve un valor con base en los resultados de un cálculo. Los valores utilizados en las funciones se denominan argumentos. Puede usar las funciones de XPath 1.0 estándar que se incluyen en InfoPath, además de algunas funciones específicas de InfoPath. Las funciones constan de tres partes:
-
Nombre El nombre de la función normalmente proporciona una sugerencia de la acción que se realizará la función.
-
Valor devuelto Resultado de la función.
-
Argumentos Los valores que se usa la función para realizar el cálculo.
Una función puede requerir argumentos para devolver un valor. Si la función requiere argumentos, tendrá que saber cuántos argumentos se requieren y el tipo de datos de cada uno de ellos. La función no funcionará si proporciona el número incorrecto, o tipo, de argumentos requeridos.
En la siguiente ilustración se muestra la relación entre funciones, expresiones y fórmulas.
Agregar un control de valor calculado
Puede usar un control de valor calculado para mostrar texto de solo lectura, mostrar el valor de otro control en el formulario y crear fórmulas que se basen en expresiones XPath. Por ejemplo, si va a desarrollar una plantilla de formulario de seguimiento de gastos, puede agregar un control de valor calculado para mostrar el total de los gastos que se han especificado.
Nota: Un control de valor calculado solo muestra datos y no los almacena, por lo que debe usar un control de valor calculado solo si no desea guardar su valor o hacer referencia a él en otra fórmula.
-
En la plantilla de formulario, sitúe el cursor en el lugar donde desee insertar el control.
-
En la ficha Inicio, en el grupo Controles, haga clic en el control Valor calculado.
-
En el cuadro de diálogo Insertar valor calculado, siga uno de estos procedimientos:
-
Para escribir texto o una expresión XPath directamente en el control de valor calculado, escriba en el cuadro XPath.
-
Para insertar una fórmula, haga clic en Modificar fórmula y, a continuación, escriba la fórmula que desee en el cuadro de texto de la fórmula, que hagan uso de las siguientes acciones, según sea necesario:
-
Para insertar un campo o grupo en una fórmula, haga clic en Insertar campo o grupo, haga clic en el campo o grupo del cuadro de diálogo Seleccionar un campo o grupo y, a continuación, haga clic en Aceptar.
-
Para insertar una función en la fórmula, haga clic en Insertar función, seleccione la función en el cuadro de diálogo Insertar función y, a continuación, haga clic en Aceptar.
Si la función necesita parámetros, selecciónela en el cuadro de diálogo Insertar función, haga clic en Aceptar y, a continuación, en el texto Fórmula, haga doble clic donde se indica y seleccione el parámetro deseado antes de hacer clic en Aceptar.
-
Para insertar un valor u operador matemático en la fórmula, escriba el valor o símbolo de la operación matemática en el cuadro Fórmula.
Los operadores matemáticos incluyen sumar (+), restar (-), multiplicar (*) y dividir (/).
Fórmulas matemáticas normalmente dependen de valores enteros o decimales como argumentos. Para evitar los valores en blanco en la fórmula, en la pestaña archivo, haga clic en Opciones de formulario, a continuación, seleccione Opciones avanzadas y asegúrese de que considerar los valores en blanco como cero está seleccionada.
-
-
Agregar una fórmula a un control
Aunque puede usar un control de valor calculado para mostrar los resultados de una fórmula, no está limitado a usar un control de valor calculado. También puede usar una fórmula para establecer el valor predeterminado de otros controles, como cuadros de texto. Hay dos formas en que puede establecer el valor predeterminado de un control. Puede usar un valor predeterminado estático, con tan solo escribir el valor deseado en el campo Valor del cuadro de diálogo Propiedades del grupo o campo, o bien, puede usar una fórmula para establecer el valor predeterminado de un campo basado en otros valores en el formulario. Realice lo siguiente para establecer el valor predeterminado de un campo basado en una fórmula:
-
Seleccione el control al que desea agregar la fórmula y, a continuación, en Herramientas de controles, en la ficha Propiedades, en el grupo Propiedades, haga clic en Valor predeterminado.
-
Haga clic en Insertar fórmula junto al cuadro valor.
-
Escriba la fórmula deseada en el cuadro de texto Fórmula, mediante los siguientes procedimientos, según sea necesario:
-
Para insertar un campo o grupo en una fórmula, haga clic en Insertar campo o grupo, haga clic en el campo o grupo del cuadro de diálogo Seleccionar un campo o grupo y, a continuación, haga clic en Aceptar.
-
Para insertar una función en la fórmula, haga clic en Insertar función, seleccione la función en el cuadro de diálogo Insertar función y, a continuación, haga clic en Aceptar.
Si la función necesita parámetros, selecciónela en el cuadro de diálogo Insertar función, haga clic en Aceptar y, a continuación, en el texto Fórmula, haga doble clic donde se indica y seleccione el parámetro deseado antes de hacer clic en Aceptar.
-
Para insertar un valor u operador matemático en la fórmula, escriba el valor o el símbolo de la operación matemática en el cuadro Fórmula.
Los operadores matemáticos incluyen sumar (+), restar (-), multiplicar (*) y dividir (/).
Sugerencia: Fórmulas matemáticas normalmente dependen de valores enteros o decimales como argumentos. Para evitar los valores en blanco en la fórmula, en la pestaña archivo, haga clic en Opciones de formulario y, a continuación, seleccione Opciones avanzadas. Asegúrese de que está seleccionada la opción considerar los valores en blanco como cero.
-
-
Para editar la fórmula como una fórmula XPath, active la casilla de verificación Editar XPath (avanzado), lo que cambiará la fórmula a la versión de la expresión XPath de la fórmula.
-
Para comprobar que la fórmula tiene la sintaxis correcta, haga clic en el botón Comprobar fórmula. Si la fórmula contiene errores:
Haga clic en Mostrar detalles en el cuadro de diálogo Microsoft InfoPath para ver los errores de la formula. A continuación, se indican algunas sugerencias para solucionar estos errores:
-
Si está usando una función en la fórmula, compruebe que está usando los argumentos correctos para la función. Algunas funciones requieren campos o grupos, mientras que otras funciones requieren valores especificados como argumentos.
-
Si es necesario, elimine y vuelva a escribir la fórmula para asegurarse de que la ha escrito correctamente.
-
Haga clic en Aceptar.
-
Si desea actualizar el valor predeterminado del campo cuando los valores en los que está basado cambian, active la casilla de verificación Actualizar valor cuando se vuelva a calcular la fórmula. Si lo hace, haga clic en Aceptar y, en Herramientas de controles, en la ficha Propiedades, en el grupo Propiedades, haga clic en Propiedades del control. Haga clic en la pestaña Mostrar y, a continuación, active la casilla de verificación Solo lectura.
Usar una fórmula en una regla
Es posible, al especificar condiciones en reglas de validación, formatoo acción , para usar una fórmula para controlar la condición. Para ello, seleccione utilizar una fórmula en la tercera lista desplegable en el cuadro de diálogo de condición al asignar una regla a un control o la plantilla de formulario.
Funciones de fecha y hora
anadirDias
Agrega días a una fecha o fecha y hora.
Sintaxis
añadirDías(fecha, días)
Argumento |
Descripción |
fecha |
El número de días en el segundo argumento se agrega a la fecha en este argumento. Este argumento puede ser un tipo de datos Fecha (date) o Fecha y hora (dateTime). |
días |
Número de días que desea agregar a la fecha en el primer argumento. Este parámetro debe ser un tipo de datos de número entero (integer). Si usa un número negativo en este argumento, el valor devuelto es una fecha anterior. |
Ejemplo
Desea un campo en la plantilla de formulario que contenga una fecha 60 días a partir de la fecha de hoy. La plantilla de formulario contiene un campo denominado fldToday, con la fecha de hoy como valor predeterminado. Para calcular la nueva fecha mediante esta función, use la siguiente fórmula en el nuevo campo de fecha:
anadirDias(fldToday, 60)
anadirSegundos
Agrega segundos a una hora o fecha y hora.
Sintaxis
añadirSegundos(hora, segundos)
Argumento |
Descripción |
hora |
Un valor de fecha y hora o un valor de hora que es una referencia a otro campo en la plantilla de formulario o el resultado de una función de hora o fecha, como ahora() u hoy(). El número de segundos en el segundo argumento se agrega a la hora en este argumento. Este argumento puede ser un tipo de datos de fecha (date) o fecha y hora (dateTime). Si se trata de un tipo de datos de hora, se devolverá un tipo de datos de hora. Si se trata de un tipo de datos de fecha, se devolverá un tipo de datos de fecha y hora. |
segundos |
El número de segundos que desea agregar al valor de fecha y hora o al valor de hora en el primer argumento. El campo de este parámetro debe ser un tipo de datos de número entero (integer). Si usa un número negativo en este argumento, el valor devuelto es una fecha y hora anterior o una hora anterior. |
Ejemplo
La plantilla de formulario contiene un campo denominado fldCurrentTime que usa la hora actual como valor predeterminado y un segundo campo que usa la función anadirSegundos en una fórmula para mostrar la hora 120 segundos a partir de la hora actual. Para calcular el nuevo valor de hora mediante esta función, escriba la siguiente fórmula en el segundo campo:
anadirSegundos(fldCurrentTime, 120)
ahora
Devuelve la fecha y hora del sistema actuales.
Si solo desea que se devuelva la fecha actual, use la función hoy.
Sintaxis
ahora()
Esta función no usa argumentos.
Ejemplo
Para obtener la fecha y hora de cuando se creó un formulario que se basa en la plantilla de formulario, use la siguiente fórmula en un campo:
ahora()
hoy
Devuelve la fecha actual del sistema. Para los campos de fecha de lista de SharePoint, use la función ahora().
Si desea que se devuelvan la fecha y la hora, use la función ahora.
Sintaxis
hoy()
Esta función no usa argumentos.
Ejemplo
Para obtener la fecha de cuando se creó un formulario que se basa en la plantilla de formulario, use la siguiente fórmula en un campo:
hoy()
Funciones de campo
recuento
Cuenta el número de repeticiones de un campo o grupo.
Sintaxis
recuento(campo)
Argumento |
Descripción |
campo |
Nombre del campo de repetición o grupo de repetición que se incluye en el formulario. |
Ejemplo
Va a diseñar una plantilla de formulario cuyos formularios usarán los proveedores para informar de sus productos e inventario. La plantilla de formulario contiene un grupo de repetición denominado grpProduct para los productos que el proveedor envía. Cada grupo contiene información acerca del producto y su nivel de inventario. Cuando un proveedor agrega un producto en un formulario que se basa en esta plantilla de formulario, InfoPath crea una nueva instancia del grupo de repetición.
La plantilla de formulario tiene un campo en el origen de datos que contiene el número de productos que el proveedor envía. Para contar de manera automática el número de productos enviados por el proveedor, que es el número de ocurrencias del grupo de repetición grpProduct, use la siguiente fórmula en el campo de número de productos:
conteo(grpProduct)
último
Devuelve la última ocurrencia de un campo o grupo de repetición.
Nota: Si está diseñando una plantilla de formulario compatible con el explorador, esta función no aparece en la lista Funciones del cuadro de diálogo Insertar función..
Sintaxis
nombre_campo[último()]
Aunque la propia función no necesita parámetros, se puede usar como predicado de un nombre de campo específico.
Ejemplo
Va a diseñar una plantilla de formulario que los proveedores rellenarán para informar de sus inventarios de productos. La plantilla de formulario tiene una conexión de datos a un servicio web que tiene un método que comprueba si se ha completado la información de producto para todos los productos de un proveedor. El método necesita el último producto en la lista de productos que el proveedor envió.
La información del producto se almacena en distintos campos de un grupo de repetición que se denomina grpProduct. Cuando un proveedor agrega un producto al formulario, InfoPath agrega un nuevo grupo de repetición denominado grpProduct. Si el proveedor informa sobre varios productos, el origen de datos del formulario contendrá varias ocurrencias del grupo de repetición grpProduct.
Para asegurarse de que envía la información correcta al servicio web, agregue un campo que contenga información acerca del último producto en el grupo de productos del proveedor. Para configurar ese campo a fin de que recupere automáticamente el último producto, use la siguiente fórmula como valor predeterminado para el último campo de producto:
grpProduct[último()]
nombre-local
Devuelve el nombre local de un campo o grupo.
Notas:
-
Si el argumento es un campo o grupo de repetición, la función devuelve el valor del primer campo o grupo de repetición.
-
Cuando un usuario rellena un formulario de explorador web, una fórmula que usa esta función envía datos de formulario al servidor para obtener el valor devuelto de esta función.
Sintaxis
nombre-local(campo)
Argumento |
Descripción |
campo |
Nombre del campo cuyo atributo de nombre local desea devolver. |
Ejemplo
Va a diseñar una plantilla de formulario que se usa para permitir solicitudes. La plantilla de formulario tiene una conexión de datos a un método en un servicio web. Este método requiere el valor del atributo nombre-local del campo para el número de licencia del contratista. El nombre del campo de número de licencia es fldLicenseNumber.
Tiene un campo que contendrá el valor del atributo de nombre local. Para recuperar de forma automática el valor del atributo de nombre local del campo de número de licencia, use la siguiente fórmula como valor predeterminado para el campo que contendrá el valor del atributo de nombre local:
nombre-local(fldLicenseNumber)
nombre
Devuelve el prefijo del nombre y del espacio de nombres de un campo o grupo.
Notas:
-
Si el argumento es un campo o grupo de repetición, la función devuelve el nombre y prefijo del primer campo o grupo de repetición en el formulario.
-
Cuando un usuario rellena un formulario basado en una plantilla de formulario habilitada para el explorador, una fórmula que usa esta función envía datos de formulario al servidor para obtener el valor devuelto de esta función.
Sintaxis
nombre(campo)
Argumento |
Descripción |
campo |
Nombre del campo cuyo nombre y prefijo de espacio de nombres se va a devolver. |
Ejemplo
Va a diseñar una plantilla de formulario que se usa para permitir solicitudes. La plantilla de formulario tiene una conexión de datos a un método en un servicio web. Este método requiere el atributo de nombre del campo para el número de licencia del contratista. El nombre del campo de número de licencia es fldLicenseNumber.
Tiene un campo que contendrá el valor del atributo de nombre. Para recuperar automáticamente el valor del atributo de nombre, use la siguiente fórmula como valor predeterminado para el campo:
nombre(fldLicenseNumber)
uri-espaciodenombres
Devuelve el espacio de nombres completo de un campo o grupo.
Notas:
-
Si el argumento es un conjunto de campos o grupos, la función devuelve el espacio de nombres del primer campo o grupo del formulario.
-
Cuando un usuario rellena un formulario de explorador web, una fórmula que usa esta función envía datos de formulario al servidor para obtener el valor devuelto de esta función.
Sintaxis
uri-espaciodenombres(campo)
Argumento |
Descripción |
campo |
Nombre del campo cuyo URI de espacio de nombres se va a recuperar. |
Ejemplo
Va a diseñar una plantilla de formulario que se usa para permitir aplicaciones. La plantilla de formulario envía datos a un servicio web. Para procesar los datos desde un formulario basado en la plantilla de formulario, el servicio web requiere el URI de espacio de nombres de un campo de elemento específico en el origen de datos. El campo en la plantilla de formulario que contiene los datos de URI de espacio de nombres se denomina fldComplete.
Tiene un campo que contendrá el URI de espacio de nombres del campo de elemento. Para recuperar automáticamente el URI de espacio de nombres, use la siguiente fórmula como valor predeterminado para el campo que contendrá el URI de espacio de nombres:
uri-espaciodenombres(fldComplete)
posición
Devuelve el índice (o posición) de un campo o grupo respecto de los demás campos o grupos en el mismo grupo primario.
Nota: Esta función no está disponible en plantillas de formulario de explorador web.
Sintaxis
posición()
Ejemplo
Va a diseñar una plantilla de formulario que los proveedores rellenarán para informar de sus inventarios de productos. La información del producto se almacena en campos de un grupo de repetición. El grupo de repetición está enlazado a una tabla de repetición, que permite que un proveedor agregue información nueva del producto o revise la información existente.
En la primera columna de la tabla de repetición, desea mostrar el número de fila en un cuadro de texto. Para mostrar automáticamente el número de fila cuando el proveedor agregue un nuevo producto a la tabla de repetición, use la siguiente fórmula como valor predeterminado para el cuadro de texto:
posición()
Funciones matemáticas
Las fórmulas que contienen funciones matemáticas normalmente requieren argumentos que son números enteros o valores decimales. Para asegurarse de que los argumentos son valores enteros o decimales en lugar de valores nulos, haga clic en archivo > Opciones de formulario > Avanzadas y, a continuación, asegúrese de que está seleccionada la casilla de verificación considerar los valores en blanco como cero.
promedio
Calcula el promedio de los valores numéricos en un campo que está en un grupo de repetición.
Nota: El campo de repetición debe ser un tipo de datos numérico y debe incluirse en un grupo.
Sintaxis
promedio(campo)
Argumento |
Descripción |
campo |
Nombres de los campos de repetición del grupo para el que se va a calcular el valor medio. |
Ejemplo
Va a diseñar una plantilla de formulario cuyos formularios usarán los proveedores para informar de sus productos e inventarios. La plantilla de formulario contiene un campo de repetición denominado fldPrice, que está en un grupo de repetición que contiene los datos acerca de cada producto que el proveedor vende. El grupo está enlazado a un control de tabla de repetición.
Tiene un campo en la plantilla de formulario que contendrá el precio medio de todos los productos vendidos por el proveedor. Para calcular el precio medio, use la siguiente fórmula en el campo para el precio medio:
promedio(fldPrice)
booleano
Devuelve verdadero si existe un campo o grupo. De lo contrario, devuelve falso.
Esto devolverá verdadero aun si se elimina un control asociado con el campo, pero el campo todavía existe.
Sintaxis
booleano(campo)
Argumento |
Descripción |
campo |
Campo o grupo de repetición que se comprobará mediante esta función. |
Ejemplo
Va a diseñar una plantilla de formulario que los proveedores usarán para informar de sus inventarios de productos. La información del producto se almacena en distintos campos de un grupo de repetición que se denomina grpProduct. Cada grupo de repetición contiene campos que tienen información sobre cada producto. Si el proveedor ofrece información acerca de siete productos, el formulario contendrá siete grupos de repetición.
El grupo de repetición está enlazado a un control de tabla de repetición, que permite que un proveedor agregue información nueva del producto o revise la información existente. El proveedor puede agregar o eliminar filas desde la tabla de repetición.
Desea mostrar un cuadro de diálogo si el usuario quita todas las filas en la tabla de repetición. Agregue un campo al origen de datos que contenga la palabra "verdadero" si el control de tabla de repetición tiene al menos una fila y la palabra "falso" si el control de tabla de repetición no tiene ninguna fila.
Configure una regla en un control de tabla de repetición para mostrar un cuadro de diálogo si el valor en el campo es falso. Para determinar automáticamente si la tabla de repetición contiene al menos una fila, use la siguiente fórmula como valor predeterminado para el campo que contiene la palabra "verdadero" o "falso":
booleano(grpProduct)
entero-superior
Redondea un número hacia arriba hasta el próximo entero.
Sintaxis
entero-inferior(número)
Argumento |
Descripción |
número |
Nombre del campo que tiene un valor numérico. |
Ejemplo
Va a diseñar una plantilla de formulario de informe de gastos para la compañía. Los gastos se envían a un servicio web que tiene un parámetro que acepta solo números enteros. El importe de los gastos que se envía a este parámetro debe redondearse al valor entero más alto. El importe de gastos se almacena en un campo que se denomina fldExpenseAmount, y el valor entero se almacena en otro campo. Para calcular el valor entero más alto, use la siguiente fórmula como valor predeterminado para el otro campo:
entero-inferior(fldExpenseAmount)
Si un usuario crea un formulario basado en la plantilla de formulario y escribe 145,87 en el campo fldExpenseAmount, el valor en el campo que contiene la fórmula será 146.
eval
Devuelve los valores de un campo o grupo. El segundo argumento define la expresión que se va a calcular en el campo o grupo. Normalmente, la función eval está anidada dentro de una función que opera en un campo o grupo, como suma o promedio.
Sintaxis
eval(campo, expresión)
Argumento |
Descripción |
campo |
Nombre del campo o grupo cuyos valores evaluará la expresión en el segundo argumento. |
expresión |
Expresión que se aplicará al primer argumento. La expresión puede ser una función XPath o una expresión incluida entre comillas dobles (" "). |
Ejemplo
Va a diseñar una plantilla de formulario de informe de gastos para la compañía. La plantilla de formulario contiene un campo denominado fldTotal que contiene un importe de gastos. El campo fldTotal es parte de un grupo de repetición denominado grpExpenses. Otro campo está enlazado a un cuadro de texto que contiene la suma de todos los gastos. Para mostrar la suma de todos los gastos a medida que el usuario especifica un importe de gastos, use la siguiente fórmula en el campo de gastos totales:
eval(grpExpenses,suma(fldTotal))
falso
Devuelve falso.
Sintaxis
falso()
Esta función no usa argumentos.
Ejemplo
Va a diseñar una plantilla de formulario cuyos formularios usarán los contratistas para solicitar permisos de construcción. La plantilla de formulario tiene dos secciones: una para la información de contacto y otra para la información relacionada con el permiso de construcción. Al rellenar este formulario, los contratistas deberán rellenar completamente la sección de información de contacto antes de rellenar la sección de permiso de construcción.
Para ello, cree una regla para establecer el valor de un campo booleano en falso si cualquiera de los campos en la sección de información de contacto está en blanco. Un campo de valor booleano puede tener un valor booleano verdadero o un valor booleano falso. También puede configurar el formato condicional para ocultar el control de sección que contiene la información del permiso de construcción si el valor del campo booleano es falso.
Para ocultar el control de sección que contiene los campos para la información del permiso de construcción, configure una regla para ejecutar esta función en el campo booleano si cualquiera de los campos en la sección de información de contacto está en blanco.
entero-inferior
Redondea un número hasta el entero inferior más próximo.
Sintaxis
entero-superior(número)
Argumento |
Descripción |
número |
Nombre del campo que tiene un valor numérico. |
Ejemplo
Va a diseñar una plantilla de formulario de informe de gastos para la compañía. Los gastos se envían a un servicio web que usa un parámetro que acepta solo números enteros. El importe de los gastos que se envía a este parámetro debe redondearse al valor entero más bajo. El importe de gastos se almacena en un campo que se denomina fldExpenseAmount, y el valor entero se almacena en otro campo. Para calcular el valor entero más bajo, use la siguiente fórmula como valor predeterminado para el otro campo:
entero-superior(fldExpenseAmount)
Máx
Devuelve el número mayor en un campo o grupo.
Sintaxis
máx.(campo)
Argumento |
Descripción |
campo |
Campo de repetición en un grupo o campo de un grupo de repetición para el que se va a buscar el valor más alto. |
Ejemplo
Va a diseñar una plantilla de formulario cuyos formularios usarán los proveedores para informar de sus inventarios de productos. La plantilla de formulario contiene un grupo de repetición que incluye varios campos que contienen datos acerca de los productos de proveedores. Un campo denominado fldPrice en el grupo de repetición contiene el precio de un producto.
Otro campo en el origen de datos de la plantilla de formulario contendrá el precio más alto de todos los productos vendidos por dicho proveedor. Para devolver el precio más alto, use la siguiente fórmula en el campo de precio más alto:
máx.(fldPrice)
mín.
Devuelve el número menor en un campo o grupo.
Sintaxis
mín.(campo)
Argumento |
Descripción |
campo |
Campo de repetición en un grupo o campo de un grupo de repetición para el que se va a buscar el valor más alto. |
Ejemplo
Va a diseñar una plantilla de formulario cuyos formularios usarán los proveedores para informar de sus inventarios de productos. La plantilla de formulario contiene un grupo de repetición que incluye varios campos que contienen datos acerca de los productos de proveedores. Un campo denominado fldPrice en el grupo de repetición contiene el precio de un producto.
Otro campo en el origen de datos de la plantilla de formulario contendrá el precio más bajo de todos los productos vendidos por dicho proveedor. Para devolver el precio más bajo, use la siguiente fórmula en el campo de precio más bajo:
mín.(fldPrice)
no
Devuelve verdadero si un valor booleano es falso o nulo. Devuelve falso si el valor booleano es verdadero o no es nulo.
Sintaxis
no(booleano_valor)
Argumento |
Descripción |
booleano_valor |
Campo con un tipo de datos booleano. |
Ejemplo
Va a diseñar una plantilla de formulario cuyos formularios usarán los contratistas para solicitar permisos de construcción. La plantilla de formulario tiene una sección para la información de contacto y otra para la información relacionada con el permiso de construcción. Al rellenar este formulario, los contratistas deberán rellenar completamente la sección de información de contacto antes de rellenar la sección de permiso de construcción.
Para ello, cree una regla que establezca el valor de un campo booleano en falso si cualquiera de los campos en la sección de información de contacto está en blanco. Un campo de valor booleano puede tener el valor booleano verdadero o el valor booleano falso. A continuación, use la misma fórmula para ocultar el control de sección que contiene la información del permiso de construcción si el valor del campo booleano es falso. Para establecer esta regla, use la siguiente fórmula para establecer el campo booleano en falso:
no(verdadero())
número
Convierte un valor en un número.
La función devuelve NaN si el valor en el argumento no puede convertirse en un número.
Sintaxis
número(valor)
ArgumentoDescripción
valorCampo con un valor que se va a convertir en número.
Ejemplo
Va a diseñar una plantilla de formulario cuyos formularios usarán los contratistas para solicitar permisos de construcción. La plantilla de formulario contiene una sección donde el contratista puede escribir su dirección de trabajo. Para comprobar que el contratista escribe una dirección válida, se usa una conexión de datos a un servicio web que puede comprobar la dirección. Si se comprueba la dirección, el contratista puede enviar el formulario a una base de datos SQL. La base de datos SQL usa un campo de texto para el número de la dirección y el nombre de la calle. El servicio web necesita que el número de la dirección sea un tipo de datos numérico y que el nombre de la calle sea un tipo de datos de texto.
Para enviar datos al servicio web y la base de datos SQL, la dirección debe almacenarse como dos tipos de datos distintos:
-
Para enviar la dirección al servicio web, el número de la dirección debe ser un tipo de datos numérico y el nombre de la calle un tipo de datos de texto.
-
Para enviar la dirección a la base de datos SQL, tanto el número de la dirección como el nombre de la calle deben ser un tipo de datos de texto.
También desea que el contratista escriba su dirección una sola vez. Para convertir la dirección en los tipos de datos correctos y ayudar a garantizar que el contratista escribe su dirección solo una vez, la plantilla de formulario contiene un campo denominado fldAddressNumber para escribir el número de la dirección y otro campo para escribir el nombre de la calle. Ambos campos se configuran como tipos de datos de texto.
A fin de enviar el número de la dirección al servicio web, necesita convertir los datos del campo fldAddressNumber (almacenados como tipos de datos de texto) en un tipo de datos numérico. El valor del número de la dirección convertido en un tipo de datos numérico se almacena en otro campo que se configura para almacenar tipos de datos numéricos.
Para convertir el número de la dirección de un tipo de datos de texto a un tipo de datos numérico, use la siguiente fórmula como valor predeterminado para el campo fldAddressNumber:
número(fldAddressNumber)
sc
Devuelve un campo o grupo con todos los campos en blanco reemplazados por cero (0).
Sintaxis
sc(campo)
Argumento |
Descripción |
campo |
Campo en el que desea buscar un valor. |
Ejemplo
Va a diseñar una plantilla de formulario que los proveedores rellenarán para informar de sus inventarios de productos. El proveedor enviará sus inventarios de productos a un servicio web a través de un formulario basado en la plantilla de formulario. El método del servicio web requiere que todos los elementos que contienen datos numéricos tengan un valor numérico. El servicio web rechaza un formulario que contiene un elemento numérico vacío.
La plantilla de formulario contiene un campo denominado fldAvailability que contiene un número que corresponde a la capacidad del proveedor de suministrar este producto. El proveedor puede escribir un número en este campo. Para ayudar a comprobar que el proveedor puede enviar su formulario basado en la plantilla de formulario al servicio web, y establecer automáticamente el valor del campo en cero si el proveedor no escribe un número, use la siguiente fórmula como valor predeterminado para este campo:
sc(fldAvailability)
redondear
Redondea un número al entero más cercano.
Si el valor que no es entero es exactamente el valor medio entre dos valores enteros redondeados, el valor devuelto es el siguiente valor entero más alto..
Sintaxis
redondear(número)
Argumento |
Descripción |
número |
Campo que contiene el número que se redondeará mediante esta fórmula. |
Ejemplo
Va a diseñar una plantilla de formulario cuyos formularios usarán los proveedores para informar de sus inventarios de productos. La plantilla de formulario contiene un grupo de repetición que incluye varios campos que contienen datos acerca de los productos de los proveedores. Uno de los campos, denominado fldPrice, en el grupo de repetición contiene el precio de un producto.
La plantilla de formulario tiene una conexión de datos de envío a un servicio web. El método del servicio web requiere que cada precio se redondee a un valor entero. Para enviar el valor apropiado al método de servicio web, agregue un campo de repetición al origen de datos. Este campo usa la siguiente fórmula para redondear el precio en el campo fldPrice a un valor entero:
redondear(fldPrice)
suma
Devuelve la suma de todos los campos en un campo o grupo. Cada campo se convierte primero en un valor numérico.
Sintaxis
suma(campo)
Argumento |
Descripción |
campo |
Nombre de un campo en un grupo de repetición o un campo de repetición en un grupo cuyos valores se agregarán. Para agregar campos de dos grupos diferentes, use el operador de unión (|) para separar los argumentos. Por ejemplo: suma(nombre de campo 1 | nombre de campo 2). |
Ejemplo
Va a diseñar una plantilla de formulario de informe de gastos. La plantilla de formulario tiene un grupo que contiene artículos de gastos. El importe de cada artículo se almacena en un campo que se denomina fldExpenseAmount. El grupo está enlazado a una tabla de repetición que muestra cada artículo de gastos como una fila. La plantilla de formulario contiene un control de cuadro de texto que muestra el total de gastos. Para mostrar el total de gastos, el control de cuadro de texto contiene la siguiente fórmula:
suma(fldExpenseAmount)
verdadero
Devuelve verdadero.
Sintaxis
verdadero()
Esta función no usa argumentos.
Ejemplo
Va a diseñar una plantilla de formulario cuyos formularios usarán los contratistas para solicitar permisos de construcción. La plantilla de formulario contiene una sección para la información de contacto y otra para la información relacionada con el permiso de construcción. Al rellenar este formulario, los contratistas deberán rellenar completamente la sección de información de contacto antes de rellenar la sección de permiso de construcción.
Para ello, cree una regla que establezca el valor de un campo booleano en verdadero si todos los campos en la sección de información de contacto contienen datos. Un campo de valor booleano puede tener el valor booleano verdadero o falso. Si el valor del campo booleano es verdadero, se muestra el control de sección que contiene la información del permiso de construcción.
Para mostrar el control de sección que contiene la información del permiso de construcción, configure una regla para ejecutar esta función en el campo booleano si todos los campos en la sección de información de contacto contienen datos.
Funciones de texto
concatenar
Combina dos o más campos de cadenas de texto en una cadena de texto.
Sintaxis
concatenar(texto1, texto2, ...)
Argumento |
Descripción |
texto1 |
Campo que contiene el texto que se va a combinar en una sola línea de texto con el texto en el argumento2. |
texto2, … |
Uno o varios campos adicionales que contienen texto que se va a combinar con el campo anterior. Separe los campos de texto con una coma. |
Ejemplo
Va a diseñar una plantilla de formulario que contiene un campo denominado fldFirstName y un campo denominado fldLastName. Agregue la siguiente fórmula a un tercer campo para hacer que contenga el texto “Este formulario fue rellenado por <firstname> <lastname>.”:
concatenar("Este formulario fue rellenado por ", fldFirstName, " ", fldLastName, ".")
Nota: Todo el texto especificado como un argumento textual, incluidos los espacios y la puntuación, necesita insertarse entre comillas (").
Contiene
Devuelve verdadero si el primer campo o cadena de texto contiene el segundo. De lo contrario, devuelve falso.
Sintaxis
contiene(dentro_del_texto, buscar_texto)
Argumento |
Descripción |
dentro_del_texto |
El campo contiene el texto que se va a buscar. |
texto_buscado |
El campo que contiene el texto o texto entre comillas (" ") que se va a buscar en el primer argumento. |
Ejemplo
Va a diseñar una plantilla de formulario con tres campos de texto. El primero permitirá que un usuario escriba una cantidad prolongada de texto en el primer control de texto, denominado fldText. El segundo permitirá que un usuario escriba un segmento corto de texto, denominado fldFindText. El tercer cuadro de texto comparará el segundo cuadro de texto con el primero para indicar si el valor en el segundo campo se encuentra en el primero y muestre el resultado. Tendrá la siguiente fórmula como valor predeterminado:
contiene(fldText,fldFindText)
eliminar-espacio
Quita espacios en blanco de una cadena de texto.
Nota: Esto quitará cualquier espacio a la izquierda, final o extensible de un campo con un tipo de datos de texto.
Sintaxis
eliminar-espacio(texto)
Argumento |
Descripción |
texto |
Texto que contiene los espacios a la izquierda, finales o extensibles en blanco que se van a quitar. Incluya el texto entre comillas (" "). |
Ejemplo
Va a diseñar una plantilla de formulario que contiene un campo denominado fldText (que está enlazado a un control de cuadro de texto). Para eliminar cualquier texto escrito en el primer campo, y mostrar el valor en el primer campo sin ningún espacio en blanco de más, agregue un segundo campo con la siguiente fórmula como valor predeterminado:
eliminar-espacio(fldText)
comienza-con
Devuelve verdadero si el primer campo o cadena de texto comienza con el segundo. De lo contrario, devuelve falso.
Sintaxis
comienza-con(texto, iniciar_texto)
Argumento |
Descripción |
texto |
Nombre del campo que contiene el texto que se va a buscar. Separe los argumentos con una coma. |
iniciar_texto |
Texto que se va a buscar en el comienzo del campo especificado en el primer argumento. Este argumento puede ser un campo o texto que se incluye entre comillas (" "). |
Ejemplo
Va a diseñar un plantilla de formulario con tres campos de texto. El primero permitirá que un usuario escriba una cantidad prolongada de texto en el primer control de texto, denominado fldText. El segundo permitirá que un usuario escriba un segmento corto de texto, denominado fldFindText. El tercer cuadro de texto comparará el segundo cuadro de texto con el primero para indicar si el valor en el primer campo empieza con el valor en el segundo campo y muestra el resultado. Tendrá la siguiente fórmula como valor predeterminado:
comienza-con(fldText, fldFindText)
cadena
Convierte un valor en una cadena de texto.
Sintaxis
cadena(valor)
Argumento |
Descripción |
valor |
Campo que contiene el valor que se va a convertir en texto. |
Ejemplo
Va a diseñar una plantilla de formulario cuyos formularios usarán los contratistas para solicitar permisos de construcción. La plantilla de formulario contiene una sección donde el contratista puede escribir su dirección de trabajo. Para comprobar que el contratista escribe una dirección válida, la plantilla de formulario tiene una conexión de datos a un servicio web que puede comprobar la dirección. Si se comprueba la dirección, el contratista puede enviar el formulario a una base de datos SQL. La base de datos SQL usa un campo de texto para el nombre de la calle. El servicio web necesita que el número de la dirección sea un tipo de datos numérico y que el nombre de la calle sea un tipo de datos de texto.
Para enviar datos al servicio web y la base de datos SQL, la dirección debe almacenarse en dos tipos de datos distintos:
-
Para enviar la dirección al servicio web, el número de dirección debe ser un tipo de datos numérico.
-
Para enviar la dirección a la base de datos SQL, tanto el número de la dirección como el nombre de la calle deben ser un tipo de datos de texto.
También desea que el contratista escriba su dirección una sola vez. Para convertir la dirección en los tipos de datos correctos y ayudar a garantizar que el contratista escribe su dirección solo una vez, el formulario contiene un campo para escribir el número de la dirección que se denomina fldAddressNumber y otro campo para escribir el nombre de la calle. El campo fldAddressNumber es un tipo de datos numérico y el campo de nombre de la calle es un tipo de datos de texto.
A fin de enviar la dirección completa (tanto el número de la dirección como el nombre de la calle) a la base de datos SQL, necesita combinar los valores en el campo fldAddressNumber y el campo de nombre de la calle en un valor que sea un tipo de datos de texto. Primero necesita convertir los datos numéricos del campo fldAddressNumber, que almacena los datos como un tipo de datos numérico, en un tipo de datos de texto. Agregue un campo al origen de datos que contendrá la dirección completa como un tipo de datos de texto.
Para convertir los datos de texto de un campo fldAddressNumber en un tipo de datos de texto de modo que pueda usar el servicio web, debe configurar otro campo que contendrá el número de la dirección como un tipo de datos de texto. Para convertir el número de la dirección de un tipo de datos numérico a un tipo de datos de texto, use la siguiente fórmula como valor predeterminado para este campo:
cadena(fldAddressNumber)
longitud-cadena
Devuelve el número de caracteres de una cadena de texto.
Sintaxis
longitud-cadena(texto)
Argumento |
Descripción |
texto |
Campo cuyo valor es el texto que se va a contar. |
Ejemplo
Va a diseñar una plantilla de formulario que contiene un campo denominado fldText, que está enlazado a un control de cuadro de texto. La plantilla de formulario incluye un segundo campo que se usa para contar el número de caracteres especificados en el primer formulario. Para ello, el segundo campo contendrá la siguiente fórmula como valor predeterminado:
longitud-cadena(fldText)
subcadena
Devuelve una parte específica de una cadena de texto. El segundo argumento especifica la posición de inicio y el tercer argumento especifica la cantidad de caracteres que se va a incluir.
Sintaxis
subcadena(texto, iniciar_posición, contar_caract)
Argumento |
Descripción |
texto |
Campo con un tipo de datos de texto o texto que se incluye entre comillas (" "). La función busca en este texto y devuelve todos los caracteres de la posición especificada en el segundo argumento, según el número de caracteres especificado en el tercer argumento, o al final del texto, según el caso que se dé primero. |
iniciar_posición |
Posición inicial del texto que se extrae del primer argumento. Este argumento debe ser un número entero o una referencia a un campo configurado para almacenar tipos de datos numéricos (enteros). |
contar_caract |
Número de caracteres que se van a extraer, comenzando en la posición inicial especificada en el segundo argumento. Este argumento debe ser un número entero o una referencia a un campo configurado para almacenar tipos de datos numéricos (enteros). |
Ejemplo
Va a diseñar una plantilla de formulario que contiene los siguientes campos y controles:
-
Un campo denominado fldText que está enlazado a un control de cuadro de texto. Este campo contiene el texto que la función busca.
-
Un campo denominado fldStartingPosition que está enlazado a un control de cuadro de texto. Este campo está configurado como un tipo de datos de número entero. El campo contiene la posición inicial de la función.
-
Un campo denominado fldNumberOfCharacters que está enlazado a un control de cuadro de texto. Este campo está configurado como un tipo de datos de número entero. El campo contiene el número de caracteres devueltos por la función.
-
Un control de cuadro de texto que muestra los resultados de la función. El control de cuadro de texto contiene la siguiente fórmula:
subcadena(fldText, fldStartingPosition, fldNumberOfCharacters)
Si un usuario escribe “Este formulario se creó a partir de una plantilla de formulario de InfoPath” en el primer cuadro de texto, seguido de 4 en el segundo y 16 en el tercero, el cuarto cuadro de texto contendrá “e formulario se”.
subcadena-posterior
Devuelve el texto en la primera cadena de texto que sigue a la primera repetición de la segunda cadena de texto.
Sintaxis
subcadena-posterior(texto, buscar_texto)
Argumento |
Descripción |
texto |
Campo con un tipo de datos de texto o texto que se incluye entre comillas (" "). La función busca en el texto de este argumento y, a continuación, devuelve todos los caracteres que siguen al texto del segundo argumento. |
texto_buscado |
Texto que se va a buscar en el texto del primer argumento. El texto puede ser el valor del campo con un tipo de datos de texto o texto que se incluye entre comillas (" "). La función busca este texto en el texto del primer argumento y, a continuación, devuelve todos los caracteres que siguen al texto de este argumento. |
Ejemplo
Va a diseñar una plantilla de formulario que contiene los siguientes campos y controles:
-
Un campo denominado fldText que está enlazado a un control de cuadro de texto. Este campo contiene el texto que la función busca.
-
Un campo denominado fldSubstringText que está enlazado a un control de cuadro de texto. Este campo contiene el texto que es el segundo argumento de la función.
-
Un control de cuadro de texto que muestra los resultados de la función. El control de cuadro de texto contiene la siguiente fórmula:
subcadena-posterior(fldText, fldSubstringText)
Si un usuario escribe “Este formulario se creó a partir de una plantilla de formulario de InfoPath” en el campo fldText y escribe “plantilla de” en el segundo, el tercer control de cuadro de texto contendrá “formulario de InfoPath”.
subcadena-anterior
Devuelve el texto en la primera cadena de texto que precede a la primera repetición de la segunda cadena de texto.
Sintaxis
subcadena-anterior(texto, buscar_texto)
Argumento |
Descripción |
texto |
Campo con un tipo de datos de texto o texto que se incluye entre comillas (" "). La función busca en el texto de este argumento y, a continuación, devuelve todos los caracteres antes del texto del segundo argumento, buscar_texto. |
texto_buscado |
Valor que se va a buscar en el argumento de texto. El valor puede ser el valor del campo con un tipo de datos de texto o texto que se incluye entre comillas (" "). La función busca este texto en el texto del primer argumento (texto) y, a continuación, devuelve todos los caracteres antes del texto de este argumento. |
Ejemplo
Va a diseñar una plantilla de formulario con los siguientes campos y controles:
-
Un campo denominado fldText que está enlazado a un control de cuadro de texto. Este campo contiene el texto que la función busca.
-
Un campo denominado fldSubstringText que está enlazado a un control de cuadro de texto. Este campo contiene el texto que es el segundo argumento de la función.
-
Control de cuadro de texto AA que muestra los resultados de la función. El control de cuadro de texto contiene la fórmula siguiente:
subcadena-anterior(fldText, fldSubstringText)
Si un usuario escribe “Este formulario se creó a partir de una plantilla de formulario de InfoPath” en el campo fldText y escribe “creó” en el segundo, el tercer control de cuadro de texto contendrá “Este formulario se”.
traducir
Devuelve la primera cadena de texto con cada carácter en la segunda cadena de texto reemplazado por el carácter en la posición correspondiente en la tercera cadena de texto.
Sintaxis
traducir(texto, buscar_caract, reemplazar_caract)
Argumento |
Descripción |
texto |
Nombre del campo que contiene el texto cuyos caracteres se reemplazarán. Separe los argumentos con una coma. |
buscar_caract |
Un carácter o el valor de un campo con un tipo de datos de texto que se reemplazará mediante los caracteres en el tercer argumento. Separe los argumentos con una coma. |
reemplazar_caract |
Un carácter o el valor de un campo con un tipo de datos de texto que reemplazará cada ocurrencia del carácter en el segundo argumento. |
Ejemplo
Va a diseñar una plantilla de formulario cuyos formularios usarán los contratistas para solicitar permisos de construcción. La plantilla de formulario contiene una sección donde el contratista puede escribir su dirección de trabajo. La sección contiene un campo denominado fldStreetAddress que está enlazado a un control de cuadro de texto en el que el contratista puede escribir su dirección.
Para comprobar que el contratista escribe una dirección válida, se cuenta con una conexión de datos a un servicio web que puede comprobar la dirección. El servicio web requiere caracteres en minúsculas en la dirección.
Para convertir cualquier carácter en mayúsculas en la dirección a minúsculas, agregue otro campo al origen de datos para que contenga la dirección que se convierte a caracteres en minúsculas. El valor predeterminado de este campo contiene la siguiente fórmula:
traducir(fldStreetAddress, ABCDEFGHIJKLMNOPQRSTUVWXYZ, abcdefghijklmnopqrstuvwxyz)
Funciones de dirección URL
UrlListaSharePoint
Devuelve la dirección de la biblioteca de formularios o lista de SharePoint donde se hospeda el formulario (solo InfoPath 2010).
Sintaxis
UrlListaSharePoint()
Esta función no usa argumentos.
Ejemplo
Va a diseñar una plantilla de formulario para una lista de SharePoint y desea agregar un vínculo a la ubicación donde se hospeda la lista, como “http://sharepointserver/site/list/”. Para ello, agregue un control de hipervínculo, establézcalo en Solo lectura y, a continuación, establezca el valor predeterminado del campo con el que está vinculado el control de la siguiente forma:
UrlListaSharePoint()
Nota: Si la plantilla de formulario no está alojada en un servidor de SharePoint, la función SharePointListUrl() sólo devolverá "http://sharepointserver/site/list/".
UrlRaízSharePointServer
Devuelve la dirección del servidor de SharePoint donde se hospeda el formulario (solo InfoPath 2010).
Sintaxis
UrlRaízSharePointServer()
Esta función no usa argumentos.
Ejemplo
Va a diseñar una plantilla de formulario para una lista de SharePoint y desea agregar un vínculo a la raíz del servidor de SharePoint donde se hospeda la lista, como “http://sharepointserver/site/list/”. Para ello, agregue un control de hipervínculo, establézcalo en Solo lectura y, a continuación, establezca el valor predeterminado del campo con el que está vinculado el control de la siguiente forma:
UrlRaízSharePointServer()
Nota: Si la plantilla de formulario no está alojada en un servidor de SharePoint, la función SharePointListUrl() sólo devolverá "http://sharepointserver/site/list/".
SharePointCollectionUrl
Devuelve la dirección de la colección de sitios de SharePoint donde se hospeda el formulario (solo InfoPath 2010).
Sintaxis
SharePointCollectionUrl()
Esta función no usa argumentos.
Ejemplo
Va a diseñar una plantilla de formulario para una lista de SharePoint y desea agregar un vínculo a la colección de sitios del servidor de SharePoint donde se hospeda la lista, como “http://sharepointserver/sitecollection/”. Para ello, agregue un control de hipervínculo, establézcalo en Solo lectura y, a continuación, establezca el valor predeterminado del campo con el que está vinculado el control de la siguiente forma:
SharePointCollectionUrl()
Nota: Si la plantilla de formulario no está alojada en un servidor de SharePoint, la función SharePointListUrl() sólo devolverá "http://sharepointserver/sitecollection/".
SharePointSiteUrl
Devuelve la dirección del sitio de SharePoint donde se hospeda el formulario (solo InfoPath 2010).
Sintaxis
SharePointSiteUrl()
Esta función no usa argumentos.
Ejemplo
Va a diseñar una plantilla de formulario para una lista de SharePoint y desea agregar un vínculo al sitio de SharePoint donde se hospeda la lista, como “http://sharepointserver/site/”. Para ello, agregue un control de hipervínculo, establézcalo en Solo lectura y, a continuación, establezca el valor predeterminado del campo con el que está vinculado el control de la siguiente forma:
SharePointSiteUrl()
Nota: Si la plantilla de formulario no está alojada en un servidor de SharePoint, la función SharePointListUrl() sólo devolverá "http://sharepointserver/site/".
La función nombreUsuario
nombreUsuario
Devuelve el nombre de usuario de la persona que rellena el formulario (Microsoft InfoPath 2007 y posterior).
Nota: Si el usuario va a rellenar un formulario en un explorador web, el nombre de usuario se recupera desde Microsoft Windows SharePoint Services 3.0 o posterior.
Sintaxis
nombreUsuario()
Esta función no usa argumentos.
Ejemplo
Va a diseñar una plantilla de formulario de informe de gastos para la compañía. La compañía de su tarjeta de crédito envía registros de los gastos de los empleados de forma electrónica a una base de datos que su compañía mantiene. Para recuperar los registros de gastos de un empleado, la base de datos necesita el nombre de usuario del empleado que rellena un formulario basado en la plantilla de formulario.
Agregue un campo al origen de datos de la plantilla de formulario para almacenar el nombre de usuario del empleado. Además, cree una conexión de datos de consulta que use el valor de este campo en una consulta para recuperar los gastos.
Para asegurarse de que el empleado que rellena el informe de gastos usa el nombre de usuario correcto, enlace el campo a un control de cuadro de texto. Para mostrar el nombre de usuario del usuario que crea un formulario basado en esta plantilla de formulario, use la siguiente fórmula como valor predeterminado de un campo enlazado a un control de cuadro de texto:
nombreUsuario()