Salesforce 如何从流中获取变量?
我在SalesForce中有一个流,它创建一个新的对象记录并填充其字段。然后在流中设置变量Salesforce 如何从流中获取变量?,salesforce,apex-code,visualforce,flow,Salesforce,Apex Code,Visualforce,Flow,我在SalesForce中有一个流,它创建一个新的对象记录并填充其字段。然后在流中设置变量vAddendumId。我希望能够在相应的VisualForce页面控制器上引用该Id,但我在获取它时遇到问题。我知道如何通过URL“get”将变量从我的页面放入流中,但我不知道相反的方向 下面是我现在拥有的代码,它在URL字符串中从oid分配Opportunity Id: VisualForce页面: 我的最终目标是在流程完成时将用户发送到新创建的对象记录。这意味着我需要用流中的id填充getaddend
vAddendumId
。我希望能够在相应的VisualForce页面控制器上引用该Id
,但我在获取它时遇到问题。我知道如何通过URL“get”将变量从我的页面放入流中,但我不知道相反的方向
下面是我现在拥有的代码,它在URL字符串中从oid
分配Opportunity Id
:
VisualForce页面:
我的最终目标是在流程完成时将用户发送到新创建的对象记录。这意味着我需要用流中的id填充getaddendumId
提前感谢您提供的任何帮助
编辑-添加
我尝试了更多的东西,其中一个似乎很有希望,但仍然抛出一个错误。我尝试将变量设置为addendmentryflow.vAddendumId
。这给出了一个关于取消引用空对象的错误。我相信这是因为vAddendumId
直到流的后面才设置,但我不能确定
public Flow.Interview.Addendum_Entry AddendumEntry{get;set;}
public ID getaddendumId = AddendumEntry.vAddendumId;
经过一番努力,我终于想出了一个解决办法。我需要在页面上设置
interview
属性,以便从内容中提取值。然后我所需要做的就是从addendmentry.vAddendumId
中提取值
最终代码
附录.第页
事实证明这是非常直截了当的。我以前尝试失败的唯一原因是我没有在页面上设置
interview=“{!addendmentry}”
。经过大量的修改,我找到了一个解决方案。我需要在页面上设置interview
属性,以便从内容中提取值。然后我所需要做的就是从addendmentry.vAddendumId
中提取值
最终代码
附录.第页
事实证明这是非常直截了当的。我以前尝试失败的唯一原因是我没有在页面上设置interview=“{!addendmentry}”
public with sharing class AddendumEntryController {
public ID getoppId = System.currentPagereference().getParameters().get('oid');
public Flow.Interview.Addendum_Entry AddendumEntryFlow{get;set;}
public String getOpptyId(){ return getoppId; }
public PageReference getBackToAddendum(){
PageReference send = new PageReference('/' + getaddendumId);
send.setRedirect(true);
return send;
}
}
public Flow.Interview.Addendum_Entry AddendumEntry{get;set;}
public ID getaddendumId = AddendumEntry.vAddendumId;
<apex:page Controller="AddendumEntryController" TabStyle="Addendum__c">
<flow:interview name="Addendum_Entry" interview="{!AddendumEntry}" finishLocation="{!backToAddendum}" >
<apex:param name="vOpportunityId" value="{!opptyId}"/>
</flow:interview>
</apex:page>
public with sharing class AddendumEntryController {
public ID getoppId = System.currentPagereference().getParameters().get('oid');
public Flow.Interview.Addendum_Entry AddendumEntry{get;set;}
public String getOpptyId(){ return getoppId; }
public ID returnId = getoppId;
public PageReference getBackToAddendum(){
if(AddendumEntry != null) returnId = AddendumEntry.vAddendumId;
PageReference send = new PageReference('/' + returnId);
send.setRedirect(true);
return send;
}
}