Llame gratis 900 822 878|info@enelia.com

12.02.- AOW; Funciones y parámetros para Workflows en SuiteCRM


Funciones y Parmámetros para los Advanced Open Workflow (AOW / Workflows) de SugarCRM y SuiteCRM

El módulo Advanced Open WorkFlow (o AOW, o Workflows a secas), es uno de los módulos más avanzados y potentes que se encuentran disponibles tanto en SugarCRM como en SuiteCM. Debido a esto, dedicamos esta sección especial a analizar en detalle cada una de las funciones que se pueden utilizar en este módulo, mostrando las mismas, con explicaciones de su funcionamiento y ejemplos.

El nombre de la función para los Workflows se ha mantenido en inglés, por la obvia cuestión que es la única forma en que nuestro CRM lo entenderá. No obstante, los nombres de los parámetros, si que han sido traducidos, para una mejor comprensión del funcionamiento. En general, todas las funciones en los workflows se llaman de la misma manera: nombre_función{parámetro1; parámetro2; parámetro3}, es decir, entre llaves {} se indican los parámetros, y se separa cada parámetro con punto y coma.

Las funciones existentes para los Workflows están divididas en seis grupos, los cuales, detallamos a continuación:

Leer: Funciones Lógicas en Workflows de SugarCRM y SuiteCRM

Ver las funciones de texto en Workflows de SugarCRM / SuiteCRM

Funciones matemáticas para Workflows de SugarCRM / SuiteCRM

Formatos y funciones para fechas en Workflows de SugarCRM / SuiteCRM

Funciones de control en Workflows de SugarCRM y SuiteCRM

Contadores para WorkFlows en SugarCRM y SuiteCRM

 

Funciones Lógicas en Workflows de SugarCRM y SuiteCRM

Las funciones lógicas de los Workflows del CRM devuelven verdadero o falso en forma de 1 y 0, por lo que las casillas de verificación pueden rellenarse con estas funciones. También se pueden usar su resultado como la condición lógica para la función ifThenElse, la cual se encuentra explicada en una sección posterior.

 

equal

Formato {equal(parámetro1; parámetro2)}
Parámetros parámetro1: puede ser cualquier valor de cualquier tipo.
parámetro2: puede ser cualquier valor de cualquier tipo.
Descripción Determina si el parámetro1 es igual al parámetro2.
Devuelve 1 si los dos parámetros son iguales o 0 en caso contrario.
Ejemplo {equal(1;2)}
devuelve 0.

 

notEqual

Formato {notEqual(parámetro1; parámetro2)}
Parámetros parámetro1: puede ser cualquier valor de cualquier tipo.
parámetro2: puede ser cualquier valor de cualquier tipo.
Descripción Determina si el parámetro1 es diferente del parámetro2.
Devuelve 0 si los dos parámetros son iguales o 1 en caso contrario.
Ejemplo {notEqual(1;2)}
devuelve 1.

 

greatherThan

Formato {greatherThan(parámetro1; parámetro2)}
Parámetros parámetro1: puede ser cualquier valor de cualquier tipo.
parámetro2: puede ser cualquier valor de cualquier tipo.
Descripción Determina si el parámetro1 es mayor que el parámetro2.
Devuelve 1 si el parámetro1 es mayor que el parámetro2, 0 en caso contrario.
Ejemplo {greatherThan(3;3)}
devuelve 0.

 

greatherThanOrEqual

Formato {greatherThanOrEqual(parámetro1; parámetro2)}
Parámetros parámetro1: puede ser cualquier valor de cualquier tipo.
parámetro2: puede ser cualquier valor de cualquier tipo.
Descripción Determina si el parámetro1 es mayor o igual que el parámetro2.
Devuelve 1 si el parámetro1 es mayor o igual que el parámetro2, 0 en caso contrario.
Ejemplo {greatherThanOrEqual(3;3)}
devuelve 1.

 

lessThan

Formato {lessThan(parámetro1; parámetro2)}
Parámetros parámetro1: puede ser cualquier valor de cualquier tipo.
parámetro2: puede ser cualquier valor de cualquier tipo.
Descripción Determina si el parámetro1 es menor que el parámetro2.
Devuelve 1 si el parámetro1 es menor que el parámetro2, 0 en caso contrario.
Ejemplo {lessThan(3;3)}
devuelve 0.

 

lessThanOrEqual

Formato {lessThanOrEqual(parámetro1; parámetro2)}
Parámetros parámetro1: puede ser cualquier valor de cualquier tipo.
parámetro2: puede ser cualquier valor de cualquier tipo.
Descripción Determina si el parámetro1 es menor o igual que el parámetro2.
Devuelve 1 si el parámetro1 es menor o igual que el parámetro2, 0 en caso contrario.
Ejemplo {lessThanOrEqual(3;3)}
devuelve 0.

 

empty

Formato {empty(parámetro)}
Parámetros parámetro: tipo texto.
Descripción Determina si el parámetro es vacio.
Devuelve 1 si el parámetro es vacio, 0 en caso contrario.
Ejemplo {empty(cualquier texto)}
devuelve 0.

 

notEmpty

Formato {notEmpty(parámetro)}
Parámetros parámetro: tipo texto.
Descripción Determina si el parámetro no es vacio.
Devuelve 1 si el parámetro no es vacio, 0 en caso contrario.
Ejemplo {notEmpty(cualquier texto)}
devuelve 1.

 

not

Formato {not(parámetro)}
Parámetros parámetro: valor lógico
Descripción Niega el valor lógico del parámetro
Devuelve 1 si el parámetro es 0, 0 si el parámetro es 1
Ejemplo {not(0)}
devuelve 1

 

and

Formato {and(parámetro1; parámetro2)}
Parámetros parámetro1: valor lógico.
parámetro2: valor lógico.
Descripción Aplica el operador lógico AND a ambos parámetros lógicos.
Devuelve 1 si el parámetro1 y el parámetro2 es 1, 0 si cualquiera de los parámetros es 0
Ejemplo {and(1;0)}
devuelve 0.

 

or

Formato {or(parámetro1; parámetro2)}
Parámetros parámetro1: valor lógico.
parámetro2: valor lógico.
Descripción Aplica el operador lógico OP a ambos parámetros lógicos.
Devuelve 1 si el parámetro1 o el parámetro2 es 1, 0 si ambos parámetros es 0.
Ejemplo {or(1;0)}
devuelve 1.

 

Funciones de texto en Workflows de SugarCRM / SuiteCRM

Las funciones de texto son utilizadas en los Workflows para manipular texto de varias maneras de forma automatizada.

Todas las funciones de los Workflows de SugarCRM o SuiteCRM son totalmente compatibles con textos UTF-8, por lo que los caracteres especiales no deberían suponer ningún problema a la hora de trabajar con ellos, ni a nivel de los propios CRM (SugarCRM y SiteCRM trabajan nativamente en UTF-8), ni para importaciones / exportaciones, ni mucho menos, como es obvio, para automatizaciones / Workflows.

 

substring

Formato {substring(texto; inicio; longitud)}
Parámetros texto: valor de texto.
inicio: valor decimal.
longitud (valor opcional): valor decimal.
Descripción Corta la cadena dada a partir de “inicio”.
Si la longitud opcional no está definida, se cortarán todos los caracteres hasta el final de la cadena, en caso contrario corta la longitud indicada.
Devuelve Corta la subcadena del texto dado.
Ejemplo {substring(Este es mi texto;5)}
Devuelve: es mi texto.
{substring(Este es mi texto;5;5)}
Devuelve: es mi.

 

length

Formato {length(parámetro)}
Parámetros parámetro: valor de texto.
Descripción Cuenta los caracteres en un texto.
Devuelve La cuenta de caracteres en un texto.
Ejemplo {length(texto de ejemplo)}
devuelve 16.

 

replace

Formato {replace(busqueda; reemplazo; texto)}
Parámetros busqueda: valor de texto.
reemplazo: valor de texto.
texto: valor de texto.
Descripción Reemplaza todas las ocurrencias de “busqueda” por “reemplazo” en el texto dado en “texto”.
Devuelve El texto dado con los valores reemplazados
Ejemplo {replace(manzano; naranjo; Esto es un manzano)}
Devuelve: Esto es un naranjo.

 

position

Formato {position(texto; busqueda)}
Parámetros texto: valor de texto.
busqueda: valor de texto.
Descripción Encuentra la posición de la primera occurrencia de “busqueda” en “texto”.
Devuelve La posición numérica de “busqueda” en “texto” o -1 si “busqueda” no está presente en “texto”.
Ejemplo {position(¿Dónde está mi texto?; texto)}
Devuelve: 15.

 

lowercase

Formato {lowercase(parámetro)}
Parámetros parámetro: valor de texto.
Descripción Convierte el texto a minúsculas.
Devuelve El texto dado, en minúsculas.
Ejemplo {lowercase(TExTo de eJemPlO)}
devuelve texto de ejemplo.

 

uppercase

Formato {uppercase(parámetro)}
Parámetros parámetro: valor de texto.
Descripción Convierte el texto a mayúsculas.
Devuelve El texto dado, en mayúsculas.
Ejemplo {uppercase(TExTo de eJemPlO)}
devuelve TEXTO DE EJEMPLO.

 

Funciones matemáticas para Workflows de SugarCRM / SuiteCRM

Las funciones matemáticas se usan para manipular números de varias maneras en los Workflows. Varios operadores matemáticos se implementan como funciones en “Calculate Fields” (Campos calculados) para de esta forma poder operar matemáticamente en un Workflow sin necesidad de trabajar directamente con operandos.

En los ejemplos, se asume que la configuración de SugarCRM / SuiteCRM establece el valor de separador decimal en la coma (,), ya que este es el separador estándar en Castellano.

 

add

Formato {add(parámetro1; parámetro2)}
Parámetros parámetro1: valor numérico.
parámetro2: valor numérico.
Descripción Suma parámetro1 y parámetro2.
Devuelve La suma de ambos parámetros.
Ejemplo {add(3,12; 4,83)}
Devuelve: 7,95.

 

subtract

Formato {subtract(parámetro1; parámetro2)}
Parámetros parámetro1: valor numérico.
parámetro2: valor numérico.
Descripción Resta parámetro2 de parámetro1.
Devuelve La resta de ambos parámetros.
Ejemplo {subtract(8; 3)}
Devuelve: 5.

 

multiply

Formato {multiply(parámetro1; parámetro2)}
Parámetros parámetro1: valor numérico.
parámetro2: valor numérico.
Descripción Multiplica parámetro1 y parámetro2.
Devuelve La multiplicación de ambos parámetros.
Ejemplo {multiply(2; 4)}
Devuelve: 8.

 

divide

Formato {divide(parámetro1; parámetro2)}
Parámetros parámetro1: valor numérico.
parámetro2: valor numérico.
Descripción Divide parámetro2 por parámetro1.
Devuelve La división de ambos parámetros.
Ejemplo {divide(8; 2)}
Devuelve: 4.

 

power

Formato {power(parámetro1; parámetro2)}
Parámetros parámetro1: valor numérico.
parámetro2: valor numérico.
Descripción Eleva parámetro1 a la potencia parámetro2.
Devuelve Parámetro1 elevado a parámetro2.
Ejemplo {power(2; 7)}
Devuelve: 128.

 

squareRoot

Formato {squareRoot(parámetro)}
Parámetros parámetro: valor numérico.
Descripción Calcula la raiz cuadrada de parámetro.
Devuelve La raiz cuadrada de parámetro.
Ejemplo {squareRoot(4)}
Devuelve: 2.

 

absolute

Formato {absolute(parámetro)}
Parámetros parámetro: valor numérico.
Descripción Calcula el valor absoluto de parámetro.
Devuelve El valor absoluto de parámetro.
Ejemplo {absolute(-4)}
Devuelve: 4.

 

Funciones de fecha en Workflows de SugarCRM / SuiteCRM

Hay varias funciones para el manejo de fechas / horas / fecha y hora implementadas en los “Calculate Fields” (Campos calculados) de los Workflows en SugarCRM y SuiteCRM, por lo que el usuario puede manipular las fechas de muchas maneras.

No obstante, por facilidad y para mantener una convención, todas las funciones / Workflows que utilizan un parámetro de formato como los propios SugarCRM y SuiteCRM, para establecer el formato del resultado o la forma en que se mostrará una información, se basan en las opciones de formato del lenguaje PHP, las cuales son ámpliamente conocidas. Por ello, las opciones para estos formatos son los mismos que los parámetros de formato de PHP, los cuales no obstante, aquí detallamos:

Parámetros de formato de fecha para PHP, Configuración, funciones y Workflows de SugarCRM y SuiteCRM

Carácter de formato Descripción Ejemplo de valor devuelto

Para días

d Día del mes, 2 dígitos con ceros 01 a 31
D Representación textual del día de la semana, con tres letras Lun a Dom
j Día del mes, sin ceros 1 a 31
l Representación textual del día de la semana Lunes a Domingo
N Representación numérica ISO-8601 del día de la semana 1 (para Lunes) a 7 (para Domingo)
S Sufijo ordinal inglés para el día del més, 2 carácteres st, nd, rd o th. Funciona bien con el parámetro j
w Representación numérica del día de la semana 0 (para Domingo) a 6 (para Sábado)
z Día del año (empezando desde 0) de 0 a 365

Para semanas

W Número de semana del año según estandar ISO-8601, semanas iniciadas en Lunes 42 (La semana 42 del año)

Para meses

F Representación textual completa del mes Enero a Diciembre
m Representación numérica del mes con ceros 01 a 12
M Representación textual corta del mes, con tres letras Ene a Dic
n Representación numérica del mes, sin ceros 1 a 12
t Número de días en el mes indicado 28 a 31

Para años

L Indica si el año es bisiesto 1 en caso de año bisiesto, 0 en otros casos
o Número de año según estandar ISO-8601. Es el mismo valor que Y, excepto que si el número de semana ISO (W) corresponde al año anterior o siguiente, dicho año es usado en su lugar 1999 o 2003
Y Representación numérica completa del año, 4 dígitos 1999 o 2003
y Representación numérica de dos dígitos del año 99 o 03

Para tiempo

a antes del mediodía y después del mediodía en minúsculas am o pm
A antes del mediodía y después del mediodía en mayusculas AM o PM
B Hora Internet Swatch (Formato que divide el día en 1000 partes en lugar de h/m/s) (más información: https://es.wikipedia.org/wiki/Hora_Internet/) 000 a 999
g Hora en formato 12-horas sin ceros 1 a 12
G Hora en formato 24-horas sin ceros 0 a 23
h Hora en formato 12-horas con ceros 01 a 12
H Hora en formato 24-horas con ceros 00 a 23
i Minutos con ceros 00 a 59
s Segundos con ceros 00 a 59

Para zona horaria

e Identificador de zona horaria UTC, GMT, CET, Europe/Madrid
l Daylight Saving Time (DST, Horario de verano) 1 si es DST, 0 en otro caso
O Diferencia con la hora de Greenwich (GMT) en horas +0200
P Diferencia con la hora de Greenwich (GMT) separando horas y minutos +02:00
T Abreviatura de la zona horaria EST, MDT, CET
Z Diferencia en segundos de la zona horaria. La diferencia para zonas al oeste del UTC siempre es negativa, al este positiva. -43200 a 50400

Para fecha/hora completa

c Fecha en formato ISO-8601 2004-02-12T15:19:21+00:00
r Fecha en formato RFC 2822 Jue, 21 Dic 2000 16:01:07 +0200
U Segundos desde el Timestamp Oficial Unix (Unix Epoch) (1 de Enero de 1970 00:00:00 GMT) 1076599161 (Ejemplo para 2004-02-12T15:19:21+00:00)

 

Para todas las funciones sin timestamp indicado (en las que se asume la fecha actual), suponemos que la fecha / hora actual es 2016.04.29. 15:08:03.

Entendemos por timestamp una hora correctamente formateada, o en su defecto un Unix Timestamp.

 

date

Formato {date(formato; timestamp)}
Parámetros formato: texto del formato.
timestamp: valor de fecha/hora.
Descripción Crea una fecha en el formato indicado.
Devuelve La fecha indicada en el timestamp en el formato indicado.
Ejemplo {date(ymd; 2016-02-11)}
Devuelve: 160211.

 

now

Formato {now(formato)}
Parámetros formato: texto del formato.
Descripción Fecha actual en el formato indicado.
Devuelve La fecha actual en el formato indicado.
Ejemplo {now(Y-m-d H:i:s)}
Devuelve: 2016-04-29 15:08:03.

 

yesterday

Formato {yesterday(formato)}
Parámetros formato: texto del formato.
Descripción Fecha de ayer en el formato indicado.
Devuelve La fecha de ayer en el formato indicado.
Ejemplo {yesterday(Y-m-d H:i:s)}
Devuelve: 2016-04-28 15:08:03.

 

tomorrow

Formato {tomorrow(formato)}
Parámetros formato: texto del formato.
Descripción Fecha de mañana en el formato indicado.
Devuelve La fecha de mañana en el formato indicado.
Ejemplo {tomorrow(Y-m-d H:i:s)}
Devuelve: 2016-04-30 15:08:03.

 

datediff

Formato {datediff(timestamp1; timestamp2; unit)}
Parámetros timestamp1: valor de fecha/hora.
timestamp2: valor de fecha/hora.
unit: Años/meses/días/horas/minutos/segundos. Por defecto: días.
Descripción Resta timestamp2 de timestamp1.
Devuelve La diferencia entre ambas fechas devueltas en la unidad indicada.
Ejemplo {datediff(2016-02-01; 2016-04-22; days)}
Devuelve: 81.

 

addYears

Formato {addYears(formato; timestamp; cantidad)}
Parámetros formato: texto del formato.
timestamp: valor de fecha/hora.
cantidad: número en formato decimal.
Descripción Añade los años indicados a timestamp.
Devuelve Fecha resultante en formato indicado.
Ejemplo {addYears(Ymd; 2016-04-22; 1)}
Devuelve: 20170422.

 

addMonths

Formato {addMonths(formato; timestamp; cantidad)}
Parámetros formato: texto del formato.
timestamp: valor de fecha/hora.
cantidad: número en formato decimal.
Descripción Añade los meses indicados a timestamp.
Devuelve Fecha resultante en formato indicado.
Ejemplo {addMonths(Ymd; 2016-04-22; 1)}
Devuelve: 20160522.

 

addDays

Formato {addDays(formato; timestamp; cantidad)}
Parámetros formato: texto del formato.
timestamp: valor de fecha/hora.
cantidad: número en formato decimal.
Descripción Añade los días indicados a timestamp
Devuelve Fecha resultante en formato indicado.
Ejemplo {addDays(Ymd; 2016-04-22; 1)}
Devuelve: 20160423.

 

addHours

Formato {addHours(formato; timestamp; cantidad)}
Parámetros formato: texto del formato.
timestamp: valor de fecha/hora.
cantidad: número en formato decimal.
Descripción Añade las horas indicados a timestamp.
Devuelve Fecha resultante en formato indicado.
Ejemplo {addHours(Ymd H:i:s; 2016-04-22 23:30; 5)}
Devuelve: 20160423 04:30:00.

 

addMinutes

Formato {addMinutes(formato; timestamp; cantidad)}
Parámetros formato: texto del formato.
timestamp: valor de fecha/hora.
cantidad: número en formato decimal.
Descripción Añade los minutos indicados a timestamp.
Devuelve Fecha resultante en formato indicado.
Ejemplo {addMinutes(Ymd H:i:s; 2016-04-22 22:58; 5)}
Devuelve: 20160422 23:03:00.

 

addSeconds

Formato {addSeconds(formato; timestamp; cantidad)}
Parámetros formato: texto del formato.
timestamp: valor de fecha/hora.
cantidad: número en formato decimal.
Descripción Añade los segundos indicados a timestamp.
Devuelve Fecha resultante en formato indicado.
Ejemplo {addSeconds(Ymd H:i:s; 2016-04-22 22:58; 5)}
Devuelve: 20160422 22:58:05.

 

substractYears

Formato {substractYears(formato; timestamp; cantidad)}
Parámetros formato: texto del formato.
timestamp: valor de fecha/hora.
cantidad: número en formato decimal.
Descripción Resta los años indicados a timestamp.
Devuelve Fecha resultante en formato indicado.
Ejemplo {substractYears(Ymd; 2016-04-22; 5)}
Devuelve: 20110422.

 

substractMonths

Formato {substractMonths(formato; timestamp; cantidad)}
Parámetros formato: texto del formato.
timestamp: valor de fecha/hora.
cantidad: número en formato decimal.
Descripción Resta los meses indicados a timestamp.
Devuelve Fecha resultante en formato indicado.
Ejemplo {substractMonths(Ymd; 2016-04-22; 5)}
Devuelve: 20151122.

 

substractDays

Formato {substractDays(formato; timestamp; cantidad)}
Parámetros formato: texto del formato.
timestamp: valor de fecha/hora.
cantidad: número en formato decimal.
Descripción Resta los días indicados a timestamp.
Devuelve Fecha resultante en formato indicado.
Ejemplo {substractDays(Ymd; 2016-04-22; 5)}
Devuelve: 20160417.

 

substractHours

Formato {substractHours(formato; timestamp; cantidad)}
Parámetros formato: texto del formato.
timestamp: valor de fecha/hora.
cantidad: número en formato decimal.
Descripción Resta las horas indicados a timestamp.
Devuelve Fecha resultante en formato indicado.
Ejemplo {substractHours(Ymd H:i:s; 2016-04-22 12:37; 5)}
Devuelve: 20160422 07:37:00.

 

substractMinutes

Formato {substractMinutes(formato; timestamp; cantidad)}
Parámetros formato: texto del formato.
timestamp: valor de fecha/hora.
cantidad: número en formato decimal.
Descripción Resta los minutos indicados a timestamp.
Devuelve Fecha resultante en formato indicado.
Ejemplo {substractMinutes(Ymd H:i:s; 2016-04-22 12:37; 5)}
Devuelve: 20160422 12:32:00.

 

substractSeconds

Formato {substractSeconds(formato; timestamp; cantidad)}
Parámetros formato: texto del formato.
timestamp: valor de fecha/hora.
cantidad: número en formato decimal.
Descripción Resta los segundos indicados a timestamp.
Devuelve Fecha resultante en formato indicado.
Ejemplo {substractSeconds(Ymd H:i:s; 2016-04-22 12:37; 5)}
Devuelve: 20160422 12:36:55.

 

Funciones de control en Workflows de SugarCRM y SuiteCRM

Únicamente hay una función de control implementada en “Calculate Fields” (Campos calculados) hasta el momento para los Workflows de SugarCRM y SuiteCRM, pero esta función garantiza que el usuario pueda escribir fórmulas muy complejas con condiciones. Dado que las funciones pueden integrarse entre sí, el usuario puede escribir uniones con muchas ramas.

Cualquier programador, entenderá esta función como la base de cualquier ramificación de la programación, siendo igualmente indispensable comprender su uso para el manejo de Workflows.

 

IfThenElse

Formato {IfThenElse(condicion; valorVerdadero; valorFalso)}
Parámetros condicion: valor lógico.
valorVerdadero: cualquier expresión.
valorFalso: cualquier expresión.
Descripción Selecciona una de las dos ramas dependiendo de la evaluación de la condición dada.
Devuelve valorVerdadero si la condicion es cierta, valorFalso en otro caso.
Ejemplo {ifThenElse({equal(1; 1)}; 1 es igual a 1; 1 no es igual a 1)}
Devuelve 1 es igual a 1.

 

Contadores para WorkFlows en SugarCRM y SuiteCRM

Hay varias funciones contadores implementadas en “Calculate Fields” (Campos calculados) que se pueden usar en varios escenarios para los WorkFlows de SugarCRM y SuiteCRM.

Estas funciones para los Workflows se encuentran ordenados en dos grupos:

Contadores globales: contadores que se incrementan cada vez que se evalúa una fórmula afectada.
Contadores diarios: contadores que se restablece todos los días. (Comienzan a contar partir de 1).

En este apartado supondremos que el valor actual de los contadores es 4, por lo que el valor incrementado será 5 con el formato dado.

 

GlobalCounter

Formato {GlobalCounter(nombre; longitud)}
Parámetros nombre: cualquier texto.
longitud: número decimal.
Descripción Incrementa y devuelve el contador de “nombre” con la longitud “longitud”.
Devuelve Contador con la longitud indicada.
Ejemplo {GlobalCounter(miNombre; 4)}
Devuelve 0005.

 

GlobalCounterPerUser

Formato {GlobalCounterPerUser(nombre; longitud)}
Parámetros nombre: cualquier texto.
longitud: número decimal.
Descripción Incrementa y devuelve el contador de “nombre” para el usuario que lo crea con la longitud “longitud”.
Devuelve Contador con la longitud indicada.
Ejemplo {GlobalCounterPerUser(miNombre; 3)}
Devuelve 005.

 

GlobalCounterPerModule

Formato {GlobalCounterPerModule(nombre; longitud)}
Parámetros nombre: cualquier texto.
longitud: número decimal.
Descripción Incrementa y devuelve el contador de “nombre” para el módulo de la entidad con la longitud “longitud”.
Devuelve Contador con la longitud indicada.
Ejemplo {GlobalCounterPerModule(miNombre; 2)}
Devuelve 05.

 

GlobalCounterPerUserPerModule

Formato {GlobalCounterPerUserPerModule(nombre; longitud)}
Parámetros nombre: cualquier texto.
longitud: número decimal.
Descripción Incrementa y devuelve el contador de “nombre” para el usuario que crea y el módulo de la entidad con la longitud “longitud”.
Devuelve Contador con la longitud indicada.
Ejemplo {GlobalCounterPerUserPerModule(miNombre; 1)}
Devuelve 5.

 

DailyCounter

Formato {DailyCounter(nombre; longitud)}
Parámetros nombre: cualquier texto.
longitud: número decimal.
Descripción Incrementa y devuelve el contador de “nombre” con la longitud “longitud”.
Devuelve Contador con la longitud indicada, o si el contador no se incrementó en el día entonces 1 con la longitud indicada.
Ejemplo {DailyCounter(miNombre; 1)}
Devuelve 5.

 

DailyCounterPerUser

Formato {DailyCounterPerUser(nombre; longitud)}
Parámetros nombre: cualquier texto.
longitud: número decimal.
Descripción Incrementa y devuelve el contador de “nombre” para el usuario que lo crea con la longitud “longitud”.
Devuelve Contador con la longitud indicada, o si el contador no se incrementó en el día entonces 1 con la longitud indicada.
Ejemplo {DailyCounterPerUser(miNombre; 2)}
Devuelve 05.

 

DailyCounterPerModule

Formato {DailyCounterPerModule(nombre; longitud)}
Parámetros nombre: cualquier texto.
longitud: número decimal.
Descripción Incrementa y devuelve el contador de “nombre” para el módulo de la entidad con la longitud “longitud”.
Devuelve Contador con la longitud indicada, o si el contador no se incrementó en el día entonces 1 con la longitud indicada.
Ejemplo {DailyCounterPerModule(miNombre; 2)}
Devuelve 05.

 

DailyCounterPerUserPerModule

Formato {DailyCounterPerUserPerModule(nombre; longitud)}
Parámetros nombre: cualquier texto.
longitud: número decimal.
Descripción Incrementa y devuelve el contador de “nombre” para el usuario que crea y el módulo de la entidad con la longitud “longitud”.
Devuelve Contador con la longitud indicada, o si el contador no se incrementó en el día entonces 1 con la longitud indicada.
Ejemplo {DailyCounterPerUserPerModule(miNombre; 1)}
Devuelve 5.

 

Para terminar…

En definitiva, esto es todo. Es un detalle bastante extenso sobre las diferentes funciones que ofrecen los WorkFlows de SugarCRM y SuiteCRM. No obstante, si tienes cualquier duda, ¡No dudes en contactar con nosotros haciendo click aquí! Somos especialistas en SuiteCRM, pero en general, te podemos ayudar y asesorar con los problemas que tengas en general con SugarCRM, SuiteCRM, o cualquiera de los módulos de estos, incluyendo aunque no siendo sólo este, por supuesto, los Workflows.

(189)


By | 2018-03-11T09:24:07+00:00 noviembre 13th, 2017|Manuales, Modulos avanzados, Suite CRM|0 Comments

About the Author:

Técnico informático / Programador / Friki de la web. Simplemente me ha gustado demasiado documentarme de las cosas, lo que al final me lleva a estudiar o informarme sobre temas totalmente dispares. Y, al final, como todo eso hay que dejarlo en algún lado, ese lugar es aquí. Lo siento si los posts en sí son un poco peñazos, pero espero que al menos sus contenidos puedan ser útiles para alguien.

Leave A Comment

O