intra-mart Accel Kaiden! プログラミングガイド 第4版 2016-08-01

4.3.1. 機能説明

本項では、経費明細ガジェットを参考に、ガジェット(経費旅費)機能の概要や構成を解説します。

4.3.1.1. 概要

申請書(IM-Workflow)で利用されることを目的に作られたガジェットを申請書ガジェットと呼んでいます。
各申請書ガジェットデータのデータ登録や更新、画面表示処理を行う機能です。
intra-mart Accel Kaiden!の申請書ガジェット機能をプログラミングする際には、次のモジュールが必要となります。
  • intra-mart Accel Kaiden! 基盤モジュール
  • intra-mart Accel Kaiden! IM-Workflow連携モジュール

4.3.1.1.1. バリエーション違いの互換性

intra-mart Accel Kaiden!にて提供している申請書ガジェットは、
ガジェットクラスが同じであればガジェットバリエーションが異なる場合もデータの互換性を担保しています。
実際にはテーブルは同一のものを利用しており、
バリエーションが異なるものは画面レイアウト(や若干の入力項目)の差異があると位置づけています。

4.3.1.1.2. 申請書ガジェットインスタンスの採番方法

前述の通り、ガジェットクラス・ガジェットバリエーションはそのガジェットの種類などを表します。
ガジェットインスタンスは、同一ガジェットの同時利用を行えるようにするための連番です。
ただし、申請書機能では、ガジェットインスタンスはガジェットクラスごとの連番で割り振られます。
  • 採番ルール
ガジェットクラス ガジェットバリエーション ガジェットインスタンス
gadgetA v01 0
gadgetA v02 1
gadgetB v02 0
gadgetB v01 1
gadgetA v02 2

4.3.1.2. 構成

intra-mart Accel Kaiden!にて提供している申請書ガジェットは、申請書(IM-Workflow)で利用できます。
利用するガジェットはintra-mart Accel Kaiden!の申請書マスタにて設定します。

コラム

申請書マスタの操作については、intra-mart Accel Kaiden! 経費旅費 / 管理者操作ガイドを参照してください。

4.3.1.2.1. 画面構成

経費明細ガジェットでは、次のような画面構成となります。
  • 申請画面表示時
    経費明細ガジェット画面です。
    経費明細ガジェットに値を入力する場合は行を挿入する必要があります。
../../../../_images/gadget_workflow_001.png

4.3.1.3. 申請書ガジェットマスタデータについて

申請書ガジェットの情報はデータベース上で保持します。
情報は以下のテーブルで保持し、以下すべてのテーブルデータを総称して「申請書ガジェットマスタデータ」と呼びます。
  • 申請書ガジェットマスタ
  • 申請書ガジェット概要マスタ
  • 申請書ガジェットタグマスタ
  • 申請書ガジェットサーフェスマスタ
  • 申請書ガジェットブロックマスタ
  • 申請書ガジェットフィールドグループマスタ
  • 申請書ガジェットフィールドマスタ

コラム

申請書ガジェット作成時には申請書ガジェットマスタデータを検討の上、各テーブルにデータを投入する必要があります。

4.3.1.3.1. 申請書ガジェットマスタ

申請書ガジェットの根幹となる情報を保持するマスタです。
ガジェットクラス
ガジェットの種別をあらわします。
intra-mart Accel Kaiden!標準では日当明細ガジェットは「allowanceDetail」、宿泊明細ガジェットは「lodgeDetail」となります。
ガジェットバリエーション
同一ガジェット種別で画面レイアウト違いを識別します。
intra-mart Accel Kaiden!標準では日当明細ガジェット(国内向け)は「v01」、日当明細ガジェット(海外向け)は「v02」となります。
JSPパス
JSPファイルのパスを設定します。
JAVAクラスパス
JAVAクラスパスを設定します。
サーフェスキー
ガジェットのタイトルとなるサーフェスキーを設定します。
後述するガジェットサーフェスマスタのサーフェスキーと紐づけます。
ソートキー
ソートキーを設定します。

4.3.1.3.2. 申請書ガジェット概要マスタ

申請書ガジェットの概要情報を保持するマスタです。
ガジェット名
ガジェット名を設定します。
使用するロケール分のレコードデータを定義する必要があります。
ガジェット概要
ガジェット概要を設定します。
ガジェットマスタメンテナンス画面のツールチップとなります。
使用するロケール分のレコードデータを定義する必要があります。

4.3.1.3.3. 申請書ガジェットタグマスタ

ガジェットの属性を保持するマスタです。
タグ
タグを設定します。

コラム

下記のタグが存在し、設定することでガジェットに属性が付与され、ガジェット属性ごとの振る舞いを定義できます。
intra-mart Accel Kaiden!標準のガジェットには下記以外のタグも設定されていますが、将来拡張用のタグです。
タグ分類 タグ名 説明
制約 constraintDuplicationSelf
申請書内で自身と重複を禁止します。
制約 constraintDuplicationClass
申請書内で同ガジェットクラスと重複を禁止します。
対象申請書タイプ appAdvance
対象申請書タイプ「事前申請」を設定します。
申請書マスタメンテナンスで申請書タイプ「事前申請書」を選択した場合、選択できるガジェットになります。
対象申請書タイプ appSettle
対象申請書タイプ「精算申請」を設定します。
申請書マスタメンテナンスで申請書タイプ「精算申請書」を選択した場合、選択できるガジェットになります。
対象申請書タイプ appNormal
対象申請書タイプ「一般」を設定します。
申請書マスタメンテナンスで申請書タイプ「一般」を選択した場合、選択できるガジェットになります。
対象申請書タイプ appBill
対象申請書タイプ「請求書払申請」を設定します。
申請書マスタメンテナンスで申請書タイプ「請求書払申請書」を選択した場合、選択できるガジェットになります。

4.3.1.3.4. 申請書ガジェットサーフェスマスタ

ガジェットのサーフェス情報を保持するマスタです。
サーフェスキーに対して、システムで使用するロケール分のレコードデータを定義する必要があります。

4.3.1.3.5. 申請書ガジェットブロックマスタ

ガジェットのブロック情報を保持するマスタです。
ブロックIDに対して、ブロックタイプ、ソートキー、サーフェスキーを設定します。
ブロックID
ブロックIDを設定します。
ブロックタイプ
「normal」「detail」のいずれかを設定します。
明細行を保持しない場合は「normal」を設定します。
明細行を保持する場合は「detail」を設定します。
ソートキー
ソートキーを設定します。将来拡張用の項目です。
サーフェスキー
ガジェットのタイトルとなるサーフェスのキーを設定します。

コラム

ブロックIDは、ガジェット入力データを保持するトランザクションテーブル1つに対応して定義します。
例えば intra-mart Accel Kaiden!標準の「交際明細ガジェット」の場合、ブロックIDを3つ定義しています。
ブロックID ブロックタイプ 対応するトランザクションテーブル
entInfTable normal 交際明細テーブル
entInfOthDtlTable detail 交際明細先方明細テーブル
entInfOurDtlTable detail 交際明細当社明細テーブル

4.3.1.3.6. 申請書ガジェットフィールドグループマスタ

ガジェットのフィールドグループ情報を保持するマスタです。
役割としては以下になります。
  • 「ガジェットフィールド」のグルーピング
  • 「ガジェットブロック」との紐づけ
  • 必須タイプの設定
ブロックID
ガジェットブロックマスタのブロックIDに紐づけて設定します。
フィールドグループID
フィールドグループIDを設定します。
サーフェスキー
ガジェットサーフェスマスタのサーフェスキーに紐づけて設定します。
ここで紐づけたサーフェスは申請書マスタメンテナンスのガジェット項目の任意/必須切り替え画面のラベルとなります。
必須タイプ
項目の任意/必須を設定します。
設定値は以下の通りとなります。
「0:変更可能(デフォルト任意)」
「1:変更可能(デフォルト必須)」
「a:常時任意」
「b:常時必須」
から選択します。
入力タイプ
項目の任意/必須を設定します。
設定値は以下の通りとなります。
「0:設定変更可」
「a:ラベル(変更不可)」
「b:テキスト(変更不可)」
「c:テキスト(処理時入力不可・変更不可)」
ソートキー
ソートキーを設定します。将来拡張用の項目です。

コラム

必須タイプが「変更可能」である場合は申請書マスタメンテナンスで項目の任意/必須を切り替えることができます。

コラム

入力タイプが「設定変更可」である場合は申請書マスタメンテナンスで項目のテキスト/ラベルを切り替えることができます。
画面種別が「申請」「一時保存」「申請書(起票案件)」の場合は変更できません。

注意

項目の任意/必須は申請書マスタメンテナンスで切り替えられるようにするため、
ガジェットの入力データを保持するトランザクションテーブルには基本的にNotNull制約を付与しないでください。

4.3.1.3.7. 申請書ガジェットフィールドマスタ

ガジェットのフィールド情報を保持するマスタです。
ブロックID
ガジェットブロックマスタのブロックIDに紐づけて設定します。
フィールドキー
フィールドキーを設定します。
フィールドグループID
ガジェットフィールドマスタのフィールドグループIDに紐づけて設定します。
サーフェスキー
ガジェットサーフェスマスタのサーフェスキーに紐づけて設定します。
ここで紐づけたサーフェスは申請書ガジェットのラベルとなります。
必須タイプ
項目の任意/必須を設定します。
設定値は以下の通りとなります。
「0:変更可能(デフォルト任意)」将来拡張用の項目です。
「1:変更可能(デフォルト必須)」将来拡張用の項目です。
「a:常時任意」「b:常時必須」
「z:申請書ガジェットフィールドグループマスタの設定を引き継ぐ」
入力タイプ
項目の任意/必須を設定します。
設定値は以下の通りとなります。
「0:設定変更可」将来拡張用の項目です。
「a:ラベル(変更不可)」
「b:テキスト(変更不可)」
「c:テキスト(処理時入力不可・変更不可)」
「z:申請書ガジェットフィールドグループマスタの設定を引き継ぐ」
ソートキー
ソートキーを設定します。将来拡張用の項目です。