Manejo de errores en la consola del desarrollador
Si has realizado pruebas automatizadas, procesos o desencadenadores en Salesforce, pueden ocurrir errores al usar la integraci贸n con Salesforce. Este art铆culo te ayuda a resolver estos errores comunes.
Problema con pruebas Apex
Escenario
Al realizar pruebas automatizadas para la organizaci贸n, si la prueba incluye una llamada HTTP de Cooby, puede producirse un error.
Soluci贸n
Hay 2 m茅todos para resolver estos errores.
- Clase TestContext: Simula una llamada exitosa para evitar errores.
La clase TestContext contiene m茅todos para configurar simulaciones de llamadas HTTP durante la ejecuci贸n de pruebas.
setPackageMock()
- Prop贸sito: Configura un mock predeterminado para llamadas HTTP al ejecutar pruebas.
- Uso: Este m茅todo debe llamarse para garantizar que las llamadas HTTP se simulen durante la prueba.
setMock(HttpCalloutMock mockInstance)
- Prop贸sito: Configura una instancia espec铆fica de mock para llamadas HTTP durante las pruebas.
- Par谩metros: mockInstance: La instancia de HttpCalloutMock que se utilizar谩 durante las pruebas.
- Uso: Usa este m茅todo para definir un mock personalizado para llamadas HTTP durante las pruebas.
- Clase TriggerControl: Desactiva el trigger y previene directamente el comportamiento de la llamada.
La clase TriggerControl contiene m茅todos para gestionar el estado de los triggers (habilitarlos o deshabilitarlos) para diferentes sObjects.
disable(String sObjectName)
- Prop贸sito: Deshabilita el trigger para el sObject especificado.
- Par谩metros:
sObjectName: El nombre del sObject para el cual se debe deshabilitar el trigger.
- Uso: Llama a este m茅todo para evitar que se ejecute un trigger para un sObject espec铆fico.
enable(String sObjectName)
- Prop贸sito: Habilita el trigger para el sObject especificado.
- Par谩metros:
sObjectName: El nombre del sObject para el cual se debe habilitar el trigger.
- Uso: Llama a este m茅todo para permitir que se ejecute un trigger para un sObject espec铆fico.
isDisabled(String sObjectName)
- Prop贸sito: Verifica si el trigger para el sObject especificado est谩 deshabilitado.
- Par谩metros:
sObjectName: El nombre del sObject a verificar.
- Devuelve: Verdadero si el trigger est谩 deshabilitado, falso si no lo est谩.
- Uso: Usa este m茅todo para verificar el estado del trigger para un sObject espec铆fico.
disableAll()
- Prop贸sito: Deshabilita todos los triggers.
- Uso: Llama a este m茅todo para evitar que se ejecuten todos los triggers.
enableAll()
- Prop贸sito: Habilita todos los triggers.
- Uso: Llama a este m茅todo para permitir que se ejecuten todos los triggers.
Problema despu茅s de la instalaci贸n
Comprendiendo el Script de Post-Instalaci贸n
El Script de Post-Instalaci贸n se ejecuta como un usuario del sistema especial que representa nuestro paquete. Esto significa que todas las operaciones realizadas por el script parecen ser hechas por nuestro paquete.
La ejecuci贸n del Script de Post-Instalaci贸n se inicia mediante una llamada de API del sistema, lo cual impone ciertas limitaciones sobre las funciones disponibles de Salesforce durante esta transacci贸n. Algunas de estas limitaciones incluyen:
- Acceso a ciertos objetos est谩ndar como Grupo, Grupo de Colaboraci贸n y Miembro de Red, etc.
- Uso limitado de eventos de plataforma.
- Operaciones DML sobre objetos de configuraci贸n. Las transacciones API no pueden realizar operaciones DML sobre objetos de configuraci贸n o metadatos, como crear o modificar roles, perfiles o configuraciones personalizadas.
- Triggers y Reglas de flujo de trabajo. Algunos triggers y reglas podr铆an no ejecutarse durante transacciones API, dependiendo de c贸mo est茅 estructurada la transacci贸n y si respeta el orden de ejecuci贸n.
- Gesti贸n de sesiones. Las transacciones iniciadas por API no mantienen una sesi贸n de usuario igual que las sesiones interactivas. Esto puede afectar operaciones que dependen de mantener estado entre transacciones.
Si alguna automatizaci贸n en tu organizaci贸n que se active por Contacto, Prospecto o los objetos de Cooby interact煤a con las funciones anteriores, la actualizaci贸n de datos podr铆a fallar y recibir谩s un correo con mensajes de error.
Contexto y Desaf铆os Especiales
Es importante tener en cuenta que el Script de Post-Instalaci贸n se ejecuta en el contexto de un usuario especial "fantasma". Este contexto 煤nico puede llevar a varios desaf铆os:
- Restricciones de Funciones: Debido a la ejecuci贸n a nivel de sistema, algunas funciones de Salesforce est谩n restringidas, lo cual no ocurre cuando los procesos son ejecutados manualmente por un usuario.
- Diferencias Contextuales: El c贸digo que funciona perfectamente en un contexto de usuario com煤n puede fallar durante la ejecuci贸n del Post-Instalaci贸n por estas restricciones.
- Dificultades de Depuraci贸n: Estas fallas pueden ser dif铆ciles de detectar antes del lanzamiento y a煤n m谩s dif铆ciles de depurar cuando ocurren. Desafortunadamente, no hay forma de ejecutar tu c贸digo InstallHandler en este contexto de usuario "fantasma".
Escenario
Cooby modificar谩 ampliamente Contactos/Prospectos durante la instalaci贸n (para que nuestras funciones funcionen correctamente). Si el usuario tiene triggers establecidos para estos cambios, ocurrir谩 un error.
Soluci贸n
Si notas errores durante la ejecuci贸n del Post-Instalaci贸n, por favor:
- [Obligatorio] Revisa los Mensajes de Error: Revisa los mensajes proporcionados para identificar los problemas espec铆ficos.
- [Obligatorio] Revisa los Registros de Depuraci贸n: Analiza las l铆neas de error para determinar su causa.
- [Opci贸n 1] Ejecuta manualmente el lote de mantenimiento de datos de Cooby
- [Opci贸n 2] Actualiza o Desactiva Automatizaciones: Desactiva o actualiza temporalmente las condiciones de activaci贸n de las automatizaciones que podr铆an causar estos errores.
Recomendamos revisar y ajustar temporalmente los procesos autom谩ticos de tu organizaci贸n si ocurren errores. Esto podr铆a implicar revisar o actualizar cualquier automatizaci贸n, trigger o flujo de trabajo personalizado que entre en conflicto con el Script de Post-Instalaci贸n.
Ejecutar manualmente el lote de mantenimiento de datos de Cooby
Escenario
Debido a un error post-instalaci贸n, Cooby no se ejecutar谩 correctamente y el usuario no desea desactivar los triggers.
Paso a paso de la operaci贸n
- Abrir la consola de desarrollador:
- Inicia sesi贸n en tu organizaci贸n de Salesforce.
- Haz clic en el 铆cono de engranaje en la esquina superior derecha.
- Selecciona Consola de Desarrollador en el men煤 desplegable.

- Ejecutar los trabajos de mantenimiento:
- En la Consola de Desarrollador, haz clic en Debug en la barra de men煤.
- Selecciona Abrir Ventana Ejecutar An贸nimo (o presiona Ctrl + E).
- En la ventana an贸nima, introduce el siguiente comando:
cooby.DataMaintenanceManager.run();
- Haz clic en Ejecutar para iniciar el trabajo por lotes.

- Una vez finalizado, habr谩s completado el trabajo manual por lotes.
Verificaci贸n del estado del trabajo por lotes
- Navegar a Apex Jobs:
- Ve a Configuraci贸n haciendo clic en el 铆cono de engranaje en la esquina superior derecha y selecciona Configuraci贸n.
- En el cuadro de b煤squeda r谩pida, escribe Apex Jobs y selecci贸nalo en los resultados.
- Monitorear estado del trabajo:
- En la p谩gina de Apex Jobs, ver谩s una lista de todos los trabajos Apex.
- La columna de Estado mostrar谩 el estado actual de tu trabajo por lotes (por ejemplo: En cola, En progreso, Completado o Fallido).
- Nos interesan particularmente cinco clases Apex espec铆ficas. Algunas de estas clases pueden mostrar Lotes Totales: 0, lo que indica que no hay nada que cambiar y todo est谩 listo.

Manejo de finalizaci贸n y errores
Recibir notificaci贸n por correo:
- Una vez que todos los trabajos por lotes se hayan completado, podr铆as recibir un correo de notificaci贸n.
- Este correo contendr谩 detalles sobre cualquier error ocurrido durante la ejecuci贸n.
Si detectas errores en la ejecuci贸n por lotes, estos est谩n directamente relacionados con los procesos de automatizaci贸n configurados en tu organizaci贸n Salesforce. Para resolverlos, sigue los pasos a continuaci贸n:
- Revisar Mensajes de Error:
Consulta los mensajes de error en el correo o en la p谩gina de Apex Jobs. Suelen contener detalles sobre los procesos autom谩ticos que causaron el error.
- Revisar Registros de Depuraci贸n:
Navega a Configuraci贸n y busca "Registros de Depuraci贸n" en el cuadro de b煤squeda r谩pida.
Revisa los registros para identificar el proceso exacto que gener贸 el error.
- Actualizar o Desactivar Automatizaci贸n:
Una vez identificado el proceso, puedes desactivarlo temporalmente o modificar sus condiciones de activaci贸n para evitar errores.
Esperamos que este documento te ayude a entender mejor c贸mo funciona Cooby. Si tienes dudas sobre la integraci贸n con Salesforce, escr铆benos a support@cooby.co 馃挏
Actualizado el: 14/07/2025
隆Gracias!
