直接呼び出せないため、コントローラ(APEX)通して、呼び出し。
カスタムボタン OnClick JavaScript
var status1 = "{!Sobject.status__c}";
if(status1 == "作成中" ){
var errMsg = "完成していません。";
window.alert(errMsg);
}
else{
var msg = XXXX + "作成します。よろしければ、OKを押下してください。";
if(window.confirm(msg)){
var url = "/apex/testPage?id={Sobject__c.Id}";
var windowName = "作成";
var style = "width=10px,height=10px";
window.open(url, windowName, style);
}
}page
<apex:page id="page" controller="myController" showHeader="false" sidebar="false" action="{!init}">
<script type="text/javascript">
window.onload = function(){
var isCloseFlg = {!isCloseFlg};
if(isCloseFlg == true){
window.close();
}
}
</script>
</apex:page>apex
public without sharing class myController {
/* ====== メンバ変数定義 ====== */
public Boolean isCloseFlg {get; set;} // 閉じるフラグ
/* ====== コンストラクタ ====== */
public myController(){
isCloseFlg = false;
}
public void init(){
// URLパラメータ取得
String Id = ApexPages.currentPage().getParameters().get('id');
// いろいろ処理
// バッチ呼び出し
TestBatch btc1 = new TestBatch(Id);
Id btcId1 = Database.executeBatch(btc1, btcSize);
isCloseFlg = true;
}
この記事では、SalesforceのApex言語を使用したカスタムボタンとページの実装例を紹介します。具体的には、JavaScriptを用いた条件判断とウィンドウ操作、Apexによるデータ処理とバッチジョブの呼び出し方法について説明しています。
492

被折叠的 条评论
为什么被折叠?



