0

我正在尝试返回属于 Salesforce 自定义对象的布尔类型字段的默认值。

一旦我有了我的领域,我正在使用:

sObjectField.getDescribe().getDefaultValue()

但它总是为布尔字段返回 null !

我以以下方式返回默认选项列表值:

for(Schema.PicklistEntry picklistEntry : sObjectField.getDescribe().getPicklistValues()) {
  if(picklistEntry.isDefaultValue()) {
    defaultValue = picklistEntry.getValue();
  }
}

我可以使用以下方法获取电话号码字段的默认值:

sObjectField.getDescribe().getDefaultValueFormula();

为什么我无法获得布尔值的默认值?

提前致谢。

4

1 回答 1

1

此功能在 Salesforce / APEX 中似乎已损坏。我在执行匿名中运行此代码以返回字段的所有可能的 getDescribe 属性和值:

Schema.DescribeFieldResult DFR = account.checkboxfield__c.getDescribe();
System.debug( DFR );

我发现没有一个属性正确返回布尔字段的默认值(SF 术语中的复选框)。我只运行了一个 getDescribe() 以便在添加新属性以解决此特定问题的情况下看到所有可能的属性,但事实证明只有 getDefaultValue() 和或 getDefaultValueFormula() 可以返回字段的默认值. 我用多种字段类型对此进行了测试,并验证了官方文档没有声明某种类型的排除以返回复选框的默认值。如果我没记错的话,您可能在 APEX 中发现了一个错误。如果我是你,我会去 Salesforce 支持网站并搜索有关所发现问题的任何官方文档。如果您找不到已记录问题的证据,请向 Salesforce 开票并让他们测试/记录问题。

如果这不是错误,那么 Salesforce 至少需要更新他们的文档来描述如何返回这个值,因为 getDefaultValue() 和 getDefaultValueFormula() 不起作用。

于 2013-04-03T20:35:43.980 回答