我为salesforce的销售应用程序的“机会”标签添加了自定义按钮。按下该按钮后,我想导航一些新标签(我通过添加适当的URL完成它)并执行以下Apex方法。如何执行此方法。谢谢。
public class JobService {
private JobDao job_dao = new JobDao();
public void insertJob() {
Job__c newJob = new Job__c();
job_dao.insertJob(newJob);
}
}
答案 0 :(得分:2)
我已按照以下方式完成此任务,
将以下java脚本代码添加到自定义按钮的javaScript“onClick”部分。
{!REQUIRESCRIPT("/soap/ajax/15.0/connection.js")}
{!REQUIRESCRIPT("/soap/ajax/15.0/apex.js")}
//Get Opportunity id
var opId= "{!Opportunity.Id}";
//Call insertJob method by passing that Opportunity id
sforce.apex.execute("JobService","insertJob",{op_id:opId});
//Redirect to that tab
window.location = 'https://ap1.salesforce.com/a0G/o';
注意:
答案 1 :(得分:0)
你有几个选择:
VF页面
创建VF页面。在页面的控制器中,调用您的Apex方法,然后将用户转发到新选项卡
<强>的JavaScript 强>
公开调用apex方法的简单Web服务。将按钮设为“onclick javascript”按钮并调用Web服务(有关如何执行此操作,请参阅Exposing Apex Classes as REST Web Services和Apex in AJAX)。将用户转发到新选项卡。
答案 2 :(得分:0)
创建一个精简的Visualforce页面,其中Opportunity作为您的控制器,自定义类作为扩展名:
<apex:page standardController="Opportunity" extensions="RedirectClass" action="{!redirect}"/>
扩展名(Apex)可能如下所示:
// On load, action="{!redirect}" takes us here
public PageReference redirect()
{
return Page.YourVisualforcePageWithATab;
}
转到:名称|设置|自定义|机会|按钮和链接|新
在内容源中选择Visualforce页面,然后在“内容”字段中选择刚刚创建的visualforce“重定向”页面。应该这样做。