2018-08-13このCookBookでは、IM-LogicDesignerを利用して、IM-Workflow完了案件の確認対象者を削除する方法について紹介しています。完了案件でも、確認対象者が確認することはできます。そのため、過去案件に移行するまで対象の案件は確認一覧に表示されます。ここでは、一定期間や特定条件に合致した確認待ちの案件を削除する方法を紹介します。ここでは、処理の流れを分かりやすくするため、Forma標準アプリで画面を作成していますが、ロジックフローをジョブとして実行することも可能です。完成イメージ申請した日付の期間、フロー、フローの確認ノードを指定し、指定した内容を基に検索した完了案件の確認対象者を全削除するFormaアプリのサンプルです。このサンプルを実行することで、完了案件の確認一覧に古い案件を表示しないことができます。(確認履歴は残ります。1拡大画像2完成サンプル以下の完成サンプルをダウンロードしてご活用ください。Summerの環境を利用して作成したものです。使用するアプリケーションは以下の通りです。Summerより前のバージョンでは動作しません。im_cookbook_148370_logicdesigner.zipIM-LogicDesignerのインポート機能からインポートしてください。ロジックフローが登録されます。手順の詳細は以下のドキュメントをご覧ください。im_cookbook_148370_datasource.zipForma管理画面のデータソース定義インポート機能からインポートしてください。データソース定義が登録されます。手順の詳細は以下のドキュメントをご覧ください。im_cookbook_148370_forma_application.zipForma管理画面のアプリケーション情報インポート機能からインポートしてください。Formaアプリケーション情報が登録されます。手順の詳細は以下のドキュメントをご覧ください。[「アプリケーション情報インポート」画面の機能と各部の説明]完成サンプルをご利用の際は、テナント環境セットアップでサンプルデータインポートを行い、利用するユーザのロールに「テナント管理者」を設定してください。インポートしたFormaアプリのメニュー設定が必要です。詳細は以下をご覧ください。[メニューを設定する]なお、完成サンプルは、サンプルフローの「複合ルート[スクリプト開発モデル]」フローを利用することを想定して作成されています。そのため、フロー定義の「複合ルート[スクリプト開発モデル]」の機能設定で、「完了した案件の確認」を有効にしてください。レシピ完了案件一覧情報を取得するロジックフローを作成する。案件に設定されている確認対象者を削除するロジックフローを作成する。データソース定義を作成する。完了案件の確認対象者を削除するFormaアプリを作成する実行画面で確認する。完了案件一覧情報を取得するロジックフローを作成する。このフローでは、Formaアプリで入力する検索項目(フローID、ノードID、期間)を基に検索項目に合致する案件情報を返却するロジックフローを作成します。ノードIDについては確認対象者を削除する際に必要になるため、ここでは扱いません。入出力設定は以下の通り設定します。タスクのマッピング設定は以下の通りです。タスクの入力値applyDateFromにマッピングします。タスクの入力値applyDateToにマッピングします。タスクの入力値flowIdにマッピングします。タスクの入力値localeIdにマッピングします。「終了」タスクでは、Formaアプリで確認対象者を削除する際に、表示したい情報を出力値に紐づけます。systemMatterIdは必須です。タスクの出力値systemMatterIdをロジックフローの出力値systemMatterIdにマッピングします。案件の未確認者を削除するロジックフローを作成する。完了案件一覧情報を取得するロジックフローを作成する。」で作成したフローの出力値とFormaアプリで入力するノードIDを基に、取得した案件一覧の該当する確認ノードの処理対象者を全削除するロジックフローを作成します。IM-LogicDesignerで、カテゴリ「IM-BIS」から、「確認者削除」タスクを用いて、以下のように配置します。入出力設定は以下の通り設定します。string[]「確認者削除」タスクは1つの案件の1つの確認ノードに設定されている確認対象者を全削除します。そのため、取得した完了案件一覧の案件1つずつに繰り返し「確認者削除」タスクで処理する必要があります。よって、「繰り返し」タスクの繰り返し対象に、入力値のsystemMatterIdを指定します。次に「確認者削除」タスクに削除する案件と削除する確認ノードのノードIDを指定します。「確認者削除」タスクのマッピング設定は以下の通りです。ロジックフロー入力値nodeIdを「確認者削除」タスクの入力値nodeIdにマッピングします。「繰り返し」タスクの出力値itemを「確認者削除」タスクの入力値systemMatterIdにマッピングします。「終了」タスクでは、処理が正常終了したことをFormaアプリに表示するため、「暗黙的に連携するレスポンスパラメータ」を利用します。詳細は以下のドキュメントをご覧ください。[暗黙的に連携するレスポンスパラメータの仕様]例として、「終了」タスクのマッピング設定を以下の通り設定します。真偽値falseをロジックフロー出力値imfrErrorFlagにマッピングします。文字列"success"をロジックフロー出力値imfrMessageにマッピングします。データソース定義を作成する。上記で作成した2つのロジックフローを、IM-LogicDesignerのデータソース定義として設定してください。データソース定義設定の方法は、以下のドキュメントをご覧ください。完了案件の確認対象者を削除するFormaアプリを作成する作成した2つのロジックフローを外部連携し、任意の期間の完了案件の確認対象者を全削除することができるFormaアプリを作成します。Forma管理画面の「Formaアプリ作成」-「アプリ一覧」からアプリケーションを作成してください。IM-Workflowから利用できるアプリケーションの作成]以下のアイテムを配置してください。グリッドテーブルに確認対象者を削除する完了案件の情報を表示します。グリッドテーブルに表示されている案件の指定されたノードIDの確認対象者を削除します。検索するフローのフローIDを入力します。検索するフローの確認ノードのノードIDを入力します。検索する案件申請日の期間を入力します。削除される確認対象者の案件情報が表示されます。取得するロジックフロー作成時に出力値に指定した値のカラムを定義します。今回は、matterName、systemMatterIdを文字列、matterCplDateを日付型で定義してください。次に、配置した2つのイベントボタンにそれぞれアクション処理を設定します。アクション設定の方法は以下のドキュメントをご覧ください。アクション設定]サンプルでは、作成したロジックフローを実行する前に、入力値をチェックするカスタムスクリプトを設定しています。詳細は以下のドキュメントをご覧ください。カスタムスクリプト設定画面の機能と各部の説明]先ず、「display」ボタンのアクション設定を行います。最初に作成した完了案件一覧情報を取得するロジックフローを呼び、データマッパーで以下のように紐づけを行います。applyDateToアイテムと紐づけず、定数でロケールIDを指定。取得するロジックフロー作成時に出力値に指定した値を紐づけます。matterCplDate「delete」ボタンでは、2つ目に作成した案件に設定されている確認対象者を削除するロジックフローを呼び、データマッパーで以下のように紐づけを行います。nodeIdレスポンスレスポンス値のデータマッパーの紐づけはありません。以上で、完了案件の確認対象者を削除するFormaアプリが作成できました。最後に、実行画面で作成したFormaアプリを用いて動作を確認します。Formaアプリを開き、フローID、ノードID、検索する期間を入力し、「display」ボタンをクリックします。グリッドテーブルに表示された案件を確認し、「delete」ボタンをクリックします。画面上部に成功メッセージが表示されれば確認対象者の削除が完了です。確認対象者での確認画面では以下のようになります。例として、2018年7月17日~19日までの案件を検索するようにFormaアプリで入力し、「delete」ボタンをクリックすると申請日が2018年7月17日~19日までの案件は表示されなくなります。このサンプルは例外処理がついていないため、検索する期間のTO、FROMが矛盾している場合、エラーが発生します。今回は、Formaアプリを利用しましたが、ジョブを用いて定期実行することも可能です。タスクから案件の完了日時が取得できるため、一定期間過ぎた完了案件の確認対象者を削除することも可能です。コメントをキャンセルメールアドレスが公開されることはありません。...【ViewCreator】検索にヒットした件数を取得する関数の作り方。このCookBookでは、ViewCreatorで検索にヒットした件数を取得する関数の作り方についてご紹介します。ユーザ定義関数についての詳細は下記のドキュメントを参照してください。取得する方法を説明します。...完了したワークフロー案件の登録データをメンテナンスする方法このCookBookでは、IM-BISとIM-FormaDesignerで作成したワークフロー案件の登録データを編集する方法を紹介します。...前回のログイン時刻を表示するポートレットの作成方法このクックブックでは、前回のログイン時刻を表示するポートレットの作成方法をご紹介します。具体的には、以下の3つの情報を表示するポートレットを作成します。製品紹介・お知らせ週間ランキングまだデータがありません。アップデート版をリリースしました。アップデート版をリリースしました。アップデート版をリリースしました。アップデート版をリリースしました。アップデート版をリリースしました。パッチをリリースしました。パッチをリリースしました。パッチをリリースしました。パッチをリリースしました。パッチをリリースしました。アップデートしました。アップデートしました。アップデートしました。アップデートしました。アップデートしました。スポンサードサーチ削除パッチをリリースしました。スポンサードサーチ削除パッチをリリースしました。スポンサードサーチ削除パッチをリリースしました。スポンサードサーチ削除パッチをリリースしました。最新署名版ファイルアップロードJavaアプレットをリリースしました。