intra-mart IM-FormaDesigner / IM-BIS トラブルシューティング 第8版 2017-12-01

4.2. 画面に入力した情報がデータベースに反映されない


4.2.1. 申請時に登録した情報が登録されていない

対象バージョン

  • IM-FormaDesigner Version 7.2 の場合

    • IM-FormaDesigner Version 7.2.0 ~ 最新バージョン
  • IM-FormaDesigner for Accel Platform の場合

    • IM-FormaDesigner for Accel Platform 2012 Autumn (8.0.1) ~ IM-FormaDesigner for Accel Platform 2013 Summer (8.0.4)

現象

IM-FormaDesigner で作成した登録/申請画面を表示した後、別のタブやウィンドウから過去のデータを参照すると、登録/申請画面で入力した内容が登録されません。
そのため、対象のデータの承認画面や参照画面では、入力された内容が空欄で表示されます。

条件

IM-FormaDesigner で作成した登録/申請画面を開いた後、別のタブやウィンドウから過去の入力データを参照し、その後、登録/申請画面でデータの入力、登録を行う。

以下のアプリケーション種別・BIS作成種類の場合に発生します。
  • アプリケーション種別「標準」
  • アプリケーション種別「IM-Workflow」
  • BIS作成種類「BISフロー」
  • BIS作成種類「ワークフロー」

原因

IM-FormaDesigner では、画面表示時に処理制御用データを、セッション領域に保持しています。
セッション領域は画面単位ではなく、共通です。
そのため、登録画面を表示後に他画面を表示するとセッション領域が書き換えられてしまい、想定していた動作を行うことができません。
以下の要件で対応を行っています。
  • IM-FormaDesigner Version 7.2 の場合

    • 対象外
  • IM-FormaDesigner for Accel Platform の場合

    • 要件 #12348 Forma画面複数同時起動できるようにする

解決方法

以下のパッチまたはアップデートを適用することで解決します。
  • IM-FormaDesigner Version 7.2 の場合

    • 対象外
  • IM-FormaDesigner for Accel Platform の場合

    • IM-FormaDesigner for Accel Platform 2013 Winter (8.0.5)

回避方法

複数タブ、ウィンドウ操作を行わないでください。

復旧方法

ありません。

4.2.2. 複数のフォームを持つアプリケーションで、データが登録されない

対象バージョン

  • IM-FormaDesigner Version 7.2 の場合

    • IM-FormaDesigner Version 7.2.0 ~ 最新バージョン
  • IM-FormaDesigner for Accel Platform の場合

    • IM-FormaDesigner for Accel Platform 2012 Autumn (8.0.1) ~ 最新バージョン

現象

以下の2つの現象が発生します。
  • アプリケーション種別「標準」の場合

    登録画面で入力した値が、更新画面や詳細画面で表示されません。また、データベースにも登録されません。

  • アプリケーション種別「IM-Workflow」、BIS作成種類「BISフロー」、BIS作成種類「ワークフロー」の場合

    申請画面や確認・承認画面で入力した値が、後続の確認・承認画面、詳細画面で表示されません。また、データベースにも登録されません。

条件

メインフォーム以外のフォームに配置した画面アイテムを、メインフォームに配置しない。

以下のアプリケーション種別・BIS作成種類の場合に発生します。
  • アプリケーション種別「標準」
  • アプリケーション種別「IM-Workflow」
  • BIS作成種類「BISフロー」
  • BIS作成種類「ワークフロー」

原因

製品の仕様です。
IM-FormaDesigner / IM-BIS では、テーブル設定の対象は、メインフォーム上に配置された「フィールドDB登録」が有効な画面アイテムです。
複数のフォームをもつアプリケーションでは、メインフォームに配置されていない画面アイテムはテーブル設定の対象外となるため、テーブルに対応するカラムが作成されず、データが登録されません。
そのため、画面上では該当の画面アイテムの値が空欄で表示されます。

解決方法

画面で入力した値をデータベースに登録できるようにするには、以下のいずれかの方法で対応してください。
  • 対象の画面アイテムをメインフォームに表示する場合

    「アイテムコピー」等を利用して、同じフィールド識別IDで対象の画面アイテムをメインフォームに配置してください。

  • 対象の画面アイテムをメインフォームに表示させない場合

    メインフォームに「隠しパラメータ」を配置し、登録対象の画面アイテムのフィールド識別IDを「隠しパラメータ」のフィールド識別IDに設定してください。

コラム

複数のフォームを持つアプリケーションの作り方については、以下を参考にしてください。

回避方法

ありません。

復旧方法

ありません。