Как вызвать метод APEX из пользовательской кнопки - PullRequest
2 голосов
/ 03 декабря 2011

Я добавил пользовательскую кнопку для вкладки «Возможности» приложения 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); 
}
}

Ответы [ 3 ]

2 голосов
/ 05 декабря 2011

Я выполнил эту задачу следующим образом,

Добавьте следующие коды java-скриптов в раздел «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';

Примечание:

  • Большое спасибо за Адама и Джереми Росса за их руководство, это очень полезно для меня.
  • Пожалуйста, добавьте комментарий, если кто-нибудь знает, как я могу получить Opportunity », а не получить« Opportunity.Id », спасибо.
0 голосов
/ 04 декабря 2011

Создайте простую страницу 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 в источнике контента, а затем эту страницу визуального перенаправления, которую вы только что создали в поле контента.Это должно сделать это.

0 голосов
/ 03 декабря 2011

У вас есть несколько вариантов:

Страница VF

Создать страницу VF. В контроллере страницы вызовите метод Apex, затем перенаправьте пользователя на новую вкладку

JavaScript

Предоставьте простой веб-сервис, который вызывает ваш метод apex. Сделайте эту кнопку кнопкой «onclick javascript» и вызовите веб-службу (см. Отображение классов Apex в качестве веб-служб REST и Apex в AJAX ). Переслать пользователя на новую вкладку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...