CookBook

申請画面の入力データをExcelファイルにダウンロードする

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

このCookbookでは、IM-BIS 2017 Winterから新たに追加された「 外部連携のレスポンスとして、ファイルデータを受け取る 」機能を利用する方法を紹介いたします。
BISで作成した申請画面の入力内容をそのままExcelファイルにダウンロードして加工したり、テンプレートとして他のExcelファイルを読み込んで出力したりといった様々な方法で活用できます。

今回のCookbookでは、BIS画面で入力したデータをレポートタイトルやグラフの元データに活用するサンプルの作成を通じて、BISとLogicDesignerを組み合わせたファイルの操作方法を確認できます。

完成イメージ


BIS画面の入力内容をパブリックストレージのテンプレートExcelファイルに基づいて出力するサンプルです。
ダウンロードしたExcelファイルでは、ピボットテーブルの「データの更新」を実行することにより、そのままグラフを更新できます。

グリッドテーブルには、以下のドキュメントで紹介されているデータ参照(リスト)からダウンロードしたCSVファイルがインポートできます。

完成サンプル

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

サンプルに含まれる定義情報は以下の表の通りです。

種類 定義名 補足説明
ユーザ定義(Excel出力) 【Cookbook】BISからExcelファイルをダウンロードする方法(ユーザ定義) 出力するExcelを定義するユーザ定義です。
ロジックフロー 【Cookbook】BIS画面からExcelファイルをダウンロードする方法(基本編) 上記のユーザ定義を参照しているロジックフローです。
BIS定義 【Cookbook】BIS画面からExcelファイルをダウンロードする方法(基本編) 関連するFormaアプリケーション定義やIM-Workflowのフロー定義等の情報も含まれます。
データソース定義(CSVインポート) 【Cookbook】CSVファイル読み込み グリッドテーブルへのデータ取り込みに利用しています。
データソース定義(LogicDesigner) 【Cookbook-132010】BIS画面からExcelファイルをダウンロードする方法(基本編) LogicDesignerを外部連携として利用するための定義です。

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

  • intra-mart Accel Platform(Advanced) 2017 Winter(8.0.18), IM-BIS 2017 Winter(8.0.15)以降のバージョンであること
  • LogicDesigner のExcel出力の実行には [標準機能]-[基盤機能]-[IM-LogicDesigner]-[IM-LogicDesigner Excel連携]が含まれている必要があります。
  • サンプルデータのインポートが行われていること

サンプルは、intra-mart Accel Platform(Advanced) 2017 Winter(8.0.18), IM-BIS 2017 Winter(8.0.15)で動作確認を行っています。

レシピ

  1. BISフローを作成する
  2. ユーザ定義(Excel出力定義)を作成する
  3. ロジックフローを作成する
  4. データソース定義を作成する
  5. アクションイベントを作成する
  6. 実行画面で確認する

なお、以下の手順ではサンプルで実装されているCSVインポートの設定については省略しております。
CSVインポートの設定を確認したい場合は以下のドキュメントをご覧ください。
[IM-BIS システム管理者 操作ガイド] - [データソース定義を設定する] - [CSVインポート]

1. BISフローを作成する

以下のアイテムを配置した処理画面を作成してください。

im_cookbook_132010_1

a. 文字列
  レポートタイトルの入力に利用します。
b. グリッドテーブル
  グラフデータの元データの入力に利用します。
  列は文字列・数値・数値の3列の構成です。
c. ボタン(イベント)
  1つはCSVファイルの取り込み、もう1つはExcelファイルを出力する外部連携の実行のトリガに利用します。

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

Public Storageに配置したExcelのテンプレートに基づいて、IM-LogicDesignerのユーザ定義(Excel出力定義)を作成してください。

im_cookbook_132010_2

a. セル出力定義
   特定のセルに「文字列」の値をレポートタイトルとして出力できるように以下の通り設定してください。
   「description」は作成したBISの画面に配置した文字列アイテムのフィールド識別IDです。

シート名 セル 入力パラメータ名 データ型
 Sheet1 A2 description string

b. 範囲指定出力定義

  • 出力範囲
設定項目 設定値
シート名 Sheet1
対象列 A - C
開始行 5
終了条件 入力データを全て書き込んだら
  • 入力パラメータとデータ型
セルの列 入力パラメータ データ型
親オブジェクト records1 Object[]
A column_a string
B column_b numeric
C column_c numeric

手順の詳細は以下のドキュメントをご覧ください。
[IM-LogicDesigner チュートリアルガイド] - [ユーザ定義 - Excel出力]

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

1. 入出力設定の登録

  • 入力はBISで作成した画面項目に合わせて定義してください。
  • 出力はBISで外部連携のレスポンスとしてファイルを受け取るためには、指定のパラメータで定義する必要があります。
  • 入出力設定については、以下の画面の通りに設定してください。

im_cookbook_132010_3

2. 定数の設定

  • 以下の通りに、ファイルの連携に必要な情報を定数として定義してください。

im_cookbook_132010_4

定数ID 定数値
directory_file_prefix sample/cb_132010_
file_extension .xlsx
result false
template sample/cb_132010/graph/cb132010_graph_template.xlsx

3. ロジックフローの作成

以下の通りにロジックフローのタスクを配置し、接続してください。

3-1. 「開始」→「セッションストレージ取得」

(1) 「ストレージ操作」-「セッションストレージ取得」タスクを配置してください。
(2) 「開始」と「セッションストレージ取得」を接続してください。

im_cookbook_132010_5

(3) 「セッションストレージ取得」でのマッピング設定を以下の通りに行ってください。

im_cookbook_132010_6

3-2. 「セッションストレージ取得」→「ユーザ定義(Excel出力)」

(1) 「セッションストレージ取得」タスクの下に、2の手順で作成した「ユーザ定義(Excel出力)」タスクを配置してください。
(2) 「セッションストレージ取得」と「ユーザ定義(Excel出力)」、「ユーザ定義(Excel出力)」と「終了」を接続してください。

im_cookbook_132010_7

「ユーザ定義(Excel出力)」でのマッピング設定を以下の通りに行ってください。

im_cookbook_132010_8

「終了」でのマッピング設定を以下の通りに行ってください。

im_cookbook_132010_9

ここまででロジックフローが完成しましたので、保存後に次の手順に移ってください。

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

作成したロジックフローをLogicDesignerのデータソース定義として設定してください。
設定の詳細は以下のドキュメントをご覧ください。
[IM-BIS システム管理者 操作ガイド] - [データソース定義を設定する] - [LogicDesigner]

5. アクションイベントを作成する

BISのフォーム・デザイナの「アクション設定」から「ボタン(イベント)」をトリガとした外部連携を設定してください。
このアクションイベントでは、「リクエスト」でユーザ定義(Excel出力)に対して画面項目とのマッピングを設定してください。
レスポンスは暗黙的にマッピングを行っているため、設定は不要です。

  • リクエストの設定
    以下の図で矢印でつないだ項目をマッピングしてください。

im_cookbook_132010_10

  • レスポンスの設定

im_cookbook_132010_11

6. 実行画面で確認する

最後に、実行画面で画面に入力後、「Download Excel」をクリックしてください。
完成イメージと同様のExcelファイルがダウンロードできることが確認できます。

im_cookbook_132010_12

-CookBook
-, ,

執筆者:


  1. 林朋宏 より:

    3-2.(2)以降、表示がおかしくなっている箇所があります。

    • imdeveloper より:

      ご指摘、誠にありがとうございます。
      修正し、スクリーンショットが表示されるようにいたしました。

comment

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

関連記事

no image

設計書出力に任意のシートを追加する方法

このCookBookでは、BIS設計書出力機能で出力できるIM-Workflowフロー設計書およびBISフロー設計書に任意のシートを出力する方法について紹介しています。 完成イメージ 1. IM-BI …

no image

ウォッチ機能のご紹介

このCookBookでは「intra-mart Accel Collaboration」に備わっているウォッチ機能のご紹介です。 各会社様でグループで仕事をする機会が多いと思います。 仕事を行う上で、 …

no image

IM-LogicDesignerのIM-ContentsSearch コンテンツ登録タスク利用例

このCookBookでは、IM-LogicDesignerのIM-ContentsSearch コンテンツ登録タスクの利用例を紹介します。 IM-BISで作成したワークフローの案件終了処理で、画面項目 …

no image

ワークフローの一覧を使い分けるには(改訂版)

このCookbookでは、以前に公開した「IM-Workflowの一覧を業務別に使い分けるには」に関して、お問い合わせいただいた内容を追加してワークフローの一覧の検索条件を付与する方法をご紹介いたしま …

no image

No.5 外部サイトの定期監視

この記事は、EWS 2017で行われたLogicDesignerの講演内容に関する記事です。 こちらの例では、LogicDesignerからIM-FormaDesigner / IM-BIS / IM …

まだデータがありません。

RSSRSSRSSRSS