IM-Spreadsheet for Accel Platform IM-Spreadsheet 利用ガイド 第6版 2023-10-01

7.1.6. IM-BPM連携サンプル

ここでは、 IM-Spreadsheet を IM-BPM と連携するサンプルについて説明します。

7.1.6.1. IM-BPM連携サンプル 使用方法

IM-BPM連携サンプルを使用するには以下の手順で設定を行います。

7.1.6.1.1. プロセス定義の作成とデプロイ

IM-BPMのプロジェクトを作成します。

  1. テナント管理者でログインし、「サイトマップ」→「BPM」→「プロセスデザイナ」をクリックします。

  2. ツールバーの「登録」をクリックします。

  3. 任意の「プロジェクトID」と「プロジェクト名」項目を入力し、「登録」ボタンをクリックします。
    (ここでは sample としています。)
../../../_images/bpm_sample01.png

次にプロセス定義を作成し、デプロイします。

  1. 作成したプロジェクト、「新規作成」アイコンの順にクリックします。

  2. プロセスデザイナ画面より任意のプロセス定義を作成します。
    このとき、開始イベント・ユーザタスク等、画面にSpread.Sheetsを表示するタスクの各メインコンフィグ「フォームキー」を以下のように設定してください。

    forward:sample/spreadsheet/bpm/workbook/{任意のID}

    任意のIDに指定されたID毎に Spread.Sheets のデータが管理されます。
    ../../../_images/bpm_sample02.png
  3. プロセス定義を保存し、プロジェクトの「デプロイ」アイコンをクリックしてプロセス定義をデプロイします。

    ../../../_images/bpm_sample03.png

7.1.6.1.2. プロセスの開始

開始イベントに上記のフォームキーを設定すると、プロセスの開始画面にSpread.Sheetsが表示されます。
  1. デプロイしたプロセスの開始を実行できる権限を持つユーザでログインし、「サイトマップ」→「BPM」→「プロセス開始一覧」をクリックします。

  2. 一覧より「プロセス開始」アイコンをクリックすると、 Spread.Sheetsが組み込まれた画面が表示されます。

    ../../../_images/bpm_sample04.png
  3. Spread.Sheetsに任意のデータを入力し、「完了」ボタンをクリックするとプロセスが開始されます。

7.1.6.2. テンプレートの適用

IM-BPM連携サンプルでは、画面に表示するSpread.Sheetsにテンプレートを適用できます。
テンプレートを適用することであらかじめ決められたフォーマットのシートを使用できます。

テンプレートを適用するには、以下の手順で操作してください。

7.1.6.2.1. テンプレートの作成

テンプレートの作成は「ワークブックエディタ」より行います。
  1. 「IM-Knowledge コンテンツ利用者」のロールを持つユーザでログインし、「サイトマップ」→「Knowledge」→「コンテンツ」→「ワークブックの新規作成」をクリックします。

  2. ワークブックエディタ上で、テンプレートを作成します。

  3. ツールバーより、「ファイル」→「エクスポート」をクリックし、以下の内容でエクスポートを行います。

    • ファイル名

      spreadsheet.json

    • 種別

      json

7.1.6.2.2. テンプレートファイルの配置

次にエクスポートしたテンプレートファイルをパブリックストレージに配置します。
  • 配置先ストレージのパス

    %PUBLIC_STORAGE_PATH%/sample/spreadsheet/bpm/template/%任意のID%/spreadsheet.json

    %任意のID% は「フォームキー」に指定した任意のIDにあわせてください。
テンプレートファイルを配置後、「プロセス開始一覧」より「プロセス開始」画面を表示するとテンプレートが適用されます。

7.1.6.3. 拡張機能

IM-BPM連携サンプルでは、画面で処理を行う際の以下の処理を追加できます。
  • Spread初期化処理

    画面の初期表示時に実行される処理です。ここで表示されるSpread.Sheetsのカスタマイズを行うことができます。
  • バリデーション

    画面の「完了」ボタンがクリックされたときに実行される処理です。ここで入力データの検証を行うことができます。
  • データ抽出

    画面の「完了」ボタンがクリックされたときに実行される処理です。ここで返却したオブジェクトをプロセスの変数に登録されます。
    Spreadの入力内容を任意の変数に登録したい場合に利用します。
各処理の実装についてはパブリックストレージにテンプレートファイルが用意されています。

<テンプレートファイル>

/**
 * 初期化処理
 * ここで表示されるスプレッドシートのカスタマイズが行えます。カスタマイズ方法はSpreadjsのドキュメントを参照してください。
 */
function afterInit(spread) {
	// 初期化処理をカスタマイズ
}

/**
 * バリデーション
 * ここでスプレッドシートのデータの検証を行います。
 * @return 検証エラーの場合、false
 */
function validate(spread) {
    // 検証NGの場合はメッセージの表示を行ったあと、falseを返却してください。
	return true;
}

/**
 * データ抽出
 * ここで変数へ登録したい値をSpreadから抜き出して返却します。
 * 変数の値に指定可能なデータ型は文字列(string)、数値(number)、真偽値(boolean)のみになります。
 * @return 変数情報オブジェクト配列
 */
function transform(spread) {
	// 完了直前、ここで自由にspreadから値を抜き出す
    return [{
    	'name' : 'variableName', // 変数名
    	'variableScope' : 'local', // スコープ local or global
    	'value' : 'variableData' // 値
    }];
}

7.1.6.3.1. 拡張機能の適用方法

拡張機能を適用するには以下のテンプレートファイルをコピーして配置します。
  • テンプレートファイルのパス

    %PUBLIC_STORAGE_PATH%/sample/spreadsheet/bpm/template/custom.js

  • コピー先のパス

    %PUBLIC_STORAGE_PATH%/sample/spreadsheet/bpm/template/%任意のID%/custom.js

    %任意のID% は「フォームキー」に指定した任意のIDにあわせてください。
テンプレートファイルを配置後、各処理の内容を実装してください。