javascript - 在 Salesforce 中的记录类型之间转换

标签 javascript object types salesforce record

Salesforce 允许您使用记录类型来扩展对象定义。是否有一种快速简便的方法允许用户将对象组从一种记录类型转换为另一种记录类型?就我而言,我将跟踪学生从申请人到校友的本科生生命周期的进展情况。对我来说,将学生生命周期的不同阶段作为记录类型进行跟踪是有意义的,以便我可以为每个阶段创建自定义界面/查看权限/业务逻辑。我希望能够创建一个自定义按钮或链接来按照 Salesforce 的示例执行此操作: Salesforce: Getting Started With Buttons and Links 。 然而,我没能使用 Ajax 工具包查询 RecordType 对象来找出我需要将对象更新为哪个 RecordTypeId。 (我对 JavaScript 相当陌生,所以这可能只是我的经验不足造成的。如果有人询问,我很乐意发布我迄今为止尝试过的代码示例。)

在 IdeaExchange 上,有人提到您可以只在对象的自定义布局页面 ( IdeaExchange: Provide a Means of Changing Record Types ) 中包含 RecordType 字段,但这对于管理数百名学生来说似乎不是一个合理的解决方案。

使用工作流程或触发器似乎也不是一个合理的解决方案,因为它们显然需要您更新记录或创建新记录。学生应该能够随时进行过渡,不受更新或新增内容的影响。

SO 喜欢你提到你的问题可能涉及的其他事情,但我认为这些领域在这里是不言自明的;每当您想要以编程方式在不同记录类型之间进行转换时,此问题都是相关的。

最佳答案

您想要的可能不是 RecordType 对象本身,而是您用来跟踪查找该 RecordType 对象的学生的对象上的 RecordTypeId 字段。例如,要查找给定学生的记录类型,SOQL 将如下所示:

SELECT RecordTypeId FROM Student__c WHERE Id = {some id}

然后,如果您想更新记录,您可以更改 RecordTypeId 的值,如下所示:

var student = new sforce.SObject("Student__c");
student.Id = '{some id}';
student.RecordTypeId = '{new record type id}';
result = sforce.connection.update([student]);

要查找给定对象类型的合格 RecordTypeId,您可以查询 RecordType 对象并在 SObjectType 列上进行筛选,或者仅调用 describeSObject(Student__c) 并检查结果中的 RecordTypeInfos 节点。

关于javascript - 在 Salesforce 中的记录类型之间转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7085821/

相关文章:

javascript - 如何销毁在此构造函数中创建的对象?

c# - 动态转换c#

postgresql - 将记录作为函数参数传递 PL/pgSQL

scala - 对于 "trait Queue[T]", `Queue` 是一种类型吗?

javascript - 你如何将双引号整数转换为整数?

javascript - jquery 删除动态添加的行

javascript - "A network error has occurred"电子邮件/密码注册 Firebase 时出错

javascript - 如何在对 Ember 数据模型进行通用查找后劫持 promise 解决方案?

Javascript 和 jQuery 根据自定义属性将数组推送到对象

javascript - forEach 和对象构造函数