オポチュニティ ステージを簡単に変更できるカスタム ボタン [Submit Order] があります。
しかし、ステージを変更する前にいくつかの検証チェックを追加したい
これが私の頂点クラスです
global class SubmitOrder {
public SubmitOrder(ApexPages.StandardController controller)
{
}
Webservice static string Submit(string oppId)
{
string message = '';
try
{
List<Opportunity> listOpp = new List<Opportunity>();
Opportunity oppNew = [SELECT id, StageName, Destination_Zone__c, Sold__c FROM Opportunity WHERE Id = :oppId];
boolean flag = true;
if(oppNew.StageName!= 'To Be Searched' && oppNew.StageName != 'Search')
{
oppNew.StageName.addError('Stage should be \'To Be Searched\' or \'Presentation\' or \'Search');
flag = false;
}
if( oppNew.Destination_Zone__c == '')
{
oppNew.Destination_Zone__c.addError('Destination Zone is required');
flag = false;
}
if(oppNew.Sold__c < 0)
{
oppNew.Sold__c.addError('Sold is required');
flag = false;
}
if(flag)
{
oppNew.StageName = 'Ticketing';
listOpp.add(oppNew);
if (listOpp != null && !listOpp .isEmpty())
{
Database.update(listOpp);
}
message ='Saved Successfully';
}
catch(System.CalloutException e)
{
message = e.getMessage();
}
return message;
}
}
カスタムボタンの呼び出しは
{!REQUIRESCRIPT("/soap/ajax/10.0/connection.js")}
{!REQUIRESCRIPT("/soap/ajax/10.0/apex.js")}
var oppId= "{!Opportunity.Id}";
var result = sforce.apex.execute("SubmitOrder","Submit",{oppId:oppId });
しかし、次のエラーが発生します
sObject 行はエラーを許容しません
どんな助けでもいただければ幸いです
前もって感謝します