Saltar al contenido

Cómo depurar el misterioso “valor duplicado encontrado: duplica el valor registrado con id: ” error

Es fundamental interpretar el código de forma correcta antes de adaptarlo a tu trabajo y si tdeseas aportar algo puedes dejarlo en los comentarios.

Solución:

Mi más sentido pésame si está leyendo esto, porque significa que está siendo torturado por un mensaje de error extremadamente inútil y vago. Veamos si podemos superar esto sin arrancar demasiado cabello. 🙂

¿Error de implementación o error de DML?

Si buscas en Google “valor duplicado encontrado: … “, los resultados que obtenga cubrirán una amplia variedad de causas fundamentales. El primer paso es averiguar qué escenario es apropiado para usted.

Error DML

Si recibe este error de una operación DML, está de suerte. Las posibles soluciones parecen ser más sencillas. A veces, incluso puede que solo haya uno en lugar de dos con los que lidiar.

Estas son algunas de las mejores publicaciones para los errores basados ​​en DML:

  • Blog de Daniel Sokolowski – “Valor duplicado encontrado duplicados …”
  • Foros de desarrolladores – “Excepción: se encontró un valor duplicado: … “
  • Foros de desarrolladores: “Se ha encontrado un valor duplicado: valor duplicado desconocido …”

Básicamente, parece que el problema se reduce a campos con unique limitaciones. La publicación del blog de Daniel hace un gran trabajo al desglosar el proceso de depuración.

Error de implementación

Si recibe este error al intentar implementar metadatos, las cosas son un poco más difíciles.

La depuración de errores de implementación es casi siempre dolorosa de alguna manera, pero este mensaje de error en particular con sus dos vagas las referencias son especialmente crueles. Los siguientes pasos pueden ayudarlo a encaminarse rápidamente por el camino correcto para encontrar una solución.

Paso uno: identificar el problema

Este paso es fácil de comenzar, pero a veces es difícil de terminar. Eche un vistazo al mensaje de error y le explicaré a qué me refiero.

Error: objects/Opportunity.object(2098,13):duplicate value found:  duplicates value on record with id: 

Claramente, los metadatos del objeto Opportunity que estoy tratando de implementar están causando un problema. Sin embargo, no empieces a buscar en Google todavía. Hay más para que usted aprenda sobre qué es exactamente lo que está fallando.

Olvídese del “mensaje” de error por un momento y concéntrese en la ubicación del error.

Error: objects/Opportunity.object(2098,13)... 

Lo importante aquí es (2098,13). Este es el número de línea y columna dentro del Opportunity.object archivo de metadatos de donde proviene el problema.

Así es como se ve mi archivo cerca de esa línea …

Inspeccionar el archivo de metadatos Opportunity.object

Esto me dice que el error parece estar relacionado específicamente con el StageName campo de lista de selección que estoy intentando implementar.

Importante: Si este es EXACTAMENTE el problema que tiene, salte hasta el final para ver una posible solución.

Paso dos: aislar el problema

Las implementaciones son cosas engañosas y complicadas con muchas dependencias con las que lidiar. Al depurar errores de metadatos que no están relacionados con el código Apex, simplifique las cosas eliminando todo de su paquete de implementación excepto el componente que le está causando problemas (y sus dependencias directas, por supuesto).

Si sigue recibiendo el error después de hacer esto, entonces ha iniciado con éxito el proceso de aislamiento del problema. En mi caso, puedo intentar aislar aún más las cosas eliminando todo el StageName campo y volver a intentar mi implementación.

Después de eliminar ese campo, ¡mi implementación finalmente se realiza correctamente! Esto prueba de manera concluyente que algo que estoy impulsando en el StageName campo está causando el error.

Recuerde, este ejemplo SOLO es relevante para mi situación. Los componentes de metadatos que le están causando problemas probablemente tengan nombres diferentes, sean de diferentes tipos, etc. Este es solo un ejemplo.

Paso tres: comience a excavar

Ahora que he aislado de manera concluyente el problema en un campo particular en un objeto específico, puedo comenzar a investigar más a fondo. A continuación, se muestran las causas posibles más comunes.

Para campos de lista de selección …

Si ha reducido las cosas a un problema con un campo de lista de selección, asegúrese de que su organización de destino no tenga ya un lista de selección inactiva campo con el mismo nombre que uno de los que está intentando implementar.

Si este es el caso, deberá eliminar el valor de la lista de selección. Una vez que haga esto, su implementación debería continuar (hasta que el siguiente error se le ocurra, por supuesto).

Para otros problemas …

Si su problema no está relacionado con un campo de lista de selección, el consenso general parece ser que surgen algunas situaciones extrañas si el seguimiento del historial de campos está habilitado en el objeto que le está causando problemas.

Estas son las mejores soluciones que he encontrado relacionadas con el posible problema del “Seguimiento del historial de campo”.

  • DaveS (StackExchange) – “Object Deploy falla con: se encontró un valor duplicado: … “
  • Blog de Michael Welburn: “Error de la API de metadatos de Salesforce.com: valor duplicado en el registro con ID”
  • Problemas conocidos en revisión: “La implementación falla y se encuentra un valor duplicado: … “

Conclusión

Depurar errores de Salesforce nunca es divertido. No es especialmente divertido cuando los mensajes de error son vagos, como los inútiles “valor duplicado encontrado: … “ mensaje de error. Esta publicación ha proporcionado un marco para depurar este tipo de error, ya sea que provenga de un DML o de una operación de implementación de metadatos.

Los pasos de la sección “Error de implementación” son útiles para depurar otros tipos de errores relacionados con la implementación que no son de código. Espero que los hayas encontrado útiles. A medida que pasa el tiempo, si aparecen “sabores” adicionales de este error, actualizaré esta respuesta para incluirlos. ¡Buena suerte ahí fuera!

Problema conocido: la implementación falla con un valor duplicado encontrado: valor duplicado en el registro con id: error

Espero que esto pueda ayudar: si se enfrenta a este error para los diseños de página, ¡aquí está la mejor solución!

Solución alternativa:

  1. Acciones rápidas para Salesforce Classic o Lightning, los botones de las listas relacionadas pueden mostrar duplicados, lo que no debería ser así. (Observe el diseño completo de la página para ver si hay duplicados)
  2. Eliminarlos y guardarlos del entorno de origen no funciona (los duplicados vuelven a aparecer después de guardar).
  3. Recupere a través de ant y edite el archivo de diseño de página recuperado para eliminar los duplicados manualmente.
  4. Implemente el archivo recuperado y modificado de su entorno local a Target.

    Problema conocido: la implementación falla y se encuentra un valor duplicado

Después de muchas horas tratando de buscar todos los problemas mencionados en esta página, y enojándome tanto por la falta de mensajes de error útiles en DX, se me recordó que la configuración de implementación puede dar más información.

El error que estaba obteniendo en DX era solo
N/A duplicate value found: duplicates value on record with id: . The Path se mostraba simplemente como N / A.

Sin embargo, cuando entro en Configuración de implementación en la organización, se muestra el Nombre de la API.

El error en la configuración de implementación: me muestra el duplicado
Ahora, creo que sé por qué la ruta mostró N / A en este caso, porque la fuente se bloqueó debido a la duplicación de un informe. Había creado el informe en Carpetas públicas, extraje la fuente, luego moví el informe a una carpeta existente y volví a extraer la fuente. Consulte el número 165 en CLI Github y el problema relacionado. Pude usar la solución alternativa mencionada para arreglar mi fuente y luego implementarla.

Espero que este truco de intentar encontrar el error ayude a otra persona.

Reseñas y valoraciones

Puedes añadir valor a nuestro contenido colaborando tu experiencia en las crónicas.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *