Preguntas Frecuentes
NUEVO
Soporte de Bitrix24
Inscripción e inicio de sesión
Inicio - Bitrix24
Noticias
Tareas y proyectos
Chats y llamadas
Grupos de Trabajo
Calendarios
Bitrix24.Drive
Webmail
Gestión del inventario
CRM
CoPilot - IA en Bitrix24
CRM + Online store
Sales Intelligence
CRM Analytics
BI Builder
Automatización
Sales Center (beta)
Tienda CRM (beta)
Marketing
Compañía
Base de conocimientos
Bitrix24.Sites
Tienda Online
Bitrix24.Market
Contact Center
Mi Perfil
Telefonía
Flujos de Trabajo
Bitrix24 En Premisa
Aplicación móvil
Aplicación de escritorio
Suscripción
Enterprise
Configuraciones de la cuenta
Preguntas Generales
Actualización de los artículos (archivo)

Soporte Bitrix24

Uso de expresiones en parámetros de acción

Para ofrecer la máxima flexibilidad, los parámetros de acción de Bitrix24 permiten el uso de expresiones especiales cuyos valores se calculan en tiempo de ejecución.

Para especificar el valor del parámetro como una expresión, comience el valor con el signo "igual": =.

Ejemplo: =6^2 + {=Document:PROPERTY_NUM}/2 o =if({Document:ID}=5, "texto1", "texto2").

Se pueden utilizar varios cálculos diferentes en cada campo. Si no solo desea realizar un cálculo, sino también mostrar datos adicionales (valor de variables, texto), hay dos opciones de hacerlo:

  • Los valores calculados se pueden colocar simplemente en el texto colocando el cálculo en la construcción {{=...}}.

    Ejemplo: Debe completar los documentos antes del {{=DateAdd({=Document:DATE_CREATE}, '5d')}}.

  • O puede usar el operador de concatenación (&), y encerrar el texto en las expresiones entre comillas dobles ("texto").

    Ejemplo: ="Respuesta:" & (1+3) o ="Autor: " & {=Document:CREATED_BY} & ", " & "Fecha límite: " & Dateadd({=Document:DATE_CREATE}, "1d")

La sintaxis de los operadores simbólicos es similar a la sintaxis de las funciones php correspondientes.

Operadores

Al calcular los valores de expresiones en parámetros de acción, puede utilizar varios operadores y funciones.

Lista de operadores disponibles

Operador Descripción
+ Suma.
- Resta.
* Multiplicación.
/ División.
= Igual.
<> Distinto.
< Menor que.
> Mayor que.
<= Menor o igual que.
>= Mayor o igual que.
() Paréntesis.
& El operador de concatenación, el cual retorna el resultado de concatenar sus argumentos derecho e izquierdo.
^ Potencia.
% Porcentaje.
true Verdadero.
false Falso.
and operador lógico Y
or operador lógico O.
Ejemplo: =if(or({=Variable:aaa}>2, {=Variable:bbb}<10), "yes", "no")
not No.

Funciones para los cálculos

Al diseñar procesos de negocios, puede utilizar funciones especificadas en la lista. Para hacer esto, escriba en el campo el signo = y se abrirá una lista

Lista de funciones con ejemplos

Función Descripción
abs Devuelve el valor absoluto del número.
dateadd

Añade una cantidad de días, meses, años, horas, minutos y segundos a la fecha especificada.

Sintaxis: =dateadd([fecha de inicio], [lapso de tiempo])

Ejemplos

y, year, years, m, month, months, d, day, days, h, hour, hours, min, minute, minutes, s, second, seconds.

Al escribir, puede utilizar mayúsculas o minúsculas.

Ejemplos: =Dateadd({=Document:DATE_CREATE}, '-2d'), Dateadd({=Document:DATE_CREATE}, "2 days 3 minutes").

Si el número de unidades de tiempo necesarias para sumar forma parte de un campo, una variable, etc., entonces debe utilizar el operador de concatenación &.

Ejemplo: =DateAdd({=Document:DATE_CREATE}, {=Variable:WHAT2ADD} & "y 10h")

datediff

Devuelve la diferencia entre dos fechas.

Sintaxis: =datediff([fecha1], [fecha2], [formato_de_visualización_de_diferencia])

La diferencias se puede mostrar en varias unidades, dependiendo de las tareas que esté resolviendo.

Ejemplos: =datediff({=Variable:Variable1}, {=Variable:Variable2},'%m month, %d days')
date

La función da formato a la fecha/hora local y funciona de la misma forma que la función Date en PHP.

Sintaxis - date ('formato de visualización', {fecha necesaria})

WorkDateAdd

Añade la cantidad de días laborales, horas y minutos a la fecha especificada.

Sintaxis: =WorkDateAdd([fecha_inicial], [valor_añadido]).

Ejemplos

d, day, days, h, hour, hours, i, min, minute, minutes. Al escribir, puede utilizar mayúsculas o minúsculas.

Ejemplo: =WorkDateAdd({=Template:Parameter1}, "2d") - el parámetro incluye la fecha 28.04.2016.

Resultado - 02.05.2016 09:00:00, ya que 30.04 y 1.05 - es el fin de semana, y estos días serán omitidos. 09:00:00 - inicio de la jornada laboral.

Puede configurar la lista de fines de semana, feriados e inicio de la jornada laboral en los Ajustes de la cuenta de Bitrix24.

AddWorkDays La función añade N días laborales a la fecha especificada.

Sintaxis: =addworkdays([fecha_inicial], [días_laborales_añadidos]).

Ejemplos: {{=addworkdays('07.03.2016', 1)}} - resultado: 09.03.2016 00:00:00, ya que en los ajustes de la cuenta el 8 de marzo es un día feriado.

{{=addworkdays('05.02.2016 16:14:00', 1)}} - resultado: ya que 05.02.2016 es el viernes, el resultado será el lunes: 08.02.2016 16:14:00.

isWorkDay Comprueba si una fecha es un día laboral (por Calendario).

Sintaxis: =if(isWorkDay([fecha]), [mensaje si la fecha es un día laboral], [mensaje si la fecha no es un día laboral]).

Ejemplo: {{=if(isWorkDay({=Template:Parameter1}), 'Sí', 'No')}} - el parámetro incluye la fecha 28.04.2016. Resultado - , ya que es un día laboral.
isWorkTime Es la misma función que isWorkDay, pero para los tipos de datos Fecha/Hora.

Sintaxis: =if(isWorkTime([fecha y hora]), [mensaje si la fecha y hora es un día laboral], [mensaje si la fecha y hora no es un día laboral]).

Ejemplo:{{=if(isWorkTime({=Template:Parameter1}), 'Sí', 'No')}} - el parámetro incñuye la fecha y la hora 27.04.2016 15:00:00.

Resultado - , ya que es la hora laboral.

toUserDate La función convierte cualquier hora a la hora del empleado (teniendo en cuenta su zona horaria).

toUserDate(user,date=now)

Parámetros:
  • user - usuario, a cuyo tiempo es necesario llevar el tiempo del proceso de negocio.
  • date - fecha inicial, por defecto es la hora actual.

GetUserDateOffset La función devuelve el valor del desplazamiento de la zona horaria del usuario en segundos (en relación con la hora del servidor).

GetUserDateOffset(user)

Parámetro:
  • user - el usuario para cuyo tiempo se necesita el valor.
if Operador condicional.

Sintaxis: =if([condición],[resultado_ si_es_verdadero],[resultado_si_es_falso])

Ejemplo: =if ({=Variable:Variable1_printable}>0, "sí", "no")

Al comparar los valores de las variables, también es posible comparar variables con diferentes tipos de datos. Sin embargo, las variables que se comparan deben coincidir con la tabla de conversión de tipos (puede encontrarla en este artículo).

intval Devuelve el valor entero de una variable.
Ejemplo:=intval("234j4hv5jhv43v53jk4vt5hj4") devuelve 234
floatval Devuelve el valor flotante de una variable.
numberformat Formatea un número con los millares agrupados.
min Devuelve el valor mínimo.
max Devuelve el valor máximo.
rand Genera un número aleatorio.

Sintaxis: =rand([valor mínimo],[valor máximo]).

Solo se requiere el valor mínimo. Si no quiere limitar el valor máximo, puede omitir el segundo parámetro, por ejemplo =rand(17).

Ejemplo: =rand(0,10) - elegir un número de 0 a 10.

round Redondea el número.

Sintaxis: =round([número que quiere redondear],[número de símbolos después de la coma])

Ejemplos:

  • =round(10/3,2) - devuelve 3.33.
  • =round(5/2) - devuelve 3.

ceil Redondea fracciones hacia arriba.
Ejemplo: =ceil(5.5) devuelve 6.
floor Redondea fracciones hacia abajo.
Ejemplo: =floor(5.5) devuelve 5.
substr Devuelve parte de cadena de longitud especificada que comienza con el carácter especificado. Esta función es similar a la existente en PHP, puede leer más en detalle aquí.

Sintaxis: substr([cadena de entrada], [con qué carácter de la línea de origen comenzará la cadena devuelta], [longitud de la cadena devuelta])

Tenga en cuenta que la cadena comienza con el carácter número 0. Por ejemplo, en la cadena 'abcdef', en la posición 0 está el carácter 'a', en la posición 2 está el carácter 'c', y etc.

Ejemplo: {{=substr("0123456789", 3, 4)}} devuelve 3456.

¡Atención! Si la sintaxis de la expresión es incorrecta, se mostrará como texto.

strpos Devuelve la posición de la primera ocurrencia de una subcadena en una cadena.
strlen Devuelve la longitud de una cadena.
implode Une elementos de un array en una cadena. Resulta útil cuando necesita mostrar los valores de múltiples variables en el texto con un separador no estándar (el estándar es solo una coma). La misma función que implode en PHP. Devuelve una cadena que contiene la representación de cadena de todos los elementos de la matriz en el orden especificado, con el valor glue entre cada elemento.
implode(glue,pieces) 

Parámetros:

  • glue - por defecto es una cadena vacía;
  • pieces - el array de cadenas a ser usadas por implode.
explode La función divide una cadena en varias cadenas con un separador. Resulta úti cuando necesita dividir una cadena y asignar partes como un valor a una variable múltiple. La misma función que explode en PHP. Devuelve un array de cadenas, formado por la división de la cadena str realizada por el delimitador delimiter especificado como separador.
explode( delimiter, str)

Parámetros:

  • delimiter - separador
  • str - cadena para división.
randstring Devuelve una cadena aleatoria.
merge Permite combinar arrays.

Sintaxis: = merge({=array_1}, {=array_2});

Ejemplo: = merge({=Document:FILES}, {=Variable:file}).
urlencode Codifica como URL una cadena.
strtolower Convierte una cadena a minúsculas.
strtoupper Convierte una cadena a mayúsculas.
ucwords Convierte a mayúsculas el primer carácter de cada palabra de una cadena.
firstvalue Devuelve el primer valor de un campo múltiple.
swirl Mueve el primer valor de un campo múltiple al final. Se proporciona un campo múltiple a la entrada, en la salida obtenemos los valores desplazados un paso hacia la izquierda, es decir, el primer valor llegó al final. El cambio es siempre un paso.
shuffle Mezcla un array. La misma función que shuffle en PHP. La entrada es un campo múltiple, la salida son los valores mixtos de este campo múltiple.
Ejemplo

Consideremos las funciones shuffle, firstvalue y swirl en el ejemplo de un proceso de negocio. Con este proceso de negocio, puede establecer una tarea para un empleado aleatorio de la lista y agregar otro usuario como participante.

El proceso de negocio utiliza la variable múltiple Usuarios que almacena la lista de empleados..

Primero mezclemos la lista de usuarios utilizando la función shuffle y tomemos el primer usuario utilizando la función firstvalue, éste será la persona responsable.

Luego movamos la lista utilizando la función swirl y tomemos el primer usuario utilizando la función firstvalue, éste será el participante de la tarea.

Luego completemos los parámetros de la tarea.

Una vez lanzado el proceso de negocio, se agregarán empleados aleatorios a la tarea como persona responsable y participante.


¿Le ha resultado útil esta información?
Asistencia de especialistas en integración
No es lo que estoy buscando
Texto complicado e incomprensible
La información está desactualizada
La explicación es demasiado corta. Necesito más información
No me gusta cómo funciona esta herramienta
Ir a Bitrix24
¿No tiene una cuenta? Créela gratis