コンテンツにスキップ

ビルトイン関数

ワークフローのビルトインテーブルへのレコード挿入、更新、削除を行う関数です。

Tips

$fn.createCase

$caseテーブルに新規レコードを登録します。

引数

名前説明
paramobject入力オブジェクト
プロパティ説明
databasestringビルトインテーブルのあるデータベース
status_idstringステータス ID
owner_idstring次の担当者の User ID

戻り値

説明
Promise<{case: Case}>case プロパティを持つオブジェクト
プロパティ説明
caseCaseCase オブジェクト

Tips

サンプル

const user = await $fn.getCurrentUser();
const param = {database: 'mydb', status_id: 'saved', owner_id: user.userId};
const obj = await $fn.createCase(param);
const case_obj = obj.case;
const case_id = case_obj.case_id;
$param['case_id'] = case_id;
$fn.nextUI('UI02');

$fn.updateCase

$caseテーブルに対してcase_idを条件に対象の案件を引数に従って更新します。

引数

名前説明
paramobject入力オブジェクト
プロパティ説明
databasestringビルトインテーブルのあるデータベース
case_idstring案件 ID
status_idstringステータス ID
owner_idstring次の担当者の User ID

戻り値

説明
Promise<{case: Case}>case プロパティを持つオブジェクト
プロパティ説明
caseCaseCase オブジェクト

Tips

サンプル

const selectUser = $ui.wf_combo_field.value;
let caseId = $ui.case_id_field.value;
const param = {database: 'mydb', case_id: caseId, status_id: 'applying', owner_id: selectUser};
const obj = await $fn.updateCase(param);
const case_obj = obj.case;
const case_id = case_obj.case_id;
$param['case_id'] = case_id;
$fn.nextUI('UI02');

$fn.remandCase

$caseテーブルに対してcase_idを条件に対象の案件を引数に従って更新します。$caseテーブルのstatus_idとowner_idは、$case_historyテーブルの履歴から前回のステータスIDと担当者に更新します。

引数

名前説明
paramobject入力オブジェクト
プロパティ説明
databasestringビルトインテーブルのあるデータベース
case_idstring案件 ID

戻り値

説明
Promise<{case: Case}>case プロパティを持つオブジェクト
プロパティ説明
caseCaseCase オブジェクト

Tips

サンプル

let caseId = $ui.case_id_field.value;
const param = {database: 'mydb', case_id: caseId};
const obj = await $fn.remandCase(param);
const case_obj = obj.case;
const case_id = case_obj.case_id;
$param['case_id'] = case_id;
$fn.nextUI('UI02');

$fn.withdrawCase

$caseテーブルに対してcase_idを条件に対象の案件を引数に従って更新します。$caseテーブルのowner_idは、$fn.withdrawCaseを実行したユーザ(=サインインユーザ)で更新します。

引数

名前説明
paramobject入力オブジェクト
プロパティ説明
databasestringビルトインテーブルのあるデータベース
case_idstring案件 ID
status_idstringステータス ID

戻り値

説明
Promise<{case: Case}>case プロパティを持つオブジェクト
プロパティ説明
caseCaseCase オブジェクト

Tips

サンプル

let caseId = $ui.case_id_field.value;
const param = {database: 'mydb', case_id: caseId, status_id: 'saved'};
const obj = await $fn.withdrawCase(param);
const case_obj = obj.case;
const case_id = case_obj.case_id;
$param['case_id'] = case_id;
$fn.nextUI('UI02');

$fn.rejectCase

$caseテーブルに対してcase_idを条件に対象の案件を引数に従って更新します。$caseテーブルのowner_idは空白で更新します。

引数

名前説明
paramobject入力オブジェクト
プロパティ説明
databasestringビルトインテーブルのあるデータベース
case_idstring案件 ID
status_idstringステータス ID

戻り値

説明
Promise<{case: Case}>case プロパティを持つオブジェクト
プロパティ説明
caseCaseCase オブジェクト

Tips

サンプル

let caseId = $ui.case_id_field.value;
const param = {database: 'mydb', case_id: caseId, status_id: 'saved'};
const obj = await $fn.rejectCase(param);
const case_obj = obj.case;
const case_id = case_obj.case_id;
$param['case_id'] = case_id;
$fn.nextUI('UI02');

$fn.getWorkflowDef

ワークフローエディタで定義したワークフロー定義情報を取得する

引数

なし

戻り値

説明
array[node]各ノードのオブジェクトを持つ配列
プロパティ説明
nodeNodeNodeオブジェクト
オブジェクトプロパティ説明
NodenodeIdStringノードID(start | end | 任意の値)
nodeLabelStringノードラベル
nodeTypeStringノードタイプ(start | stauts | end | operation)
statusUiString割り当てUI(none | 任意の値)
operationTypeStringオペレーションタイプ(none | create | update | remand | reject )
nextOwnerString次のオーナー(none | select_user | current_user)

サンプル

/* SQL 関数の内容
* ------------------------------------------------------------------------------------
* SELECT * FROM $case_history;
* ------------------------------------------------------------------------------------
*/
// SQL関数で案件レコードの履歴データを取得
const case_history = await caseSelect();
// ワークフロー定義情報を取得
const def = await $fn.getWorkflowDef();
// ワークフロー定義情報からノードラベルを取得
const array = case_history.data.map(value => {
return {
case_history_id: value.id,
case_id: value.case_id,
before_status_label: def.find(e => e.nodeId === value.before_status_id)?.nodeLabel,
after_status_label: def.find(e => e.nodeId === value.after_status_id)?.nodeLabel,
before_owner_id: value.before_owner_id,
after_owner_id: value.after_owner_id,
update_time: value.update_time
}
})
// 案件レコードの履歴を表示
$ui.case_history_table.value = array;