はじめに
プロセス管理のアクションボタンを押してステータス変更をする時に、フィールド値をセットしたいというケースがあります。
例えば、
・ステータス変更時間をフィールドに保存する
・チェックボックスの値を変更する
などです。
今回はそのようなケースでの設定方法を色々と紹介します。
標準機能でステータス変更するときにフィールド値を変える
kintone標準でステータス変更をした時にフィールド値を変更したい場合は「プロセス管理のアクションを実行した時」で「フィールドに値をセットする」や「フィールド値をクリアする」を使います。
また、「フィールドの選択を追加する」や「フィールドの選択を解除する」を使うことも可能です。
レコード保存時にフィールド値を変えてステータス変更する
レコード保存時に自動でステータス変更することも可能です。レコードを保存したが申請を忘れているという事が防げます。
この場合は「レコードを保存する直前(削除時は除く)」でフィールドに値をセットしておき、「レコードを保存した直後(削除後は除く)」でステータスを変更します。
フィールドに値をセットについてはこちらのページをご確認ください。「タイトルに「名前+日付」を結合してみよう!」
ステータスの変更については、こちらのページをご確認ください。「レコード保存後に自動でステータス更新!」
追加したボタンを押した時にフィールド値を変えてステータス変更する
作業者を設定しないが操作するユーザーを制限したい場合で、同時にフィールド値を変えたい場合は次のような設定になります。
「ボタンを押した時」に「フィールドの選択を解除する」や「フィールドに値をセットする」でフィールドに値をセットします。複数のフィールドに値をセットしたい場合は、必要な数だけアクションを追加してください。
この時に、更新フラグフィールドを用意しておき、「フィールドに値をセットする」で = now() をセットします。
こうすることで、「レコードが自動的に保存された時」が発動するので、「ステータスを変更する(現在のレコード)」が実行されます。
これによりレコード更新の競合によるエラーを回避して、ステータスを変更することが出来ます。
なお、競合するとこのようなエラーになります。
番外編
管理者以外の場合はステータス変更は作業者しか出来ません。(作業者が設定されている場合のみ。設定されていなければ誰でも出来ます)
そのため、ステータス変更自体が出来ないという場合は良くあります。
その場合は、次のページのような方法で変更することが可能です。
まとめ
ステータス変更時にフィールド値を変える事は可能ですが、どのような方法でステータス変更するかによって「やること」や「条件」の組み合わせが変わります。
紹介した方法を参考に色々とお試しください。