Salesforce URL Hacking能否实现按记录类型自动填充字段?
解决方案:用URL Hacking轻松实现字段自动填充
嘿,这个需求完全可以通过URL Hacking来实现,根本不需要折腾Visualforce页面!我来给你详细拆解步骤和注意事项:
核心思路
URL Hacking(在Lightning里叫预填充字段参数)允许你在新建记录的URL中指定默认字段值,包括记录类型和自定义字段。我们只需要为两种记录类型分别构造对应的URL,用户点击后就能直接打开已填充好CustomF__c字段的新建页面。
具体步骤
1. 获取记录类型ID
首先得拿到RecType1和RecType2的唯一ID,有两种简单方式:
- 手动获取:进入Setup → Object Manager → 找到
CustomObj__c→ 点击「Record Types」→ 分别点击两个记录类型,从浏览器地址栏里提取id参数值(比如012D0000000XXXX)。 - SOQL查询:在Developer Console的Query Editor里执行以下语句:
SELECT Id, Name FROM RecordType WHERE SObjectType = 'CustomObj__c' AND Name IN ('RecType1', 'RecType2')
2. 构造预填充URL
根据Lightning Experience的格式,构造两个不同的URL,替换成你实际的记录类型ID和字段API名(注意自定义字段的API名是CustomF__c,不是显示名):
- 对应
RecType1的URL:
/lightning/o/CustomObj__c/new?defaultFieldValues=RecordTypeId=012D0000000XXXX,CustomF__c=Hello
- 对应
RecType2的URL:
/lightning/o/CustomObj__c/new?defaultFieldValues=RecordTypeId=012D0000000YYYY,CustomF__c=Bye
3. 部署使用
你可以把这两个URL添加到:
- 页面的快捷按钮、自定义链接
- 相关列表的自定义按钮
- 或者直接分享给用户使用
关键注意事项
- 确保使用的是字段API名,不是字段的显示名称,否则参数不会生效。
- 验证用户是否拥有对应记录类型的访问权限,以及
CustomF__c字段的编辑权限(如果需要用户不能修改,可以设置字段级权限为只读,或者配合验证规则)。 - 这个方式是在打开新建页面时就填充字段,用户可以根据需要修改;如果需要强制字段值不可更改,还需要额外配置权限或规则,但你的需求是创建时自动填充,URL Hacking完全满足。
对比Visualforce
虽然Visualforce页面也能实现这个功能,但需要编写页面代码、配置控制器,步骤繁琐得多。对于这种简单的预填充场景,URL Hacking是更轻量、高效的选择。
内容的提问来源于stack exchange,提问作者BBS_
相关产品推荐
相关产品推荐

