Триггер Apex для вставки записи в связанный пользовательский объект на основе вставки в контакт

У меня есть пользовательский объект под названием "контактные отношения", в котором есть поиск контактов, и я добавил в контакте настраиваемое поле с флажком типа "отношения". Я хочу написать триггер, который добавляет запись в контактную связь каждый раз, когда запись добавляется в контакт, если значение флажка отношения истинно. Это то, что я сделал, но это не работает.

trigger ContactRelationshipTrigger on Contact (after insert) {    
    List<Contact_Relationship__c> crl = new List<Contact_Relationship__c>();
    List<Contact> cl = new List<Contact>();
    for(contact con: trigger.new){
        if(con.Relationship__c == true){
            Contact_Relationship__c cr = new Contact_Relationship__c();
            cr.Contact__c=con.Id;
            cr.Name='Rel to--' + con.Name;
            crl.add(cr);
        }       
    }      
    insert crl;
} 

Когда я вставляю новую запись контакта, запись отношения контакта не создается.

2 ответа

Решение

Ваш код кажется мне точным, поэтому вы должны проверить, что ваш триггер активен. На странице редактирования триггера есть флажок "Активен", который можно использовать для деактивации или активации триггера. Убедитесь, что это проверено.

Кроме того, имя контакта является составным полем, поэтому для точного получения имени необходимо использовать

 cr.Name='Rel to--' + con.FirstName +' '+ con.LastName;

Попробуйте изменить

cr.Contact__c=con.name;

от con.name до con.id или просто con;

Похоже, вы только что попытались установить поле имени, которое содержит mohit для контактного объекта.

Другие вопросы по тегам