如何在标准对象中预填充标准查找字段?

时间:2012-05-03 18:31:17

标签: salesforce apex-code visualforce

设定:

在我的事件对象上,我想使用与当前所有者不同的用户名“Babe Ruth”预先填充“已分配给”字段。该字段是查找字段。字段名称是所有者,如果这有所不同。我们通过使用调用Apex的S-Controls修改url来实现这一点。

问题:

  1. 我不确定如何获取该字段的字段名称。我检查了这个元素,它说是evt_1。有没有办法验证这是绝对字段名称,而不是相对的名称?

  2. 我无法通过更改保存页面。在URL黑客中我添加了evt_1=Babe%20Ruth&saveURL=...,它成功显示了更改,但是当我点击保存时,该字段不会保存为'Babe Ruth',而是我的名字作为所有者!

  3. 我看过这个参考文献和其他人,但仍然被卡住了。

    http://raydehler.com/cloud/clod/salesforce-url-hacking-to-prepopulate-fields-on-a-standard-page-layout.html

3 个答案:

答案 0 :(得分:3)

如果您查看发送的链接,则会显示:

  

我发现获取要填充的字段ID的最佳方法是导航到设置中的字段。例如,如果我想预填充ObjectDetail_ c.TextField _c,我会转到Setup =>创建=> Objects => ObjectDetail => TextField,它带我到URL

一旦知道了要填充的字段的ID,就可以使用< fieldId> = TextValue& _lkid =< recordId>。使用链接中的示例,如果fieldId是CF00NA0000005JzZX,则参数为

CF00NA0000005JzZX=Babe+Ruth&CF00NA0000005JzZX_lkid=<userId>

其中&lt;用户id&GT;是Babe Ruth用户记录的ID。

答案 1 :(得分:1)

对于标准对象,您可以使用Firebug来定位编辑页面中的元素并获取组件的ID。 您应该找到类似“cas4_”,“cas3_”,......等代表标准字段ID的内容  ==&GT;例如,cas4用于Case对象中的Account查询。 网址参数: CAS4 =你好+世界&安培; cas4_lkid = 001000000dgst4

答案 2 :(得分:0)

你可以尝试这个解决方案,在这里我动态获取字段ID,而不是在任何地方硬编码。

http://customforce.wordpress.com/2014/05/06/getting-field-id-dynamically-to-pre-populate-fields-value-for-new-record/