🍣

kintoneで複雑な申請ワークフローを組む

に公開

はじめに

https://jp.cybozu.help/k/ja/user/app_settings/process/sample_flow.html
kintoneにはワークフローがあるが、今回トリッキーなワークフローを組む必要があった。

  • 申請内にテーブルがあり、そのテーブル内で部署を設定する
  • 設定された部署によって承認プロセスが変化する

という感じ(実際の仕様とは異なる)。

そこで設定したのは

  1. javaScriptで「フロー種別」という文字列に文字を設定
  2. フロー種別の情報をもとにワークフローを分ける
    というものになる。

例えば本社内の部署と支社の部署が2つ設定された場合は、まず本社の承認が行われ、次に支社の承認が行われるようにする。

フロー種別について

固定長の文字にする。左から先に承認が走る形が比較的単純に設計できると思う。
例えば本社、支社、海外支社すべて含む場合は「本支外」、本社のみの場合は「本__」となる。

JavaScript

ワークフロー

1. 本社の承認

フロー種別が次のキーワードを含む:'本__' → 完了(支社承認にいかない)
フロー種別が次のキーワードを含む:'支' → 支社承認
フロー種別が次のキーワードを含む:'_外' → 海外支社承認

2. 支社の承認

フロー種別が次のキーワードを含む:'支_' → 完了
フロー種別が次のキーワードを含む:'外' → 海外支社承認

終わりに

申請は大まかに

  1. その申請が妥当かどうかの承認
  2. 申請の対応

の2つに作業フローが分かれるが、対応部分については並行的なアサインでも良かった。なので、

  1. その申請が妥当かどうかの承認
    • 順番に承認がされる。部長→役員→社長など。
  2. 申請の対応
    • 対応の必要があるものが全員作業者となる。申請内部にそれぞれステータスのプルダウンを用意して、各自作業が終わればプルダウンを完了にするなどを行う。

が対応エリアを分けることができてよかったかもしれない。ただし、対応後に確認を要するようなケースもある(これは社内的な調整でいけそうだが...)。

Discussion