STEP3: 出張申請アプリを作る

チュートリアルの最後の課題として、より実用的なものに近付けた出張申請アプリを作成しましょう。STEP2 で作成したアプリを改造して作っていくので、STEP2 のアプリのモデラーを開いてください。「アプリ設定」→詳細ボタンdetail_btn→「編集」です。

バージョンの番号がスクリーンショットと違うと思いますが、気にしなくて大丈夫です。

データ項目の追加

まずデータ項目から編集していきます。出張申請アプリとして適切な入力フォームを作っていきましょう。データ項目タブを開いてください。既に「数値」と「日付」はありますが、それに「日付( 2 つ目になります)」「ユーザ」「文字」の 3 つを追加します。そして各項目の名前を次のように編集してください。

データの種類 名前
数値 金額
日付 開始日
日付( 2 つ目) 終了日
ユーザ 申請者
文字 内容

項目名はデータ項目タブの右側で編集できます。変更したい項目名を左側から選択して、右側のテキストボックスで名前を編集してください。

このようになれば OK です。

次にデータ編集許可設定をします。STEP2 では使わなかった方のエディタを使ってみましょう。データ項目タブの右上にデータ編集許可ボタンがあるので、クリックしてください。

このエディタでの編集許可設定は、データ項目ヒューマンタスクの組み合わせを選択してから行います。「申請」タスクでは「件名」データに書き込めるが、「確認」タスクでは表示しかできないといったように、各データ項目はそれぞれのヒューマンタスクに対して異なる編集許可を出せるのでしたね。例えばこのエディタで、すべてのデータ項目について「申請」タスクにおける編集許可設定をする場合、左側ですべてのデータ項目を選択し、右上のワークフロー図で「申請」タスクを選択することで、右下に編集許可設定ボタンが表示されます。

モデラー左側のデータ項目一覧と右側のワークフロー図、それぞれの上に「選択」プルダウンメニューがあります。メニューから「すべて」を選ぶと、簡単にすべてのデータ項目/タスクを選択できます。

すべてのデータ項目について、「申請」タスクでは「編集可」、「確認」タスクでは「表示のみ」に設定してください。終わったら右上の「戻る」ボタンで戻りましょう。

入力フォームのレイアウト設定

より見やすいように、フォームの見た目や初期入力値なども変更していきます。試しに、データ項目タブの右上にあるフォームプレビューボタンをクリックしてみてください。現在の設定で生成される入力フォームが表示されます。このままでも正しく動作はしますが、項目の順番を変えたり段組みの設定をしたりすれば、さらに使いやすいアプリになるでしょう。

まず項目の順番を変更します。データ項目タブの左側にある項目リストは、ドラッグ&ドロップで項目の順番を変えることができます。次のような順番に並び替えてください。

  • 件名
  • 申請者
  • 開始日
  • 終了日
  • 金額
  • 内容

次に段組みの設定をします。データ項目タブの右側に段組の設定ボタンがあります。「開始日」と「終了日」の「段組」を 2 に設定してください。これで「開始日」と「終了日」が 1 列に横並びで表示されるようになります。

このようになれば OK です。

入力値に関する設定

フォームに入力される値に関する設定を行います。各項目について以下のように設定を変更してください。

金額

出張申請ですから金額の入力は必須です。項目リストから「金額」を選択して、必須にチェックしてください。

また、出張費は負の数になりませんし、あまりにも高額な申請は出せないようにするべきです。「必須」のチェックボックスの下に入力内容の制限設定があるので、「編集」をクリックしてください。編集ウインドウが開きます。最小値 0 最大値 2000000 と入力しましょう。これで、申請できる出張費が 0 円から 200 万円に制限されました。

そのことをユーザに説明するために、説明のテキストボックスに「金額の上限は 200 万円です」などの但し書きを入れておくといいでしょう。

申請者

データタイプをセレクトボックスから検索セレクトボックスに変更してください。「検索セレクトボックス」はSTEP1 の「作業依頼フロー」で依頼先を選択するときに使った、ユーザ一覧表示が可能なセレクトボックスです。こちらの方が 1 人のユーザを選択するのには向いています。挙動を比較したい場合には、設定を変えながら「フォームプレビュー」してください。

また、「申請者」の入力も必須なので、そのように設定しましょう。

そして多くの場合、出張申請を出すのは申請者本人だと考えられます。「申請者」の初期値を申請者本人にするには、初期値の「編集」ボタンをクリックしてプロセス開始ユーザを初期値に設定してください。これで「プロセスを開始したユーザ=申請者スイムレーンの処理担当者」が、初期値として最初から入力されるようになります。

内容

長い文章も記述しやすいように、データタイプを単一行から複数行に変更しましょう。これでテキストボックスが複数行表示の大きなものになります。

また「内容」の入力も必須です。

そして「初期値」の横の「編集」をクリックして、適当なプレースホルダテキストを入力します。プレースホルダテキストとは、テキストボックスに何も入力されていないときに薄い色で表示されるテキストです。入力例などを設定することが多いので、例えば「京都-東京 20000 円」などと入力しておけばいいでしょう。

入力を始めると消えてしまうテキストなので、注意事項など重要なことは書かないようにしましょう。

開始日/終了日

この 2 項目は必須にしておくだけで OK です。「必須」のチェックを入れておきましょう。

「フォームプレビュー」してこのような表示になっていれば、フォーム設定は完了です。

では編集内容を「保存」してモデラーを終了し、バージョン 3 をリリースして動作を確認しましょう。メニューの「ワークフロー」から「新規開始」ページを開いて、編集したアプリの新規プロセスを開始してください。いろいろな入力で「『申請』処理完了」ボタンを押してみましょう。設定はきちんと反映されているでしょうか?

  • 「件名」以外の全項目が入力必須になっていますか?
  • 「金額」に入力できるのは 0 ~ 2000000の数値だけになっていますか?
  • 「申請者」の検索テキストボックスの初期値は申請者本人になっていますか?
  • 「内容」のプレースホルダテキストは表示されていますか?

条件を満たさない項目がある状態で「処理完了」すると、該当部分に赤文字でエラーが表示されるはずです。そのように動作していれば、データ項目関係の設定は完了です!

「上司」スイムレーンの追加

STEP2 で作成したアプリでは、出張申請に目を通すのは「管理部」スイムレーンの処理担当者である、組織「10 管理部」の所属社員だけでした。ここではそれに加えて、申請者の上司が申請の承認を行うようにしましょう。この場合、申請者に合わせて「承認」タスクの担当者を変更できるような設計にしなければなりません。「承認」タスクの担当者指定は、組織データを活用することで自動的に行うようにできます。「申請者がどの組織に所属しているのか」「その組織のリーダは誰なのか」ということは、環境構築の時に登録済みだからです。

ワークフロー図の変更

では、またアプリを編集しましょう。アプリ設定ページからアプリの詳細ページを開いて、「編集」ボタンでモデラーを起動してください。

まずはワークフロー図の変更をします。今は「申請者」と「管理部」の 2 つのスイムレーンしかありませんが、そこに新しく「上司」スイムレーンを追加します。ドラッグ&ドロップで新しいスイムレーンを「申請者」スイムレーンと「管理部」スイムレーンの間に入れましょう。オブジェクトの配置は自動で調整されます。スイムレーンを追加したあと、プロパティウィンドウを開いて名前を「上司」に変えておいてください。

そして「上司」スイムレーンにヒューマンタスクを追加し、「承認」に名前を変更します。「承認」タスクが追加できたら、「申請」→「承認」→「確認」という順番でフローを引いてください。

フローの先端/根元をドラッグ&ドロップで掴んで動かすと、フローを引き直すことができます。もし要らないフローがでてきたら、STEP2 の「描き間違えたときは?」にもありましたが、BackSpace/Deleteキーやモデラー左下のゴミ箱アイコンで削除することができます。

このようになれば OK です。

処理担当者の設定

次に、処理担当者タブで「上司」スイムレーンの処理担当者を「スイムレーン」「申請者」「と同じ組織のリーダ」に設定してください。

こうすることで、申請者が所属する組織を元に、「承認」タスクの担当者が自動で決められることになります。例えば「カナリア」の上司は「スマトラ」に、「オアフ」の上司は「ガラパゴス」になります。では組織のリーダである「スマトラ」や「ガラパゴス」はどうかというと、自分自身が指定されることになります。

今回は「〇〇と同じ組織のリーダ」を選択しましたが、プルダウンメニューに表示されるように、組織を用いた相対指定の選択肢は全部で 10 通り用意されています。これにより様々なパターンに対処することができます。

これでアプリを保存してリリースしてください。「あなた」から申請を出しても、「あなた」の所属組織である「00 全社」には「あなた」しかいないはずなので、動作を確認するには「カナリア」や「スマトラ」がいいでしょう。

例えば「カナリア」から申請を出すと、自動で「スマトラ」に「承認」タスクが届きます。承認者を手動で指定する必要はありません。「スマトラ」は「10 管理部」での「カナリア」の上司にあたります。そして「スマトラ」から申請を出すと、「承認」タスクは「スマトラ」に届きます。「スマトラ」自身が「10 管理部」のリーダだからです。このように、申請者によって自動で「承認」タスクの送り先を変えるアプリが実装できました。

「STEP4: 条件により「分岐」させる」に続く