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()对于 SOAP 或/services/data/v27.0/sobjects/:object/describeREST ,API 也是如此。

于 2013-03-13T19:59:51.903 回答
0

您可以recordId通过开发者名称获取,请参阅发布信息

尝试改用它

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