完了してしまったケースをボタンひとつでエスカレーション済みの状態に戻すことができないかなということで、カスタムボタンで実装してみました。

まずはケースのカスタマイズでカスタムボタンを作成します。

完了したケースをエスカレーション済みに変更するカスタムボタンを作る 01

カスタムボタンで実行するJavaScriptはこんな↓↓↓感じで設定しています。

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

var id = "{!Case.Id}";

if ( id == "" ) {
	alert( "更新するデータがありません。" );
} else {
	if ( confirm( "ステータスを変更します。よろしいですか?" ) ) {
		var update_SObject = new sforce.SObject( "Case" );
		update_SObject.Id = id;
		update_SObject.Status = "エスカレーション済";

		var updateRecords = [];
		updateRecords.push( update_SObject );

		// データ更新
		result = sforce.connection.update( updateRecords );

		// 画面を再読み込み
		parent.location.href = parent.location.href;
	}
}

カスタムボタンを作ったら、それをページレイアウトの編集で設置します。

完了したケースをエスカレーション済みに変更するカスタムボタンを作る 02

すると、ケースの詳細ページにカスタムボタンが表示されて、ポチッと押すと状況が「エスカレーション済み」に更新されました。

完了したケースをエスカレーション済みに変更するカスタムボタンを作る 03

こういうところはSalesforceのすごい!部分ですね。