1

標準の Salesforce 契約オブジェクトのステータス フィールドを更新しようとしています。カスタム レイアウトを使用しているため、これを実現するには、単純にボタンを上部に配置することをお勧めします。http://sfdc.arrowpointe.com/2009/01/08/invoke-apex-from-a-custom-button-using-a-visualforce-page/で説明されている方法を使用してみました。

ただし、私の実装では次のエラーが発生します: java.lang.IllegalArgumentException: Illegal view ID cancel. ID は / で始まる必要があります

実装の詳細に入ることなく、この設計を手伝ってくれる人はいますか? これを達成する簡単な方法はありますか?

4

2 に答える 2

0

ただし、私の実装では次のエラーが発生します: java.lang.IllegalArgumentException: Illegal view ID cancel. ID は / で始まる必要があります

これはほぼ確実に、コントローラー アクション メソッドが返すオブジェクトの問題です。

サンプル メソッドautoRun()は PageReference を返します。あなたのメソッドは何を返しますか? PageReference または null のいずれかである必要があります。

于 2013-03-28T03:02:11.373 に答える
0

これを行うための非常に簡単な方法は、Apex を使用するのではなく、カスタム ボタンでAJAX Toolkitを直接使用することです。つまり、次のようになります。

{!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);
}
于 2013-04-04T00:31:43.373 に答える