4.1. GadgetBuilder定義¶
本項では、GadgetBuilderの設定ファイル(以降、GadgetBuilder定義)の作成方法を説明します。
4.1.1. 概要¶
4.1.1.1. GadgetBuilder定義とは?¶
GadgetBuilder定義は、XML形式で設定を行います。本項では、経費明細を例に解説を行います。コラム
GadgetBuilder定義は、ガジェットマスタの設定階層に準拠しています。GadgetBuilder定義の全体イメージは「Sample」を参照してください。
4.1.1.2. GadgetBuilder定義の配置先¶
GadgetBuilder定義は次のパスに配置します。「%ストレージパス%/kaiden/generic/gadget/%ガジェットクラス%_%ガジェットバリエーション%.xml」ストレージはシステムストレージ、パブリックストレージのどちらでも配置可能で、パブリックストレージが優先的に読み込まれます。intra-mart Accel Kaiden!のGadgetBuilder定義は、システムストレージに配置されます。上記の読み込み順を使用して、独自のGadgetBuilder定義を優先的に読み込ませることが可能です。(テナント別にGadgetBuilder定義を作成したい場合も、パブリックストレージを使用してください。)
4.1.2. GadgetBuilder定義¶
設定<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <gadgetBuilderSettings xmlns="http://kaiden.slcs.co.jp/xmlschema/gadgetBuilderSettings"> <gadgetClass>expenseDetail</gadgetClass> <gadgetVariation>v01</gadgetVariation> <jspPath>/WEB-INF/view/kaiden2/extension_imw/generic/gadget/generic_v01.jsp</jspPath> <javaPath>jp.co.slcs.kaiden2.extension_imw.feature.logic.kaiden.gadget.builder.GadgetBuilderLogic</javaPath> <sortKey>51001</sortKey> <surfaceKey>chapterTitle</surfaceKey> <descriptions> <!-- 略 --> </descriptions> <blocks> <!-- 略 --> </blocks> <surfaces> <!-- 略 --> </surfaces> <tags> <!-- 略 --> </tags> </gadgetBuilderSettings>解説
ガジェットクラス(gadgetBuilderSettings / gadgetClass):必須ガジェットクラスを設定します。 ガジェットバリエーション(gadgetBuilderSettings / gadgetVariation):必須ガジェットバリエーションを設定します。 JSPパス(gadgetBuilderSettings / jspPath):必須ガジェットのJSPパスを定義します。コラム
標準のJSPパスを使用する場合、「/WEB-INF/view/kaiden2/extension_imw/generic/gadget/generic_v01.jsp」を設定します。標準のJSPパスから変更する場合、独自に作成したJSPパスを設定してください。 Javaパス(gadgetBuilderSettings / javaPath):必須ガジェットのJavaクラスパス(Logicクラスのクラスパス)を設定します。コラム
標準のLogicクラスを使用する場合、「jp.co.slcs.kaiden2.extension_imw.feature.logic.kaiden.gadget.builder.GadgetBuilderLogic」を設定します。標準のLogicクラスから変更する場合、独自に作成したLogicクラスのパスを設定してください。 ソートキー(gadgetBuilderSettings / sortKey):必須ガジェットの表示順等で使用するソートキーを設定します。 サーフィスキー(gadgetBuilderSettings / surfaceKey):必須ガジェットのサーフィスキーを設定します。 ガジェットタイトル表示有無(gadgetBuilderSettings / displayTitle):任意JSP上でガジェットのタイトルを表示するか否かを設定します。省略時は「true:表示する」が設定されます。 ガジェット引数設定(gadgetBuilderSettings / args):任意ガジェット引数を設定します。 拡張設定(gadgetBuilderSettings / extension):任意標準機能を拡張(カスタマイズ)する場合の拡張先の設定を行います。 拡張設定(Logic)(gadgetBuilderSettings / extension / logic):任意標準のLogicクラスを変更する場合に設定します。コラム
標準のLogicクラス「jp.co.slcs.kaiden2.base.feature.logic.kaiden.generic.impl.GadgetLogic」を変更する場合に設定します。標準のLogicクラスは、構成情報の返却やデータの登録・更新・削除・検索などを行います。「Javaパス(gadgetBuilderSettings / javaPath)」に設定したクラスは、利用用途による処理を行います。(申請書用のクラスの場合は、申請処理や承認処理など) 拡張設定(URL)(gadgetBuilderSettings / extension / url):任意標準のURLを変更する場合に設定します。コラム
標準のURL「kaiden/gadget/gadgetBuilder」を変更する場合に設定します。標準のURLを変更することで、Actionクラスの拡張が行えます。
4.1.2.1. ガジェット概要設定¶
ガジェット概要設定では、申請書マスタメンテナンス機能などで表示される、各ガジェットの概要を設定します。ガジェット概要設定は、「gadgetBuilderSettings / descriptions / description」階層に設定を行います。「gadgetBuilderSettings / descriptions / description」階層は、1件以上の複数設定(ロケール別)が可能です。設定<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <gadgetBuilderSettings xmlns="http://kaiden.slcs.co.jp/xmlschema/gadgetBuilderSettings"> <!-- 略 --> <descriptions> <description localeId="en" gadgetName="Expenses Particulars" description="Enter Expenses Particulars.
Only Japanese Yen is available."/> <description localeId="ja" gadgetName="経費明細" description="経費明細の入力を行います。
日本円のみ利用可能です。"/> <description localeId="zh_CN" gadgetName="经费明细" description="输入经费明细。
只可使用日元。"/> </descriptions> <!-- 略 --> </gadgetBuilderSettings>解説
ロケールID(gadgetBuilderSettings / descriptions / description @ localeId):必須ロケールIDを設定します。 ガジェット名(gadgetBuilderSettings / descriptions / description @ gadgetName):必須ガジェット名を設定します。 ガジェット概要(gadgetBuilderSettings / descriptions / description @ description):必須ガジェット概要を設定します。
4.1.2.2. ガジェットブロック設定¶
ガジェットブロック設定では、ガジェットブロックの定義を設定します。ガジェットブロック設定は、「gadgetBuilderSettings / blocks / block」階層に設定を行います。「gadgetBuilderSettings / blocks / block」階層は、複数設定が可能です。設定<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <gadgetBuilderSettings xmlns="http://kaiden.slcs.co.jp/xmlschema/gadgetBuilderSettings"> <!-- 略 --> <blocks> <block id="expenseDetail" type="DETAIL" surfaceKey="chapterTitle"> <service basic="k30tExpenseDetailService" archive="ka30tExpenseDetailService"> <sqls> <sql id="init" path="META-INF/sql/jp/co/slcs/kaiden2/generic/gadget/ExpenseDetail.sql"/> <sql id="copy" path="META-INF/sql/jp/co/slcs/kaiden2/generic/gadget/ExpenseDetail.sql"/> <sql id="merge" path="META-INF/sql/jp/co/slcs/kaiden2/generic/gadget/ExpenseDetail.sql"/> <sql id="archive" path="META-INF/sql/jp/co/slcs/kaiden2/generic/gadget/ExpenseDetail.sql"/> <sql id="select" path="META-INF/sql/jp/co/slcs/kaiden2/generic/gadget/ExpenseDetail.sql"/> </sqls> </service> <groups> <!-- 略 --> </groups> <table rowNumberTarget="rowNumber" type="HORIZONTAL"> <colgroups> <colgroup style="width:50px; overflow:hidden"/> <colgroup style="overflow:hidden"/> <colgroup style="width:23%; overflow:hidden"/> <colgroup style="width:23%; overflow:hidden"/> <colgroup style="width:23%; overflow:hidden"/> </colgroups> <rows> <row> <cols> <col groupId="rowNumber" rowspan="3"/> <col groupId="occurDate"/> <col groupId="summary" colspan="3"/> </cols> </row> <row> <cols> <col groupId="expType" colspan="2"/> <col groupId="department"/> <col groupId="project"/> </cols> </row> <row> <cols> <col groupId="payType"/> <col groupId="payee" colspan="2"/> <col groupId="transAmount"/> </cols> </row> </rows> </table> <completions> <!-- 略 --> </completions> <claims> <!-- 略 --> </claims> <events> <!-- 略 --> </events> <includes> <!-- 略 --> </includes> </block> <!-- 略 --> </blocks> <!-- 略 --> </gadgetBuilderSettings>解説
ブロックID(gadgetBuilderSettings / blocks / block @ id):必須ブロックIDを設定します。 ブロックタイプ(gadgetBuilderSettings / blocks / block @ type):必須ガジェットブロックの種類を設定します。コラム
「NORMAL」「DETAIL」のいずれかを設定します。
- 明細行を保持しない場合は「NORMAL」を設定します。
- 明細行を保持する場合は「DETAIL」を設定します。
ソートキー(gadgetBuilderSettings / blocks / block @ sortKey):任意ソートキーを設定します。未設定の場合はガジェットブロック設定順に連番となります。 サーフィスキー(gadgetBuilderSettings / blocks / block @ surfaceKey):必須ガジェットブロックのサーフィスキーを設定します。 サービス設定(gadgetBuilderSettings / blocks / block / service):任意サービスやSQLパスなどを設定します。 基本サービスクラス(gadgetBuilderSettings / blocks / block / service @ basic):任意基本テーブルのサービスクラス(コンポーネント名)を設定します。 アーカイブサービスクラス(gadgetBuilderSettings / blocks / block / service @ archive):任意アーカイブテーブルのサービスクラス(コンポーネント名)を設定します。 SQL設定(gadgetBuilderSettings / blocks / block / service / sqls / sql):任意検索などで使用するSQLや検索用クラスを設定します。 SQLID(gadgetBuilderSettings / blocks / block / service / sqls / sql @ id):必須SQL設定のIDを設定します。コラム
SQL設定を使用した検索を行う場合、検索条件にSQLIDも含まれます。SQLIDと主な用途は次の通りです。
ID 主な用途 INIT 初期表示時のデータ検索INIT_ARCHIVE アーカイブデータ初期表示時のデータ検索COPY コピー時のコピー元データ検索MERGE マージ時のマージ元データ検索ARCHIVE アーカイブ時のアーカイブ元データ検索SELECT 対象検索SEARCH 一覧検索 SQLパス(gadgetBuilderSettings / blocks / block / service / sqls / sql @ path):任意SQLパスを設定します。 代替クラス(gadgetBuilderSettings / blocks / block / service / sqls / sql @ component):任意検索を代替するクラス(コンポーネント名)を設定します。API等を使用して検索を行う場合に使用します。コラム
設定クラスは次のクラスを継承したクラスである必要があります。
- jp.co.slcs.kaiden2.base.foundation.gadget.builder.select.AbstractGadgetSelect
コラム
検索を行わない場合(初期表示しない、コピーしないなど)、次の様に設定することで検索を抑止できます。(「notSelect」クラス(コンポーネント名)は検索を行わないクラスです。)<sql id=”copy” component=”notSelect”/> フィールドグループ設定(gadgetBuilderSettings / blocks / block / groups):任意フィールドグループを設定します。後述の「フィールドグループ設定」を参照してください。 構成設定(gadgetBuilderSettings / blocks / block / table):任意ガジェット構成を設定します。未設定の場合、ガジェット構成時にフィールドグループ設定順で構成されます。 構成タイプ(gadgetBuilderSettings / blocks / block / table @ type):必須ガジェット構成のタイプを設定します。「HORIZONTAL」「VERTICAL」のいずれかを設定します。 行番号フィールド(gadgetBuilderSettings / blocks / block / table @ rowNumberTarget):任意ブロックタイプ「DETAIL」を設定した場合の行番号フィールドを設定します。TmTableタグの「rowNumberTarget」属性に設定されます。 カラムグループ設定(gadgetBuilderSettings / blocks / block / table / colgroups / colgroup):任意ガジェット構成時のカラムグループを設定します。 カラムグループスタイル(gadgetBuilderSettings / blocks / block / table / colgroups / colgroup @ style):任意ガジェット構成時のカラムグループのスタイルを設定します。 行 - 列設定(gadgetBuilderSettings / blocks / block / table / rows / row / cols / col):任意ガジェット構成時の行 - 列を設定します。コラム
構成タイプで「HORIZONTAL」を設定した場合に使用します。 フィールドグループID(gadgetBuilderSettings / blocks / block / table / rows / row / cols / col @ groupId):任意当該構成を行うフィールドグループのIDを設定します。 列結合数(gadgetBuilderSettings / blocks / block / table / rows / row / cols / col @ colspan):任意当該構成の列結合数を設定します。 行結合数(gadgetBuilderSettings / blocks / block / table / rows / row / cols / col @ rowspan):任意当該構成の行結合数を設定します。 列 - 行設定(gadgetBuilderSettings / blocks / block / table / cols / col / rows / row):任意ガジェット構成時の列 - 行を設定します。コラム
構成タイプで「VERTICAL」を設定した場合に使用します。 フィールドグループID(gadgetBuilderSettings / blocks / block / table / cols / col / rows / row @ groupId):任意当該構成を行うフィールドグループのIDを設定します。 列結合数(gadgetBuilderSettings / blocks / block / table / cols / col / rows / row @ colspan):任意当該構成の列結合数を設定します。 行結合数(gadgetBuilderSettings / blocks / block / table / cols / col / rows / row @ rowspan):任意当該構成の行結合数を設定します。 インクルード設定(gadgetBuilderSettings / blocks / block / includes):任意JSPへのインクルード先を設定します。後述の「インクルード設定」を参照してください。 ブロック引数設定(gadgetBuilderSettings / blocks / block / args):任意ブロック引数を設定します。
4.1.2.2.1. フィールドグループ設定¶
フィールドグループ設定では、単一または複数のフィールドをまとめたグループの定義を設定します。フィールドグループ設定は、「gadgetBuilderSettings / blocks / block / groups / group」階層に設定を行います。「gadgetBuilderSettings / blocks / block / groups / group」階層は、複数設定が可能です。設定<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <gadgetBuilderSettings xmlns="http://kaiden.slcs.co.jp/xmlschema/gadgetBuilderSettings"> <!-- 略 --> <blocks> <block id="expenseDetail" type="DETAIL" surfaceKey="chapterTitle"> <!-- 略 --> <groups> <group id="rowNumber" surfaceKey="rowNumber" requiredType="ALWAYS_ANY" inputType="LABEL"> <args> <arg key="style_pc" value="text-align:center;"/> </args> <fields> <!-- 略 --> </fields> </group> <!-- 略 --> </groups> </block> <!-- 略 --> </blocks> <!-- 略 --> </gadgetBuilderSettings>解説
フィールドグループID(gadgetBuilderSettings / blocks / block / groups / group @ id):必須フィールドグループIDを設定します。 サーフィスキー(gadgetBuilderSettings / blocks / block / groups / group @ surfaceKey):必須フィールドグループのサーフィスキーを設定します。 必須タイプ(gadgetBuilderSettings / blocks / block / groups / group @ requiredType):任意フィールドグループの必須タイプを設定します。未設定の場合は「SETTING_ANY」(変更可能(デフォルト任意))となります。選択可能な必須タイプは次の通りです。
設定値 説明 SETTING_ANY 変更可能(デフォルト任意) SETTING_REQ 変更可能(デフォルト必須) ALWAYS_ANY 常時任意 ALWAYS_REQ 常時必須 入力タイプ(gadgetBuilderSettings / blocks / block / groups / group @ inputType):任意フィールドグループの入力タイプを設定します。未設定の場合は「CONFIG」(設定変更可)となります。選択可能な入力タイプは次の通りです。
設定値 説明 CONFIG 設定変更可 LABEL ラベル(変更不可) TEXT テキスト(変更不可) TEXT_LABEL テキスト(処理時入力不可・変更不可) ソートキー(gadgetBuilderSettings / blocks / block / groups / group @ sortKey):任意ソートキーを設定します。未設定の場合はフィールドグループ設定順に連番となります。 必須マーク(gadgetBuilderSettings / blocks / block / groups / group @ requiredMark):任意フィールドグループの必須マーク(true / false)を設定します。コラム
申請書用のガジェットの場合は、申請書マスタメンテナンスでの設定で上書きされます。 フィールド設定(gadgetBuilderSettings / blocks / block / groups / group / fields):任意内包するフィールドを設定します。後述の「フィールド設定」を参照してください。 引数設定(gadgetBuilderSettings / blocks / block / groups / group / args):任意フィールドグループへの引数を設定します。主に、「class」属性や「style」属性の値となります。
4.1.2.2.2. フィールド設定¶
フィールド設定では、フィールドの構成やバリデーションなどを設定します。フィールド設定は、「gadgetBuilderSettings / blocks / block / groups / group / fields / field」階層に設定を行います。「gadgetBuilderSettings / blocks / block / groups / group / fields / field」階層は、複数設定が可能です。設定<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <gadgetBuilderSettings xmlns="http://kaiden.slcs.co.jp/xmlschema/gadgetBuilderSettings"> <!-- 略 --> <blocks> <block id="expenseDetail" type="DETAIL" surfaceKey="chapterTitle"> <!-- 略 --> <groups> <group id="rowNumber" surfaceKey="rowNumber" requiredType="ALWAYS_ANY" inputType="LABEL"> <!-- 略 --> <fields> <field id="rowNumber" surfaceKey="rowNumber" requiredType="INHERIT" inputType="INHERIT" type="PANEL"/> <field id="imwApplyBaseDate" surfaceKey="imwApplyBaseDate" requiredType="ALWAYS_ANY" inputType="INHERIT" type="DTO"/> <field id="searchCriteriaCompany" surfaceKey="searchCriteriaCompany" requiredType="ALWAYS_ANY" inputType="INHERIT" type="DTO"/> <field id="payMethodCd" surfaceKey="payMethod" requiredType="INHERIT" inputType="INHERIT" type="TEXT_HIDDEN"/> </fields> </group> <group id="occurDate" surfaceKey="occurDate" requiredType="ALWAYS_REQ" inputType="CONFIG"> <fields> <field id="occurDate" surfaceKey="occurDate" requiredType="INHERIT" inputType="INHERIT" type="TEXT_DATE"> <args> <arg key="autoFormat" value="true"/> </args> <validates> <validate event="default" config="{'id':'date'}"/> </validates> </field> </fields> </group> <!-- 略 --> </groups> </block> <!-- 略 --> </blocks> <!-- 略 --> </gadgetBuilderSettings>解説
フィールドID(gadgetBuilderSettings / blocks / block / groups / group / fields / field @ id):必須フィールドIDを設定します。 サーフィスキー(gadgetBuilderSettings / blocks / block / groups / group / fields / field @ surfaceKey):必須フィールドのサーフィスキーを設定します。 必須タイプ(gadgetBuilderSettings / blocks / block / groups / group / fields / field @ requiredType):任意フィールドの必須タイプを設定します。未設定の場合は「INHERIT」(フィールドグループの設定を引き継ぐ)となります。選択可能な必須タイプは次の通りです。
設定値 説明 SETTING_ANY 変更可能(デフォルト任意) SETTING_REQ 変更可能(デフォルト必須) ALWAYS_ANY 常時任意 ALWAYS_REQ 常時必須 INHERIT フィールドグループの設定を引き継ぐ 入力タイプ(gadgetBuilderSettings / blocks / block / groups / group / fields / field @ inputType):任意フィールドの入力タイプを設定します。未設定の場合は「INHERIT」(フィールドグループの設定を引き継ぐ)となります。選択可能な入力タイプは次の通りです。
設定値 説明 CONFIG 設定変更可 LABEL ラベル(変更不可) TEXT テキスト(変更不可) TEXT_LABEL テキスト(処理時入力不可・変更不可) INHERIT フィールドグループの設定を引き継ぐ ソートキー(gadgetBuilderSettings / blocks / block / groups / group / fields / field @ sortKey):任意ソートキーを設定します。未設定の場合はフィールド設定順に連番となります。 フィールドタイプ(gadgetBuilderSettings / blocks / block / groups / group / fields / field @ type):任意フィールドタイプを設定します。設定可能なフィールドタイプは「フィールドタイプ」を参照してください。 引数設定(gadgetBuilderSettings / blocks / block / groups / group / fields / field / args/ arg):任意フィールドへの引数を設定します。設定可能な引数(属性)はフィールドタイプに依存します。詳細は「フィールドタイプ」を参照してください。 バリデート設定(gadgetBuilderSettings / blocks / block / groups / group / fields / field / validates / validate):任意フィールドへのバリデートを設定します。 バリデート実行イベント(gadgetBuilderSettings / blocks / block / groups / group / fields / field / validates / validate @ event):必須フィールドバリデートの実行イベントを設定します。主なイベントは次の通りです。
設定値 説明 default 全てのイベントで実行 apply 申請イベントのみ実行 tempsave 一時保存イベントのみ実行 reapply 再申請イベントのみ実行 process 処理イベントのみ実行 バリデート実行対象(gadgetBuilderSettings / blocks / block / groups / group / fields / field / validates / validate @ target):任意フィールドバリデートの実行対象を設定します。選択可能な実行対象は次の通りです。(省略時は「ALWAYS」)
設定値 説明 CLIENT クライアントサイドのみ実行 SERVER サーバーサイドのみ実行 ALWAYS クライアントサイド、サーバーサイドの両方で実行 バリデート内容(gadgetBuilderSettings / blocks / block / groups / group / fields / field / validates / validate @ config):任意フィールドバリデートの内容を設定します。詳細は「バリデート処理」を参照してください。
4.1.2.2.3. 補完設定¶
補完設定では、各フィールドに対する補完処理を設定します。補完設定は、「gadgetBuilderSettings / blocks / block / completions / completion」階層に設定を行います。「gadgetBuilderSettings / blocks / block / completions / completion」階層は、複数設定が可能です。設定<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <gadgetBuilderSettings xmlns="http://kaiden.slcs.co.jp/xmlschema/gadgetBuilderSettings"> <!-- 略 --> <blocks> <block id="expenseDetail" type="DETAIL" surfaceKey="chapterTitle"> <!-- 略 --> <completions> <completion name="departmentSetCd" position="1" type="claimValueOnInit" args="{'claim':'claimDefaultDepartmentSetCd', 'target':'1'}" target="CLIENT" mode="EMPTY"/> <completion name="departmentCd" position="1" type="claimValueOnInit" args="{'claim':'claimDefaultDepartmentCd', 'target':'1'}" target="CLIENT" mode="EMPTY"/> <completion name="projectCd" position="1" type="claimValueOnInit" args="{'claim':'claimDefaultProjectCd', 'target':'1'}" target="CLIENT" mode="EMPTY"/> <completion name="payMethodCd" position="1" type="claimValue" args="{'claim':'claimPayMethod'}" target="ALWAYS" mode="ALWAYS"/> <completion name="transCurrencyCd" position="2" type="variable" args="{'field':'companyCurrencyCd'}" target="ALWAYS" mode="ALWAYS"/> <completion name="companyRate" position="3" type="fixed" args="{'value':'1'}" target="ALWAYS" mode="EMPTY"/> <completion name="companyAmount" position="4" type="variable" args="{'field':'transAmount'}" target="ALWAYS" mode="ALWAYS"/> <completion name="quantity" position="5" type="fixed" args="{'value':'1'}" target="ALWAYS" mode="EMPTY"/> <completion name="companyAmountSum" position="6" type="calcMul" args="{'field1':'companyAmount','field2':'quantity','round':'4','digits':'0'}" target="ALWAYS" mode="ALWAYS"/> <completion name="companyAmountTax" position="7" type="calcTax" args="{'amount':'companyAmountSum','taxRate':'taxRate','round':'4','digits':'0'}" target="ALWAYS" mode="ALWAYS"/> <completion name="companyAmountExcTax" position="8" type="calcSub" args="{'field1':'companyAmountSum','field2':'companyAmountTax','round':'4','digits':'0'}" target="ALWAYS" mode="ALWAYS"/> </completions> <!-- 略 --> </block> </blocks> <!-- 略 --> </gadgetBuilderSettings>解説
補完フィールド名(gadgetBuilderSettings / blocks / block / completions / completion @ name):必須補完結果を設定するフィールド名を設定します。 補完順(gadgetBuilderSettings / blocks / block / completions / completion @ position):必須補完処理の実行順を設定します。本設定に従って補完処理の実行順を制御します。 補完対象(gadgetBuilderSettings / blocks / block / completions / completion @ target):任意次の補完処理対象を設定します。(未設定の場合は「ALWAYS」)
設定値 説明 CLIENT クライアントサイドのみ補完 SERVER サーバーサイドのみ補完 ALWAYS クライアントサイド、サーバーサイドの両方で補完 補完モード(gadgetBuilderSettings / blocks / block / completions / completion @ mode):任意次の補完処理モードを設定します。(未設定の場合は「ALWAYS」)
設定値 説明 EMPTY 補完フィールドに値がない場合補完 NOT_EMPTY 補完フィールドに値がある場合補完 ALWAYS 常に補完 補完タイプ(gadgetBuilderSettings / blocks / block / completions / completion @ type):必須補完処理を行うタイプを設定します。詳細は「補完処理」を参照してください。 引数(gadgetBuilderSettings / blocks / block / completions / completion / args):任意補完処理の引数を設定します。詳細は「補完処理」を参照してください。
4.1.2.2.4. 通信設定¶
通信設定では、各ブロックのガジェット間(ブロック間)通信を設定します。通信設定は、「gadgetBuilderSettings / blocks / block / claims / claim」階層に設定を行います。「gadgetBuilderSettings / blocks / block / claims / claim」階層は、複数設定が可能です。設定<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <gadgetBuilderSettings xmlns="http://kaiden.slcs.co.jp/xmlschema/gadgetBuilderSettings"> <!-- 略 --> <blocks> <block id="expenseDetail" type="DETAIL" surfaceKey="chapterTitle"> <!-- 略 --> <claims> <claim name="claimExpenseAmount" type="claimAmountSummary" args="{'amount':'companyAmountSum'}"/> <claim name="claimTemporaryPayAmount" type="claimAmountSummary" args="{'amount':'companyAmountSum','paymentFlag':'paymentFlag','payment':'1'}"/> <claim name="claimCompanyPayAmount" type="claimAmountSummary" args="{'amount':'companyAmountSum','paymentFlag':'paymentFlag','payment':'0'}"/> <claim name="claimDateDetail" type="claimColumnValuesList" args="{'field1':'occurDate','field2':'occurDate'}"/> <claim name="claimExpenseDetail" type="claimColumnValuesList" args="{'field1':'companyAmountSum'}"/> <claim name="claimExpenceCount" type="claimRowCount" args=""/> <claim name="loadData4Settle" type="claimSearchData" args="{'systemMatterId':'imwSystemMatterId', 'userDataId':'imwUserDataId', 'gadgetClass':'gadgetClass'}" target="CLIENT"/> </claims> <!-- 略 --> </block> </blocks> <!-- 略 --> </gadgetBuilderSettings>解説
通信名(gadgetBuilderSettings / blocks / block / claims / claim @ name):必須通信処理の名称を設定します。 通信対象(gadgetBuilderSettings / blocks / block / claims / claim @ target):任意次の通信処理対象を設定します。(未設定の場合は「ALWAYS」)
設定値 説明 CLIENT クライアントサイドのみ通信 SERVER サーバーサイドのみ通信 ALWAYS クライアントサイド、サーバーサイドの両方で通信 通信タイプ(gadgetBuilderSettings / blocks / block / claims / claim @ type):必須通信処理を行うタイプを設定します。詳細は「通信処理」を参照してください。 引数(gadgetBuilderSettings / blocks / block / claims / claim / args):任意通信処理の引数を設定します。詳細は「通信処理」を参照してください。
4.1.2.2.5. イベント設定¶
イベント設定では、各ブロックのイベント処理を設定します。イベント設定は、「gadgetBuilderSettings / blocks / block / events / event」階層に設定を行います。「gadgetBuilderSettings / blocks / block / events / event」階層は、複数設定が可能です。設定<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <gadgetBuilderSettings xmlns="http://kaiden.slcs.co.jp/xmlschema/gadgetBuilderSettings"> <!-- 略 --> <blocks> <block id="expenseDetail" type="DETAIL" surfaceKey="chapterTitle"> <!-- 略 --> <events> <event target="matter_end" name="journalSourceDetailEntryForSqlEvent"> <args> <arg key="sqlPath" value="META-INF/sql/jp/co/slcs/kaiden2/generic/gadget/journal/ExpenseDetail.sql"/> </args> </event> </events> <!-- 略 --> </block> </blocks> <!-- 略 --> </gadgetBuilderSettings>解説
対象イベント(gadgetBuilderSettings / blocks / block / events / event @ target):必須対象のイベントキーを設定します。詳細は「イベント処理」を参照してください。 イベント名(gadgetBuilderSettings / blocks / block / events / event @ name):必須イベント名(コンポーネント名)を設定します。詳細は「イベント処理」を参照してください。 イベント引数(gadgetBuilderSettings / blocks / block / events / event / args):任意イベント処理の引数を設定します。詳細は「イベント処理」を参照してください。
4.1.2.2.6. インクルード設定¶
インクルード設定では、各ブロックのクライアントサイドでインクルードを行うJSPを設定します。インクルード設定は、「gadgetBuilderSettings / blocks / block / includes / include」階層に設定を行います。「gadgetBuilderSettings / blocks / block / includes / include」階層は、複数設定が可能です。設定<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <gadgetBuilderSettings xmlns="http://kaiden.slcs.co.jp/xmlschema/gadgetBuilderSettings"> <!-- 略 --> <blocks> <block id="expenseDetail" type="DETAIL" surfaceKey="chapterTitle"> <!-- 略 --> <includes> <include path="/WEB-INF/view/kaiden2/product_workflow/generic/gadget/include/defaultDepartmentProject.jsp" /> </includes> <!-- 略 --> </block> </blocks> <!-- 略 --> </gadgetBuilderSettings>解説
4.1.2.3. ガジェットサーフィス設定¶
ガジェットサーフィス設定では、ガジェットが使用するサーフィスを設定します。ガジェットサーフィス設定は、「gadgetBuilderSettings / surfaces / surface」階層に設定を行います。「gadgetBuilderSettings / surfaces / surface」階層は、複数設定が可能です。設定<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <gadgetBuilderSettings xmlns="http://kaiden.slcs.co.jp/xmlschema/gadgetBuilderSettings"> <!-- 略 --> <surfaces> <surface surfaceKey="chapterTitle"> <name localeId="en" surface="Expenses Particulars"/> <name localeId="ja" surface="経費明細"/> <name localeId="zh_CN" surface="经费明细"/> </surface> <surface surfaceKey="rowNumber"> <name localeId="en" surface="No"/> <name localeId="ja" surface="No"/> <name localeId="zh_CN" surface="No"/> </surface> <!-- 略 --> </surfaces> <!-- 略 --> </gadgetBuilderSettings>解説
サーフィスキー(gadgetBuilderSettings / surfaces / surface @ surfaceKey):必須サーフィスキーを設定します。 ロケールID(gadgetBuilderSettings / surfaces / surface / name @ localeId):必須ロケールIDを設定します。 サーフィス(gadgetBuilderSettings / surfaces / surface / name @ surface):必須サーフィスを設定します。
4.1.2.4. ガジェットタグ設定¶
ガジェットタグ設定では、申請書マスタメンテナンス機能などで表示される、各ガジェットの概要を設定します。ガジェット概要設定は、「gadgetBuilderSettings / tags / tag」階層に設定を行います。「gadgetBuilderSettings / tags / tag」階層は、複数設定が可能です。設定<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <gadgetBuilderSettings xmlns="http://kaiden.slcs.co.jp/xmlschema/gadgetBuilderSettings"> <!-- 略 --> <tags> <tag value="appNormal"/> <tag value="appAdvance"/> <tag value="appSettle"/> <tag value="spSupport"/> </tags> </gadgetBuilderSettings>解説
タグ(gadgetBuilderSettings / tags / tag @ value):必須ガジェットの属性を判定するタグを設定します。コラム
次のタグが存在し、設定することでガジェットに属性が付与され、ガジェット属性ごとの振る舞いを定義できます。intra-mart Accel Kaiden!標準のガジェットには次のタグ以外も設定されていますが、将来拡張用のタグです。
タグ分類 タグ名 説明 制約 constraintDuplicationSelf 申請書内で自身と重複を禁止します。制約 constraintDuplicationClass 申請書内で同ガジェットクラスと重複を禁止します。申請書タイプ appAdvance 対象申請書タイプ「事前申請」を設定します。申請書マスタメンテナンスで申請書タイプ「事前申請書」を選択した場合、選択できるガジェットです。申請書タイプ appSettle 対象申請書タイプ「精算申請」を設定します。申請書マスタメンテナンスで申請書タイプ「精算申請書」を選択した場合、選択できるガジェットです。申請書タイプ appNormal 対象申請書タイプ「一般」を設定します。申請書マスタメンテナンスで申請書タイプ「一般」を選択した場合、選択できるガジェットです。申請書タイプ appBill 対象申請書タイプ「請求書払申請」を設定します。申請書マスタメンテナンスで申請書タイプ「請求書払申請書」を選択した場合、選択できるガジェットです。SPサポート spSupport SP画面をサポートする場合に設定します。
4.1.3. Sample¶
次のGadgetBuilder定義は経費明細ガジェットの設定を行った場合のサンプルです。<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <gadgetBuilderSettings xmlns="http://kaiden.slcs.co.jp/xmlschema/gadgetBuilderSettings"> <gadgetClass>expenseDetail</gadgetClass> <gadgetVariation>v01</gadgetVariation> <jspPath>/WEB-INF/view/kaiden2/extension_imw/generic/gadget/generic_v01.jsp</jspPath> <javaPath>jp.co.slcs.kaiden2.extension_imw.feature.logic.kaiden.gadget.builder.GadgetBuilderLogic</javaPath> <sortKey>51001</sortKey> <surfaceKey>chapterTitle</surfaceKey> <descriptions> <description localeId="en" gadgetName="Expenses Particulars" description="Enter Expenses Particulars.
Only Japanese Yen is available."/> <description localeId="ja" gadgetName="経費明細" description="経費明細の入力を行います。
日本円のみ利用可能です。"/> <description localeId="zh_CN" gadgetName="经费明细" description="输入经费明细。
只可使用日元。"/> </descriptions> <blocks> <block id="expenseDetail" type="DETAIL" surfaceKey="chapterTitle"> <service basic="k30tExpenseDetailService" archive="ka30tExpenseDetailService"> <sqls> <sql id="init" path="META-INF/sql/jp/co/slcs/kaiden2/generic/gadget/ExpenseDetail.sql"/> <sql id="copy" path="META-INF/sql/jp/co/slcs/kaiden2/generic/gadget/ExpenseDetail.sql"/> <sql id="merge" path="META-INF/sql/jp/co/slcs/kaiden2/generic/gadget/ExpenseDetail.sql"/> <sql id="archive" path="META-INF/sql/jp/co/slcs/kaiden2/generic/gadget/ExpenseDetail.sql"/> <sql id="select" path="META-INF/sql/jp/co/slcs/kaiden2/generic/gadget/ExpenseDetail.sql"/> </sqls> </service> <groups> <group id="rowNumber" surfaceKey="rowNumber" requiredType="ALWAYS_ANY" inputType="LABEL"> <args> <arg key="style_pc" value="text-align:center;"/> </args> <fields> <field id="rowNumber" surfaceKey="rowNumber" requiredType="INHERIT" inputType="INHERIT" type="PANEL"> <!-- <args> <arg key="header" value="true"/> <arg key="headerAllowAdd" value="true"/> <arg key="headerAllowDel" value="true"/> <arg key="detail" value="true"/> <arg key="detailAllowAdd" value="true"/> <arg key="detailAllowDel" value="true"/> </args> --> </field> <field id="imwApplyBaseDate" surfaceKey="imwApplyBaseDate" requiredType="ALWAYS_ANY" inputType="INHERIT" type="DTO"/> <field id="searchCriteriaCompany" surfaceKey="searchCriteriaCompany" requiredType="ALWAYS_ANY" inputType="INHERIT" type="DTO"/> <field id="payMethodCd" surfaceKey="payMethod" requiredType="INHERIT" inputType="INHERIT" type="TEXT_HIDDEN"/> </fields> </group> <group id="occurDate" surfaceKey="occurDate" requiredType="ALWAYS_REQ" inputType="CONFIG"> <fields> <field id="occurDate" surfaceKey="occurDate" requiredType="INHERIT" inputType="INHERIT" type="TEXT_DATE"> <args> <arg key="autoFormat" value="true"/> </args> <validates> <validate event="default" config="{'id':'date'}"/> </validates> </field> </fields> </group> <group id="summary" surfaceKey="summary" requiredType="SETTING_REQ" inputType="CONFIG"> <fields> <field id="summary" surfaceKey="summary" requiredType="INHERIT" inputType="INHERIT" type="TEXT"> <args> <arg key="maxlength" value="250"/> <arg key="style_pc" value="width:98%"/> </args> <validates> <validate event="default" config="{'id':'maxLength', 'args':'250'}"/> </validates> </field> </fields> </group> <group id="expType" surfaceKey="expType" requiredType="ALWAYS_REQ" inputType="CONFIG"> <fields> <field id="expTypeCd" surfaceKey="expType" requiredType="INHERIT" inputType="INHERIT" type="MASTER"> <args> <arg key="masterId" value="exp_type"/> <arg key="extensionId" value="expenseDetail"/> <arg key="searchType" value="search"/> <arg key="viewName" value="expTypeName"/> <arg key="criteria" value="{'searchCriteriaDate':'imwApplyBaseDate','searchCriteriaCompany':'searchCriteriaCompany','expTypeCd':'expTypeCd','includeBlank':'false'}"/> <arg key="resultChain" value="{'expTypeCd':'expTypeCd','expTypeName':'expTypeName','accountCd':'accountCd','accountName':'accountName','taxTypeCd':'taxTypeCd','taxTypeName':'taxTypeName','taxRate':'taxRate'}"/> <arg key="resultValue" value="expTypeName"/> <arg key="primaryTarget" value="expTypeCd"/> <arg key="tmtableId" value="expenseDetail"/> <arg key="refreshTarget" value="imwApplyBaseDate,searchCriteriaCompany"/> <arg key="style_pc" value="display:inline-block; width:35%;"/> </args> <validates> <validate event="default" target="SERVER" config="{'id':'masterBuilderExists', 'args':{'masterId':'exp_type', 'extensionId':'expenseDetail', 'searchCriteriaDate':'imwApplyBaseDate', 'searchCriteriaCompany':'searchCriteriaCompany', 'expTypeCd':'expTypeCd'}}"/> </validates> </field> <field id="accountCd" surfaceKey="account" requiredType="INHERIT" inputType="INHERIT" type="TEXT_HIDDEN"> <validates> <validate event="default" target="SERVER" config="{'id':'masterBuilderExists', 'args':{'masterId':'tax_type', 'extensionId':'expenseDetail', 'searchCriteriaDate':'imwApplyBaseDate', 'searchCriteriaCompany':'searchCriteriaCompany', 'taxTypeCd':'taxTypeCd'}}"/> </validates> </field> <field id="accountName" surfaceKey="account" requiredType="ALWAYS_ANY" inputType="LABEL" type="TEXT"> <args> <arg key="style_pc" value="display:inline-block; width:30%; margin-left:3px; text-overflow:ellipsis; white-space:nowrap; overflow:hidden; vertical-align:middle;"/> </args> </field> <field id="taxTypeCd" surfaceKey="taxType" requiredType="INHERIT" inputType="INHERIT" type="TEXT_HIDDEN"> <validates> <validate event="default" target="SERVER" config="{'id':'masterBuilderExists', 'args':{'masterId':'tax_type', 'extensionId':'expenseDetail', 'searchCriteriaDate':'imwApplyBaseDate', 'searchCriteriaCompany':'searchCriteriaCompany', 'taxTypeCd':'taxTypeCd'}}"/> </validates> </field> <field id="taxTypeName" surfaceKey="taxType" requiredType="ALWAYS_ANY" inputType="LABEL" type="TEXT"> <args> <arg key="style_pc" value="display:inline-block; width:25%; margin-left:3px; text-overflow:ellipsis; white-space:nowrap; overflow:hidden; vertical-align:middle;"/> </args> </field> <field id="taxRate" surfaceKey="taxRate" requiredType="INHERIT" inputType="INHERIT" type="TEXT_HIDDEN"/> </fields> </group> <group id="department" surfaceKey="department" requiredType="ALWAYS_ANY" inputType="CONFIG"> <fields> <field id="departmentSetCd" surfaceKey="departmentSet" requiredType="INHERIT" inputType="INHERIT" type="TEXT_HIDDEN"/> <field id="departmentCd" surfaceKey="department" requiredType="INHERIT" inputType="INHERIT" type="MASTER"> <args> <arg key="masterId" value="department"/> <arg key="extensionId" value="expenseDetail"/> <arg key="searchType" value="search"/> <arg key="viewName" value="departmentName"/> <arg key="criteria" value="{'searchCriteriaDate':'imwApplyBaseDate','searchCriteriaCompany':'searchCriteriaCompany','departmentSetCd':'searchCriteriaCompany','departmentCd':'departmentCd','includeBlank':'true'}"/> <arg key="resultChain" value="{'departmentCd':'departmentCd','departmentName':'departmentName','departmentSetCd':'departmentSetCd'}"/> <arg key="resultValue" value="departmentName"/> <arg key="primaryTarget" value="departmentSetCd,departmentCd"/> <arg key="tmtableId" value="expenseDetail"/> <arg key="refreshTarget" value="imwApplyBaseDate,searchCriteriaCompany,searchCriteriaCompany"/> <arg key="style_pc" value="width:85%;"/> </args> <validates> <validate event="default" target="ALWAYS" config="{'id':'requiredAny', 'args':['departmentCd','projectCd']}"/> <validate event="default" target="SERVER" config="{'id':'masterBuilderExists', 'args':{'masterId':'department', 'extensionId':'expenseDetail', 'searchCriteriaDate':'imwApplyBaseDate', 'searchCriteriaCompany':'searchCriteriaCompany', 'departmentSetCd':'searchCriteriaCompany','departmentCd':'departmentCd'}}"/> </validates> </field> </fields> </group> <group id="project" surfaceKey="project" requiredType="ALWAYS_ANY" inputType="CONFIG"> <fields> <field id="projectCd" surfaceKey="project" requiredType="INHERIT" inputType="INHERIT" type="MASTER"> <args> <arg key="masterId" value="project_workflow"/> <arg key="extensionId" value="expenseDetail"/> <arg key="searchType" value="search"/> <arg key="viewName" value="projectName"/> <arg key="criteria" value="{'searchCriteriaDate':'imwApplyBaseDate','searchCriteriaCompany':'searchCriteriaCompany','projectCd':'projectCd','includeBlank':'true'}"/> <arg key="resultChain" value="{'projectCd':'projectCd','projectName':'projectName'}"/> <arg key="resultValue" value="projectName"/> <arg key="primaryTarget" value="projectCd"/> <arg key="tmtableId" value="expenseDetail"/> <arg key="refreshTarget" value="imwApplyBaseDate,searchCriteriaCompany"/> <arg key="style_pc" value="width:85%;"/> </args> <validates> <validate event="default" target="ALWAYS" config="{'id':'requiredAny', 'args':['departmentCd','projectCd']}"/> <validate event="default" target="SERVER" config="{'id':'masterBuilderExists', 'args':{'masterId':'project_workflow', 'extensionId':'expenseDetail', 'searchCriteriaDate':'imwApplyBaseDate', 'searchCriteriaCompany':'searchCriteriaCompany', 'projectCd':'projectCd'}}"/> </validates> </field> </fields> </group> <group id="payType" surfaceKey="payType" requiredType="ALWAYS_REQ" inputType="CONFIG"> <fields> <field id="payTypeCd" surfaceKey="payType" requiredType="INHERIT" inputType="INHERIT" type="MASTER"> <args> <arg key="masterId" value="pay_type"/> <arg key="extensionId" value="expenseDetail"/> <arg key="searchType" value="select"/> <arg key="viewName" value="payTypeName"/> <arg key="criteria" value="{'searchCriteriaDate':'imwApplyBaseDate','searchCriteriaCompany':'searchCriteriaCompany','payTypeCd':'payTypeCd','includeBlank':'false'}"/> <arg key="resultChain" value="{'payTypeCd':'payTypeCd','payTypeName':'payTypeName','paymentFlag':'paymentFlag'}"/> <arg key="resultValue" value="payTypeName"/> <arg key="primaryTarget" value="payTypeCd"/> <arg key="tmtableId" value="expenseDetail"/> <arg key="refreshTarget" value="imwApplyBaseDate,searchCriteriaCompany"/> <!-- <arg key="singleList" value="true"/> --> <arg key="style_pc" value="width:98%;"/> </args> <validates> <validate event="default" target="SERVER" config="{'id':'masterBuilderExists', 'args':{'masterId':'pay_type', 'extensionId':'expenseDetail', 'searchCriteriaDate':'imwApplyBaseDate', 'searchCriteriaCompany':'searchCriteriaCompany', 'payTypeCd':'payTypeCd'}}"/> </validates> </field> <field id="paymentFlag" surfaceKey="paymentFlag" requiredType="INHERIT" inputType="INHERIT" type="TEXT_HIDDEN"/> </fields> </group> <group id="payee" surfaceKey="payee" requiredType="SETTING_ANY" inputType="CONFIG"> <fields> <field id="payeeName" surfaceKey="payee" requiredType="INHERIT" inputType="INHERIT" type="TEXT"> <args> <arg key="maxlength" value="250"/> <arg key="style_pc" value="width:98%"/> </args> <validates> <validate event="default" config="{'id':'maxLength', 'args':'250'}"/> </validates> </field> </fields> </group> <group id="transAmount" surfaceKey="transAmount" requiredType="ALWAYS_REQ" inputType="CONFIG"> <args> <arg key="style_pc" value="text-align:right;"/> </args> <fields> <field id="transAmount" surfaceKey="transAmount" requiredType="INHERIT" inputType="INHERIT" type="TEXT_NUMERIC"> <args> <arg key="style_pc" value="width:98%"/> <arg key="amount" value="true"/> <arg key="event" value="change"/> </args> <validates> <validate event="default" config="{'id':'currencyAmnt2', 'args':['','searchCriteriaCompany']}"/> <validate event="default" config="{'id':'amountMin', 'args':'0'}"/> </validates> </field> <field id="transCurrencyCd" surfaceKey="transCurrency" requiredType="ALWAYS_ANY" inputType="INHERIT" type="TEXT_HIDDEN"/> <field id="companyRate" surfaceKey="companyRate" requiredType="INHERIT" inputType="INHERIT" type="TEXT_HIDDEN"/> <field id="companyAmount" surfaceKey="companyAmount" requiredType="INHERIT" inputType="INHERIT" type="TEXT_HIDDEN"/> <field id="companyCurrencyCd" surfaceKey="companyCurrency" requiredType="ALWAYS_ANY" inputType="INHERIT" type="DTO"/> <field id="quantity" surfaceKey="quantity" requiredType="INHERIT" inputType="INHERIT" type="TEXT_HIDDEN"/> <field id="companyAmountSum" surfaceKey="companyAmountSum" requiredType="INHERIT" inputType="INHERIT" type="TEXT_HIDDEN"/> <field id="companyAmountExcTax" surfaceKey="companyAmountExcTax" requiredType="INHERIT" inputType="INHERIT" type="TEXT_HIDDEN"/> <field id="companyAmountTax" surfaceKey="companyAmountTax" requiredType="INHERIT" inputType="INHERIT" type="TEXT_HIDDEN"/> </fields> </group> </groups> <table rowNumberTarget="rowNumber" type="HORIZONTAL"> <colgroups> <colgroup style="width:50px; overflow:hidden"/> <colgroup style="overflow:hidden"/> <colgroup style="width:23%; overflow:hidden"/> <colgroup style="width:23%; overflow:hidden"/> <colgroup style="width:23%; overflow:hidden"/> </colgroups> <rows> <row> <cols> <col groupId="rowNumber" rowspan="3"/> <col groupId="occurDate"/> <col groupId="summary" colspan="3"/> </cols> </row> <row> <cols> <col groupId="expType" colspan="2"/> <col groupId="department"/> <col groupId="project"/> </cols> </row> <row> <cols> <col groupId="payType"/> <col groupId="payee" colspan="2"/> <col groupId="transAmount"/> </cols> </row> </rows> </table> <completions> <completion name="departmentSetCd" position="1" type="claimValueOnInit" args="{'claim':'claimDefaultDepartmentSetCd', 'target':'1'}" target="CLIENT" mode="EMPTY"/> <completion name="departmentCd" position="1" type="claimValueOnInit" args="{'claim':'claimDefaultDepartmentCd', 'target':'1'}" target="CLIENT" mode="EMPTY"/> <completion name="projectCd" position="1" type="claimValueOnInit" args="{'claim':'claimDefaultProjectCd', 'target':'1'}" target="CLIENT" mode="EMPTY"/> <completion name="payMethodCd" position="1" type="claimValue" args="{'claim':'claimPayMethod'}" target="ALWAYS" mode="ALWAYS"/> <completion name="transCurrencyCd" position="2" type="variable" args="{'field':'companyCurrencyCd'}" target="ALWAYS" mode="ALWAYS"/> <completion name="companyRate" position="3" type="fixed" args="{'value':'1'}" target="ALWAYS" mode="EMPTY"/> <completion name="companyAmount" position="4" type="variable" args="{'field':'transAmount'}" target="ALWAYS" mode="ALWAYS"/> <completion name="quantity" position="5" type="fixed" args="{'value':'1'}" target="ALWAYS" mode="EMPTY"/> <completion name="companyAmountSum" position="6" type="calcMul" args="{'field1':'companyAmount','field2':'quantity','round':'4','digits':'0'}" target="ALWAYS" mode="ALWAYS"/> <completion name="companyAmountTax" position="7" type="calcTax" args="{'amount':'companyAmountSum','taxRate':'taxRate','round':'4','digits':'0'}" target="ALWAYS" mode="ALWAYS"/> <completion name="companyAmountExcTax" position="8" type="calcSub" args="{'field1':'companyAmountSum','field2':'companyAmountTax','round':'4','digits':'0'}" target="ALWAYS" mode="ALWAYS"/> </completions> <claims> <claim name="claimExpenseAmount" type="claimAmountSummary" args="{'amount':'companyAmountSum'}"/> <claim name="claimTemporaryPayAmount" type="claimAmountSummary" args="{'amount':'companyAmountSum','paymentFlag':'paymentFlag','payment':'1'}"/> <claim name="claimCompanyPayAmount" type="claimAmountSummary" args="{'amount':'companyAmountSum','paymentFlag':'paymentFlag','payment':'0'}"/> <claim name="claimDateDetail" type="claimColumnValuesList" args="{'field1':'occurDate','field2':'occurDate'}"/> <claim name="claimExpenseDetail" type="claimColumnValuesList" args="{'field1':'companyAmountSum'}"/> <claim name="claimExpenceCount" type="claimRowCount" args=""/> <claim name="loadData4Settle" type="claimSearchData" args="{'systemMatterId':'imwSystemMatterId', 'userDataId':'imwUserDataId', 'gadgetClass':'gadgetClass'}" target="CLIENT"/> </claims> <events> <event target="matter_end" name="journalSourceDetailEntryForSqlEvent"> <args> <arg key="sqlPath" value="META-INF/sql/jp/co/slcs/kaiden2/generic/gadget/journal/ExpenseDetail.sql"/> </args> </event> </events> <includes> <include path="/WEB-INF/view/kaiden2/product_workflow/generic/gadget/include/defaultDepartmentProject.jsp" /> </includes> </block> </blocks> <surfaces> <surface surfaceKey="chapterTitle"> <name localeId="en" surface="Expenses Particulars"/> <name localeId="ja" surface="経費明細"/> <name localeId="zh_CN" surface="经费明细"/> </surface> <surface surfaceKey="rowNumber"> <name localeId="en" surface="No"/> <name localeId="ja" surface="No"/> <name localeId="zh_CN" surface="No"/> </surface> <surface surfaceKey="imwApplyBaseDate"> <name localeId="en" surface="Apply Reference Date"/> <name localeId="ja" surface="申請基準日"/> <name localeId="zh_CN" surface="申请基准日"/> </surface> <surface surfaceKey="searchCriteriaCompany"> <name localeId="en" surface="Search Reference Company"/> <name localeId="ja" surface="検索基準会社"/> <name localeId="zh_CN" surface="检索基准公司"/> </surface> <surface surfaceKey="payMethod"> <name localeId="en" surface="Payment Method"/> <name localeId="ja" surface="支払方法"/> <name localeId="zh_CN" surface="支付方法"/> </surface> <surface surfaceKey="occurDate"> <name localeId="en" surface="Occurrence Date"/> <name localeId="ja" surface="発生日"/> <name localeId="zh_CN" surface="发生日"/> </surface> <surface surfaceKey="summary"> <name localeId="en" surface="Description of Expense"/> <name localeId="ja" surface="経費内容"/> <name localeId="zh_CN" surface="经费内容"/> </surface> <surface surfaceKey="expType"> <name localeId="en" surface="Expense Type"/> <name localeId="ja" surface="経費区分"/> <name localeId="zh_CN" surface="经费分类"/> </surface> <surface surfaceKey="account"> <name localeId="en" surface="Account"/> <name localeId="ja" surface="勘定科目"/> <name localeId="zh_CN" surface="帐户科目"/> </surface> <surface surfaceKey="taxType"> <name localeId="en" surface="Tax Category"/> <name localeId="ja" surface="税区分"/> <name localeId="zh_CN" surface="税分类"/> </surface> <surface surfaceKey="taxRate"> <name localeId="en" surface="Tax Rate"/> <name localeId="ja" surface="税率"/> <name localeId="zh_CN" surface="税率"/> </surface> <surface surfaceKey="departmentSet"> <name localeId="en" surface="Organization Set"/> <name localeId="ja" surface="組織セット"/> <name localeId="zh_CN" surface="组织集合"/> </surface> <surface surfaceKey="department"> <name localeId="en" surface="Organization"/> <name localeId="ja" surface="組織"/> <name localeId="zh_CN" surface="组织"/> </surface> <surface surfaceKey="project"> <name localeId="en" surface="Project"/> <name localeId="ja" surface="プロジェクト"/> <name localeId="zh_CN" surface="项目"/> </surface> <surface surfaceKey="payType"> <name localeId="en" surface="Payment Classification"/> <name localeId="ja" surface="支払分類"/> <name localeId="zh_CN" surface="支付分类"/> </surface> <surface surfaceKey="paymentFlag"> <name localeId="en" surface="Reimbursement Flag"/> <name localeId="ja" surface="立替フラグ"/> <name localeId="zh_CN" surface="垫付标志"/> </surface> <surface surfaceKey="payee"> <name localeId="en" surface="Payee"/> <name localeId="ja" surface="支払先"/> <name localeId="zh_CN" surface="收款方"/> </surface> <surface surfaceKey="transAmount"> <name localeId="en" surface="Amount"/> <name localeId="ja" surface="金額"/> <name localeId="zh_CN" surface="金额"/> </surface> <surface surfaceKey="transCurrency"> <name localeId="en" surface="Currency"/> <name localeId="ja" surface="通貨"/> <name localeId="zh_CN" surface="货币"/> </surface> <surface surfaceKey="companyRate"> <name localeId="en" surface="rate"/> <name localeId="ja" surface="レート"/> <name localeId="zh_CN" surface="汇率"/> </surface> <surface surfaceKey="companyAmount"> <name localeId="en" surface="Converted"/> <name localeId="ja" surface="換算額"/> <name localeId="zh_CN" surface="换算额"/> </surface> <surface surfaceKey="companyCurrency"> <name localeId="en" surface="Company Currency"/> <name localeId="ja" surface="会社通貨"/> <name localeId="zh_CN" surface="公司货币"/> </surface> <surface surfaceKey="quantity"> <name localeId="en" surface="Quantity"/> <name localeId="ja" surface="数量"/> <name localeId="zh_CN" surface="数量"/> </surface> <surface surfaceKey="companyAmountSum"> <name localeId="en" surface="Total amount"/> <name localeId="ja" surface="合計額"/> <name localeId="zh_CN" surface="总量"/> </surface> <surface surfaceKey="companyAmountExcTax"> <name localeId="en" surface="Tax excluded amount"/> <name localeId="ja" surface="税抜金額"/> <name localeId="zh_CN" surface="税抜金量"/> </surface> <surface surfaceKey="companyAmountTax"> <name localeId="en" surface="Tax included amount"/> <name localeId="ja" surface="税込金額"/> <name localeId="zh_CN" surface="钱含税金额"/> </surface> </surfaces> <tags> <tag value="appNormal"/> <tag value="appAdvance"/> <tag value="appSettle"/> <tag value="spSupport"/> </tags> </gadgetBuilderSettings>