Salesforce 公式字段在 Apex 代码中始终等于 null
Salesforce Formula Field always equals null in Apex code
我有一个为资产对象定义的公式字段 "Asset MRR"。
此字段的值定义为始终等于 100:
但是当我尝试访问 Apex 中的 "Asset MRR" 字段时,由于某种原因 asset.Asset_MRR__c
等于 null
:
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);
}
虽然在 Salesforce 界面中 asset.Asset_MRR__c
的值是 100,但它应该是:
为什么 asset.Asset_MRR__c
在 Apex 中等于 null
?为什么不是 100?
您需要重新查询记录并包含该字段。
资产资产 = [Select ID,名称,Asset_MMR__c 来自资产,其中 id =:asset.id 限制 1][0];
System.assertEquals(asset.Asset_MRR__c, 100);
我有一个为资产对象定义的公式字段 "Asset MRR"。
此字段的值定义为始终等于 100:
但是当我尝试访问 Apex 中的 "Asset MRR" 字段时,由于某种原因 asset.Asset_MRR__c
等于 null
:
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);
}
虽然在 Salesforce 界面中 asset.Asset_MRR__c
的值是 100,但它应该是:
为什么 asset.Asset_MRR__c
在 Apex 中等于 null
?为什么不是 100?
您需要重新查询记录并包含该字段。
资产资产 = [Select ID,名称,Asset_MMR__c 来自资产,其中 id =:asset.id 限制 1][0];
System.assertEquals(asset.Asset_MRR__c, 100);