障害対応管理アプリのプロセスを「完了」にすると、作業を完了した日、担当者(ログインユーザー)を記録するカスタマイズサンプルです。
その他、次の機能も搭載しています。
- 作業完了日フィールドと担当者フィールドを入力不可にする。
- レコード再利用時には、作業完了日と担当者をクリアにする。
- kintoneアプリ(
kintoneアプリストア
にある「
障害対応管理
」アプリを使います)
- 該当のアプリは、https://(サブドメイン).cybozu.com/k/#/market/から追加できます。
- 「受け付け番号」フィールドは使用しないため、フォームから削除してください。
- エディター
PC用のJavaScriptファイル
固定リンクがコピーされました
詳細設定から「JavaScript / CSSによるカスタマイズ」を開き、
Cybozu CDN
から次のライブラリを指定します。
JavaScriptサンプル
固定リンクがコピーされました
次のサンプルプログラムを参考にして、ファイル名をsample.js
、文字コードを「UTF-8」、BOMなしで作成します。
ファイル名は任意ですが、ファイルの拡張子は「js」にしてください。
保存したファイルは、「JavaScript / CSSによるカスタマイズ」画面でアップロードして保存します。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
/*
* 障害対応管理アプリのサンプルプログラム
* Copyright (c) 2021 Cybozu
*
* Licensed under the MIT License
*/
(() => {
'use strict';
const date = luxon.DateTime.local();
// レコード登録/編集画面の表示時
const eventsCreateShow = ['app.record.create.show', 'app.record.edit.show', 'app.record.index.edit.show'];
kintone.events.on(eventsCreateShow, (event)=> {
const record = event.record;
// 編集不可フィールドの設定
record['作業完了'].disabled = true;
record['担当者'].disabled = true;
if (event.type === 'app.record.create.show') {
// 本日から2日後を指定
record['作業期限'].value = date.plus({days: 2}).toISODate();
record['作業完了'].value = null;
record['担当者'].value = [];
}
return event;
});
// プロセス管理アクション実行時
kintone.events.on('app.record.detail.process.proceed', (event)=> {
const record = event.record;
const nStatus = event.nextStatus.value;
// ステータスが「完了」の場合、作業完了日と担当者を設定する
if (nStatus === '完了') {
const user = kintone.getLoginUser();
record['作業完了'].value = date.toISO();
record['担当者'].value[0] = {code: user.code};
}
return event;
});
})();
|
「JavaScript / CSSによるカスタマイズ」画面でそれぞれ設定した例を紹介します。
-
イベント処理の記述方法
-
レコード追加画面を表示した後のイベント
-
レコード編集画面を表示した後のイベント
-
レコード一覧画面のインライン編集を開始したときのイベント
-
プロセス管理でアクションを実行するときのイベント
デモ環境
で実際に動作を確認できます。
ログイン情報は
cybozu developer networkデモ環境
で確認してください。