Esta función personalizada permite copiar información de un módulo a otro dentro del CRM, siempre que exista un dato en común que permita relacionar ambos registros.
Si dos registros comparten un mismo dato, podemos usar ese dato como “puente” para transferir información entre ellos.
¿Qué son registros cruzables?
Dos registros son cruzables cuando tienen un dato igual en alguno de sus campos, aunque no estén relacionados directamente dentro del CRM.
Lo importante no es que exista una relación formal entre los módulos, sino que exista un campo que permita identificar coincidencias.
En la imagen se puede observar que ambos contienen el mismo valor (por ejemplo: “Cr 897 # 85 99 Este”), entonces esos registros pueden cruzarse.
Eso permitiría, por ejemplo, encontrar todos los productos fabricados por una empresa específica.
Caso especial: cuando sí hay relación
En algunos casos sí existe relación directa entre módulos.
Por ejemplo:
Módulo Contactos
Módulo Casos (HelpDesk)
Aquí el cruce se hace a través del ID del contacto.
El módulo Casos tiene un campo que indica qué contacto está asociado.
En este caso, no se necesita un campo adicional para cruzar datos, porque la relación ya existe dentro del CRM.
¿Qué hace esta función personalizada?
La función permite:
✔ Buscar registros relacionados (aunque no estén conectados formalmente)
✔ Identificar cuáles coinciden según un campo específico
✔ Copiar un dato del registro de origen al registro de destino
Es especialmente útil cuando los módulos no tienen relación directa, pero necesitas sincronizar información entre ellos.
Si requieres acompañamiento para configurar correctamente esta funcionalidad, puedes comunicarte con soporte y con gusto te orientarán en el proceso.
Código
El código de la función personalizada "Pasar Datos entre Registros Cruzables" se muestra a continuación.
Sin embargo, más adelante se explican los parámetros que deben ser modificados para adaptarla a las necesidades de cada usuario y la forma de incluir este nuevo comportamiento en el CRM.
El código permite:
Identificar el módulo de origen
Obtener el valor que se quiere transferir
Buscar en el módulo destino los registros que coincidan en el campo de cruce
Actualizar el campo correspondiente en los registros encontrados
Parametrización
En el segmento de código anterior, se deben modificar algunos valores para adaptarlos a las necesidades específicas de cada usuario.
A continuación, se detallan los parámetros que pueden ser personalizados:
Línea 3 (módulo de destino): Aquí se debe especificar el nombre del módulo al cual se desea transferir los datos, tal como aparece en la URL.
Ejemplo: 'HelpDesk', 'Contacts', 'Accounts', etc.
Línea 4 (campo de destino): Aquí se debe especificar el nombre del campo en el módulo de destino donde se desea transferir el dato.
Ejemplo: 'cf_1498', 'parent_id', 'contactid'.
Línea 5 (campo de origen): Aquí se debe especificar el nombre del campo en el módulo de origen desde donde se obtendrá el dato a transferir.
Ejemplo: 'cf_1632', 'account_id', 'productid'.
Línea 7 (campo de cruce de destino): Aquí se debe especificar el nombre del campo en el módulo de destino que se utilizará para establecer la relación entre los registros.
Ejemplo: 'accountid', 'contactid', 'cf_1499'.
Línea 8 (campo de cruce de origen): Aquí se debe especificar el nombre del campo en el módulo de origen que se utilizará para establecer la relación entre los registros.
Ejemplo: 'parent_id', 'contactid', 'cf_1500'.
¿Cómo obtener los nombres correctos de los campos?
Caso 1: Cuando necesitas el ID del registro
El ID normalmente no aparece como campo visible.
Se obtiene desde la URL.
Para usarlo en la función personalizada se utiliza el nombre: record_id
Caso 2: Campos normales del CRM
Si es un campo estándar o personalizado:
Inspecciona el campo en el navegador
Copia el valor del atributo name
Ese es el nombre que debes usar en el código.
Caso 3: Campos de relación
Se obtienen igual que los campos normales.
Pero si el atributo name termina en: _display
Debes eliminar esa parte para obtener el nombre correcto del campo.
Cómo configurar la función personalizada
1. Crear la función
Ir a Configuración del CRM
Entrar a Funciones Personalizadas
Crear una nueva función en el módulo de origen
Reemplazar el texto:
//To write here your initial code
Pegar el código
Ajustar los parámetros
2. Activar correctamente la función
Cuando se crea, el sistema genera automáticamente una tarea que se ejecuta “cada vez que el registro es guardado”.
Eso no siempre es recomendable.
Lo ideal es:
Cambiar la condición a “cuando el registro sea modificado”
Agregar una condición adicional: que el campo a transferir “haya cambiado”
Así evitas ejecuciones innecesarias.
Esperamos que este artículo haya sido de gran utilidad. Si tienes alguna duda o sugerencia, te invitamos a que nos escribas en nuestro chat y con gusto estaremos allí para ayudarte ¡Ten un buen día!

