2011-12-03 37 views
2

salesforceのSalesアプリケーションの[オポチュニティ]タブにカスタムボタンを追加しました。そのボタンを押すと、私はいくつかの新しいタブ(私は適切なURLを追加してそれを行った)をナビゲートし、次のApexメソッドを実行します。このメソッドをどのように実行できますか。ありがとう。カスタムボタンからAPEXメソッドを呼び出す方法

public class JobService { 

private JobDao job_dao = new JobDao(); 

public void insertJob() { 
Job__c newJob = new Job__c(); 
job_dao.insertJob(newJob); 
} 
} 

答えて

0

あなたはオプションのカップル持っている:

VFページ

はVFページを作成します。ページのコントローラーで、新しいタブに、ユーザ楽しみ、その後、あなたのApexメソッドを呼び出す

はJavaScript

あなたの頂点メソッドを呼び出す単純なWebサービスを公開します。ボタンを "onclick javascript"ボタンにして、Webサービスを呼び出します(これについては、Exposing Apex Classes as REST Web ServicesApex in AJAXを参照してください)。ユーザーを新しいタブに転送します。

+0

こんにちはジェレミーロス!あなたの答えに感謝します。私はこれを試してみる。しかし、私はVFページ(タブ)を作成していない、それはsalesforceウィザードによって生成された。この新しく作成されたタブに移動します。urlは "https://ap1.salesforce.com/a0G/o"です。そのタブページをいくつか追加したいと思います。手動でこのタブをクリックすると、うまくやることができます。しかし、私はそのレコードをApexで追加したいのですが、そのレコードを追加した後、このタブに移動したいのです(上のコードを実行した後、タブに移動したいという意味です)。ありがとう。 – Channa

0

延長としてあなたのコントローラとカスタムクラスなどの機会を無駄Visualforceページを作成します。

<apex:page standardController="Opportunity" extensions="RedirectClass" action="{!redirect}"/> 

拡張子(アペックス)は次のようになります

// On load, action="{!redirect}" takes us here 
public PageReference redirect() 
{ 
    return Page.YourVisualforcePageWithATab; 
} 

移動先:名前|セットアップ|カスタマイズ|機会|ボタンとリンク|新しい

[コンテンツソース]で[Visualforceページ]を選択し、次に[コンテンツ]フィールドで作成したVisualforceの "リダイレクト"ページを選択します。それはそれを行う必要があります。

+0

こんにちはアダム!あなたの解放のために多くのありがとう。現在、VFページ(タブ)は作成されていません。これはsalesforceウィザードによって生成されたものです。この新しく作成されたタブに移動します。urlは "https://ap1.salesforce.com/a0G/o"です。そのタブページをいくつか追加したいと思います。手動でこのタブをクリックすると、うまくやることができます。しかし、私はそのレコードをApexで追加したいのですが、そのレコードを追加した後、このタブに移動したいと思っています(上記のコードを実行した後、タブに移動したいという意味です)。ありがとう。 – Channa

2

私は

は、カスタムボタンのJavaScript「のonClick」セクションに次のJavaスクリプトコードを追加し、方法を以下のように、このタスクを達成しました。

{!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'; 

注:

  • 彼らのガイドのためにアダム&ジェレミー・ロスのためにありがとうございました、それらは私に役立つ非常 です。
  • もし誰かが知っていれば、私は Opportunityオブジェクトを取得することはできますか?
関連する問題