Wagby関数を利用する
最終更新日: 2023年7月31日
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")
日付時刻
NOWM()9.2.2
p.request.getAttribute("__jfc_V_NOWM")
日付時刻
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, 接続タイムアウト(ms), 読み込みタイムアウト(ms), リトライ回数)
ExcelFunction.httpsend(p.request, url, 接続タイムアウト(ms), 読み込みタイムアウト(ms), リトライ回数)
外部連携
HTTPSEND(url, 接続タイムアウト(ms), 読み込みタイムアウト(ms), リトライ回数, "ユーザID:パスワード")
ExcelFunction.httpsend(p.request, url, 接続タイムアウト(ms), 読み込みタイムアウト(ms), リトライ回数, "ユーザID:パスワード")
外部連携
WEBAPI(url, リクエストに付与するヘッダ文字列)9.2.0
ExcelFunction.webapi(p.request, url, リクエストに付与するヘッダ文字列)
外部連携
WEBAPI(url, リトライ回数, リクエストに付与するヘッダ文字列)9.2.0
ExcelFunction.webapi(p.request, url, リトライ回数, リクエストに付与するヘッダ文字列)
外部連携
WEBAPI(url, リクエストに付与するヘッダ文字列, 接続タイムアウト(ms), 読み込みタイムアウト(ms), リトライ回数, リクエストに付与するヘッダ文字列)9.2.0
ExcelFunction.webapi(p.request, url, 接続タイムアウト(ms), 読み込みタイムアウト(ms), リトライ回数, リクエストに付与するヘッダ文字列)
その他
CLIENTHOST()9.1.0
JFCUtils.getRealIP(p)
その他
CLIENTHOSTNAME()9.1.0
JFCUtils.getClientHostname(p)
R9.0.0〜R9.0.4までは、JFCUtils#getRealIPを呼び出している。R9.1.0以降はJFCUtils#getClientHostnameを呼び出すようになった。
その他
SERVERHOSTNAME()
JFCUtils.getServerIP()
その他
GETENV(環境変数名)
JFCUtils.getEnv(環境変数名)
集合関数
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;
}
... 処理の本体 ...