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;
}
... 処理の本体 ...