Gewusst wie: Auffüllen von lookup-Feld beim erstellen eines neuen benutzerdefinierten Objekt in SFDC

Ich habe Mühe mit dieser situation.. ich habe ein Standard-Objekt in SFDC (Möglichkeit), dass eine custom-look-up-Feld zeigt auf das User-Objekt, was ich versuche zu tun ist, füllen Sie dieses Feld mit dem Namen des Benutzers, der erstellt ein benutzerdefiniertes Objekt, das verfügbar ist in der Opportunity-layout...

also Neue GOP-Checkliste --- wählen Sie den Typ der Checkliste--- und dann füllen Sie alle erforderlichen Felder aus und klicken Sie auf speichern, wird dies zeigen wieder die Gelegenheit anzeigen. Zu beginnen mit, ist so etwas machbar ? ich weiß, dass look-up-Felder, kann schwierig sein.
und meine zweite Frage ist, was ist der beste Weg, dies zu tun Programmgesteuert (trigger) oder mithilfe der workflow-und Feld-update-Funktion ?

Dank !!

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();
  }
}

}

Dies ist, was Sie kam mit. In der Standard-Opportunity-Objekt haben wir ein lookup-Feld an den Benutzer gekoppelt.. PFLEGE_Operationen__c.. Nun, was der Auslöser sein soll ist Folgendes..

1.- Beim erstellen einer neuen GOP-Checkliste, wenn der Benutzer füllen Sie eine neue benutzerdefinierte lookup-Feld in der GOP-Objekt mit dem Namen COSOperations_c halten Sie dann den Namen,
2.- Wenn der Benutzer nicht füllen Sie die COSOperations
_c Feld, aber das Feld, in das Opp-level-PFLEGE_Operationen__c aufgefüllt, die diesen Namen verwenden.
3.- Wenn weder CARE_Operations_c oder COSOperations_c aufgefüllt werden (Benutzereingaben), dann COSOperations__c gehen, um die person, die gerade das GOP-Objekt.

Dies ist, was ich habe, so weit..

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();}
}       
} 

Mein problem ist in der zweiten if-Anweisung.. die anderen 2 Bedingungen richtig funktionieren.. ! Irgendwelche Ideen ? Danke !!!

  • Hi Twanley. Jetzt sind die Anforderungen unterschiedlich sind.. überprüfen Sie Bitte meine Frage nochmal und danke für dein feedback.. !
InformationsquelleAutor JeyJim | 2012-08-29
Schreibe einen Kommentar