はじめに
ユーザから「最終承認時に関係者にもメール配信したい」といった要件がでることがあると思いますが、intra-martの標準仕様上、本来はそのようなことはできないので、ロジックデザイナーを利用して案件終了処理として業務ロジックを組めば実現できます。その案件終了処理で私は見事に苦戦しましたので、私がつまずいた箇所の手順を本記事で解説します。
前提条件
ワークフローを構築する際、
- Forma+ワークフロー
- IM-BIS
があると思いますが、本記事では「Forma+ワークフロー」を前提としております。(これまでIM-BISでは作ったことはありません。)
構築手順概要
- ロジックデザイナーで業務ロジックを作成
- 作成したロジックデザイナーをワークフローのロジックフロー管理で案件終了処理としてリソース設定
- コンテンツ定義のユーザプログラム定義に案件終了処理を追加
概要だけだ見ると簡単そうに見えますが、独学だとたどり着くのにかなりの時間を要しました。
案件終了処理のご作法
案件終了時に渡されるパラメータを用いることで業務ロジックを組むことができます。ロジックデザイナーでの作成時、入出力設定のご作法(特に出力設定)を遵守する必要があります。
パラメータ設定のご作法およびよく使うパラメータ項目
「親オブジェクトー子項目の型は崩してはいけない」とは入力出力設定の以下のことを指してます。また合わせてよく使うパラメータ値を合わせて記載します。
入力値 | 型 | 備考 |
imwProcessCommon | object | imwProcessCommon配下のパラメータ値を使う場合は必須 |
userDataId | string | Forma標準テーブルの登録内容を取得するためのキー項目となります。 |
imwMatterEndProcess | object | imwMatterEndProcess配下のパラメータ値を使う場合は必須 |
lastResultStatus | string | mattercomplete(最終承認)、deny(否認)、discontinue(取りやめ)は分岐条件でよく使います。 |
出力値 | 型 | 備考 |
error | boolean | false:処理OK、true:処理NG。定数でfalseを作る必要があります。この設定を忘れるとシステムエラーとなります。 |
案件終了処理としてリソース登録
ロジックが組み立てあとはコンテンツにユーザプログラムとして登録するだけなのに、案件終了プログラムに表示されず外部データソースとして登録したりしましたが、まったく状況が変わらず四苦八苦しました。(結局、外注しているベンダー様に聞いてようやく答えにたどり着きました。)
ワークフローにあるロジック管理(図の一番下)で作成したロジックデザイナーを案件終了処理としてリソース登録すればOKでした。
まとめ
以上で、『【intra-mart】社内SE向けワークフローの案件終了処理を構築するために最低限知っておくべきこと』でした。ローコード開発=誰でもできるというわけでないとintra-martを触っているとつくづく思います。
コメント