gpt4 book ai didi

salesforce - 如何返回 PageReference 以在 salesforce 中创建 sObject

转载 作者:行者123 更新时间:2023-12-04 22:49:36 26 4
gpt4 key购买 nike

我知道如何返回 PageReference 来编辑和查看 sObject:

PageReference ref =  new ApexPages.StandardController(bnk).edit();

但是 StandardController 类没有像 create 这样的任何方法。

如何返回页面以创建 sObject。

我也知道这样的方法:
PageReference ref =  new PageReference('/a00/e');

但是sObject有很多lookup字段,这个方法不能取出引用的lookup字段,只能创建一个独立的sObject。

那么如何返回创建页面并取出引用查找字段呢?

最佳答案

我假设您在下面的回答中询问如何设置查找字段。但是,如果您询问如何删除查找字段,则需要编辑 PageLayout,但这也会从“编辑”页面中删除这些字段。如果您需要编辑页面上的字段,而不是创建页面上的字段,您需要为您的对象创建一个新的创建 Visualforce 页面并将重定向设置为该页面。

创建页面是没有id的编辑页面范围。您拥有的代码应该可以工作:

PageReference ref =  new PageReference('/a00/e');

通过 PageReference 更改发送到新页面的任何参数,使用 getParameters()方法。下面的示例为帐户查找输入了一个参数( CF00NC0000004htI5 是我的开发版中的字段 ID)。
PageReference.getParameters().put('CF00NC0000004htI5', 'sForce');

可以通过转到设置 > 创建 > 对象 > [您的对象] > [您的字段] 找到字段 ID。在那里,在 / 后面的页面地址 (URL) 中查找字段 ID。 (但在 ? 之前,如果有 ? )。例如,我的字段 URL 是: https://instance.salesforce.com/00NC0000004htI5?setupid=CustomObjects .获得 ID 后,添加 CF在它之前。

对于查找字段,您可能需要设置 CF +FieldId+ _lktp参数也一样。这将设置引用记录的 Id。

这是我用来获取下一页的完整方法。
public PageReference NextPage()
{
Account a = [Select Id, Name From Account Where Name like '%sForce%' Limit 1];

PageReference myPage = new PageReference('/a03/e');

// set the ID on a lookup field
myPage.getParameters().put('CF00NC0000004htI5_lktp', a.Id);
// set the Name on a lookup field
myPage.getParameters().put('CF00NC0000004htI5', a.Name);

myPage.setRedirect(true);
return myPage;
}

关于salesforce - 如何返回 PageReference 以在 salesforce 中创建 sObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10291602/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com