Non valido relazione di chiave esterna quando si tenta di aggiungere un nuovo oggetto personalizzato a un vantaggio exsting

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

Domanda

Ho un piombo e un oggetto personalizzato chiamato account sociale (Nome API = Social_Account__c).

Ho impostato un rapporto come segue: Il piombo è un genitore di conti sociali. così un vantaggio ha molti conti sociali.

Nel conto sociale, ho fatto un campo personalizzato denominato Piombo (Tipo di dati: Ricerca) per rendere il rapporto

.

ed ecco un dettaglio di ricerca:

API Nome: Lead__c

correlati a piombo

Bambino di parentela Nome: Social_Accounts

Lista correlate Etichetta: Conti sociali

vorrei aggiungere nuovi account sociali a vantaggio esistente se c'è un vantaggio con lo stesso indirizzo di posta elettronica.


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;
}

, ma ho un seguente messaggio di errore:

Errore: errore di compilazione: Invalid relazione di chiave esterna: Social_Account_ c.Lead _C

quello che sto facendo di sbagliato? Gradirei eventuali suggerimenti.

grazie

È stato utile?

Soluzione

Non puoi "passare attraverso relazione" con il punto (.) Operatore con gli aggiornamenti, solo con la lettura dei dati.

Cambia la tua social_account.Lead__c.id = existing_lead.Id; in social_account.Lead__c = existing_lead.Id;

Dovrebbe essere tutto ciò che serve. relazioni Salesforce possono essere

SET modificando direttamente il campo si è creato:. Social_Account__c.Lead__c, mettendo ci Id di oggetto che si desidera punto da

(esplorata) modificando il nome del campo un po 'e con il punto, nel tuo caso è probabilmente Social_Account__c.Lead__r.(whatever fields on Lead you want).

Il "_C" e "_r" sono per gli oggetti personalizzati, per quelli standard, per esempio v'è campo Opportunity.AccountId per la regolazione, ma se si vuole esplorare fino a rendere conto si digita Opportunity.Account.Name.


Se avrete difficoltà a ricordare che - non preoccupatevi, anche a me;) Di solito quando ricevo tale errore di compilazione Ho provare con Query Builder (in Apex Explorer o il plugin Eclipse). Clicco attraverso gerarchia sull'oggetto, è i bambini, i genitori, ecc e di solito possono usare pezzi di query generata direttamente nel mio codice Apex.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top