私はこの状況に苦しんでいます。SFDC(Opportunity)に標準オブジェクトがあり、ユーザーオブジェクトを指すカスタムルックアップフィールドがあります。このフィールドに、作成するユーザーの名前を入力します。 Opportunityレイアウトで使用可能なカスタムオブジェクト...
つまり、新しいGOPチェックリスト---次に、チェックリストのタイプを選択します---次に、すべての必須フィールドに入力して[保存]をクリックします。これは、オポチュニティビューに戻ります。そもそもこれは実行可能なことですか?フィールドの検索には注意が必要です。そして私の2番目の質問は、これをプログラムで(トリガー)またはワークフローとフィールド更新機能を使用して行うための最良の方法は何ですか?
ありがとう !!
trigger TR_OrderChecklist on Order_Checklist__c (before insert) {
//----------------------------------------------------------------------------------
// Function 1: Update COS Operations Attribute in Opportunity
//----------------------------------------------------------------------------------
for(Order_Checklist__c o : trigger.new){
if(o.Opportunity__r.CARE_Operations__c == null) {
o.Opportunity__r.CARE_Operations__c = UserInfo.getUserId();
}
}
}
これが彼らが思いついたものです。Standard Opportunity Objectには、ユーザーに関連付けられたルックアップフィールドがあります。CARE_Operations__c..これで、トリガーが実行することになっているのは次のとおりです。
1.-新しいGOPチェックリストを作成するときに、ユーザーがCOSOperations_ cという名前のGOPオブジェクトに新しいカスタムルックアップフィールドを入力した場合は、その名前を保持します。2.-ユーザーがCOSOperations _cフィールドを入力しなかったが、Oppのフィールドを入力した場合レベルCARE_Operations__cは、その名前を使用して入力されます。3.- CARE_Operations_cもCOSOperations_cも入力されていない場合(ユーザー入力)、COSOperations__cがGOPオブジェクトを作成する人になります。
これは私が今まで持っているものです。
trigger TR_OrderChecklist on Order_Checklist__c (before insert) {
List<Opportunity> COS_Op = new List<Opportunity>();
COS_Op = [select CARE_Operations__c from Opportunity where id in (select Opportunity__c from Order_Checklist__c where COSOperations__c != null)];
for(Order_Checklist__c OC : trigger.new) {
if(OC.COSOperations__c != null) {
break;}
if(COS_Op != null){
OC.COSOperations__c = OC.Opportunity__r.CARE_Operations__c;}
if(OC.COSOperations__c == null){
OC.COSOperations__c = UserInfo.getUserId();}
}
}
私の問題は2番目のifステートメントにあります..他の2つの条件は正しく機能しています..!何か案は ?ありがとう !!!