0

Salesforce カスタム オブジェクトに属する boolean 型のフィールドのデフォルト値を返そうとしています。

フィールドを取得したら、次を使用しています。

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 属性と値を返すために、execute anonymous でこのコードを実行しました。

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

私が見つけたのは、ブールフィールド (SF 用語のチェックボックス) のデフォルト値を正しく返す属性がないことです。この特定の問題を解決するために新しい属性が追加された場合にすべての可能な属性を表示できるように、getDescribe() だけを実行しましたが、getDefaultValue() または getDefaultValueFormula() のみがフィールドのデフォルト値を返すことができることがわかりました. これを複数のフィールドタイプでテストし、公式ドキュメントがチェックボックスでデフォルト値を返すためのある種の除外については述べていません。私が間違っていなければ、APEX でバグを見つけた可能性があります。私があなたなら、Salesforce サポート サイトにアクセスして、見つかった問題に関する公式ドキュメントを検索します。問題が文書化されているという証拠が見つからない場合は、Salesforce でチケットを開いて、問題をテスト/文書化してもらいます。

これがバグではないことが判明した場合、getDefaultValue() と getDefaultValueFormula() が機能しないため、少なくとも Salesforce はドキュメントを更新してこの値を返す方法を説明する必要があります。

于 2013-04-03T20:35:43.980 に答える