Я хочу, чтобы установить Lookup поле с помощью апекс триггер Salesforce, но я получаю сообщение об ошибке:Как установить Lookup Field через Salesforce Trigger
System.StringException: Invalid id:
У меня есть пользовательский объект под названием Job__c
. Он имеет пользовательский список выбора для аккаунтов: Acct__c
.
Пользователь заполнит Acct__c
как John Deer
, триггер должен добавить John Deer
в поле поиска Account__c
.
Вот триггер:
trigger UpdateAccounts on Job__c (before insert) {
for (Job__c obj: trigger.new){
obj.Account__c = obj.Acct__c; //Exception is thrown here
}
Исключение брошено:
System.StringException: Invalid id:
Я пытался что-то другое:
List <Job__c> opListInsert = new List<Job__c>();
List <Job__c> opListUpdate = new List<Job__c>();
if(trigger.isInsert){
for(Job__c op:trigger.New){
if(op.Acct__c != Null){
op.Account__c = op.Acct__c;
opListInsert.add(op);
}
}
}
else if(trigger.isUpdate){
for(Job__c op:trigger.New){
if(op.Acct__c != Null && op.Acct__c !=trigger.oldMap.get(op.id).Acct__c){
op.Account__c = op.Acct__c;
opListUpdate.add(op);
}
}
}
Этот код кидает:
Error:Apex trigger UpdateAccounts caused an unexpected exception, contact your
administrator: UpdateAccounts: execution of BeforeUpdate caused by:
System.StringException: Invalid id:
Что я делаю неправильно, что он говорит мне, что это неверный идентификатор?
Спасибо. Это для внешней VF-страницы, где пользователь может выбрать учетную запись. В противном случае пользователю необходимо вводить данные непосредственно в поле учетной записи, но мы не хотим, чтобы они просматривали все учетные записи (чтобы не поместить поиск по учетным записям непосредственно на странице VF). Я не знаю, чистая. Какие-либо предложения? –