CookBook

IM-FormaDesignerでアップロードしたExcelファイルの内容を画面上に出力する方法

投稿日:2017-12-04 更新日:

このCookBookでは、IM-FormaDesignerでBISフローの申請画面にてアップロードしたExcelファイルの内容を承認画面にて出力する方法を紹介します。

完成イメージ

完成サンプル

以下の完成サンプルをダウンロードしてご活用ください。

IM-LogicDesigner インポート : im_cookbook_134784_logicdesigner-data.zip
・IM-LogicDesignerのインポート機能からインポートしてください。
・手順の詳細は、以下のドキュメントを参照してください
IM-LogicDesigner ユーザ操作ガイド / 8.1. インポートを行う

BIS一括インポート用ファイル : im_cookbook_134784_bis.zip
・BISの一括インポート機能からインポートしてください。
・手順の詳細は、以下のドキュメントを参照してください
IM-BIS システム管理者 操作ガイド / 4.9. 一括インポート・エクスポートを行う

Excelファイル : im_cookbook_134784_excel.xls
・アップロードするExcelファイルのサンプルです。

上記サンプルの利用条件は以下の通りです。

  • IM-BIS 2017 Winter(8.0.15)以降のバージョンであること。
  • サンプルデータのインポートが行われていること。

サンプルは、IM-BIS 2017 Winter(8.0.15)で動作確認を行っています。

レシピ

  1. BISフローを作成する。
  2. ユーザ定義(Excel入力定義)を作成する。
  3. ロジックフローを作成する。
  4. データソース定義を作成する。
  5. アイテムイベントを設定する。
  6. 作成したフォーム画面にて確認する。

1. BISフローを作成する。

以下の用途を想定して、BISフローを作成します。
【申請画面】
Excelファイルをアップロードします。
【承認画面】
アップロードしたExcelファイルの内容を画面に出力します。

以下のアイテムを配置した処理画面を作成してください。
【申請画面】
・ファイルアップロード
・ボタン(BISフロー登録)
【承認画面】
・ファイルアップロード
・ボタン(イベント)
・文字列
・数値
・グリッドテーブル

2.ユーザ定義(Excel入力定義)を作成する。

このCookBookで出力するExcelファイルの内容は以下の通りです。

出力するExcelファイルの内容に沿って入力定義を作成してください

① 単一セルの項目はセル出力定義に設定してください。
② 表部分は、行数分が出力されるように範囲指定出力定義に設定してください。

3.ロジックフローを作成する。

以下のエレメントを配置したロジックフローを作成します。
【エレメント】
・getFileId(ファイルアップロード情報取得)
・getFileData(ファイルアップロード情報取得)
・sessionStorage(セッションストレージ取得)
・writeBinaryToStorage(ストレージ出力(バイナリ))
・excelUpload(ユーザ定義(Excel入力定義))

3-1.入出力定義を設定します。
入力項目は、getFileIdエレメントとgetFileDataエレメントで使用するシステムパラメータを設定してください。
サンプルでは、システムパラメータを以下のように設定しています。

キー名 文字種
imfr_application_id string
imwUserDataId string
imfr_process_key string

出力項目は、Excelファイルを画面に出力する為のパラメータを設定してください。

3-2.定数を設定します。
セッションスコープストレージの場所を、定数で定義してください。

3-3.マッピング設定を行います。

3-3-1.getFileIdエレメント
ファイルIDを取得する為、applicationIdinsertIdprocessKey を以下のようにマッピング設定してください。

3-3-2.getFileDataエレメント
Excelファイルの内容(バイナリデータ)を取得する為、applicationIdfileIdinsertIdprocessKey を以下のようにマッピング設定してください。

3-3-3.sessionStorageエレメント
セッションスコープストレージを取得する為、3-2で設定した定数をマッピング設定してください。

3-3-4.writeBinaryToStorageエレメント
3-3-3で取得したセッションスコープストレージに、3-3-2で取得したExcelファイルの内容(バイナリデータ)を出力する為、以下のようにマッピング設定してください。

3-3-5.excelUploadエレメント
画面に出力するExcelファイルの内容を取得する為、以下のようにマッピング設定してください。

3-3-6.endエレメント
3-3-5で取得したExcelファイルの内容を、3-1で設定した入出力定義の出力項目にマッピング設定してください。

4.データソース定義を作成する。

レシピ3で作成したロジックフローを、LogicDesignerのデータソース定義として設定します。
設定の方法は、以下のドキュメントを参照してください。
IM-BIS システム管理者 操作ガイド / 「データソース - 編集[LogicDesigner]」画面の操作手順

5.アイテムイベントを設定する。

レシピ3-1の入出力定義で暗黙的に連携している為、リクエストタブの設定は必要ありません。
詳細は、以下のドキュメントを参照してください。
IM-BIS 仕様書 / 9.12. 暗黙的に連携するリクエストパラメータの仕様
レスポンスタブは、レシピ3-1で設定した入出力定義の出力項目に対して画面項目とのマッピング設定してください。

6.作成したフォーム画面にて確認する。

作成した申請画面でExcelファイルをアップロードして、承認画面でEventボタンをクリックしてください。
アップロードしたExcelファイルの内容が、各画面アイテムに出力されます。

-CookBook
-,

執筆者:


  1. 初心者 より:

    Excelのデータを表示できたのですが、何度テストしても一行しかグリットテーブルに表示されません。Excel自体は複数行存在しており、全ての行が空になるまで実行するように定義してあります。

    サンプルも見直したのですが特段違ったところは見受けられませんでした。
    どこが悪いのかさっぱりわからないため、ご教授いただけたらと思います。

    • この記事の内容で出来ました より:

      records オブジェクトが配列になっていないのでは?

comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

IM-BloomMaker Bulmaエレメントに使用するアイコンの探し方

このCookBookでは、 intra-mart Accel Platform 2020 Summer から利用可能になったコンテンツ種別「Bulma」で使用できるアイコンについて説明いたします。 I …

IM-BloomMaker カスタムスクリプトの使い方と$variableからの取得・代入の方法

このCookBookでは、IM-BloomMakerのアクションの一つであるカスタムスクリプトの使い方と$variable(変数)からの取得および代入の方法について紹介しています。 実際にサンプル画面 …

no image

IM-BloomMaker 変数の代入値が変更された時にアクションを実行するサンプル

この CookBook では、変数の代入値が変更された時にアクションを実行するサンプルを紹介しています。 何らかの非同期処理(例:ポップアップ画面から値を受け取る)で変数の代入値が更新された時に、アク …

ガントチャートテンプレートを使ってみる

intra-mart Accel Platform 2023 Autumn に「ガントチャートテンプレート」が提供されました。この CookBook では、ガントチャートテンプレートとマスタメンテナン …

Adobe Acrobat Sign連携を利用する

このCookBookでは、IM-Signを利用したサンプルを紹介します。 サンプルでは、Workflow/BISの案件に紐づいたAdobe Acrobat Sign(以下Acrobat Sign)の契 …