URL 中的持久 ID 分配在闪电中不起作用

Durable Id assignment in URL not working in lightning

问题陈述: 为了自动填充查找字段,我使用带有名称的持久 ID 分配。例如https://sales--dev.my.salesforce.com/m2p/e?CF00N0l0000051XXX=Contract-00000XXX&inline=1

注意这个 -> CF00N0l0000051XXX=Contract-00000XXX ~ durableId=recordName 在 url.

现在,当用户单击 New 按钮在上面的 VF 页面上创建记录时 URL 加载到经典中并像这样在查找中填充名称

试图解决: 在闪电中,URL 被这个 URL 覆盖 https://sales--dev.lightning.force.com/lightning/o/objectName/new?count=2 有没有办法在闪电中实现相同的 URL?

您真的需要它成为 URL 骇客吗?你的事情不能快速行动吗? url prepopulation 在那里会更可靠并且可以在任何地方工作。

URL 闪电黑客更简单一些,您使用字段 API 名称而不是 ID。这些是不错的教程:https://www.salesforceben.com/salesforce-url-hacking-for-lightning-tutorial/, https://sfdcdevelopers.com/2020/02/26/url-trick-in-salesforce-lightning/

那么,你怎么知道你在 Classic 还是 LEX 中的位置。使用哪个URL?查看 UiThemeDisplayed 变量,可用 in Visualforce and in Apex's UserInfo class.

IF($User.UIThemeDisplayed == 'Theme4d' || $User.UIThemeDisplayed == 'Theme4t' || $User.UIThemeDisplayed == 'Theme4u', 
    'link for lightning',
    'link for classic'
)

工作方式:

为 VF 页面创建了一个控制器:

global PageReference newParty() {
  PageReference pageRef;
  pageRef = new PageReference('/lightning/o/Party/new?defaultFieldValues=Contract='+contractID);
return pageRef