最初のApex更新トリガーを作成しようとしていますが、カスタムルックアップフィールドの値を設定しようとしているため、少し苦労しています。
と呼ばれるオブジェクトとDeployment__c
マスターと詳細の関係にあるマスターであると呼ばれるオブジェクトがありますService__c
(名前は簡略化されています!)
このService__c
フィールドはOwner
、マスター/詳細関係の子/詳細であるため、Salesforceにはありません。したがって、このオブジェクトで呼び出される疑似所有者フィールドを作成しました。これは、 SalesforceでオブジェクトをOwner__c
検索するルックアップフィールドです。User
トリガーの目的は、の値がまだ設定されていない場合Service__c.Owner__c
は、の所有者であるユーザーの値に設定することです。Deployment__c
Owner__c
Service__c
私が持っているコードは次のとおりです。
trigger AfterServiceUpdate on Service__c (before update) {
for (Service__c oldService : Trigger.new) {
if (oldService.Owner__c == null) {
User defaultUser = [Select Id FROM User WHERE User.Id = :oldService.Deployment__r.OwnerId];
oldService.Owner__c = defaultUser.Id;
}
}
}
ただし、このトリガーを保存しようとするとエラーが発生します。
エラー:コンパイルエラー:5行目13列目のSObjectASE_Deployment__cの無効なフィールドOwner__c
フィールド名が正しいことを確認しましたが、これを機能させることができません。どんなポインタでも大歓迎です!