Триггер Apex для новой записи создает номер - PullRequest
1 голос
/ 24 февраля 2012
Log.add(new Cx_Trans_Log__c(
               Object__c = 'Activity',
               Object_Id__c = newActivity.Name,
               Owner2_Id__c = newActivity.Owner1_Id__c,

Я использую приведенный выше код для создания новой записи журнала при изменении активности в salesforce.com.Owner2_Id__c, созданный из newActivity.Owner1_Id__c, не дает мне имя Owner1_Id__c (это поле поиска (пользователь))Есть ли способ получить имя пользователя, которое отображается от Owner1 до Owner2?

1 Ответ

5 голосов
/ 24 февраля 2012

Правильный способ сделать это - сделать один запрос. В этом примере я предполагаю, что под действиями вы подразумеваете Задачи:

Set<Id> userIds = new Set<Id>();
for (Task t : Trigger.new) {
    userIds.add(t.OwnerId);
}
Map<Id, User> users = new Map<Id, User>([SELECT Name FROM User WHERE Id IN :userIds]);

// then you could plug something like this into your existing code
String userName = users.get(newActivity.Onwer1_Id__c).Name;
...