JavaScriptの使用およびその動作に関する保証はしておりません(HTMLも同様)。
JavaScript、JQueryおよびHTMLの使用経験者を対象としています。| データ項目 |
データ項目を設定し、プロセスを通じてやりとりされるデータ項目を定義します。 データ項目ごとに、[名称]・[データタイプ]・[入力条件]などを設定します。 |
|---|---|
| データタイプ詳細 | データ項目の各データタイプに関するプロパティを説明します。 |
| JavaScriptを使用した データ項目の操作 |
JavaScriptを使用して、タスク処理時にデータ項目のデータを取得・編集・設定を行う方法を紹介します。 |
データ項目設定画面に関する詳細は、「データ項目」を参照してください。
データ編集許可設定が、「編集可」または「表示のみ」で取得することができます。
データ編集許可設定が、「編集可」で更新することができます。
表示上の値を変更するだけで、タスクの保存や完了をしない限りサーバ上の値は更新されません。
データタイプ別の参照方法に関する詳細は、こちらを参照してください。
手動での値の更新のほかに、qbpms.form.set()で値を更新した場合にもchangeイベントは発生します。
「メッセージ開始イベント(フォーム)」にて、ファイル型データ項目でのchangeイベントは発生しません。
イベントハンドラの記述方法に関する詳細は、こちらを参照してください。| 件名 | プロセスの件名を入力するデータタイプです。 |
|---|---|
| 文字型 | 文字を入力するデータタイプです。 |
| 数値型 | 数値(整数・小数)を入力するデータタイプです。 |
| 選択型 | 1つまたは複数の選択肢から選ぶデータタイプです。 |
| 日付型 | カレンダーから指定の日付を選択または日付を入力するデータタイプです。 |
| 日時型 | カレンダーおよびプルダウンから指定の日時を選択または日時を入力するデータタイプです。 |
| ユーザ型 | ユーザを選択するデータタイプです。 |
| 組織型 | 組織を選択するデータタイプです。 |
| テーブル型 | テーブル形式でデータを入力するデータタイプです。 |
| ファイル型 | ファイルを選択し、アップロードするデータタイプです。 |
| 掲示板型 |
掲示板にデータを入力するデータタイプです。 未対応となっています。
|
| ガイドパネル型 |
タスク処理画面に情報を表示するデータタイプです。 未対応となっています。
|
値が未設定の場合は、「編集可」では空文字列、「表示のみ」ではnullとなります。
nullを指定すると、値をクリアします。
let title = qbpms.form.get("title");
let strTitle = "プロセスの件名";
qbpms.form.set("title", strTitle);
値が未設定の場合は、「編集可」では空文字列、「表示のみ」ではnullとなります。
nullを指定すると、値をクリアします。
let title = qbpms.form.get("q_string");
qbpms.form.set("q_string1", "文字列");
qbpms.form.set("q_string2", "複¥n数¥n行¥nの¥n文字列"); //複数行
値が未設定の場合は、nullとなります。
文字列の場合は、設定値がそのまま入力フィールドにセットされます。
文字列以外の場合は、設定値がデータ項目定義のフォーマットに従って変換された文字列が入力フールドにセットされます。
nullを指定すると、値をクリアします。
let strNum = "null";
let obj = qbpms.form.get("q_numeric");
if (obj !== null) {
strNum = obj.toString();
}
qbpms.form.set("q_numeric1", "1001.101");
qbpms.form.set("q_numeric2", new Number("1002.102"));
qbpms.form.set("q_numeric3", new Big("1003.103"));
qbpms.form.set("q_numeric4", 1004.104);
選択肢オブジェクトは、value(選択肢ID)およびdisplay(表示ラベル)のプロパティを持ちます。
値が未設定の場合は、空の配列となります。
文字列の場合は、選択肢IDをセットします。
単一選択(チェックボックス以外)で複数要素の配列を渡した場合は、先頭の値がセットされます。
空の配列またはnullを指定すると、値をクリア(選択が解除)します。
let array1 = qbpms.form.get("q_radioButton");
let display1 = array1[0].display; //表示ラベル
let array2 = qbpms.form.get("q_checkBox");
let value2 = array2[1].value; //2つ目の選択肢の選択肢ID
qbpms.form.set("q_radioButton", "true");
qbpms.form.set("q_selectBox", ["true", "false"]); // ひとつ目"true"がセットされる
qbpms.form.set("q_checkBox", ["true", "false"]);
値はシステムのタイムゾーンの時刻として解釈されます。
サブタイプの設定によって入力されない年月日フィールドについては「2000-01-01」の値で補完されます。
時刻については「00:00:00」の値で補完されます。
値が未設定の場合は、nullとなります。
Dateオブジェクトの場合は、システムのタイムゾーンに変換された値が入力フィールドにセットされます。
文字列の場合は、そのままの値が入力フィールドにセットされます。
nullを指定すると、値をクリア(空をセット)します。
let date = qbpms.form.get("q_YMD");
let dateStr = date.toDateString();
qbpms.form.set("q_YMD", new Date());
qbpms.form.set("q_YM", "2022-08");
処理されるフォームに応じて、値は次のタイムゾーンの時刻として解釈されます。
値が未設定の場合は、nullとなります。
Dateオブジェクトの場合は、処理されるフォームに応じて、値は次のタイムゾーンに変換された値が入力フィールドにセットされます。
文字列の場合は、そのままの値が入力フィールドにセットされます。
nullを指定すると、値をクリア(空をセット)します。
let datetime = qbpms.form.get("q_datetime");
qbpms.form.set("q_datetime1", new Date(datetime.getTime() + (60 * 60 * 1000))); //60分後
qbpms.form.set("q_datetime2", "2022-08-08 11:11");
id(数値)、name(名前: 文字列)およびemail(メールアドレス:文字列)を属性として持ちます。
値が未選択の場合は、nullとなります。
メールアドレスを指定すると、そのメールアドレスを持つユーザがセットされます。
nullを指定すると、値をクリア(選択を解除)します。
let userName = qbpms.form.get("q_user").name;
qbpms.form.set("q_user", "Sato@example.com");
id(数値)、name(名前: 文字列)およびemail(メールアドレス:文字列)を属性として持ちます。
値が未選択の場合は、nullとなります。
保持されている値が削除済みの組織の場合は、idがnullとなります。
組織名を指定すると、その組織名を持つ組織がセットされます。
nullを指定すると、値をクリア(選択を解除)します。
let orgId = qbpms.form.get("q_org").id;
qbpms.form.set("q_org", "営業部");
値が未設定の場合、「編集可」では"空(行数が0)のListオブジェクト"、「表示のみ」ではnullとなります。
行内の自動計算や、テーブル全体の集計値は再計算されます。
Listオブジェクトを新規に作成することはできません。
他のテーブル型データ項目で取得したListオブジェクトを使用することはできません。
新規に作成することはできません。
行オブジェクトは、テーブル項目(サブデータ項目)の[フィールド名]がプロパティ名である各カラムの値を持つオブジェクトです。
プロパティの値は、テーブル項目(サブデータ項目)のデータ型に応じて次の形式となります。
[フィールド名]が設定されていないテーブル項目(サブデータ項目)は含まれません。
let table = qbpms.form.get("q_table1");
let table_size = table.size();
let row1 = table.getRow(1); //行番号「1」の行オブジェクト
let selected = row1.select.display; //選択型テーブル項目の値(表示ラベル)
let rowObject = {
"str":"行更新1",
"num1":"1111.11",
"num2":new Big("2222"),
"select":{"value":"a"},
"date":"2022-08-08"
};
let table = qbpms.form.get("q_table1");
table.updateRow(1, rowObject);
qbpms.form.set("q_table1", table);
ファイルオブジェクトは次の属性を持ちます。
ファイルオブジェクトには、ファイルの実体は含まれません。
フォーム画面にて、削除ボタンで非選択状態になったファイルは配列には含まれません。
ファイルが存在しない場合は空の配列になります。
「メッセージ開始イベント(フォーム)」では、ファイル型データ項目の情報は取得できません。
let files = qbpms.form.get("q_file");
let fileName = files[0].name; //1番目のファイルの名前
未対応
function user_readyHandler(e) {
window.alert("Hello world!");
}
qbpms.form.on("ready", user_readyHandler);
function user_addedEvent(e) {
window.alert("値が更新されました: " + e.value);
}
qbpms.form.on("change", "q_string1", user_addedEvent);
CORS設定に関する詳細は、「CORS」を参照してください。