Ir al contenido

Crear propiedades de sincronización que copien datos en registros asociados

Para que un cambio en un campo del Negocio actualice un campo del Contacto, se usa un Script: código JavaScript que Prolibu ejecuta cuando se crea o se actualiza un registro de los objetos que eliges. Se escribe en Desarrollo → Scripts. Hace falta programar.

  1. Abre el menú lateral con la flecha de la esquina superior izquierda, si lo tienes plegado.
  2. Baja hasta el grupo Desarrollo y pulsa Scripts.

Menú lateral desplegado en Desarrollo con Scripts resaltado y la tabla de Scripts filtrada sin resultados

La tabla muestra de cada script su nombre, si está Activo, sus Hooks de ciclo de vida, sus Variables, su Tarea programada y su repositorio Git.

  1. En Desarrollo → Scripts, pulsa el botón + de la esquina inferior derecha. Se abre el panel Crear Script.
  2. En Script, escribe el nombre. En Readme, explica para qué sirve.
  3. Deja Activo apagado. Viene así y conviene que siga apagado hasta que lo hayas probado.
  4. Abre Hooks de ciclo de vida y elige los objetos que participan. Puedes buscar y marcar varios, por ejemplo Deal y Contact.

Panel Crear Script con el campo Hooks de ciclo de vida resaltado y los objetos Deal y Contact elegidos

Si el script solo debe reaccionar a contactos, deja únicamente Contact en la lista:

Panel Editar Script con Hooks de ciclo de vida resaltado y solo Contact elegido

  1. En Code, escribe la lógica que lee el campo de origen y escribe el de destino. Es obligatorio.

Panel Crear Script con el editor Code resaltado, debajo de la sección Variables

El código puede comprobar qué evento lo disparó (eventName) y qué registro llegó (eventData.doc) para actuar solo cuando corresponde. Aquí el código empieza con if (eventName === 'Contact.beforeUpdate' && eventData && eventData.doc …, así que solo entra cuando se va a actualizar un contacto:

Panel Editar Script con el campo Code resaltado, que empieza con una condición sobre Contact.beforeUpdate

  1. Pulsa Crear.
  2. Prueba con registros de ejemplo DOC-* y revisa cada ejecución en Sistema → Registros, donde el tipo de registro Script indica si terminó bien o falló.
  3. Cuando el resultado sea el esperado, edita el script y enciende Activo.

Para comprobar el resultado, abre la ficha del registro de prueba y mira el campo que debía cambiar. Aquí Cargo quedó con el valor que escribió el script:

Ficha Editar Contacto con el campo Cargo resaltado, con el valor que escribió el script

Además de los hooks de ciclo de vida, el panel tiene:

  • Run on quote calculate: si lo enciendes, el script corre una vez por cada cálculo de una cotización (Quote.calculate), con la cotización completa.
  • Git → Repository url: un repositorio para versionar el código fuera de Prolibu.
  • Variables: valores propios del script, separados del código.
  • Tarea programada: para ejecutar el script con horario, además de por evento o en su lugar. Pide Periodicidad (una expresión cron), Zona horaria y Timeout, el tiempo máximo de ejecución en milisegundos.

Panel Crear Script con la sección Tarea programada resaltada, con los campos Periodicidad, Zona horaria y Timeout

Preguntas frecuentes

¿Te fue útil este artículo?