Funciones en InfoPath

Puede utilizar funciones en sus plantillas de formulario de Microsoft Office InfoPath para realizar diversas tareas, tales como el recuento de número de campos o el cálculo de la suma de una columna en un tabla extensible. Utilice funciones en fórmulas (fórmula: expresión XPath formada por valores, campos o grupos, funciones y operadores. Las fórmulas se pueden utilizar para calcular valores matemáticos, mostrar la fecha y la hora, así como los campos de referencia.)que se escriben en el cuadro de diálogo Insertar fórmula para los controles o campos de su plantilla de formulario.

En este artículo


Descripción general de las funciones

Una función de InfoPath es una expresión que devuelve un valor basándose en los resultados de un cálculo. Se utiliza una función en una fórmula que se escribe en el cuadro de diálogo Insertar fórmula. Las funciones constan de tres partes:

Nombre    Nombre de la función. Por lo general, el nombre ofrece una sugerencia sobre la acción que realizará la función.

Valor devuelto    Resultado de la función.

Argumentos    Valores requeridos por la función para realizar el cálculo.

Una función puede requerir o no 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.

Un argumento de una función es una expresión XPath, que es una combinación de valores, funciones y operadores que dan como resultado un valor único. En la siguiente ilustración se muestra la relación entre funciones, expresiones y fórmulas.

Diagrama que muestra la relación entre fórmulas y expresiones

Volver al principio Volver al principio

Funciones de fecha y hora

Función Descripción Sintaxis
addDays

Devuelve una fecha que es el resultado de agregar el segundo argumento al primero. El tipo de datos del valor devuelto depende del tipo de datos del primer argumento.

  • Tipo de datos Fecha (date) que devuelve un tipo de datos Fecha (date).
  • Tipo de datos Fecha y hora (dateTime) que devuelve un tipo de datos Fecha y hora (dateTime).

addDays(argument1, argument2)

argument1    Segundo argumento se agregará a esta fecha. Este argumento puede ser un tipo de datos Fecha (date) o Fecha y hora (dateTime).

argument2     Número de días que desea agregar al primer argumento. Esta parámetro debe ser un tipo de datos Número entero (integer).

addSeconds

Devuelve una hora que es el resultado de agregar el segundo argumento al primero. El tipo de datos del valor devuelto depende del tipo de datos del primero.

  • Tipo de datos Hora (time) que devuelve un tipo de datos Hora (time).
  • Tipo de datos Fecha (date) o Fecha y hora (dateTime) que devuelve un tipo de datos Fecha y hora (dateTime).

addSeconds(argument1, argument2)

argument1     Segundo argumento se agregará a esta hora. Esta argumento puede ser un tipo de datos Hora (time), Fecha (date) o Fecha y hora (dateTime).

argument2     Número de segundos que desea agregar al primer argumento. El campo de este parámetro debe ser un tipo de datos Número entero (integer).

now Devuelve la fecha y hora en un tipo de datos Fecha y hora (dateTime) cuando se abre el formulario por primera vez.

now()

Esta función no utiliza argumentos.

today Devuelve la fecha en un tipo de datos Fecha (date) cuando se abre el formulario por primera vez.

today()

Esta función no utiliza argumentos.

Volver al principio Volver al principio

Funciones de campo

Función Descripción Sintaxis
count Devuelve el número de instancias del campo o grupo en un formulario.

count(argument)

argument     Nombre del campo o grupo que se incluye en el formulario.

current

Devuelve el campo o grupo actual en un grupo. Esta función se utiliza para hacer referencia a una fila actual de una tabla o sección extensible dentro de una expresión mayor.

 Nota   Esta función no está disponible en el cuadro de diálogo Insertar función. Para utilizar esta función, escríbala como una expresión XPath en el cuadro Fórmula del cuadro de diálogo Insertar fórmula.

current()

Esta función no utiliza argumentos.

id

Devuelve la expresión XPath de los campos o grupos que tienen el valor especificado en el atributo id de un campo.

Cuando un usuario rellena un formulario basado en una plantilla de formulario habilitada por explorador, una fórmula que utiliza esta función envía datos del formulario al servidor para obtener el valor devuelto de esa función.

 Nota   Esta función no está disponible en el cuadro de diálogo Insertar función. Para utilizar esta función, escríbala como una expresión XPath en el cuadro Fórmula del cuadro de diálogo Insertar fórmula.

id("argument")

argument     Valor del atributo id del campo o grupo. Este valor debe incluirse entre comillas (" ").

last

Devuelve el valor de la última aparición del campo.

 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.

field name[last()]

Aunque la propia función no requiere parámetros, se puede utilizar como predicado de un nombre de campo específico.

local-name

Devuelve el nombre del campo sin el espacio de nombres o el último nombre de la expresión XPath. Si el parámetro es un conjunto de campos o grupos, devuelve el valor del primer campo o grupo.

Cuando un usuario rellena un formulario basado en una plantilla de formulario habilitada por explorador, una fórmula que utiliza esta función envía datos del formulario al servidor para obtener el valor devuelto de esa función.

local-name(argument)

argument     Nombre del campo cuyo atributo de nombre local desea obtener.

name

Devuelve el nombre expandido del nombre de campo especificado en el argumento. El nombre expandido contiene el prefijo de espacio de nombres existente y el nombre del campo o grupo especificado. Si el argumento es un conjunto de campos o grupos, la función devuelve el nombre y el prefijo del primer campo o grupo del formulario.

Cuando un usuario rellena un formulario basado en una plantilla de formulario habilitada por explorador, una fórmula que utiliza esta función envía datos del formulario al servidor para obtener el valor devuelto de esa función.

name(argument)

argument     Nombre del campo cuyo nombre y prefijo de espacio de nombres se desea obtener.

namespace-uri

Devuelve el identificador uniforme de recursos (URI) (Identificador uniforme de recursos (URI): cadena de caracteres que se utiliza para identificar un recurso en Internet por su tipo y ubicación.) del espacio de nombres completo del argumento. 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 basado en una plantilla de formulario habilitada por explorador, una fórmula que utiliza esta función envía datos del formulario al servidor para obtener el valor devuelto de esa función.

namespace-uri(argument)

argument     Nombre del campo cuyo identificador uniforme de recursos (URI) de espacio de nombres se desea obtener.

position

Devuelve el índice o posición del campo o grupo con respecto al resto de campos o grupos del mismo grupo.

Esta función siempre devuelve 1 cuando se utiliza en una fórmula que tiene un cálculo o que se encuentra en una fórmula de una regla.

 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.

position()

Esta función no utiliza argumentos.

Volver al principio Volver al principio

Funciones matemáticas

 Nota   Las fórmulas que contienen funciones matemáticas normalmente requieren argumentos que son valores enteros o decimales. Para asegurarse de que los argumentos son valores enteros o decimales y no valores nulos, active la casilla de verificación Considerar los valores en blanco como cero de la categoría Avanzadas del cuadro de diálogo Opciones de formulario (menú Herramientas).

Función Descripción Sintaxis
avg Devuelve el valor medio de los campos de un grupo. Cada campo debe ser un tipo de datos numérico e incluirse en un grupo.

avg(argument)

argument     Nombres de los campos del grupo sobre el que se desea obtener el valor medio.

boolean Devuelve el valor "true" (verdadero) si el argumento es un número positivo o "false" (falso) si el argumento es cero o un valor negativo.

boolean(argument)

argument     Expresión que evalúa la función.

ceiling Devuelve el entero más pequeño que es igual o mayor que el valor del argumento. Un valor que no sea entero se redondea al siguiente valor entero más alto.

ceiling(argument)

argument     Nombre del campo con un valor numérico.

eval Devuelve el resultado de aplicar al primer argumento la expresión especificada en el segundo argumento.

eval(argument1, argument2 )

argument1     Nombre del campo o grupo cuyos valores evaluará la expresión en el segundo argumento.

argument2     Expresión, incluida entre comillas (" "), que debe aplicarse al primer argumento.

false Devuelve el valor Boolean "false". Utilice esta función como parte de una serie de reglas que se ejecutan cuando no se cumple una condición.

false()

Esta función no utiliza argumentos.

floor Devuelve el entero más pequeño que es igual o menor que el valor del argumento. Un valor que no sea entero se redondea al siguiente valor entero más bajo.

floor(argument)

argument     Nombre del campo que tiene un valor numérico.

max Devuelve el valor más alto de un campo en un grupo.

max(argument)

argument     Nombre del grupo que contiene los campos sobre los que se desea obtener el valor más alto.

min Devuelve el valor más bajo de un campo en un grupo.

min(argument)

argument     Nombre del grupo que contiene los campos sobre los que se desea encontrar el valor más bajo.

not Devuelve el valor "true" (verdadero) si la expresión da como resultado cero, un valor inferior a cero, "false" (falso) o "null" (nulo); y devuelve el valor "false" si la expresión da como resultado un valor mayor que cero, "true" o no "null".

not(argument)

argument     Expresión que evalúa la función.

number Devuelve el resultado de convertir la expresión del argumento en un número.

number(argument)

argument     Expresión que evalúa la función.

nz Devuelve un valor cero si el valor del argumento está en blanco, o devuelve el valor del argumento.

nz(argument)

argument     Nombre del campo que evalúa la función.

round Devuelve un número redondeado a un valor entero. 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.

round(argument)

argument     Expresión que evalúa la función.

sum Devuelve la suma de los valores de los campos de un grupo.

sum(argument)

argument     Nombres de los campos del grupo cuyos valores se agregarán. Para agregar campos en dos grupos diferentes, utilice el operador de unión (|) para separar los argumentos. Por ejemplo: sum( nombre de campo 1 | nombre de campo 2).

true Devuelve el valor Boolean "true". Utilice esta función como parte de una serie de reglas que se ejecutan cuando se cumple una condición.

true()

Esta función no utiliza argumentos.

Volver al principio Volver al principio

Funciones de texto

Función Descripción Sintaxis
concat Devuelve texto que es el resultado de combinar los argumentos.

concat(argument1, argument2, ...)

argument     Dos o más expresiones que contienen texto se combinan en un único texto. Las expresiones se separan con una coma.

contains Devuelve un valor "true" (verdadero) si el valor del primer argumento contiene el texto especificado en el segundo argumento, o devuelve "false" (falso) si el texto del segundo argumento no aparece incluido en el valor del primer argumento.

contains(argument1, argument2)

argument1     Nombre del campo que contiene el texto que se va a buscar.

argument2     Expresión que contiene el texto que se va a buscar en el primer argumento.

normalize-space

Devuelve texto con todos los espacios a la izquierda, finales y extensibles en blanco quitados.

Cuando un usuario rellena un formulario basado en una plantilla de formulario habilitada por explorador, una fórmula que utiliza esta función envía datos del formulario al servidor para obtener el valor devuelto de esa función.

 Nota   Los campos que tienen un tipo de datos Texto quitan automáticamente del valor los espacios a la izquierda, finales y extensibles en blanco.

normalize-space(argument)

argument     Texto que contiene los espacios a la izquierda, finales o extensibles en blanco que se desea quitar. Incluya el texto entre comillas (" ").

starts-with Devuelve el valor "true" (verdadero) si el texto del primer argumento empieza por el texto del segundo argumento o devuelve el valor "false" (falso) si el texto del segundo argumento no aparece al comienzo del texto del primer argumento.

starts-with(argument1, argument2)

argument1     Nombre del campo que contiene el texto que se va a buscar.

argument2     Texto que se va buscar el comienzo del campo especificado en el primer argumento. Este argumento puede ser texto incluido entre comillas (" ") o un nombre de campo.

string Devuelve el argumento como texto.

string(argument)

argument     Nombre del campo que tiene el valor para convertir a texto.

string-length Devuelve el número de caracteres del valor del argumento.

string-length(argument)

argument     Nombre del campo cuyo valor es el texto que se desea contar.

substring Devuelve los caracteres que empiezan en la posición especificada en el segundo argumento según el número especificado en el tercer argumento.

substring(argument1, argument2, argument3)

argument1     Expresión que tiene el texto en el que buscará la función. 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.

argument2     Posición inicial del texto que se extrae del primer argumento.

argument3    Número de caracteres que se desea extraer, comenzando en la posición inicial especificada en el segundo argumento.

substring-after Devuelve el texto del primer argumento que aparece tras el texto especificado en el segundo argumento. El texto del segundo argumento no se incluye en el texto devuelto.

substring(argument1, argument2)

argument1     Expresión que tiene el texto en el que buscará la función. La función busca en el texto de este argumento y, a continuación, devuelve todos los caracteres que aparecen tras el texto del segundo argumento.

argument2     Expresión que tiene texto. La función busca este texto en el texto del primer argumento y, a continuación, devuelve todos los caracteres que aparecen tras el texto de este argumento.

substring-before Devuelve todo el texto del primer argumento que aparece antes del texto especificado en el segundo argumento. El texto del segundo argumento no se incluye en el texto devuelto.

substring-before(argument1, argument2)

argument1     Expresión que tiene el texto en el que buscará la función. La función busca en el texto de este argumento y, a continuación, devuelve todos los caracteres antes del texto del segundo argumento.

argument2     Expresión que tiene texto. La función busca en el texto del primer argumento y, a continuación devuelve todos los caracteres antes del texto de este argumento.

translate Devuelve el texto que es el resultado de reemplazar cada carácter del segundo argumento por los caracteres del tercer argumento.

translate(argument1, argument2, argument3)

argument1     Nombre del campo que tiene el texto cuyos caracteres se reemplazarán.

argument2     Expresión que da como resultado un carácter que se va a reemplazar por la expresión del tercer argumento.

argument3     Expresión que da como resultado un carácter que reemplazará cada aparición del carácter del segundo argumento.

Volver al principio Volver al principio

Otras funciones

Para mostrar esta función en la lista Funciones, haga clic en Todas en la lista Categorías, del cuadro de diálogo Insertar función.

Función Descripción Sintaxis
userName

Devuelve el alias de correo electrónico del usuario que rellena el formulario. El alias de correo electrónico procede del servicio de directorio de Active Directory.

 Nota   Si el usuario está rellenando una plantilla de formulario compatible con el explorador, el alias de correo electrónico procede de Windows SharePoint Services 3.0.

userName()

Esta función no utiliza argumentos.

 
 
Corresponde a:
InfoPath 2007