0

新しいアイテムを追加し、その所有権をユーザーに割り当てたいカスタムオブジェクトがあります。これは、ユーザー入力を介して入力されたものです。レコードタイプは、所有権に基づいてデフォルトで適切な値に設定されないため、アイテムを正しく作成できるように、指定したユーザーのデフォルトのレコードタイプを返す必要があります。

オブジェクトのデフォルトのレコードタイプを簡単に取得できますが、どのユーザーに対しても取得するにはどうすればよいですか?

4

2 に答える 2

1

デフォルトのレコードタイプは、組織全体ではなく、プロファイル(したがってユーザー)レベルでのみ定義されます。defaultRecordTypeMappingしたがって、オブジェクトを記述しているユーザーには、プロファイルに定義された独自のユーザーが表示されます。たとえば、ユーザーAがApexでこのコードを実行する場合:

for (Schema.RecordTypeInfo rtInfo : Account.SObjectType.getDescribe().getRecordTypeInfos()) {
  if (rtInfo.isDefaultRecordTypeMapping()) {
    System.debug(rtInfo);
  }
}

ユーザーAのデフォルトのレコードタイプが印刷されます。ユーザーBが同じコードを実行し、デフォルトのレコードタイプが異なる別のプロファイルに割り当てられた場合、そのユーザーのデフォルトのレコードタイプが出力されます。

同じことがdescribeSObject()、forSOAPまたは/services/data/v27.0/sobjects/:object/describeforRESTを使用したAPIでも当てはまります。

于 2013-03-13T19:59:51.903 に答える
0

recordId開発者名で取得できます。リリース情報を参照してください

代わりにこれを使用してみてください

Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('Master');
于 2019-07-05T10:29:38.207 に答える