Inválida relación de clave externa cuando intento agregar un nuevo objeto personalizado a una ventaja exsting

StackOverflow https://stackoverflow.com/questions/3791998

Pregunta

Tengo un plomo y un objeto personalizado denominado Cuenta Social (API Name = Social_Account__c).

Me han establecido una relación de la siguiente manera: El plomo es un padre de cuentas sociales. por lo que un plomo tiene muchas cuentas sociales.

En la Cuenta Social, hice un campo personalizado llamado plomo (Tipo de datos: Operaciones de búsqueda) para que la relación

.

y aquí es un detalle de búsqueda:

API Nombre: Lead__c

Relacionado con plomo

Niño Relación Nombre: Social_Accounts

lista relacionada con la etiqueta: Cuentas Sociales

Me gustaría añadir nuevas cuentas sociales de plomo existente si hay una ventaja con la misma dirección de correo electrónico.


Social_Account__c social_account = new Social_Account__c();
/*add whatever fields on social_account*/

List<Lead> leads =[select Id from Lead where Email =:emailAddress ];
if(leads.size()>0)
{ 
    Lead existing_lead = new Lead(Id = leads[0].id);
    //ideally i would like to do something like this
    social_account.Lead__c.id = existing_lead.id; //this is where I get an error from

    insert social_account;
    update existing_lead;
}

pero me sale un mensaje de error:

Error: Error de compilación: No válido relación de clave externa: Social_Account_ c.Lead _c

¿qué estoy haciendo mal? Le agradecería cualquier sugerencia.

gracias

¿Fue útil?

Solución

No se puede "pasar por relación" con el punto (.) Del operador con actualizaciones, sólo con la lectura de datos.

Cambiar su social_account.Lead__c.id = existing_lead.Id; en social_account.Lead__c = existing_lead.Id;

En caso de ser todo lo que se necesita. las relaciones de Salesforce pueden ser

SET directamente modificando el campo que ha creado:. Social_Account__c.Lead__c, poniendo allí Identificación del objeto que desea a punto

GET (explorada) modificando el nombre del campo un poco y con el punto, en su caso, es probable que sea Social_Account__c.Lead__r.(whatever fields on Lead you want).

El "_c" y "_r" son para los objetos personalizados, para los estándares, por ejemplo no hay campo para el ajuste Opportunity.AccountId pero si desea explorar hasta cuenta que escribe Opportunity.Account.Name.


Si usted tiene problemas para recordar que - no se preocupe, yo también;) Por lo general, cuando llego a tal error de compilación que intentarlo con generador de consultas (en Apex Explorer o el plug-in de Eclipse). Hago clic a través de la jerarquía en el objeto, es los niños, son los padres, etc y por lo general se pueden usar fragmentos de consulta generada directamente en mi código Apex.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top