Я пытаюсь ввести уникальные значения в объект «Контакт». Вот код:
List<Contact> conList = new List<Contact> {
new Contact(FirstName='Joe',LastName='Smith',Department='Finance'),
new Contact(FirstName='Kathy',LastName='Smith',Department='Technology'),
new Contact(FirstName='Caroline',LastName='Roth',Department='Finance'),
new Contact()};
// Caroline Roth already exists so I want this code to update her record, not insert another Caroline Roth record
Database.UpsertResult[] srList = Database.upsert(conList, Contact.Fields.Name, false);
В документации Salesforce говорится: «Оператор upsert сопоставляет объекты sObjects с существующими записями путем сравнения значений одного поля. Если вы не укажете поле при вызове этого оператора, оператор upsert использует идентификатор sObject для сопоставления sObject с существующими записями в Salesforce. Кроме того, вы можете указать поле, которое будет использоваться для сопоставления. Для настраиваемых объектов укажите настраиваемое поле, помеченное как внешний идентификатор. Для стандартных объектов вы можете указать любое поле, имеющее для свойства idLookup установлено значение true. Например, поле электронной почты контакта или User имеет свойство idLookup, установленное. «
У меня два вопроса: 1) как мы можем узнать, какие поля у объекта Contact свойство idLookup установлено на true 2) почему я получаю сообщение об ошибке в строке темы при выполнении кода?