2013-03-28 90 views
1

我試圖更新標準salesforce合同對象的狀態字段。由於我們使用的是自定義佈局,因此最好只在頂部有一個按鈕來完成此任務。我曾嘗試使用以下所述的方法:http://sfdc.arrowpointe.com/2009/01/08/invoke-apex-from-a-custom-button-using-a-visualforce-page/使用自定義按鈕更新標準Salesforce對象

但是,我的實現出現錯誤: java.lang.IllegalArgumentException:取消非法視圖ID。 ID必須以/

任何人都可以在不進入實施細節的情況下幫助完成此設計?有沒有更簡單的方法來實現這一點?

回答

0

However my implementation is getting the error: java.lang.IllegalArgumentException: Illegal view ID cancel. The ID must begin with /

這幾乎肯定是控制器操作方法返回的對象的問題。

示例方法autoRun()返回一個PageReference。你的方法返回什麼?它應該是一個PageReference或null。

0

更簡單的方法是直接在自定義按鈕中使用AJAX Toolkit,而不是使用Apex。也就是說,它會是這樣的:

{!REQUIRESCRIPT("/soap/ajax/13.0/connection.js")} 

var contractObj = new sforce.SObject("Contract"); 
contractObj.Id='{!Contract.Id}'; 
contractObj.Status='Your New Status Value Here'; 
var result=sforce.connection.update([contractObj]); 

if (result[0].success=='false') { 
    alert(result[0].errors.message); 
} else { 
    location.reload(true); 
} 
相關問題