仕事でkintoneを使って予算管理を行えないか!?的な話に巻き込まれた。
kintoneなんて使ったこともないし、今後も使うつもりはないが、一応フィジビリティしたのでメモ。
ユーザ・権限管理とアプリ実装の2本立てでまとめており、ユーザー。権限管理編はこちら。
前提事項と要件
ユーザーと組織、権限関連はユーザー・権限監理編参照。
それ以外の機能要件は以下。
- 費目はマスタから選択式とする
- 承認稟議のワークフロー。承認申請→承認or差し戻し→承認済
- 一度の申請で複数の予算申請が行えるようにする
- それぞれの申請に添付ファイルを付けられる
作った物
実際の設定
まずフォームの設定は以下。
「一度の申請で複数の予算申請が行えるようにする」と「それぞれの申請に添付ファイルを付けられる」の要件に対応するために申請欄はテーブルにして、入力時に+で行をどんどん増やせるようにしている。
また、「勘定科目」と「勘定科目コード」の部分は別で管理者用のアプリ「勘定科目マスタ」を作っておき、そちらの値をルックアップで参照させている。
ちなみに勘定科目マスタは以下。どうやらkintoneはアプリ=Webアプリというイメージではなく、アプリ=テーブルとそれを表示するスプレッドシートというイメージが近い。
マスタテーブルを持つにも、一つ一つアプリとして作らないといけない。
次に設定タブの内容。
まずはアプリ側での権限設定。
ユーザー・権限管理編に記載のある参照権限・編集権限・削除権限を満たすようにレコード単位に権限設定する。
開発もコンサルも基本的には同じ設定。
左側で「作成者が “開発(もしくはコンサル)” の場合」を設定し、右側で、
- 役職がDirectorの場合はフル権限
- 作成者の場合もフル権限
- 組織が 作成者と同じ組織(すなわち開発もしくはコンサル) の場合は閲覧と編集が可能
- everyoneから全ての権限を削除
している。これで、開発部門が作成してレコードは、同じ開発部門に所属している人なら閲覧と編集ができ(コンサルも同様)、ディレクターは部門横断で閲覧・編集・削除が行える。
最後に一般設定のプロセス管理でワークフローの設定を行う。
そしてこれがプロセス管理の設定。
みたまんまなのでそこまで説明はいらないと思う。「承認待ち」ステータスの作業者はDirectorsになっており、これで承認申請を出せる先はDirectorsのロールを持っている人に限定される。
まとめ
今回初めてkintoneを触ってみて、噂ではめちゃくちゃ簡単と聞いていたが、本当にめちゃくちゃ簡単だった。
ユーザー部門がライトに使うなら全然お勧めしても良いと思った。
ただ、マスタテーブル参照がいちいちアプリ作らないといけなかったり、フォームとオブジェクト(テーブル)が分かれていないのはちょっと複雑なことやろうとするとめちゃくちゃめんどくなりそうな気がするので、あくまでも特定のユーザー部門内で完結するレベルまでの適用に留めておいた方が良さそう。