Index
イベント
eventオブジェクトで実行できる操作
その他
イベント
レコード詳細画面の表示後イベント
レコード詳細画面が表示された後に発生するイベントです。
- PC用とスマートフォン用で利用できます。
- スペースに貼りつけたアプリには利用できません。
- kintone.Promiseオブジェクトをreturnすると、非同期処理の完了を待って次の処理を開始します。
イベントタイプ
環境 | イベントタイプ | イベントが発生するタイミング |
---|---|---|
PC用 | app.record.detail.show |
|
スマートフォン用 |
mobile.app.record.detail.show |
|
eventオブジェクトのプロパティ
プロパティ名 | 型 | 説明 |
---|---|---|
appId | 数値 | アプリID |
record | オブジェクト |
レコード詳細画面が表示された時のデータを保持したレコードオブジェクト※ ※レコードオブジェクトとは、フィールドコードとフィールドの値などのレコードの情報を含むオブジェクトです。 |
recordId | 数値 | レコードID |
type | 文字列 | イベントタイプ |
eventオブジェクトで実行できる操作
非同期処理の完了を待って次の処理を行う
kintone.Promiseオブジェクトをreturnすることにより、非同期処理の完了を待ってからeventオブジェクトで実行できる操作を実行することができます。
同じイベントに複数のイベントハンドラが登録されているとき、エラーなどが発生してThenableオブジェクトが棄却された場合には、後続のイベントハンドラの処理は実行されません。
記述方法はkintoneにおけるPromiseの書き方の基本を参考にしてください。
サンプル
レコード詳細画面が表示された時にメッセージを表示します。
レコード詳細画面の削除前イベント
レコード詳細画面で削除ボタンをクリックしてポップアップの「削除する」をクリックしたあとに発生するイベントです。
- PC用とスマートフォン用で利用できるイベントです。
- スペースに貼りつけたアプリには利用できません。
- false を return すると削除処理をキャンセルできます
- kintone.Promiseオブジェクトをreturnすると、非同期処理の完了を待って次の処理を開始します。
イベントタイプ
環境 | イベントタイプ | イベントが発生するタイミング |
---|---|---|
PC用 | app.record.detail.delete.submit |
|
スマートフォン用 |
mobile.app.record.detail.delete.submit |
|
eventオブジェクトのプロパティ
プロパティ名 | 型 | 説明 |
---|---|---|
appId | 数値 | アプリID |
record | オブジェクト |
削除対象のレコードデータを保持したレコードオブジェクト※ ※レコードオブジェクトとは、フィールドコードとフィールドの値などのレコードの情報を含むオブジェクトです。 |
recordId | 数値 | レコードID |
type | 文字列 | イベントタイプ |
eventオブジェクトで実行できる操作
- レコードにエラーを表示する をご参照ください。
非同期処理の完了を待って次の処理を行う
kintone.Promiseオブジェクトをreturnすることで、非同期処理の完了を待ってからレコードの削除を実行できます。
同じイベントに複数のイベントハンドラが登録されているとき、エラーなどが発生してThenableオブジェクトが棄却された場合には、後続のイベントハンドラの処理は実行されません。
記述方法はkintoneにおけるPromiseの書き方の基本を参考にしてください。
サンプル
kintone.Promise を利用しない場合
プロセス管理のアクションイベント
プロセス管理機能を有効にしたアプリで、アクションを実行したときに発生するイベントです。 ステータスの変更に複数の作業者によるアクションの実行を必要とする場合など、アクションの実行によってレコードのステータスが変わらない場合でも、このイベントが発生します。
- PC用とスマートフォン用で利用できるイベントです。
- eventオブジェクトをreturnすることでレコード情報を更新できます。(詳細は後述)
※レコード編集権限が必要です。 - false を return した場合アクションがキャンセルされます。
- eventオブジェクトに error プロパティを設定して return した場合、error に設定した文字列でアラートが表示され、アクションがキャンセルされます。
- 不正な値を return した場合エラーが表示されてアクションがキャンセルされます。
- 何も return しない場合ステータスのみが更新されます。
- kintone.Promiseオブジェクトをreturnすると、非同期処理の完了を待って次の処理を開始します。
イベントタイプ
環境 | イベントタイプ | 説明 |
---|---|---|
PC用 | app.record.detail.process.proceed |
|
スマートフォン用 |
mobile.app.record.detail.process.proceed |
|
eventオブジェクトのプロパティ
プロパティ名 | 型 | 説明 |
---|---|---|
action | オブジェクト | 実行したアクション
// オブジェクトのキー {value:"<アクション名(ユーザーの言語設定に従う)>"} |
status | オブジェクト | 変更前のステータス
// オブジェクトのキー {value:"<ステータス名(ユーザーの言語設定に従う)>"} |
nextStatus | オブジェクト | 変更後のステータス
// オブジェクトのキー {value:"<ステータス名(ユーザーの言語設定に従う)>"}※アクションを実行した結果、ステータスが変化しない場合でも、変更後のステータス名を取得できます。 |
record | オブジェクト |
アクションを実行した時点のデータを保持したレコードオブジェクト※ ※レコードオブジェクトとは、フィールドコードとフィールドの値などのレコードの情報を含むオブジェクトです。 |
type | 文字列 | イベントタイプ |
eventオブジェクトで実行できる操作
- フィールドの値を書き換えるをご参照ください。
- レコードにエラーを表示するをご参照ください。
非同期処理の完了を待って次の処理を行う
kintone.Promiseオブジェクトをreturnすることで、非同期処理の完了を待ってからプロセス管理のアクションを実行できます。
同じイベントに複数のイベントハンドラが登録されているとき、エラーなどが発生してThenableオブジェクトが棄却された場合には、後続のイベントハンドラの処理は実行されません。
記述方法はkintoneにおけるPromiseの書き方の基本を参考にしてください。
注意事項
イベント処理の記述方法の注意事項をご確認下さい。
eventオブジェクトで実行できる操作
フィールドの値を書き換える
プロセス管理のアクションイベントで、ハンドラーが record オブジェクトのフィールドの値を書き換えて event オブジェクトを return した場合、その値でフィールドの値を更新します。
- レコード編集権限が必要です。
- PC用とスマートフォン用で利用できます。
- スペースに貼りつけたアプリには利用できません。
- ラジオボタンフィールドで空文字列を指定した場合、初期値の選択肢となります。
- フィールドの編集を不可にしても、値を書き換えることができます。
- 編集権限のないフィールドの値を書き換えた場合はフォームには反映されません。
- 最後のハンドラーが return しない場合、フィールドの値を更新しません。
- 複数のハンドラーが登録されている場合、最後のハンドラーが return した戻り値を基準に反映されます。
書き換えできないフィールド
以下のフィールドは、プロセス管理のアクションイベントのハンドラーでフィールドの値を書き換えて return しても、フォームには反映されません。
- レコード番号
- 作成者
- 作成日時
- 更新者
- 更新日時
- ステータス
- 作業者
- 計算
- 自動計算にした文字列1行
- 添付ファイル
- ルックアップ
- ルックアップコピー先フィールド
レコードにエラーを表示する
ハンドラーが event オブジェクトの error にエラーメッセージを代入して event オブジェクトを return した場合、フィールドの値の書き換えと編集可/不可の設定はキャンセルされ、画面の上部にエラーメッセージが表示されます。
- PC用のみで利用できます。
- スペースに貼りつけたアプリには利用できません。
サンプル
レコード詳細画面の「削除ボタン」クリック時イベントでレコードにエラーを表示します。
その他
関連Tips
お世話になります。
プロセス管理のアクションイベントについて
>kintone.Promiseオブジェクトを return すると、非同期処理の実行を待ってイベントの処理を開始します(PC版のみ)。
ドキュメントに上記の内容で書かれていましたが、スマートフォン版でもkintone.Promiseオブジェクトのreturnを行うと
非同期処理の実行を待ってイベントの処理を開始してくれているようでした。
ドキュメントと実際の動作が異なるようですが、どちらが正しいでしょうか?
Kenta Mizuochi 様
お世話になっております。
cybozu developer network 運営事務局です。
回答が遅くなってしまい、失礼いたしました。
フィードバックいただきありがとうございました。
スマートフォン版でもkintone.Promiseが対応されていることを確認いたしましたので、
ドキュメントを修正させていただきました。
今後ともよろしくお願いいたします。
ご回答ありがとうございました。