CookBook

IM-FormaDesignerで作成したフォーム内で、外部連携を利用して最も簡単に値を渡す方法(テーブルアイテム編)

投稿日:2017-01-27 更新日:

このCookBookでは、IM-FormaDesignerで作成したフォーム画面の中で、テーブルアイテムからテーブルアイテムへ値を渡す方法について紹介します。
今回は例として、グリッドテーブルを利用し、テーブルからテーブルへ値を渡してみましょう。
以下の3つのデータ型の値を同時に渡します。

  • 文字列
  • 数値
  • 日付

前提条件

ご紹介する方法では外部連携機能を利用するため、IM-BISが環境に含まれている必要があります。
内容は重複してしまいますが、あらかじめ [単一アイテム編のCookBook] をご覧になってからこのCookBookを読むことをお薦めします。

完成イメージ


1. 左側のグリッドテーブルに、値を入力してください。
2. 画面下の「Transfer Values」ボタンをクリックしてください。
3. 画面右側の「string」と「number」に値が渡されます。

完成サンプル

以下の完成サンプルを、ローカル環境にインポートしてご活用ください。
なお、以下のサンプルはintra-mart Accel Platform 2016 Summerの環境を利用して作成したものです。
2016 Summerより前のバージョンでは正常に動作しない可能性があります。

ローカル環境で表示させる場合は、以下のURLにアクセスしてください。
http://localhost:8080/imart/forma/normal/view/regist_application_view/im_cookbook_114564_forma
なおベースURLである以下の部分は、環境に合わせて適宜変更してください。
http://localhost:8080/imart

レシピ

  1. IM-LogicDesignerを利用してロジックフローを作成する。
  2. 作成したロジックフローをデータソース定義に登録する。
  3. IM-FormaDesignerを利用してフォーム画面を作成する。
  4. 外部連携機能を利用して、アイテムからアイテムへ値を渡す設定をする。

IM-LogicDesignerを利用してロジックフローを作成する。

受け取った値を返却するだけのロジックフローを作成しましょう。

まずは入出力設定を行います。

入出力設定

入力 出力
object1 <object[]>
├──string1 <string>
├──integer1 <integer>
└──date1 <date>
object1 <object[]>
├──string1 <string>
├──integer1 <integer>
└──date1 <date>

object1がObject型の配列になっていることに注意しましょう。
object1の要素1つが、テーブル1行分のデータです。

次に、ロジックフローを作成しましょう。
StartタスクとEndタスクを矢印で直接つなぎ、Endタスクをダブルクリックしマッピング設定を行います。
入出力設定で追加した2つの入力データが直接出力されるようにマッピングしてください。

IM-LogicDesigner マッピング設定

以上でロジックフローの作成は終了です。
任意の名前で保存しましょう。

作成したロジックフローをデータソース定義に登録する。

先に作成したロジックフローをデータソース定義に登録してください。
登録方法について詳しくは、以下のドキュメントをご覧ください。

[IM-BIS システム管理者ガイド] – [データソース定義を設定する]

IM-FormaDesignerを利用してフォーム画面を作成する。

フォームデザイナ画面

上記スクリーンショットのようにアイテムを配置してください。
今回の例で設定したフィールド識別IDは以下です。

アイテムのラベル テーブル識別ID
リクエスト gt1
レスポンス gt2

左側に配置したgt1には以下の列を設定しています。

列名 列タイプ フィールド識別ID
文字列 文字列 gt1_textbox1
数値 数値 gt1_number1
日付 日付 gt1_calendar1

右側に配置したgt2にも、同様に列を設定しましょう。
最後に、アクション設定を利用するためにボタンを配置してください。

外部連携機能を利用して、アイテムからアイテムへ値を渡す設定をする。

配置したイベントボタンに対して、外部連携のアクション設定を行います。
データマッパーのリクエストタブでは、以下のようにマッピングを行ってください。

フォーム内の入力アイテム データソース定義の入力
gt1_textbox1 string1
gt1_number1 integer1
gt1_calendar1 date1

同様に、レスポンスタブでは以下のようにマッピングしてください。

データソース定義の出力 フォーム内の入力アイテム
string1 gt2_textbox1
integer1 gt2_number1
date1 gt2_calendar1

IM-FormaDesignerでは、以下4つのデータ型に対応していますが、全てIM-LogicDesignerで値を受け渡すことができます。
入出力データ型の仕様については以下のドキュメントをご覧ください。

終わりに

以上の手順を踏むことで、IM-FormaDesignerで作成したフォーム画面の中で、テーブルアイテムの値を受け渡すことができます。
データが複数行になっても、値を受け渡すことができます。

-CookBook
-, ,

執筆者:


  1. […] IM-FormaDesignerで作成したフォーム内で、外部連携を利用して最も簡単に値を渡す方法(テーブルアイテム編) […]

  2. […] また、テーブルでの値渡しについては、[テーブルアイテム編のCookBook] をご覧ください。 […]

IM-FormaDesignerで作成したフォーム内で、外部連携を利用して最も簡単に値を渡す方法(単一アイテム編) | intra-mart Developer Site へ返信する コメントをキャンセル

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

関連記事

no image

IM-BloomMaker サイドメニューの使い方

このCookBookでは、2020 Summer から利用可能になったサイドメニューエレメントの使い方について紹介しています。 エレメントの概要 サイドメニューエレメントは、「intra-mart A …

no image

BloomMaker で3桁区切りの数値フォーマットを自動で行うテキストボックスを作成する方法

この CookBook では、IM-BloomMaker を使用して、3桁区切りの数値フォーマットを自動で行うテキストボックスを作成する方法を紹介します。 ※この CookBook は 2021 Su …

no image

ワークスペース機能におけるイベントカレンダーの利用例

このCookBookでは「intra-mart Accel Collaboration」ワークスペース機能におけるイベントカレンダーの利用例について紹介しています。 intra-mart Accel …

no image

スクリプト開発した画面にバリデーション(入力チェック)を実装する

このCookBookでは、作成した画面項目に対してバリデーション(入力チェック)を設定する方法をご紹介します。 今回はスクリプト開発で登録フォームを作成するで作成した画面項目に対して、クライアントサイ …

no image

CookBookからダウンロードしてきたプロジェクトのインポート方法

このCookBookでは、他のCookBookからダウンロードしてきたe Builderのモジュール・プロジェクトのインポートについて紹介しています。 プロジェクトをインポートし、プロジェクトの設定を …