Wagby関数を利用する
最終更新日: 2022年10月28日
R8 | R9
多くの関数は、接頭語 "ExcelFunction." を付与することで利用できます。
次の関数はスクリプト内部では利用できません。
同様のことをJavaScriptプログラミングで記述することができます。SUM関数の例をこちらに示します。
次の関数は「代替表記」を利用してください。
利用方法
customer.autoid = ExcelFunction.NUMTOJTEXT(1234, 1, 0);
利用できない関数
Javaクラスによって代替する関数
("p"は暗黙オブジェクトとして、スクリプト内で利用できます。)
区分
関数名
代替表記
注記
数値
RAND()
JFCUtils.__rand("項目ID",p)
数値
RANDBETWEEN(開始,終了)
JFCUtils.__randbetween("項目ID",p,開始,終了)
文字列
RANDSTR(桁数)
JFCUtils.__randstr("項目ID",p,桁数)
日付時刻
TODAY()
p.request.getAttribute("__jfc_V_TODAY")
日付時刻
NOW()
p.request.getAttribute("__jfc_V_NOW")
日付時刻
WORKDAY(開始日,日数)
HolidayManager.getInstance().getEigyoDayAsSQLDate(開始日,日数)
日付時刻
NETWORKDAYS(開始日,終了日)
HolidayManager.getInstance().getRestDay(開始日,終了日)
権限
HASMODELPERMISSION(引数文字列)
JFCUtils.isValidPermission(p.user,引数文字列)
権限
HASPRINCIPAL(引数文字列)
JFCUtils.hasPrincipal(p.user,引数文字列)
アカウント
USERNAME()
((p.user!==null)?p.user.getUsername():"")
アカウント
USERINFO(引数文字列)
JFCUtils.getJuserAttribute(p,引数文字列)
アカウント
JGROUPID()
JFCUtils.getJgroupid(p.user)
画面制御
BROWSERTYPE()
p.request.getAttribute("__jfc_browser_type")
画面制御
EVENT()
JFCUtils.getEvent(p)
画面制御
RESULTSIZE()
JFCUtils.getResultSize(p)
画面制御
SCREENID()
p.request.getAttribute("__jfc_screen_id")
p.request.getAttribute("__jfc_screen_nid")
(*4)
画面制御
SCREENTYPE()
p.request.getAttribute("__jfc_screen_type")
画面制御
WIZARDPAGE()
JFCUtils.getWizardPage(p)
国際化
LOCALE()
JFCUtils.getLocale(p)
リソース
MESSAGE()
JFCUtils.Message(p, "M0001")
JFCUtils.Message(p, "M0002", "hello")
リソース
ERRORMESSAGE()
JFCUtils.ErrorMessage(p, "E0001")
JFCUtils.ErrorMessage(p, "E0002", "hi")
ワークフロー
FLOWSTATUS("モデルID",主キー)
JfcworkstateServiceImpl.PARTICIPANTNODENAME(p,"モデルID",主キー)
(*1)
ワークフロー
WF_CURRENT_USERID("モデルID",主キー)
JfcworkstateServiceImpl.WFCURRENTUSERID(p,"モデルID",主キー)
(*1)
ワークフロー
WF_NEXT_USERID("モデルID",主キー)
JfcworkstateServiceImpl.WFNEXTUSERID(p,"モデルID",主キー)
(*1)
ワークフロー
WF_USERID()
モデル名(キャメル記法)Helper.wf_nextuserid(p,"モデルID",ストアモデル)
(*2)
ワークフロー
WF_CURRENT_GROUPID("モデルID",主キー)
JfcworkstateServiceImpl.WFCURRENTGROUPID(p,"モデルID",主キー)
(*1)
ワークフロー
WF_NEXT_GROUPID("モデルID",主キー)
JfcworkstateServiceImpl.WFNEXTGROUPID(p,"モデルID",主キー)
(*1)
ワークフロー
WF_GROUPID()
モデル名(キャメル記法)Helper.wf_nextgroupid(p,"モデルID",ストアモデル)
(*2)
ワークフロー
WF_IS_ADMITUSER()
モデル名(キャメル記法)Helper.wf_isadmituser(p,"モデルID",ストアモデル)
(*2)
外部連携
REQUEST()
p.request
外部連携
SESSION()
p.request.getSession()
(*3)
外部連携
ISREST()
JFCUtils.isRestAPI(p)
外部連携
HTTPSEND(url, "ユーザID:パスワード")
ExcelFunction.httpsend(p.request, url, "ユーザID:パスワード")
外部連携
HTTPSEND(url, 接続タイムアウト, 読み込みタイムアウト, リトライ回数)
ExcelFunction.httpsend(p.request, url, 接続タイムアウト, 読み込みタイムアウト, リトライ回数)
外部連携
HTTPSEND(url, 接続タイムアウト, 読み込みタイムアウト, リトライ回数, "ユーザID:パスワード")
ExcelFunction.httpsend(p.request, url, 接続タイムアウト, 読み込みタイムアウト, リトライ回数, "ユーザID:パスワード")
その他
CLIENTHOST()8.5.9
JFCUtils.getRealIP(p)
その他
CLIENTHOSTNAME()8.5.9
JFCUtils.getClientHostname(p)
R8.5.8までは、JFCUtils#getRealIPを呼び出している。R8.5.9以降はJFCUtils#getClientHostnameを呼び出すようになった。
その他
SERVERHOSTNAME()
JFCUtils.getServerIP()
集合関数
AGCOUNT(項目名)
JFCUtils.getAggregateCount(p, "モデルID", "項目ID")
集合関数
AGSUM(項目名)
JFCUtils.getAggregateSum(p, "モデルID", "項目ID")
集合関数
AGAVG(項目名)
JFCUtils.getAggregateAvg(p, "モデルID", "項目ID")
集合関数
AGMAX(項目名)
JFCUtils.getAggregateMax(p, "モデルID", "項目ID")
集合関数
AGMIN(項目名)
JFCUtils.getAggregateMin(p, "モデルID", "項目ID")
例
呼び出される画面によって、処理をスキップさせる
var screen_id = p.request.getAttribute("__jfc_screen_id");
if (screen_id !== null && screen_id === "XXX") { /* 画面名を指定する */
return;
}
... 処理の本体 ...