Lista de fórmulas para checklist y cuestionarios

Lista de fórmulas para checklist y cuestionarios

Lista de Fórmulas 

1.- CAMPO('NOMBRE_DE_CAMPO');
Le pasamos el nombre del campo
Nos regresa el valor del campo como string o cadena
Ejemplo
CAMPO('MOTIVO_GASTOS')
Resultado: 'VIAJE'

2-VALOR('CONCEPTO')
Le pasamos el nombre del campo
Nos regresa el valor del campo como número
Ejemplo
VALOR('CANTIDAD_ITEMS')
Resultado: 5
 


2 A - BUSCARV("CANDIDATOS","NOMBRE_DEL_CANDIDATO",'XCELL("ESTATUS_CANDIDATO") = "Solicitud de contratación"')


BUSCARV = function(pregunta_clavecampocriteria)
* Buscar registros de una tabla acorde a un criterio, te trae el campo del registro(s) encontrado(s)
 * @param {string} pregunta_clave nombre de la tabla definido como pregunta clave
 * @param {string} campo nombre del campo de la tabla que vamos a obtener
 * @param {string} criteria condición que se cumple para tomar en cuenta esa fila para la suma
 * @return {string} valores encontrados separados por coma
 * @example BUSCARV("CANDIDATOS","NOMBRE_DEL_CANDIDATO",'XCELL("ESTATUS_CANDIDATO") = "Solicitud de contratación"')
 * @example2 formulaBuild.parser.parse("BUSCARV(\"CANDIDATOS\",\"NOMBRE_DEL_CANDIDATO\",'XCELL(\"ESTATUS_CANDIDATO\") = \"Solicitud de contratación\"')")
 */

3-IF (logical_test, value_if_true, value_if_false)

Especifica una prueba lógica que realizar.

Logical test  - un valor o expresión lógica que se puede evaluar como VERDADERO o FALSO.

value_if_true  - El valor que se devolverá cuando prueba lógica se evalúe como VERDADERO.

value_if_false  - El valor que se devuelve cuando prueba lógica se evalúa como FALSO. 

Ejemplo:

IF(1 > 3, 'uno es mayor', 'uno es menor')  Regresa: uno es menor

IF(CAMPO(MOTIVO_GASTOS) = 'NINGUNO', 'El campo motivo se tiene q especificar', 'Gracias x decir el motivo') Regresa: 'Gracias x decir el motivo' 

4-AND, OR, XOR, NOT
AND
>> Devuelve VERDADERO si todos los argumentos se evalúan como VERDADERO.
AND(21>18,21<100) --- TRUE

4.1-OR
Devuelve VERDADERO si algún argumento se evalúa como VERDADERO.
OR(21<18,21<100) --- TRUE

4.2-XOR
Para dos declaraciones lógicas dadas, la función XOR devolvería VERDADERO si una de las declaraciones es verdadera y FALSO si ambas declaraciones son verdaderas. Si ninguna de las afirmaciones es verdadera, también devuelve FALSE.
XOR(18>10, 18>100 --- TRUE

En caso de más de dos declaraciones lógicas, la función devolverá:
VERDADERO: cuando un número impar de argumentos se evalúa como VERDADERO;
FALSO: cuando todas las declaraciones son falsas o cuando el número total de declaraciones VERDADERAS es par.

4.3-NOT
>> Devuelve el valor lógico invertido de su argumento. Es decir. Si el argumento es FALSO, se devuelve TRUE y viceversa.
NOT(1>0) -- FALSE
 


5-DIFFDIAS(FECHA_INICIO, FECHA_FIN_VIAJE)
Te regresa diferencia en días, si no se pasa el segundo parámetros, se asume que el segundo parámetro es el día de hoy
Ejemplo:
DIFFDIAS(CAMPO('FECHA_INICIO_VIAJE'), CAMPO('FECHA_FIN_VIAJE'))
Resultado: 20

Ejemplo 2:

DIFFDIAS(CAMPO('FECHA_APLICA_EVENTO'))

Resultado: 5

DIFFDIAS(CAMPO('FECHA_APLICA_EVENTO'),HOY('YYYY-MM-DD HH:mm:ss') )

Resultado: 5 //Este es equivalente al ejemplo de arriba

 5-A- DIFFDIASLABORALES(fecha_inicio, fecha_fin)  

>> Diferencia entre 2 fechas quitando fines de semana y días festivos
Ejemplo:
DIFFDIASLABORALES(CAMPO('FECHA_INGRESO'),CAMPO('FECHA_FIN_ASIGNACION_PROYECTO'))
5-B-DATEADD(fecha_inicio, num_dias)  
>> Agrega días a una fecha
Ejemplo:
DATEADD('2021-06-02', 10)
DATEADD(CAMPO('FECHA_INGRESO'),10)

5-C DATEADD2('2022-04-01',1,'month')

por ejemplo al 1 de Abril si le sumamos un mes, sería 1 de Mayo
1 de Mayo es domingo, por lo tanto me debe de dar 2 de mayo que es Lunes



5-D-DATEADDLABORALES(fecha_inicio, num_dias)  
>> Agrega días a una fecha, brincándose los días no laborables como fines de semana
Ejemplo:
DATEADDLABORALES('2021-06-02', 10)
DATEADDLABORALES(CAMPO('FECHA_INGRESO'),10)

6-DIFFHORAS(CAMPO('FECHA_INICIO_VIAJE'), CAMPO('FECHA_FIN_VIAJE'))
Te regresa diferencia en horas
Ejemplo
DIFFHORAS(CAMPO('FECHA_INICIO_VIAJE'), CAMPO('FECHA_FIN_VIAJE'))
DIFFHORAS(CAMPO('FECHA_INICIO_VIAJE'), '2020-12-22')
Resultado: 20

Ejemplo:

DIFFHORAS(CAMPO('FECHA_APLICA_EVENTO'),HOY('YYYY-MM-DD HH:mm:ss') )

7-ASHOURS(NOMBRE_CAMPO)
>> Te regresa en valor númerico la hora, es decir, si en el campo hora está el valor 10:30am, te regresa 10.5  
Ejemplo:
ASHOURS('HORA_CAPTURA')Resultado: 10.5
 

8- HOY('YYYY-MM-DD HH:mm:ss')        

>> Obtiene la fecha del día de hoy

regresa 2020-09-11 16:15:00 


9-HOY('HH')       

regresa 16  


10-SETCONTENT(NOMBRE_CAMPO, CONTENIDO)

>> Agrega contenido al campo especificado, ayuda mucho para mensajes dinámicos en ciertas partes del formulario 

Ejemplo:

SETCONTENT('MOTIVO_GASTOS','El monto es muuuy alto')

Ejemplo con condiciones:

(Si el horario es mayor a 12, pone un mensaje en el campo TIPO_HORARIO_TXT si es tarde o temprano)

  SETCONTENT('TIPO_HORARIO_TXT', IF(ASHOURS('SELECCIONAR_HORA') > 12,'TARDE','TEMPRANO'));  


11-HIDEIF(CONDICION, NOMBRE_CAMPO)

Oculta un campo si la condición se da 

Ejemplo (Si el campo motivo_gastos es igual a ninguno, se esconde el campo FECHA_APLICA_EVENTO

HIDEIF(CAMPO('MOTIVO_GASTOS') = 'NINGUNO','FECHA_APLICA_EVENTO') 


12-SHOWIF(CONDICION, NOMBRE_CAMPO)

Muestra un campo si la condición se da 

Ejemplo (Si el campo motivo_gastos es igual a ninguno, muestra el campo FECHA_APLICA_EVENTO

SHOWIF(CAMPO('MOTIVO_GASTOS') = 'NINGUNO','FECHA_APLICA_EVENTO') 


12-A-SHOWMIF(FALSE,'CECO,CLIENTE')
Muestra múltiples preguntas bajo una condición dada.

13-READONLYIF(TRUE o FALSE, 'NOMBRE_CAMPO')

Establece un campo como 'solo lectura en caso de que el primer parámetro sea TRUE,  si es FALSE, quita el modo 'solo lectura' 

Ejemplo:READONLYIF(TRUE, 'QR_O_CODIGO_BARRAS')

Resultado: Campo QR_O_CODIGO_BARRAS en modo solo lectura

Ejemplo 2:READONLYIF(FALSE, 'QR_O_CODIGO_BARRAS')Resultado: Campo Qr sin modo solo lectura 



13-A- READONLY
Establece un campo como solo lectura

13-B - READONLYFIELDS('CAMPO1','CAMPO2','CAMPO3')
>> Pone las preguntas en modo READONLY

14.-'MAESTRO'(NOMBRE_CAMPO,Propiedad)

>> Obtiene el valor o propiedad de un campo tipo maestro, es decir, si tenemos un campo maestro de productos podemos buscar las propiedades como precio o imagen 

Para maestro de productos, las propiedades pueden ser: clave, descripción, empresa, foto, idval, inventariable, preciounitario, productoservicioid, titulo, txtval, url, modelo, tecnología 

Para maestro de usuarios, las propiedades pueden ser: nombre completo, nombre usuario, titulorol, puestoid, rolid, txtval, usuarioid,idval 

Para maestro de ubicaciones, las propiedades pueden ser: codigodestino, titulo, latitude, longitude, telefono, direccion, estatus, ventapromediotienda, destinoid 

Ejemplo:

MAESTRO('SELECCIONAR_PRODUCTO_CATALOGO_MAESTRO','descripción')

MAESTRO('SELECCIONAR_PRODUCTO_CATALOGO_MAESTRO',' preciounitario') 


15.-SUMATABLA('NOMBRE_CAMPO_TABLA','NOMBRE_CAMPO_DENTRO_DE_TABLA')

>> Obtiene la suma de cierto campo dentro de un campo tipo sección o tabla, es decir, nos va a servir si tengo por ejemplo un campo tipo sección que se llama DESGLOSE_GASTOS y queremos sumar el monto de todos los gastos agregados en esa sección o tabla 

Ejemplo:

SUMATABLA('DESGLOSE_GASTOS','TOTAL_GENERAL')

Resultado: 100 


16.-SUMATABLAIF(pregunta_clave, campo, criteria)

>> Realiza la suma condicional de una tabla, es decir la suma de los registros de la tabla -pregunta_clave- de su campo -campo- con el criterio 

pregunta_clave - nombre de la tabla definido como pregunta clave

campo - nombre del campo de la tabla que vamos a sumar

criteria - Condición que se cumple para tomar en cuenta esa fila para la suma

Ejemplo:

SUMATABLAIF('DESGLOSE_GASTOS','TOTAL_GENERAL','IF( XCELL("CLASIFICACION") <> "COMIDA", TRUE, FALSE)')

Ejemplo2:

SUMATABLAIF('DESGLOSE_GASTOS','TOTAL_GENERAL','IF(  AND(XCELL("CLASIFICACION") <> "TRANSPORTE", XCELL("CLASIFICACION") <> "COMIDA")    , TRUE, FALSE)') 


17.-CONTEOTABLA('NOMBRE_CAMPO_TABLA')

>> Obtiene el conteo de filas agregadas a un campo tipo sección o tabla 

Ejemplo:

CONTEOTABLA('DESGLOSE_GASTOS')

Resultado: 3 


18.-CUENTATABLAIF(pregunta_clave, campo, criteria)

pregunta_clave - nombre de la tabla definido como pregunta clave
campo nombre - del campo de la tabla que vamos a contar
criteria - Condición que se cumple para tomar en cuenta esa fila para el conteo
 

Ejemplo: 

CUENTATABLAIF('DESGLOSE_GASTOS','TOTAL_GENERAL','IF( XCELL("CLASIFICACION") <> "COMIDA", TRUE, FALSE)') 


19.-HIDEBUTTONSIF(CONDICION, SECCIONID),

HIDEBUTTONSIF(CONDICION)

>> Esconde los botones de navegación Anterior y Siguiente si cumple la condición, en caso de que tmb pasemos la Seccion Id se esconderá solo en esa sección, caso contrario en todas

Ejemplo 1: (si el motivo de gastos es NINGUNO, los botones se esconden)

HIDEBUTTONSIF(CAMPO('MOTIVO_GASTOS') = 'NINGUNO') 

Ejemplo 2: si el motivo de gastos es NINGUNO, los botones de la sección con id 69 se esconden, para ver q id tienen las secciones, ver combo de secciones en detalles del checklist)

HIDEBUTTONSIF(CAMPO('MOTIVO_GASTOS') = 'NINGUNO', 69)  


20.-CONCATENA(VALOR1, VALOR2, VALOR3)

>> Concatena la serie de valores que le pasemos a la función

Ejemplo:

CONCATENA('La cantidad es: ',CAMPO('MULTIPLICACION'))

Resultado: La cantidad es 80 


21.-ROUND(NUMER, DECIMALES)

Redondea un número al número de decimales especificado en el segundo argumento 

Ejemplo:

ROUND(1233.233, 2)

Ejemplo 2:

ROUND(VALOR('GRAN_TOTAL_TODO'),2) 


22.-FLOOR(NUMERO, MULTIPLO)

Redondea hacia abajo al múltiplo significativo especificado más cercano. 

Ejemplo:

FLOOR(11,2) ---- Regresa 10

FLOOR(11,3) ----- Regresa 3

FLOOR(11.222,1) --- Regresa 11

FLOOR(99.999) --- Regresa 99 


23.-ROUNDDOWN, ROUNDUP

(NUMERO, NUMERO_DIGITOS)

>> Redondea hacia abajo o hacia arriba acorde a los decimales especificados 


24.-SIGN(numero)

>> devuelve el signo de un número como +1, -1 o 0. Si el número es positivo, SIGN devuelve 1. Si el número es negativo, el signo devuelve -1. Si el número es cero, SIGN devuelve 0. 


25.-HTML2TEXT(texto)

Limpia el valor de una cadena con html 

Ejemplo:

HTML2TEXT('<B>Negritas y texto <img src=algo.fig></B>')

Resultado: Negritas y texto 


26.-LEN(texto)

>> Nos regresa el tamaño de una cadena 

Ejemplo

LEN('texto o cadena')

LEN(CAMPO('MOTIVO_GASTOS')) 


27.-LEFT(texto, num_chars) 

Puede utilizar esta función cuando desee extraer los caracteres situados más a la izquierda de una cadena

Ejemplo:

LEFT(CAMPO('MOTIVO_GASTOS'),2) 


27.1.-RIGHT(texto, num_chars) 

Puede utilizar esta función cuando desee extraer los caracteres situados más a la derecha de una cadena 

Ejemplo:

RIGHT(CAMPO('MOTIVO_GASTOS'),2) 


28.- MID(texto, inicio, num_chars) 
MID(texto, inicio, num_chars) 
>> devuelve un número concreto de caracteres de una cadena de texto, empezando en la posición especificada y basándose en el número de caracteres que se especifique.

Ejemplo:
MID('El Pueblito', 6, 4)

29.-PROPER(texto)

Pone en mayúscula la primera letra de cada palabra de un valor de texto. 


30.-REPT(text, number_times)

Repite el texto un número determinado de veces. 


31.-TRIM(text)

Quita los espacios del texto. 

Ejemplo:

TRIM(CAMPO('MOTIVO_GASTOS')) 


32.-UPPER(texto)

>> Pone el texto en mayúsculas.

Ejemplo:

UPPER(CAMPO('MOTIVO_GASTOS')) 


33.-SUBSTITUTE(text, old_text, new_text, instance number)

Sustituye texto nuevo por texto antiguo en una cadena de texto. 

Ejemplo:

-SUBSTITUTE('EL ESTUDIANTE','EL','LA')  Resultado: LA ESTUDIANTE 


34.-MAX(NUM1, NUM2, NUM3,.....NUM100) 

Devuelve el valor máximo de una lista de argumentos. 


35.-MIN(NUM1, NUM2, NUM3,.....NUM100) 

Devuelve el valor mínimo de una lista de argumentos.

otras funciones que tiene su equivalencia con Excel

SIN, SQRT, ROMAN, RADIANS, TAN, TANH, MEDIAN

36.- TURNOFIELD( 'NombreNodo' )
Resultado:
MESA O NODO ACTUAL
01-JUANE-COTIZADOR

37.- HEADERFIELD( 'UsuarioId' )
Usar HEADERFIELD para obtener variables del header del formulario como UsuarioId, RolId, CheckListId
  
HEADERFIELD('UsuarioId')
HEADERFIELD('RolId')
HEADERFIELD('CheckListId')



    • Related Articles

    • Creación de Checklist y Cuestionarios

      I - Alta de checklist 1-¿Qué es y para que sirve un checklist?  Checklist u hojas de verificación, siendo formatos generados para realizar actividades repetitivas, controlar el cumplimiento de un listado de requisitos o recolectar datos ordenadamente ...
    • Consulta de resultados de checklist y cuestionarios

      IV - Resultados de checklist  Al seleccionar un cuestionario se puede tener acceso a detalles totales del mismo.   Se selecciona un elemento de la lista y podemos visualizar toda su descripción. Podemos usar filtros para agilizar la búsqueda deseada ...
    • Creación y administración de campañas y rutas

      III- ¿Que es y para que sirve una campaña? Se denomina CAMPAÑA a cualquier asignación que se pudiera tener de ACTIVIDADES DE LLENADO DE DATOS por ejemplo una ruta de envío de materiales en donde se tienen que enviar dichos materiales a un CEDIS ó a ...
    • Fórmula campo turnos

      TURNOFIELD('NombreNodo') La fórmula sirve para obtener algunos valores asociados al turno, obviamente solo funciona si el formulario está embebido en un turno Resultado: Otros valores que se pueden obtener: Ejemplo: TURNOFIELD('TicketId')    ...
    • Personalización de reportes y sábanas de consulta

      En FlujoResultados.aspx podemos pasar el Id del flujo del combo por la URL y también el número del script que define la sábana Ejemplo: /panel/FlujoResultados.aspx?id=50&scnum=1 Se pasan 2 parámetros por la URL: 1. id Es el id del flujo que se pondrá ...