IM-BPM for Accel Platform IM-BPM チュートリアルガイド 第18版 2021-04-01

4.3.6.1. アドホックタスクを利用する

このチュートリアルでは、アドホックタスクを使用して実行中のプロセスを変更する方法を解説します。
アドホックタスクは、プロセス作成時に定義しきれなかった隠れたタスクを、プロセスの実行中に追加することのできるタスクです。

コラム

このチュートリアルで作成する「プロセス定義」は、以下のリンクからダウンロードできます。

このサンプルは「プロセス定義アップロード」機能でプロジェクトにアップロードできます。
アップロード手順は「IM-BPM プロセスデザイナ 操作ガイド」-「プロセス定義のアップロード」を参照してください。

4.3.6.1.1. チケットマスタを作成する

アドホックタスクを利用するために、アドホックタスク追加時に表示するフォームを、チケットモジュールを利用して作成します。

コラム

チケットモジュールを利用するためには「チケット管理者」ロールと「IM-Repository 管理者」ロールが付与されている必要があります。
チケットマスタの作成の詳細については以下のリンクを参照してください。
下記の図は作成するチケットマスタのイメージです。
../../../../_images/ad_hoc_task_0024.png
図 : 完成イメージ(チケットマスタ)
  1. 「サイトマップ」→「Ticket」→「チケットマスタ管理」から、「チケットマスタ管理」画面を表示します。

  2. チケットマスタカテゴリを作成します。「ticket_add_category」をクリックします。

    ../../../../_images/ad_hoc_task_0017.png
    図 : 「チケットマスタ管理」
  3. チケットマスタカテゴリの設定をします。

    表示されたフォームに対して以下のように項目を設定してください。
    • カテゴリID : adHocTaskCategory
    • カテゴリ名 : アドホックタスク用チケットカテゴリ
    ticket_save」をクリックします。
    ../../../../_images/ad_hoc_task_0018.png
    図 : 「チケットマスタ管理」 - 「カテゴリを追加」
  4. チケットマスタの設定をします。

    表示されたフォームに対して、以下のように項目を設定します。
    ここで設定する「マスタID」が、IM-BPMのプロセス定義でアドホックタスクの設定を行う際に必要です。
    • マスタID : ad-hoc-task_ticket
    • マスタ名 : 修理業務用チケットマスタ
    • レイアウト : 二列
    ticket_next_button」をクリックします。
    ../../../../_images/ad_hoc_task_0019.png
    図 : 「チケットマスタ管理」 - 「チケットマスタ設定」
  5. チケットマスタのフィールドの設定をします。

    表示されたフォームに対して、以下のように項目を設定します。
    • 見出し : 修理プロセス - アドホックタスク
    • 概要 : 発生したアドホックタスクの情報を入力してください。
    ../../../../_images/ad_hoc_task_0020.png
    図 : 「チケットマスタ管理」 - 「フィールド設定」
  6. ticket_add_field」をクリックします。

    ../../../../_images/ad_hoc_task_0021.png
    図 : 「チケットマスタ管理」 - 「レイアウト設定」 - 「標準フィールド選択」
  7. 「標準フィールド選択」画面が表示されるので、「担当者」を選択して「決定」をクリックします。

    ../../../../_images/ad_hoc_task_0022.png
    図 : 「チケットマスタ管理」 - 「レイアウト設定」 - 「標準フィールド選択」
  8. 「担当者」がレイアウトに追加されました。「ticket_save」をクリックし、チケットマスタは完成です。

    ../../../../_images/ad_hoc_task_0023.png
    図 : 「チケットマスタ管理」 - 「レイアウト設定」

コラム

チケットマスタで以下の項目を設定できるようにした場合は、IM-BPMのアドホックタスクのそれぞれの項目と連動します。
  • タイトル
  • 担当者
  • 優先度
  • 期限

4.3.6.1.2. プロセス定義を作成する

アドホックタスクを追加可能としたプロセス定義を作成します。
下記の図は、本チュートリアルガイドにて利用するプロセス定義です。
../../../../_images/ad_hoc_task_0001.png
図 : プロセス定義図
アドホックタスクを使用するためには、プロセス定義作成時にアドホックタスクの使用を許可する必要があります。
  1. 「開始イベント」を設置します。
  2. プロセスの処理対象ユーザと、アドホックタスクを使用するように設定をします。
    キャンパスの空白部分をクリックし、プロパティエリアをプロセス全体に切り替えます。
    プロセスタブから、以下のように項目を設定します。
    ここで設定する「アドホックタスクのフォームキー」が、作成したチケットマスタの「マスタID」です。
    • プロセス定義キー : ad-hock-task_usage
    • 名前 : 製品修理業務フロー
    • 処理対象ユーザ : aoyagi
    • アドホックタスクを使用する : 有効
    • アドホックタスクのフォームキー : ticket:ad-hoc-task_ticket
    ../../../../_images/ad_hoc_task_0002.png
    図 : 「プロセス全体」 - 「プロパティ」 - 「プロセス」
  3. プロセス実行時の各タイミングでアドホックタスクの追加が可能であるかの確認を行うために、ユーザタスク1つとサブプロセス2つを設置します。
  4. 動作確認の際に「タスク一覧画面」でわかりやすくするため、ユーザタスクに名前を付けます。
    「ユーザタスク」を選択し、「基本情報」タブから「名前」に 受付 と設定します。
    ../../../../_images/ad_hoc_task_0003.png
    図 : 「ユーザタスク」 - 「プロパティ」 - 「基本情報」
  5. 「受付」タスクに対して、担当者を設定します。
    「受付」タスクを選択し「メインコンフィグ」タブから「担当者」に aoyagi と設定します。
    ../../../../_images/ad_hoc_task_0004.png
    図 : 「ユーザタスク」 - 「プロパティ」 - 「メインコンフィグ」
  6. 「タスク追加」画面でわかりやすくするために、配置した1つ目のサブプロセスに名前を付けます。
    「サブプロセス」を選択し、「基本情報」タブから「名前」に 調査工程 と設定します。
    ../../../../_images/ad_hoc_task_0005.png
    図 : 「サブプロセス」 - 「プロパティ」 - 「基本情報」
  7. 「調査工程」サブプロセス内に以下のエレメントを設置します。
    • 「開始イベント」
    • 「ユーザタスク」
    • 「終了イベント」
  8. 動作確認の際に「タスク一覧画面」でわかりやすくするため、前述の「受付」タスクと同様の手順で、「調査工程」サブプロセス内のユーザタスクに対し名前と担当者を設定します。
    • 「ユーザタスク」を選択します。
    • 「基本情報」タブから「名前」に 原因調査 と設定します。
    • 「メインコンフィグ」タブから「担当者」に aoyagi と設定します。
  9. 「タスク追加」画面でわかりやすくするために、前述の「調査工程」サブプロセスと同様の手順で、配置した2つ目のサブプロセスに名前を付けます。
    • 「サブプロセス」を選択します。
    • 「基本情報」タブから「名前」に 修理工程 と設定します。
  10. 「修理工程」サブプロセス内に以下のエレメントを設置します。
    • 「開始イベント」
    • 「ユーザタスク」
    • 「終了イベント」
  11. 動作確認の際に「タスク一覧画面」でわかりやすくするため、前述の「受付」タスクと同様の手順で、「修理工程」サブプロセス内のユーザタスクに名前を付け、担当者を設定します。
    • 「ユーザタスク」を選択します。
    • 「基本情報」タブから「名前」に 修理作業 と設定します。
    • 「メインコンフィグ」タブから「担当者」に aoyagi と設定します。
  12. プロセスの直下に「ユーザタスク」を設置します。

  13. 動作確認の際に「タスク一覧画面」でわかりやすくするため、前述の「受付」タスクと同様の手順で、ユーザタスクに名前を付け、担当者を設定します。
    • 「ユーザタスク」を選択します。
    • 「基本情報」タブから「名前」に 受け渡し と設定します。
    • 「メインコンフィグ」タブから「担当者」に aoyagi と設定します。
  14. 以下に示すプロセス定義図を参考にエレメント同士をシーケンスフローでつなぎます。

    ../../../../_images/ad_hoc_task_0001.png
    図 : プロセス定義図
  15. プロセスに名前を付け保存します。

4.3.6.1.3. アドホックタスクを追加する

作成した「プロセス定義」を実行環境にデプロイし、アドホックタスクの追加を行います。

  1. プロセスを開始します。
    「サイトマップ」→「BPM」→「プロセス開始一覧」画面を表示します。
  2. 「プロセス開始一覧」画面から、対象となるプロセスの「startable_list-start_processes」をクリックします。

    ../../../../_images/ad_hoc_task_0006.png
    図 : 「プロセス開始一覧」
  3. 開始されたプロセスを確認します。
    「プロセス開始一覧」画面のツールバーにある「タスク一覧」をクリックし、「タスク一覧」画面を表示します。
    ../../../../_images/ad_hoc_task_0007.png
    図 : 「プロセス開始一覧」
  4. 対象のプロセス定義から、「受付」タスクが表示されていることを確認し、「icon_reference」をクリックします。

    ../../../../_images/ad_hoc_task_0008.png
    図 : 「タスク一覧」
  5. 表示される「プロセス参照」画面のツールバーから「タスク追加」ボタンをクリックし、「タスク追加」画面を表示します。

    ../../../../_images/ad_hoc_task_0009.png
    図 : 「プロセス参照」
  6. 「タスク追加」画面が表示されます。
    以下のことを確認します。
    • プロセス直下の「その他のタスクを追加する」が表示されていて、選択可能なこと。
    • サブプロセス「調査工程」にはまだ達していないため、「調査工程」直下の「追加可能なタスク」一覧内の「その他のタスクを追加する」はグレーアウトされていて選択不可能なこと。
    • サブプロセス「修理工程」にもまだ達していないため、「修理工程」直下の「追加可能なタスク」一覧内の「その他のタスクを追加する」はグレーアウトされていて選択不可能なこと。
    ../../../../_images/ad_hoc_task_0010.png
    図 : 「タスク追加」
  7. プロセス直下にアドホックタスクを追加します。

    • プロセス直下の「追加可能なタスク」一覧から「その他のタスクを追加する」を選択します。
  8. プロセス定義作成時に設定したチケットの画面が表示されます。

  9. チケットの項目のフォームに以下のように項目を設定します。

    • タイトル: 受付可能製品であるか確認する

    • テキスト:

      10年前のアメリカ向けに限定製造されていた製品の修理依頼がきました。
      国内では販売されていなく、当時輸入する形で入手したようです。
      この製品が修理受付可能かの確認を行います。
      
      型番: xxxx-xxxxxx
    • 担当者: 青柳辰巳

    ../../../../_images/ad_hoc_task_0011.png
    図 : 「タスクの追加」
  10. 「登録」ボタンをクリックします。

  11. アドホックタスクが追加されたことを確認します。

    タスクのタイトルが、チケット作成時に入力した 受付可能製品であるか確認する になっていることを確認します。
    ../../../../_images/ad_hoc_task_0012.png
    図 : 「タスク追加」
このように突発的に発生したタスクについても、プロセス内に追加することが可能です。

4.3.6.1.4. アドホックタスクのチケットを更新する

追加されたアドホックタスクのチケットの内容を更新して最新の状態を記録します。

  1. 「タスク一覧」をクリックし、「タスク一覧」画面を表示します。

  2. 個人タスクの中に、追加した「受付可能製品であるか確認する」タスクが存在することを確認します。
    startable_list-start_processes」をクリックし、処理画面を表示します。
    ../../../../_images/ad_hoc_task_0013.png
    図 : 「タスク一覧」
  3. タスク追加時に入力したチケットの画面が表示されることを確認します。

  4. 「担当者」を 青柳辰巳 から 上田辰男 に変更し、「更新」をクリックします。

    ../../../../_images/ad_hoc_task_0014.png
    図 : 「アドホックタスクチケット」
  5. 「タスク一覧」画面が表示されることを確認します。

    この時、担当者を変更したため、 aoyagi ユーザの個人タスクには、該当のタスクが表示されません。
    ../../../../_images/ad_hoc_task_0015.png
    図 : 「タスク一覧」

コラム

「担当者」以外にも、チケットマスタで以下の項目を設定できるようにした場合は、アドホックタスクの各項目と連動します。
  • タイトル
  • 優先度
  • 期限

4.3.6.1.5. チケットの履歴の確認/コメントをする

チケットの更新履歴を確認し、コメントをします。
アドホックタスクのチケットには、以下の機能があります。
  • チケットの更新履歴の確認をする。
  • 関係者がタスクに対してコメントを残す。
  1. 該当プロセスを開始した aoyagi ユーザで「タスク一覧」画面から、「処理済一覧」画面を表示します。

  2. 開始済プロセス内の該当プロセス定義の「icon_reference」をクリックします。

    ../../../../_images/ad_hoc_task_0016.png
    図 : 「処理済一覧」
  3. プロセス履歴から追加したアドホックタスクの「タスク詳細」をクリックします。

    ../../../../_images/ad_hoc_task_0031.png
    図 : 「プロセス参照」
  4. チケット画面が表示され、右側の部分でチケットの更新履歴を確認します。

    今回の場合は、担当者が 青柳辰巳 から 上田辰男 に変更されたことが確認できます。

    コラム

    表示している画面の大きさによっては更新履歴は画面下部に表示されます。

    ../../../../_images/ad_hoc_task_0032.png
    図 : 「アドホックタスクチケット」
  5. 履歴上部のコメント入力欄に以下のように入力し、「送信」をクリックします。

    • 上田さん、この製品について修理受付が可能であるかの確認をお願いします。
    ../../../../_images/ad_hoc_task_0033.png
    図 : 「アドホックタスクチケット」
  6. 入力したコメントが、入力欄下部の履歴部分に表示されることを確認します。

    ../../../../_images/ad_hoc_task_0034.png
    図 : 「アドホックタスクチケット」
  7. 他のユーザで、入力されたコメントの確認を行います。

    • 現在のタスク担当者である ueda ユーザでログインします。

    • 「タスク一覧」画面から、該当タスクの「startable_list-start_processes」をクリックします。

    • 「チケット」画面が表示され、aoyagi ユーザで入力したコメントを確認できます。

      ../../../../_images/ad_hoc_task_0035.png
    図 : 「アドホックタスクチケット」

このように、突発的に発生したタスクに対して、関係者同士でコミュニケーションをとりながら進めることが可能です。

4.3.6.1.6. アドホックタスクを処理する

発生したアドホックタスクを処理します。

  1. 現在アドホックタスクの担当者になっている ueda ユーザで「タスク一覧」画面を表示します。

  2. 該当タスクの「startable_list-start_processes」をクリックし、処理画面を表示します。

  3. チケット「テキスト」項目に以下の内容を追記し、「処理」ボタンをクリックします。

    > **上田追記**
    > この製品は修理対応可能な製品でした。
    ../../../../_images/ad_hoc_task_0036.png
    図 : 「アドホックタスクチケット」
  4. 「タスク一覧」画面に戻り、処理したタスクは一覧内に表示されていないことが確認できます。

  5. 「処理済一覧」をクリックします。

  6. 「処理済タスク」の一覧内の該当タスクの「icon_reference」をクリックします。

  7. プロセス履歴から該当タスクの「タスク詳細」をクリックします。

  8. 以下の2点について、チケットが最新の情報となっていることが確認できます。

    • 表示されたチケットの画面が、処理のタイミングで更新した内容となっていることが確認できます。
    • 右側の履歴でタスクが完了していることが確認できます。
    ../../../../_images/ad_hoc_task_0037.png
    図 : 「アドホックタスクチケット」

4.3.6.1.7. アドホックタスクが追加可能なタイミングを確認する

アドホックタスクは、現在実行中のコンテナの位置に追加が可能です。
ここでは、アドホックタスクが追加可能なタイミングについて確認していきます。
  1. 現在以下の状態です。

    ../../../../_images/ad_hoc_task_0025.png
    図 : 「現在実行状態」
  2. この場合は、現在実行中のコンテナはルートプロセスのみです。そのため、アドホックタスクを追加できるのは、プロセス直下のみです。

    ../../../../_images/ad_hoc_task_0026.png
    図 : 「タスク追加」
  3. aoyagi ユーザで「受付」タスクを完了させ「調査工程」サブプロセス内の「原因調査」タスクへ移動します。
    ../../../../_images/ad_hoc_task_0027.png
    図 : 「現在実行状況」
  4. この場合は、現在実行中のコンテナはルートプロセスと「調査工程」サブプロセスです。そのため、アドホックタスクを追加できるのは、プロセス直下と「調査工程」サブプロセスです。
    • 「調査工程」サブプロセスへアドホックタスクを追加した場合は、そのアドホックタスクが完了するまで「調査工程」サブプロセスは完了しません。
    • プロセス直下とへ追加した場合は、そのアドホックタスクが完了するまでプロセス全体は完了とはなりません。しかし「調査工程」サブプロセスにあるタスクが全て完了した時点で、「調査工程」サブプロセスは完了となり「修理工程」サブプロセスへ遷移します。
    ../../../../_images/ad_hoc_task_0028.png
    図 : 「タスク追加」
  5. 「aoyagi」ユーザで「原因調査」タスクを完了させ「修理工程」サブプロセス内の「修理作業」タスクへ移動します。
    ../../../../_images/ad_hoc_task_0029.png
    図 : 「現在実行状況」
  6. この場合は、現在実行中のコンテナはルートプロセスと「修理工程」サブプロセスです。そのため、アドホックタスクを追加できるのは、プロセス直下と「修理工程」サブプロセスです。「調査工程」サブプロセスはすでに完了してしまっているので、アドホックタスクを追加することはできません。
    • 「修理工程」サブプロセスへアドホックタスクを追加した場合は、そのアドホックタスクが完了するまで「修理工程」サブプロセスは完了しません。
    • プロセス直下とへ追加した場合は、そのアドホックタスクが完了するまでプロセス全体は完了とはなりません。しかし「修理工程」サブプロセスにあるタスクが全て完了した時点で、「修理工程」サブプロセスは完了となり、プロセス直下「受け渡し」タスクへ遷移します。
    ../../../../_images/ad_hoc_task_0030.png
    図 : 「タスク追加」