Skip to main content

Scripts utilizados en la creación de flujos

A continuación, ofrecemos una recopilación de los scripts que se están usando actualmente en proyectos de Waidok:

let nuevoTexto = texto.replace(/gato/g, "perro");
var cadena = getVariable('strNumeroCertificadoOCR')
cadena.replace(/[./\\s]/g, "");

  • Asignar valores de una propiedad (tipo lista) a una variable. En el ejemplo, se asigna el valor de la propiedad "nombrePropiedad" a la variable en curso. El valor de la propiedad se extrae de los metadatos del documento que previamente se han guardado en la variable de tipo objeto "objMetadatosColección".
var msg = getVariable('objMetadatosColección')
var metadata = msg['Metadata']
metadata['nombrePropiedad'].slice(2, -2);

  • Asignar valores de una propiedad (no tipo lista) a una variable. En el ejemplo, se asigna el valor de la propiedad "nombrePropiedad"  a la variable en curso. El valor de la propiedad se extrae de los metadatos del documento que previamente se han guardado en la variable de tipo objeto "objMetadatosColección". Al final, se eliminan los dos primeros caracteres y los dos últimos del valor de la lista, ya que los valores de tipo lista se guardan como un array que inserta corchetes y comillas en cada valor y hay que eliminarlos para insertarlos en la variable.
var msg = getVariable('objMetadatosColección')
var metadata = msg['Metadata']
metadata['nombrePropiedad']

  • Recuperar el valor de una variable en una actividad.
getVariable('nombreVariable')

  • Recuperar un elemento de una columna de tabla maestra. Previamente, debemos asignar el valor de una fila de la tabla maestra a una variable de tipo Objeto con una actividad de workflow de tipo Search master table. En el ejemplo, se asigna el valor de la propiedad "nombrePropiedad"  a la variable en curso. El valor de la propiedad se extrae de los metadatos del documento que previamente se han guardado en la variable "variableMetadatosColección". En la segunda línea del código, se pone entre corchetes el número de la columna de la que se ha de extraer el dato. La primera columna es 0, la segunda es 1, la tercera es 2, etc.
var msg = getVariable('objFilaTablaMaestra')
msg[0]

  • Asignar un valor de NIF que viene de Invofox a una variable. Los números de NIF procesados por Invofox tienen formato con codificación internacional, es decir, insertan el código del país al comienzo del número en dos caracteres. De forma que si queremos poder cotejarlos con una tabla maestra y permitir su inserción manual tenemos que insertar en la variable siempre el valor sin el código del país. Previamente, debemos asignar los metadatos del documento en el Output de una actividad a una variable de tipo objeto. En el ejemplo, objMetadata
var msg = getVariable('objMetadata')
var metadata = msg['Metadata']
if (metadata['NombrePropiedadNIF'].toString().length > 9)
 metadata['NombrePropiedadNIF'].toString().substring(2)
else
 metadata['NombrePropiedadNIF'].toString();

  • Ejemplos de condiciones para actividad de Decisión.
    • Valor de una variable distinta de 0.
getVariable('nombreVariable') != 0
    • Valor de una variable igual a un valor.
getVariable('nombreVariable') == "valor a comparar"
    • Valor de una variable mayor o igual a un número. En el ejemplo, mayor o igual a 2000.
getVariable('nombreVariable') >= 2000

  • Recuperar valores de metadatos internos de Waidok. Previamente, debemos asignar los metadatos del documento en el Output de una actividad a una variable de tipo objeto. En el ejemplo, objMetadata.
    • Recuperar el nombre del fichero.
var msg = getVariable('objMetadata')
msg['fileName']
    • Recuperar el usuario que ha dado de alta el fichero en Waidok (owner).
var msg = getVariable('objMetadata')
msg['Owner']

  • Recuperar un usuario dado de alta en Waidok desde una propiedad con su nombre. Téngase en cuenta que la propiedad de la que se recupera el dato es una propiedad de tipo Lista con los mismos nombres de los usuarios dados de alta en la herramienta. Previamente, debemos asignar los metadatos del documento en el Output de una actividad a una variable de tipo objeto. En el ejemplo, objMetadata.
var msg = getVariable('objMetadata')
var metadata = msg['Metadata']
var revisor = metadata['NombreInternoPropiedad'].toString().substring(2)
revisor.substring(0, revisor.length - 2)


  • Asignar a una tabla la información de vuelta de la IA en una etiqueta.
const ai = JSON.parse(getVariable("AiResponse"))[0];
 const transformed = ai.items.map(it => ({
  1: it.description,
  2: it.heat_number
}));
 return transformed;

  • Asignar el primer valor ordenado de un resultado de varias filas de una tabla maestra a una variable. En el ejemplo, se han recuperado previamente varias filas de una tabla maestra en una variable de tipo objeto llamada objMetadataTablaMaestra.
const data =  getVariable('objMetadataTablaMaestra')
 
// Ordenar por el primer elemento
data.sort((a, b) => Number(a[0]) - Number(b[0]));

return data[0];

  • Cuando termina una tarea y queremos poner la fecha en que se realiza. Recogerá, por ejemplo cuándo alguien ha aprobado un documento y dejarlo reflejado en una propiedad.
new Date();


  • Personalización del cuerpo de un correo electrónico de notificación. Previamente, deben estar asignados los valores de las propiedades del documento en una variable de tipo objeto. En el ejemplo, objMetadata.
var msg = getVariable('objMetadata')
var metadata = msg['Metadata']
'Esto es un ejemplo de cuerpo de correo electrónico que recoge datos de una factura como su número: ' + metadata['NombrePropiedadNumeroDeFactura'] + ', del proveedor ' + metadata['NombrePropiedadProveedor'] + ', con fecha ' + metadata['NombrePropiedadFecha'] + '.'