2016-04-19 21 views
0

Ich habe ein Formelfeld "Asset MRR" für das Asset-Objekt definiert.
Der Wert dieses Feldes wird definiert, um immer gleich 100: enter image description hereSalesforce-Formelfeld ist im Apex-Code immer gleich Null

Aber wenn ich versuche, "Asset-MRR" Feld in Apex, asset.Asset_MRR__c gleich aus irgendeinem Grunde null zuzugreifen:

static testMethod void assetTriggerTest2() { 
     Account account = new Account(Name='SFDC Account'); 
     insert account; 

     Asset asset = new Asset(Name='asset name', AccountId = account.Id); 
     insert asset; 

     // System.AssertException: Assertion Failed: Expected: null, Actual: 100 
     System.assertEquals(asset.Asset_MRR__c, 100); 
    } 

Während in Salesforce-Schnittstelle der Wert von asset.Asset_MRR__c 100 ist, wie es sein soll ist: enter image description here

Warum asset.Asset_MRR__c gleich null in Apex? Warum ist es nicht 100?

Antwort

2

Sie müssen den Datensatz erneut abfragen und das Feld einschließen.

Asset asset = [Wählen Sie ID, Name, Asset_MMR__c aus Asset mit id =: asset.id limit 1] [0];

System.assertEquals (asset.Asset_MRR__c, 100);

+0

Danke, es hat funktioniert! – Sergey