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

7.1.5. IM-Workflow連携サンプル

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

コラム

ここではIM-Workflowとの連携についての説明であり、IM-FormaDesignerを利用したフローでの連携サンプルではありません。
画面アイテム「スプレッドシート」については以下のドキュメントを参照してください。

7.1.5.1. IM-Workflow連携サンプル 使用方法

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

7.1.5.1.1. コンテンツ定義の作成

Spread.Sheetsを使用するコンテンツのテンプレートをインポートし、コンテンツ定義を作成します。

  1. テナント管理者でログインし、「サイトマップ」→「ワークフロー管理者」→「インポート/エクスポート」→「インポート」をクリックします。

  2. 「ファイル選択」ボタンをクリックし、以下のファイルを選択して spreadsheet-im_workflow-contents-template.xml をインポートします。

    • インポートファイルのパス

      %PUBLIC_STORAGE_PATH%/sample/spreadsheet/im_workflow/import/spreadsheet-im_workflow-contents-template.xml

  3. 「サイトマップ」→「ワークフロー管理者」→「マスタ定義」→「コンテンツ定義」をクリックします。

  4. コンテンツ定義一覧より「スプレッドシートコンテンツテンプレート」の「編集」ボタンをクリックし、任意のコンテンツIDを指定してコピーします。

    ../../../_images/workflow_sample01.png

7.1.5.1.2. フロー定義の作成

作成したコンテンツ定義を使用するフロー定義を作成します。

  1. 「サイトマップ」→「ワークフロー管理者」→「マスタ定義」→「フロー定義」をクリックします。

  2. ツールバーより「新規作成」をクリックし任意のフローID、フロー名を入力し「登録」ボタンをクリックします。

    ../../../_images/workflow_sample02.png
  3. 次にバージョンタブの「新規登録」をクリックし、コンテンツに作成したコンテンツ、ルートに任意のルートを指定して「登録」ボタンをクリックします。

    ../../../_images/workflow_sample03.png

7.1.5.1.3. 案件の申請

作成したフロー定義の申請画面にSpread.sheetsが表示されます。

  1. 作成したフロー定義の申請権限をもつユーザでログインし、「サイトマップ」→「ワークフロー」→「申請」をクリックします。

  2. フロー一覧より作成したフロー定義の「申請」アイコンをクリックします。

    ../../../_images/workflow_sample04.png
  3. Spreadに任意のデータを入力し、「申請」ボタンをクリックして申請を行うと案件が登録されます。
    申請した案件のSpreadデータはパブリックストレージの以下のパスに保存されます。
    • 申請データの保存先

      %PUBLIC_STORAGE_PATH%/sample/spreadsheet/im_workflow/contents/%年月%/%userDataId%

7.1.5.2. テンプレートの適用

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

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

7.1.5.2.1. テンプレートの作成

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

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

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

    • ファイル名

      spreadsheet.json

    • 種別

      json

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

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

    %PUBLIC_STORAGE_PATH%/sample/spreadsheet/im_workflow/template/%コンテンツID%/spreadsheet.json

テンプレートファイルを配置後、申請画面を表示するとテンプレートが適用されます。

7.1.5.3. 拡張機能

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

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

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

    画面の「完了」ボタンがクリックされたときに実行される処理です。
    ここで返却したオブジェクトはアクション処理「ロジックフロー呼び出し」でロジックフローを呼び出す際に利用されます。
    ロジックフローと連携しない場合は null を返却するか、「ノード設定 - アクション動作処理」よりアクションを削除してください。
各処理の実装についてはパブリックストレージにテンプレートファイルが用意されています。

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

function afterInit(spread) {
  // 初期化処理をカスタマイズ
    // ここで表示されるスプレッドシートのカスタマイズが行えます。カスタマイズ方法はSpreadjsのドキュメントを参照してください。
}
function validate(spread) {
  // バリデーション
    // ここでスプレッドシートのデータの検証を行います。検証NGの場合はメッセージの表示を行ったあと、falseを返却してください。
  return true;
}
function transform(spread) {
  // 申請、承認直前、ここで自由にspreadから値を抜き出す
  // ここで返却したオブジェクトはアクション処理「ロジックフロー呼び出し」でロジックフローを呼び出す際に利用されます。
    return {
      'flowId' : 'sample', // 呼び出すフローを指定したい場合に利用します。指定がない場合はコンテンツIDを同じIDのフローを呼び出します。
      'param1' : 'param1', // 任意のパラメータを設定します。
      'param2' : 'param2'
    };
}

7.1.5.3.1. 拡張機能の適用方法

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

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

  • コピー先のパス

    %PUBLIC_STORAGE_PATH%/sample/spreadsheet/im_workflow/template/%コンテンツID%/custom.js

テンプレートファイルを配置後、各処理の内容を実装してください。