intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31

Copyright © 2013 NTT DATA INTRAMART CORPORATION

↑Top

1

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31

目次
1. 改訂情報
2. はじめに2.1. 本書の内容
2.2. 対象読者
2.3. その他
3. 基本
3.1. 事前準備
3.1.1. 開発環境構築
3.2. 仕様解説
3.2.1. Gadget
3.2.2. TMTable
3.2.3. Accessor
3.2.4. Ajax
3.2.5. Mode&Formated
3.2.6. Dialog
3.2.7. ListData
3.2.8. FS2List
3.2.9. Manager
3.2.10. Conductor
3.2.11. Log
3.2.12. MultiLocales
3.2.13. Helper&Util
3.2.14. Exception
4. 応用
4.1. ガジェット（経費旅費）
4.1.1. 機能説明
4.1.2. クライアントサイド
4.1.3. サーバサイド
4.2. ガジェット（勤務管理）
4.2.1. 機能説明
4.2.2. チュートリアル
4.3. その他
4.3.1. 機能説明
5. リファレンス
5.1. バリデーション
5.1.1. 項目
5.1.2. マスタ
5.1.3. その他
5.2. タグライブラリ
5.2.1. エレメント
5.2.2. リストデータ
5.2.3. その他
5.3. Service、Entity作成
5.3.1. テーブル定義
5.3.2. Entityの作成
5.3.3. Serviceの作成
5.4. 申請書マスタデータのテーブル構成について
5.4.1. 申請書マスタデータについて
5.5. カスタマイズ時の注意事項

2intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
5.5.1. 2.0.12以前のバージョン(SAStruts+S2JDBC)から2.0.13以降のバージョン(SpringMVC+Mirage-SQL)へ
アップデートする際の注意点

3intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31

改訂情報
変更年月日

変更内容

2013-11-21

初版

2014-06-09

第2版 以下を追加しました。
intra-mart Accel Kaiden! 勤務管理 の記載を追加

2015-02-27

第3版 以下の追加・変更を行いました。
本書の構成や記載内容を整備「サンプル」を追加

2016-08-01

第4版 以下の追加・変更を行いました。
本書の構成や記載内容を整備
ガジェットデータ補完を修正

集計項目の集計方法を追加
集計項目を新たに追加するの定義を修正
集計項目を新たに追加するの実装を修正
照会画面等に新たな集計項目を表示するを追加
集計チェックを新たに追加するの集計チェック処理を修正
2017-04-01

第5版 以下の追加・変更を行いました。
本書の構成や記載内容を整備

チュートリアルを修正
機能説明を修正2017-07-01

第6版 以下の追加・変更を行いました。
本書の構成や記載内容を整備「ガジェット（ICカードデータ検索ガジェットと連携する ）」を追加「ロジックフロー（「transit manager」と連携して自動申請する）」を追加「ガジェット（法人カードデータ検索ガジェットと連携する ）」を追加

2017-10-01

第7版 以下の追加・変更を行いました。

サーバサイドを修正
2018-04-01

第8版 以下の追加・変更を行いました。
本書の構成や記載内容を整備

機能説明を修正2019-04-01

第9版 以下の追加・変更を行いました。
本書の構成や記載内容を整備

機能説明を修正
カスタマイズ時の注意事項を追加
2019-08-01

第10版 以下の追加・変更を行いました。
本書の構成や記載内容を整備

2019-12-01

第11版 以下の追加・変更を行いました。
diconファイルに記述されている DTDファイルの参照先を http から https に変更

実装を修正
集計チェック処理を修正「diconファイルの作成」を修正「diconファイルの作成」を修正

実装を修正「diconファイルの作成」を修正

事前準備を修正2020-04-01

第12版 以下の追加・変更を行いました。
本書の記載内容を整備

定義を修正
機能説明を修正4

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
変更年月日

変更内容

2020-12-01

第13版 以下の追加・変更を行いました。
本書の記載内容を整備

機能説明を修正2021-04-30

第14版 以下の追加・変更を行いました。
本書の記載内容を整備

2021-12-01

第15版 以下の追加・変更を行いました。
本書の記載内容を整備

機能説明を修正2022-03-31

第16版 以下の追加・変更を行いました。
本書の記載内容を整備

機能説明を修正2022-12-01

第17版 以下の追加・変更を行いました。
本書の構成や記載内容を整備

はじめにを修正
事前準備を修正
基本の「初めてのプログラミング」を削除
Gadgetを修正
Ajaxを修正
Mode&Formatedを修正
ListDataを修正
FS2Listを修正
Managerを修正
Conductorを修正
Logを修正MultiLocalesを修正
Helper&Utilを修正
Exceptionを修正

ガジェット（経費旅費）を修正
ガジェット（経費旅費）の「チュートリアル」を削除
ガジェット（勤務管理）を修正
応用の「マスタメンテナンス」を削除
応用の「マスタ検索」を削除
応用の「ガジェット（ICカードデータ検索ガジェットと連携する ）」を削除
応用の「ロジックフロー（「transit manager」と連携して自動申請する）」を削除応用の「ガジェット（法人カードデータ検索ガジェットと連携する ）」を削除
バリデーションのマスタを修正
バリデーションのその他を修正
タグライブラリのエレメントを修正
タグライブラリのリストデータを修正
タグライブラリのその他を修正
タグライブラリの「マスタ検索」を削除
リファレンスにService、Entity作成 を追加
リファレンスにカスタマイズ時の注意事項を追加「サンプル」を削除
2023-04-01

第18版 以下の追加・変更を行いました。
本書の構成や記載内容を整備

2023-06-30

第19版 以下の追加・変更を行いました。
本書の構成や記載内容を整備

勤務表集計欄に新たな集計項目を表示するを追加
機能説明を修正申請書マスタデータのテーブル構成についてを追加

5

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
変更年月日

変更内容

2023-12-22

第20版 以下の追加・変更を行いました。
本書の構成や記載内容を整備

機能説明を修正2024-04-01

第21版 以下の追加・変更を行いました。
本書の構成や記載内容を整備

機能説明を修正2024-08-31

第22版 以下の追加・変更を行いました。
本書の構成や記載内容を整備

機能説明の「基盤モジュール」を修正
機能説明の「勤務管理モジュール」を修正
リファレンスの 「カスタマイズ時の注意事項」 を修正

6

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31

はじめに
本書の内容
本書では、次の様な構成でintra-mart Accel Kaiden!の基本的なプログラミング方法や注意点などを記載しています。

基本
intra-mart Accel Kaiden!を使用したプログラミングの基本的な内容を記載しています。
プログラミング前の準備や、簡単なプログラミング方法、各種仕様を記載していますので、初めてintra-mart Accel Kaiden!を使用したプログラミングを行う方を対象に記載しています。

応用
intra-mart Accel Kaiden!を使用したプログラミングの応用的な内容を記載しています。
機能別の解説やチュートリアル、カスタマイズ方法を記載していますので、
intra-mart Accel Kaiden!上で機能を開発する方や、標準機能のカスタマイズを行う方を対象に記載しています。

リファレンス
本書のリファレンスを記載しています。

コラム
本書では、特に記載のない限り次の製品（バージョン）を前提に記載しています。
intra-mart Accel Platform 2022 Winterintra-mart Accel Kaiden! Core Module 2.0.13
intra-mart Accel Kaiden! 経費旅費 2.0.13
intra-mart Accel Kaiden! 勤務管理 2.0.13

対象読者
本書では次の読者を対象としています。
intra-mart Accel Kaiden! で初めてプログラミングを行う開発者
intra-mart Accel Kaiden! の各機能を利用したい開発者

注意
本書では次の知識を有していることを前提に解説しています。
intra-mart Accel PlatformのTERASOLUNA Server Framework for Java (5.x)(SpringMVC)での開発の知識/
経験
intra-mart Accel Platform に同梱されているjQueryおよびjQueryの各種プラグインの知識/経験
Mirage-SQLでの開発の知識/経験

コラム
intra-mart Accel Kaiden!はSpringMVC+Mirage-SQLの開発モデルで構築されています。
本書を読み進める前に、『TERASOLUNA Server Framework for Java (5.x) プログラミングガイド』の理解を深めることを推奨します。

その他
本書内で記載されている外部URLは、2024年4月現在のものです。

7

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31

基本
本項では、intra-mart Accel Kaiden!を使用したプログラミングの基本的な内容を記載しています。

事前準備
本項では、intra-mart Accel Kaiden!でプログラミングする際の準備内容を説明します。
本書では、本項の事前準備が完了していることを前提に記載しています。
開発環境構築intra-mart e Builder for Accel Platformの準備
モジュール・プロジェクトの作成
applicationContext.xmlの作成

開発環境構築本書のプログラミング方法は、intra-mart e Builder for Accel Platformを前提としています。
本項では、intra-mart e Builder for Accel Platformのインストール、および開発プロジェクトの準備を行います。

intra-mart e Builder for Accel Platformの準備
intra-mart e Builder for Accel Platformのインストール、およびデバッグサーバの構築を行います。
構築手順の詳細は、『intra-mart e Builder for Accel Platform セットアップガイド』を参照してください。

コラム
デバッグサーバの構築時（WARファイルの作成時）には、利用するintra-mart Accel Kaiden!のモジュールを追加してください。
また、WARファイルのデプロイ後、テナント環境の構築まで完了させてください。

モジュール・プロジェクトの作成
intra-mart e Builder for Accel Platform上にモジュール・プロジェクトを作成し、プロジェクトの設定を行います。
プロジェクトの作成・設定の方法に関しては、『intra-mart e Builder for Accel Platform ユーザ操作ガイド』のモジュール・プロ
ジェクト作成、およびプロジェクトの設定を参照してください。

コラム
モジュール・プロジェクト作成ウィザードでは次の情報を参考に入力してください。
あくまで参考値ですので、別の値を入力していただいても問題ありません。
プロジェクト名 ：tutorial
グループID ：jp.co.slcs.kaiden2
アーティファクトID：tutorial
バージョン ：1.0.0

applicationContext.xmlの作成
モジュール・プロジェクトの作成後、applicationContext.xmlの作成をします。
「applicationContext-kaiden_tutorial.xml」を「src/main/resources/META-INF/spring」に作成し、次のように編集します。
この設定により、指定パッケージ配下のクラスがSpringのコンポーネント対象として扱われます。
本項以降のチュートリアルでは、ルートパッケージを”jp.co.slcs.kaiden.v2.tutorial”と設定したものとして記載しています。

8

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context4.1.xsd"><!-- DIコンポーネントの対象とする要素のトップレベルパッケージ --><context:component-scan base-package="jp.co.slcs.kaiden.v2.tutorial" /></beans>仕様解説
本項では、intra-mart Accel Kaiden!の各種仕様を解説します。

Gadget
本項では、intra-mart Accel Kaiden!におけるガジェットの仕様を解説します。
ガジェットとは？
ガジェットの識別子
ガジェットの構造
ガジェットのプログラミング
ガジェット間通信とは？
ガジェット間通信のイベント
ガジェット間通信のプログラミング

ガジェットとは？
intra-mart Accel Kaiden!におけるガジェットとは、特定の機能を部品化したものを指します。
intra-mart Accel Kaiden!の多くの画面では、次の様にガジェットを組み合わせて構成しています。
申請書マスタメンテナンスの様に、ユーザが独自に組合せを変更できる機能も用意しています。
申請画面（旅費精算申請）
申請書マスタメンテナンスの設定により、ガジェットの組合せを変更することができます。

9

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31

登録／更新画面（マスタメンテナンス）（プロジェクトマスタ）
ガジェットの組合せはプログラムで固定です。

勤務表画面
ガジェットの組合せはプログラムで固定です。

10

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31

勤務入力画面ガジェットの組合せはプログラムで固定です。

勤務表PDF
ガジェットの組合せはプログラムで固定です。

11intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31

ガジェットの識別子
ガジェットは次の様な識別子で構成されています。
識別子

説明ガジェットクラス

ガジェットの種別を表します。

ガジェットバリエーション

同一ガジェット種別で画面レイアウト違いを表します。

ガジェットインスタンス

特定のガジェットを同時に複数利用する場合に使用します。
ガジェットクラス、ガジェットバリエーションでガジェットを特定することが可能ですが、申請書などで、特定のガジェットを同時に複数利用する可能性があるため連番を設けています。
同時複数利用を行わない画面では、原則「0」となり、同時複数利用を行う画面では、「0」からの連番です。

ガジェットID

ガジェットクラス、ガジェットバリエーション、ガジェットインスタンスの３つをアンダースコ
ア（_）で繋げた文字列です。
ガジェットIDがガジェットを一意に示す値として使用します。

ガジェットの構造
ガジェットは次の様な構造です。
ガジェットは１つのJSP内に複数のガジェットを定義することが可能です。

ガジェット <k:gadgetContainer>に内包する要素として次の２種類のブロックがあります。
ブロック <k:blockContainer>
TMTable <k:tmtable>

12intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
コラム
ガジェット内には一つだけ<form>を配置することができます。
バリデーションを行うためには、バリデーション対象のエレメントが<form>内に配置されている必要があります。

コラム
ガジェット内には最低ひとつのブロック <k:blockContainer>、またはTMTable <k:tmtable>を配置してください。

テキストボックス <k:text>などのエレメントは、必ずブロック <k:blockContainer>、またはTMTable<k:tmtable>内に配置してください。

注意
次の様な構造は実装できませんので、ご注意ください。

ブロック <k:blockContainer>がTMTable <k:tmtable>を内包
TMTable <k:tmtable>がブロック <k:blockContainer>を内包

ガジェットのプログラミング
ガジェットのプログラミングに必要な機能はタグライブラリとして用意しております。
本項では、タグライブラリを使用して簡単なガジェットを作成する方法を解説します。
プログラミング例
次のソースは、一つのテキストボックスを持つガジェットです。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %><%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %><%@ taglib prefix="k" uri="http://kaiden.slcs.co.jp/taglib/v2/ui" %><c:set var="gadgetClass">sampleGadget</c:set><c:set var="gadgetVariation">v01</c:set><c:set var="gadgetInstance">0</c:set><c:set var="gadgetId">${gadgetClass}_${gadgetVariation}_${gadgetInstance}</c:set><k:gadgetContainer
gadgetClass="${gadgetClass}"gadgetVariation="${gadgetVariation}"gadgetInstance="${gadgetInstance}"
gadgetTitle="ガジェットタイトル"
gadgetId="${gadgetId}"><k:blockContainer id="inputArea"><k:text name="textbox" mode="0" /></k:blockContainer></k:gadgetContainer>

解説<c:set /// >の部分は、ガジェットの識別子をそれぞれ変数に設定しています。
特にガジェットIDは、JavaScriptのコーディングでは重要な役割を担いますので、”${gadgetId}”のコーディングだけで済むよう変数に設定すること推奨します。

コラム
ガジェットの初期化処理で、ガジェット内のname（id）属性はガジェットやブロックを考慮した値に変更します。
変更前の値は「data-kaiden-org-id」「data-kaiden-org-name」に保持していますが、変更前の値でアクセスできるようJavaScriptライブラリ（Accessor）を用意していますので、プログラミングの際に変更後の値を意識する必要はありません。

13

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
注意
エレメントのname属性およびid属性は、 ガジェット <k:gadgetContainer>内で一意な値を設定してください。

ブロック <k:blockContainer>やTMTable <k:tmtable>内で一意であれば問題はありませんが、
メンテナンス性などを考慮し、ガジェット <k:gadgetContainer>内で一意な値を設定するようにしてください。

ガジェット間通信とは？
ガジェット間通信とは、ガジェットとガジェットの間でイベントを発行し、処理やデータなどを連携する仕組みです。
ガジェット間通信はGadgetManagerを仲介させてイベントのやり取りを行います。
GadgetManagerを仲介させることで、ガジェット間の依存をなくすメリットがあります。

図の様に、ガジェットAから発行されたイベントは、GadgetManagerを通じガジェットBやガジェットCに連携します。
連携したイベントの処理は受け側のガジェットに委任されます。
たとえば、図の様にガジェットBはイベントを処理する用意があるので、そのままガジェットBでは処理を実行します。
ガジェットCはイベントを処理する用意がないため、発行されたイベントを無視します。（エラーにもなりません）

ガジェット間通信のイベント
ガジェット間通信は、次の２種類のイベントがあります。
PUSHイベント
他のガジェットに何かを通知したり、処理を実行させるためのイベントです。
PULLイベント
他のガジェットにデータなどを要求するイベントです。
イベントを処理する側のガジェットでは、何らかの値を返却する必要があります。

コラム
ガジェット間通信のイベントは２種類ありますが、厳密な違いはありません。
PUSHイベントで値を返却することも可能ですが、メンテナンス性向上の観点から次の様な分類を推奨します。
PUSHイベント：返却値なし
PULLイベント：返却値あり（処理結果や処理ガジェットが保有するデータを返却）

ガジェット間通信のプログラミング
ガジェット間通信のプログラミングは、次の様に行います。
イベントの発行
他のガジェットへイベントを発行する場合は、次の様にプログラミングします。

14

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31// PUSHイベントを発行
KAIDEN.gadgetMan.execPush("pushイベントキー", "引数", "呼び出し元ガジェットID");// PULLイベントを発行
var ret = KAIDEN.gadgetMan.execPull("pullイベントキー", "引数", "呼び出し元ガジェットID");

イベントの受信他のガジェットからのイベントを受信する場合は、次の様にプログラミングします。
“arg”にはイベント発行時の引数が渡されます。
// EventManagerの取得
var eventMan = KAIDEN.getGadget("ガジェットID").eventManager;// PUSHイベントの受信
eventMan.registPushListener("pushイベントキー", function(arg) {// イベント処理});// PULLイベントの受信
eventMan.registPullListener("pullイベントキー", function(arg) {// イベント処理
return "戻り値";});

イベントの戻り値
他のガジェットへ発行したイベントは、戻り値を返却する場合があります。
返却された戻り値は、複数のガジェットの処理結果を格納するため、配列として返却します。
返却された戻り値の配列には、イベントの戻り値と処理を行ったガジェットの情報を返却します。
// PULLイベントを発行
KAIDEN.gadgetMan.execPush("pushイベントキー", "引数", "呼び出し元ガジェットID");// PULLイベントを発行
var ret = KAIDEN.gadgetMan.execPull("pullイベントキー", "引数", "呼び出し元ガジェットID");

コラム
上記の場合、retには以下の情報が配列で格納されています。
result ※処理自体の戻り値が格納されています。
gadgetAttr.gadgetId
gadgetAttr.gadgetClassgadgetAttr.gadgetVariation
gadgetAttr.gadgetInstance

TMTable
前項のGadgetではガジェットの仕様を解説しました。
本項では、ガジェットの内包要素であるTMTableの仕様を解説します。

15

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
TMTableとは？
TMTableのプログラミング
タプルとは？
タプル操作のプログラミング
TMTable操作パネル
TMTableの関連API
タプルへのデータ設定
タプルのデータ取得
タプルのイベント処理

TMTableとは？
TMTableとは、いわゆる帳票形式で表現する場合に利用するブロックです。
動的に入力欄を増やしたり、一覧表示を行う際に使用します。
次の画面では、TMTableを利用して機能を実現しています。
明細ガジェット（経費明細）

一覧画面（マスタメンテナンス）（プロジェクトマスタ）

TMTableのプログラミング
TMTableは、タグライブラリのTMTable <k:tmtable>を使用します。
TMTable <k:tmtable>は、<table>に変換されますので、基本的なプログラミング方法は<table>と同様ですが、<thead>と<tbody>を明確に分けて作成してください。
プログラミング例

16

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31<k:tmtable id="sampleTmtable" class="imui-form"><thead><tr><th><k:surface surfaceKey="入力欄1" requiredMark="true"/></th>
</tr>
<tr>
<th><k:surface surfaceKey="入力欄2" requiredMark="true"/></th></tr></thead><tbody><tr><td><k:text name="inputArea1" mode="0"/></td>
</tr>
<tr>
<td><k:text name="inputArea2" mode="0"/></td></tr></tbody></k:tmtable>

解説<thead>ヘッダ行として扱われますので、特に何も変化しません。
<tbody>動的に増減する対象で、複数行（<tr>が複数）あってもそれが１セットの行として増減します。
たとえば、プログラミング例の様にJSPにてあらかじめ２行（２つの<tr>）を作成しておくと、この２行単位で動的に増減されます。

タプルとは？
タプル、またはタプルIDは次の様に定義しています。
タプル
前項の通り、<tbody>にあらかじめ<tr>2つある場合は、この２行単位で動的に増減していきます。
TMTableでは、この２行の単位をタプルと定義しています。
タプルID
タプルIDは、タプルに対して付与される一意な連番です。
タプル削除がされると欠番が発生しますし、「上に挿入」などを行った場合には画面表示順とタプルIDの順序は一致しません。
TMTableの操作は、このタプルIDを利用して操作します。

タプル操作のプログラミング
JavaScriptにてタプル操作を行う場合のプログラミング方法を解説します。
次の様な実装で、タプルに対する各種操作が行えます。
最下行に追加// TMtableの取り出し
var tmtable = KAIDEN.getGadget("ガジェットID").tmtables["TMTableID"];// 最下行に1行（1タプル）追加
tmtable.append();

下に挿入// TMtableの取り出し
var tmtable = KAIDEN.getGadget("ガジェットID").tmtables["TMTableID"];// 指定したタプルIDの下にタプルを挿入
tmtable.insertUnder("タプルID");

上に挿入

17

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31// TMtableの取り出し
var tmtable = KAIDEN.getGadget("ガジェットID").tmtables["TMTableID"];// 指定したタプルIDの上にタプルを挿入
tmtable.insertUpper("タプルID");

タプルを1つ削除// TMtableの取り出し
var tmtable = KAIDEN.getGadget("ガジェットID").tmtables["TMTableID"];// 指定したタプルを削除
tmtable.del("タプルID");

タプルをすべて削除// TMtableの取り出し
var tmtable = KAIDEN.getGadget("ガジェットID").tmtables["TMTableID"];// タプルをすべて削除
tmtable.deleteAll();

コラム
タプル操作の詳細は、『intra-mart Accel Kaiden! JsDoc』を参照してください。

TMTable操作パネル
ユーザ操作で行追加や行削除などを行う場合はTMTable操作パネル <k:tmtableOperationPanel>を使用してください。
次の様にTMTable操作パネル <k:tmtableOperationPanel>を配置するだけで、
行追加・行削除などのタプルに対する基本的な操作が行えます。
プログラミング例<k:tmtable id="sampleTmtable" class="imui-form"><thead><tr><td><k:tmtableOperationPanel position="header" allowAdd="true" allowDel="true" /></td><th><k:surface surfaceKey="入力欄1" requiredMark="true"/></th><th><k:surface surfaceKey="入力欄2" requiredMark="true"/></th></tr></thead><tbody><tr><td><k:tmtableOperationPanel position="detail" allowAdd="true" allowDel="true" /></td><td><k:text name="inputArea1" mode="0"/></td><td><k:text name="inputArea2" mode="0"/></td></tr></tbody></k:tmtable>

TMTableの関連API
本項では、TMTableのタプルの操作やデータの設定・取得の方法を紹介します。
各APIの詳細は『intra-mart Accel Kaiden! JsDoc』を参照してください。

タプルへのデータ設定
タプル内のエレメント（テキストボックスなど）に値を設定する場合には、次のAPIを使用してください。
append(data, exclude)18

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
最下行にタプルを追加し、そのタプルに対しdataを設定
insertUpper(tupleId, data, exclude)
指定タプルの上にタプルを挿入、そのタプルに対しdataを設定
insertUnder(tupleId, data, exclude)
指定タプルの下にタプルを挿入、そのタプルに対しdataを設定
setTupleData(tupleId, data, exclude)
指定タプルに対しdataを設定
replaceAll(datas, exclude)
全行削除後、datas（配列）の分だけ行追加しデータを設定します ※タプルIDを復元する
replaceAllNewTupleId(datas, exclude)
全行削除後、datas（配列）の分だけ行追加しデータを設定します ※タプルIDを復元せずに新たなタプルIDを付与
appendAllNewTupleId(datas, exclude)
datas（配列）の分だけ行追記しデータを設定します ※タプルIDを復元せずに新たなタプルIDを付与

コラム
次のソースは、TMTableに行を追加し、text1に”txt1”をtext2に”txt2”を設定する例です。
excludeにtext3が指定されているため、text3は値が設定されません。
// TMtableの取り出し
var tmtable = KAIDEN.getGadget("ガジェットID").tmtables["TMTableID"];//タプルを追加するとともにデータを設定
tmtable.append({text1:"txt1", text2:"txt2", text3:"txt3"}, {text3:true});

タプルのデータ取得
タプルのデータを取得する場合には、次のAPIを使用してください。
getTupleData(tupleId, includeLabel)
特定のタプルのデータをjavascriptオブジェクトの形式で返却
getCount()
Tmtableの行数を返却
getAvailabilityTupleIds()
現在有効なタプルIDを配列で返却
getDataSet()
タプルデータの配列をjavascriptオブジェクトの形式で返却
getColumnValues(fldName)
タプルのうち特定のフィールドキー（もしくはフィールドキーの配列）の入力データをすべて返却

タプルのイベント処理
タプルのイベント処理は次の様に実装してください。
タプル追加（挿入）直前// TMtableの取り出し
var tmtable = KAIDEN.getGadget("ガジェットID").tmtables["TMTableID"];//タプル追加（挿入）直前イベント
tmtable.addEventPreNewRow(function(tupleId, tmtableAccessor) {//引数：tupleId：挿入起点となるタプルID//引数：tmtableAccessor：当該TMtableへのAccessor});

タプル追加（挿入）直後（データ設定前）

19

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31// TMtableの取り出し
var tmtable = KAIDEN.getGadget("ガジェットID").tmtables["TMTableID"];//タプル追加（挿入）直後（データ設定前）イベント
tmtable.addEventPostNewRowBeforeSetData(function(tupleId, tmtableAccessor, data) {//引数：tupleId：新たに挿入されたタプルID//引数：tmtableAccessor：当該TMtableへのAccessor//引数：data：挿入されたタプルに設定しようとしている値});

タプル追加（挿入）直後（データ設定後）// TMtableの取り出し
var tmtable = KAIDEN.getGadget("ガジェットID").tmtables["TMTableID"];//タプル追加（挿入）直後（データ設定後）イベント
tmtable.addEventPostNewRow(function(tupleId, tmtableAccessor, data) {//引数：tupleId：新たに挿入されたタプルID//引数：tmtableAccessor：当該TMtableへのAccessor//引数：data：挿入されたタプルに設定された値});

タプル削除時// TMtableの取り出し
var tmtable = KAIDEN.getGadget("ガジェットID").tmtables["TMTableID"];//タプル削除時イベント
tmtable.addEventDecreaseRowFunc(function() {});Accessor
本項では、intra-mart Accel Kaiden!のJavaScriptライブラリ（Accessor）の仕様を解説します。
Accessorとは？
Accessorの取得
各要素へのアクセス
各要素の主な操作
イベントの追加
隣接要素へのアクセス

Accessorとは？
intra-mart Accel Kaiden!のガジェット（ブロック・TMTable）では、
ガジェットの初期化処理でエレメントのname（id）属性をガジェットやブロックを考慮した値に変更します。
そのため、JSPで id=”txt”と設定したテキストボックスが $(“#txt”) では取得できません。
Accessorとは、変更前のname（id）属性でアクセスできるようにするJavaScriptライブラリです。
上記に加え、値の取得や設定などよく使う機能を用意しています。

コラム
Accessorの詳細は、『intra-mart Accel Kaiden! JsDoc』を参照してください。

Accessorの取得
ガジェットが初期化された後に、次の様にAccessorを取得できます。

20

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31// ブロックに対するAccessor
var blockAccessor = KAIDEN.getGadget("ガジェットID").blockAccessors["ブロックID"];// TMtableに対するAccessor
var tmtableAccessor = KAIDEN.getGadget("ガジェットID").tmtables["TMTableID"].tmtableAccessor;

コラム
ガジェットの初期化は、</k:gadgetContainer>の直後に行われます。
そのため、ガジェットに対する操作は、</k:gadgetContainer>の後続に<script>にて記載します。
<k:gadgetContainer
gadgetClass="${gadgetClass}"gadgetVariation="${gadgetVariation}"gadgetInstance="${gadgetInstance}"
gadgetTitle="ガジェットタイトル"
gadgetId="${gadgetId}"><k:blockContainer id="inputArea"><k:text name="txt" mode="0" /></k:blockContainer></k:gadgetContainer><script type="text/javascript">
jQuery(function($) {//この時点ではガジェットが初期化されてますので、各種操作が可能です。
}</script>

各要素へのアクセス
各要素がブロック内にあるのか、TMTable内にあるのかにより引数の違いはありますが、idでアクセスする場合にはjQueryと同様に先頭に”#”を付与します。
name属性の場合には”[name=’‘]”という装飾をせずにそのまま指定できます。
各ブロックへのAccessorを利用することで、例えばガジェットが異なるがname属性やid属性が同じものが存在した場合でも、確実に該当ガジェットの要素へアクセスできます。
ガジェットブロックの場合// ブロックに対するAccessor
var blockAccessor = KAIDEN.getGadget("ガジェットID").blockAccessors["ブロックID"];var findName = blockAccessor("name属性"); //name属性でのアクセス
var findId = blockAccessor("#id属性"); //id属性でのアクセス

TMtableの場合// TMtableに対するAccessor
var tmtableAccessor = KAIDEN.getGadget("ガジェットID").tmtables["TMTableID"].tmtableAccessor;
var findName = tmtableAccessor("name属性", "タプルID"); //name属性でのアクセス
var findId = tmtableAccessor("#id属性" , "タプルID"); //id属性でのアクセス

各要素の主な操作
Accessorを用いてよく利用する操作を解説します。
値を設定する／取得する

21

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31//値を設定blockAccessor("name属性").setValue("設定する値");//値を取得blockAccessor("name属性").getValue();

スタイルシート（class)を適用する／適用を外す//classを適用する
blockAccessor("name属性").addClass("適用するclass");//classの適用を外す
blockAccessor("name属性").removeClass("適用を外すclass");

無効にする／無効を解除する//無効にする
blockAccessor("name属性").disabled();//無効を解除する
blockAccessor("name属性").removeDisabled();

イベントの追加
Accessorのメソッドelem()を利用するとjQueryオブジェクトそのものが返却されますので、
jQueryを通じて様々な操作が行えます。
次の例では、エレメントの”on”イベントを追加しています。
“on(change)”イベントの追加// ブロックに対するAccessor
var blockAccessor = KAIDEN.getGadget("ガジェットID").blockAccessors["ブロックID"];
blockAccessor("name属性").elem().on("change", function() {//changeイベントの処理});

Accessorのメソッドelem()は、その時点でエレメントが存在しない、または複数存在する場合にエラーが発生しますが、
elem(true)とすると、エラーの発生を抑止することができます。
そのため、”live”イベントを付与する場合などに便利に使用できます。
“live(change)”イベントの追加// TMtableに対するAccessor
var tmtableAccessor = KAIDEN.getGadget("ガジェットID").tmtables["TMTableID"].tmtableAccessor;
tmtableAccessor("name属性").elem(true).live("change", function() {//changeイベント});

コラム
TMTableはタプルが動的に増減するため、タプルが存在しない（０件）場合があります。
そのため、elem(true)としてjQueryオブジェクトを取り出す必要があります。

コラム
通常、TMTableに対するAccessorでは、タプルIDを指定して対象エレメントを特定しますが、ここではあえてタプルIDを指定せずに「tmtableAccessor(“name属性”)」とすることで、全てのタプル内エレメントを対象とすることができます。

22

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
隣接要素へのアクセス
同一ブロック、またはTMTableの同一タプル内の別要素を隣接要素と呼びます。
たとえば、以下のようにTMTable内にテキストボックスが２つある場合、”text1”と”text2”が隣接要素です。
<k:tmtable id="sampleTmtable" class="imui-form"><thead><tr><th><k:surface surfaceKey="入力欄1" requiredMark="true"/></th><th><k:surface surfaceKey="入力欄2" requiredMark="true"/></th></tr></thead><tbody><tr><td><k:text name="text1" mode="0"/></td><td><k:text name="text2" mode="0"/></td></tr></tbody></k:tmtable>“text1”の値が変更された場合に、”text2”へ値をコピーする様な実装が必要な場合は、隣接要素へのAccessorを使用してください。
隣接要素へのAccessorは、「KAIDEN.gadgetMan.getNeighboringAccessor」にて取得します。
// TMtableに対するAccessor
var tmtableAccessor = KAIDEN.getGadget("ガジェットID").tmtables["sampleTmtable"].tmtableAccessor;
tmtableAccessor("text1").elem(true).live("change", function() {KAIDEN.gadgetMan.getNeighboringAccessor(this, "text2").setValue($(this).val());});

コラム
隣接要素へのAccessorは、ブロック、TMTableのどちらでも使用可能です。
隣接要素へのAccessor（NeighboringAccessor）の詳細は、『intra-mart Accel Kaiden! JsDoc』を参照してください。

Ajax
intra-mart Accel Kaiden!では簡単にAjax通信が行るような機構を用意しています。
本項では、intra-mart Accel Kaiden!を使用した基本的なAjax通信の方法を解説します。
基本的なプログラミング方法
Ajax通信の応用基本的なプログラミング方法
簡単な例を用い、Ajax通信の基本的なプログラミング方法を解説します。
Controllerクラス「jp.co.slcs.kaiden.v2.base.foundation.model.dto.LogicResultDto」をJSONに変換したデータを返却してください。

23

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
import jp.co.slcs.kaiden.v2.base.foundation.model.dto.LogicResultDto;
import jp.co.slcs.kaiden.v2.base.foundation.util.ResponseWriter;
import jp.co.slcs.kaiden.v2.base.foundation.conf.LogicResultStatus;
import net.arnx.jsonic.JSON;
import org.springframework.web.bind.annotation.RequestMapping;@RequestMapping(value = {"", "/index"})public String index(HttpServletRequest request, HttpServletResponse response,
Form form, Model model){/**〜略〜**/
LogicResultDto result = new LogicResultDto();result.data = "クライアントへの返却データ";
result.status = LogicResultStatus.SUCCESS.getName(); //成功ステータス
result.message = "処理が成功しました。";
ResponseWriter.writeJSon(response, JSON.encode(result));
return null;}

JSP（JavaScript）
var ajax = KAIDEN.Ajax(); //Ajaxライブラリの呼び出し
var criteria = {};//サーバーに送信する値//Ajax実行（POST通信）
ajax.postAuto("/*URL*/", criteria, function(returnData) {//正常時の処理}, function(returnData) {//エラー時の処理}, function(returnData) {//ワーニング時の処理});

JSP側で、Ajax通信が終了すると次の様な処理を行います。
1. メッセージが設定されている場合は、LogicResultDto.statusの内容に応じて自動的にメッセージを表示します。
“success”の場合、imuiShowSuccessMessage()を利用して成功メッセージを表示“fail”の場合、imuiShowErrorMessage()を利用してエラーメッセージを表示“warn”の場合、imuiShowWarningMessage()を利用してワーニングメッセージを表示
2. LogicResultDto.statusの内容に応じて、それぞれメソッドを呼び出します。
この時、引数には LogicResultDto.dataで設定した値が渡されます。

コラム
ajax.postAuto()は、正常時・エラー時・ワーニング時の処理が不要で、サーバーに値を送信する必要がなければ、
ajax.postAuto(“/*URL*/”); だけで実行できます。

コラム
GET通信を行う場合には、ajax.getAuto()で同様の処理が行えます。

Ajax通信の応用
同期通信やGET/POSTの切り替えなどのプログラミング方法は『intra-mart Accel Kaiden! JsDoc』のKAIDEN.base.foundation.Ajaxを参照してください。

24

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
メッセージ表示やその他の処理を細かく制御したい場合には、次のメソッドを使用してください。
（どちらのメソッドも$.ajax()を返却しますので、処理を細かく制御することができます。）
KAIDEN.base.foundation.Ajax#post ( String url, Object data, Function success ) : XMLHttpRequest
KAIDEN.base.foundation.Ajax#get ( String url, Object data, Function success ) : XMLHttpRequest

Mode&Formatedintra-mart Accel Kaiden!ではテキストボックスなどのモードやフォーマットを簡単に切り替える機構を用意しています。
本項では、モードやフォーマットの仕様を解説します。
モードとは？
フォーマットとは？

モードとは？
intra-mart Accel Kaiden! のタグライブラリでは、mode属性に設定した値によってモードを変更することができます。
モードはタグライブラリのmode属性に設定した値により自動的に設定され、mode属性に”0”を設定した場合は入力モードとして扱われ、”1”を設定した場合は表示モードとして扱われます。
主に申請書の入力画面（申請画面）と処理画面（承認画面）で使用している機能で、入力画面ではmode属性に”0”を、処理画面ではmode属性に”1”を設定し、一つのJSPで入力画面と処理画面を実現しています。
モードが指定可能なタグライブラリ

入力モードの状態

表示モードの状態

タグライブラリ

mode=”0”mode=”1”

テキストボックス <k:text><input type=”text”><label>

テキストボックス（数値） <k:numericText><input type=”text”><label>

テキストボックス（コード） <k:codeText><input type=”text”><label>

テキストボックス（Hidden） <k:hidden><input type=”hidden”><label>

テキストボックス（日付） <k:date><input type=”text”><label>

テキストボックス（時間） <k:time><input type=”text”><label>

テキストボックス（国際化対応） <k:text-locales><input type=”text”><label>

テキストボックス（パスワード） <k:password><input<label>type=”password”>

テキストエリア <k:textarea><textarea><label>

テキストエリア（国際化対応） <k:textarea-locales><textarea><label>ドロップダウンリスト <k:select><select><label>チェックボックス <k:checkbox><input type=”text”><label>アンカー <k:a><a>

非表示（何も出力しません）

ボタン <k:button><input type=”button”>

非表示（何も出力しません）

ラジオボタン <k:radio><input type=”radio”><label>フォーマットとは？
intra-mart Accel Kaiden! では未フォーマットの値とフォーマット済の値の両方をクライアント（厳密にはAccessor）へ渡します。

25

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
渡された値は、タグライブラリのformated属性により、表示する値を変更することができます。
formated属性により使用される値

formated属性の値 mode=”0”の場合

mode=”1”の場合“input”

未フォーマットの値

未フォーマットの値“view”

未フォーマットの値

フォーマット済の値“both”

フォーマット済の値

フォーマット済の値

JSPのコーディング例<k:text name="txt1" mode="0" formated="view" /><k:text name="txt2" mode="1" formated="view" />// ブロックに対するAccessor
var blockAccessor = KAIDEN.getGadget("ガジェットID").blockAccessors["ブロックID"];//値を設定する
blockAccessor("txt1").setValue(["2000/01/01","2000年01月01日"]); //txt1には"2000/01/01"が設定される
blockAccessor("txt2").setValue(["2000/01/01","2000年01月01日"]); //txt2には"2000年01月01日"が設定されるJavaのコーディング例
jp.co.slcs.kaiden.v2.base.foundation.util.ConvertForJsonSourceにフォーマット変換を行う機能があり、このクラスをサブクラス化し以下のようにformatFormatedValueをオーバーライドすることで、特定のフィールドのフォーマット変換と配列化を行うことができます。

26

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
class Converter extends ConvertForJsonSource {@Override
protected Map<String, String> formatFormatedValue(Map<String, Object> map, Stack<String> fldNameStack) {// 標準フォーマット変換
Map<String, String> result = super.formatFormatedValue(map, fldNameStack);// 開始日のフォーマット変換
Object startDate = map.get("startDate");if (startDate != null) {String formated = /*フォーマット変換後の文字列*/"";
result.put("startDate", formated);}// 終了日のフォーマット変換
Object endDate = map.get("endDate");if (endDate != null) {String formated = /*フォーマット変換後の文字列*/"";
result.put("endDate", formated);}// フォーマット変換した文字列のMapを返却することで、// 「未フォーマットの値」と「フォーマット済の値」の配列が作成されます。
return result;}}/* 〜略〜 */// フォーマット変換・コンバート実行
Converter converter = new Converter();
Map<String, Object> convertedMap = converter.mapConvert(/*フォーマット変換対象Map*/);// String[] { /*未フォーマットの値*/, *フォーマット済の値*/} が返却されます。
convertedMap.get("startDate");Dialogintra-mart Accel Kaiden!ではダイアログを作成するためのタグライブラリを用意しています。
本項では、タグライブラリ（ダイアログ <k:dialog>）を使用したプログラミング方法を解説します。
プログラミング
基本操作
バリデーション

プログラミング
ダイアログのプログラミングはタグライブラリ（ダイアログ <k:dialog>）を使用します。
プログラミングしたダイアログは、ブロック <k:blockContainer>と同様に扱われるため、ガジェット <k:gadgetContainer>内に配置する必要があります。
また、ブロック <k:blockContainer>とTMTable <k:tmtable>の関係の様に、互いに内包することはできません。
プログラミング例<k:dialog title="サンプルダイアログ" id="sampleDialog" modal="true"><%-- ダイアログの内容 --%></k:dialog>

基本操作

27

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
ダイアログは次の様な形式で基本操作を行います。
プログラミング例//ダイアログオブジェクトの取得
var dialog = KAIDEN.getGadget("ガジェットID").dialogs["sampleDialog"];//ダイアログにボタンを登録
dialog.addButton("ボタン名", function() {//ボタン押下時の処理});//ダイアログを開く
dialog.open();//ダイアログを閉じる
dialog.close();コラム
dialog.addButton()で指定する関数について詳しくは、jQuery UIのDialogのbuttonオプションを参照してください。

バリデーション
ダイアログ <k:dialog>を使用して作成したダイアログは、ダイアログを自動的に<form>で囲みます。
そのため、次の様な形式でバリデーションを実行できます。
プログラミング例
if (dialog.validate("バリデーションキー")) {//エラーがなかった場合の処理}

コラム
エラーメッセージはダイアログ内に表示されます。

ListData
intra-mart Accel Kaiden!ではドロップダウンリストを作成するためのタグライブラリを用意しています。
本項では、タグライブラリ（ドロップダウンリスト <k:select>）を使用したプログラミング方法を解説します。
リストデータとは？
リストデータの作成
リストデータの動的変更
リストデータの動的変更（Ajax）
タグライブラリ
ドロップダウンリストとの連携

28

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
リストデータとは？
リストデータとは、ドロップダウンリストで使用する選択肢（<option>）となるデータを指します。
リストデータはJavaScriptで作成する方法や、タグライブラリ（リストデータ）で生成する方法などがあります。

リストデータの作成
リストデータは、KAIDEN.base.foundation.SelectListData.storeListを使用し、作成することができます。
プログラミング例
第一引数がリストデータ名、第二引数はリストデータとなり、第一引数のリストデータ名は、HTMLページ全体で一意な名称で扱われます。
// リストデータの作成
jQuery(function($) {KAIDEN.base.foundation.SelectListData.storeList("listName", [{key:"key1", value:"value1", deleteFlag:"false"}, {key:"key2", value:"value2", deleteFlag:"false"}, {key:"key3", value:"value3", deleteFlag:"true"}]);});

コラム
intra-mart Accel Kaiden!では、上記の様なプログラミング以外にもタグライブラリとしてリストデータを用意しています。
詳細は、タグライブラリ - リストデータを参照してください。

リストデータの動的変更
リストデータの動的な変更は、前項と同様に、KAIDEN.base.foundation.SelectListData.storeListを使用します。
プログラミング例
第一引数のリストデータ名を同じ名前で再定義することで、関連づいている<select>すべての<option>値が新しく書き換わります。
// リストデータの作成
jQuery(function($) {KAIDEN.base.foundation.SelectListData.storeList("listName", [{key:"key1", value:"値1", deleteFlag:"false"}, {key:"key2", value:"値2", deleteFlag:"false"}, {key:"key3", value:"値3", deleteFlag:"true"}]);});

コラム
リストデータが動的に変更された場合、選択済みのコードが変更後のリストデータにもあれば復元（選択状態）します。
選択済みのコードが変更後のリストデータになければ、valueが空文字の<option>が選択されるか、存在しなければselectedIndex = -1を設定します。

リストデータの動的変更（Ajax）
KAIDEN.base.foundation.SelectListData.storeListには、Ajax通信を利用しリストデータを動的に変更する仕組みが用意されています。
プログラミング例
refreshList()を実行することで、追加条件（{criteriaData:”2013/01/01”}）を付与してAjax通信を行い、その戻り値に応じて<select>の<option>を変更します。

29

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31// リストデータの作成
jQuery(function($) {KAIDEN.base.foundation.SelectListData.storeList("listName", [{key:"key1", value:"値1", deleteFlag:"false"}, {key:"key2", value:"値2", deleteFlag:"false"}, {key:"key3", value:"値3", deleteFlag:"true"}], "ajaxURL", {companyCd:"comp_sample_01"});});// リストデータのリフレッシュ
KAIDEN.base.foundation.SelectListData.refreshList("listName", {criteriaData:"2013/01/01"});

コラム
Ajax通信の戻り値は、JSON形式のリストデータを返却するようにしてください。
storeList()を実行した時点でもURLを指定しますが、この時点ではAjax通信は行われません。

タグライブラリ
タグライブラリを使用してリストデータを作成可能です。
プログラミング例<%@ taglib prefix="k" uri="http://kaiden.slcs.co.jp/taglib/ui" %><%@ taglib prefix="klist_labor" uri="http://kaiden.slcs.co.jp/taglib/v2/listdata/labormgr" %><klist_labor:listDataWorkStatusCat name="workStatusCatData" blank="false" /><k:select name="workStatusCat" mode="0" dataName="workStatusCatData"/>

コラム
詳細は、タグライブラリ - リストデータを参照してください。

ドロップダウンリストとの連携
前項までで作成したリストデータを、ドロップダウンリスト <k:select>に連携させ、<option>を生成します。
プログラミング例<%-- ドロップダウンリストの作成 --%>
<k:select name="list" mode="0" dataName="listName" />HTML
前項までで作成したリストデータを連携させた場合、次の様なHTMLを生成します。
<select name="list"><option value="key1">value1</option><option value="key2">value2</option></select>

コラム
リストデータのdeleteFlagが”true”の場合は、<option>は生成されません。

ドロップダウンリスト <k:select>にincludeDisabled=”true”を設定すると、deleteFlagが”true”のデータの<option>も生成します。

ドロップダウンリスト <k:select>にmode=”1”を設定した際に、Accessorを使用してsetValue(“コード値”)すると、deleteFlagを無視してデータを表示します。

30

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
FS2Listintra-mart Accel Kaiden!では２段ヘッダリストを作成するためのタグライブラリを用意しています。
本項では、タグライブラリ（２段ヘッダリスト <k:fs2List>）を使用したプログラミング方法を解説します。
FS2Listとは？
FS2Listのプログラミング
JSP
XML
Java
FS2Listの関連API
FS2Listのデータ取得
FS2Listのイベント処理

FS2Listとは？
FS2Listは、２段ヘッダのリストを表現する場合に利用します。
ヘッダやデータに表示する項目は、xmlで設定します。
次の画面では、FS2Listを利用して機能を実現しています。
勤務表検索（勤務表照会）

FS2Listのプログラミング
FS2Listは、タグライブラリの２段ヘッダリスト <k:fs2List>を使用します。

２段ヘッダリスト <k:fs2List>は、Ajax通信でデータを取得した結果をHTMLに生成します。
JSP
プログラミング例(HTML)
ajaxAccessUrlは一覧検索を行う際のURLを指定します。
<k:fs2List id="fs2ListId" ajaxAccessUrl="fs2List/search"/>

プログラミング例(JavaScript)
ajaxAccessUrlは一覧検索を行う際のURLを指定します。

31

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31// FS2List検索を実行
jQuery(function($) {var fs2List = KAIDEN.Fs2List("fs2ListId");// 検索条件
var criteria = {"companyCd":companyCd};
fs2List.search(criteria);});

コラム
JSP内に複数のFS2Listを生成することが可能です。

注意
複数のFS2Listを生成する場合、idは画面内で一意となるように指定してください。

XML
FS2Listは、２段ヘッダリストの設定はxmlファイルにて実装します。
各設定値については２段ヘッダリスト <k:fs2List>を参照してください。
表示項目はテナント全体の設定、および会社個別の設定を行うことができます。
プログラミング例(XML)32

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31<defaultSetting><limit>20</limit><rownumberSurfaceKey></rownumberSurfaceKey><useSelectedMark>true</useSelectedMark><useRownumber>true</useRownumber><colsHeight>32px</colsHeight><fs2ListScrollHeight>350px</fs2ListScrollHeight><!-- 検索画面の固定列カラム設定 --><fixedCols><fixedCol><fieldKey>fixedColumn</fieldKey><width>100px</width><align></align><headerSurfaceKey></headerSurfaceKey><colPosition></colPosition><colspan></colspan><rowspan>2</rowspan><sortable>false</sortable></fixedCol></fixedCols><!-- 検索画面の可変列カラム設定 --><variableCols><variableCol><fieldKey>variableColumn</fieldKey><width>100px</width><align></align><headerSurfaceKey></headerSurfaceKey><colPosition></colPosition><colspan></colspan><rowspan>2</rowspan><sortable>false</sortable></variableCol></variableCols><orders><order><fieldKey>A</fieldKey><type>asc</type></order></orders></defaultSetting><!-- 会社毎の設定 --><companySetting><companyCd>%会社Aのコード値%</companyCd><settings>%会社Aの設定%</settings></companySetting>Java
FS2Listを生成するには、Form、Dto、Controllerクラスを作成します。
FS2Listを生成するFormクラスを作成します。
FS2ListのFormクラスを実装する場合、jp.co.slcs.kaiden.v2.base.foundation.fs2.AbstractFs2ListForm を継承します。
プログラミング例(Form)

33

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
package jp.co.slcs.kaiden.v2.base.feature.form.kaiden;
import jp.co.slcs.kaiden.v2.base.foundation.fs2.AbstractFs2ListForm;/*** FS2ListのFormクラスです。
*/
public class Fs2ListForm extends AbstractFs2ListForm {// 実装なし}

FS2Listを生成するDtoクラスを作成します。
FS2ListのDtoクラスを実装する場合、jp.co.slcs.kaiden.v2.base.foundation.fs2.AbstractFs2ListDto を継承します。
プログラミング例(Dto)package jp.co.slcs.kaiden.v2.base.feature.dto.kaiden;
import jp.co.slcs.kaiden.v2.base.foundation.fs2.AbstractFs2ListDto;/*** FS2ListのDTOクラスです。
*/
public class Fs2ListDto extends AbstractFs2ListDto {// 実装なし}

FS2Listを生成するControllerクラスを作成します。
FS2ListのControllerクラスを実装する場合、jp.co.slcs.kaiden.v2.base.foundation.fs2.AbstractFs2ListController を継承します。
プログラミング例(Controller)
package jp.co.slcs.kaiden.v2.base.feature.action.kaiden;
import java.util.HashMap;
import java.util.Map;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;import jp.co.slcs.kaiden.v2.base.feature.dto.kaiden.Fs2ListDto;
import jp.co.slcs.kaiden.v2.base.feature.form.kaiden.Fs2ListForm;
import jp.co.slcs.kaiden.v2.base.foundation.exception.KaidenSystemException;
import jp.co.slcs.kaiden.v2.base.foundation.fs2.AbstractFs2ListController;
import jp.co.slcs.kaiden.v2.base.foundation.fs2.AbstractFs2ListDto;
import jp.co.slcs.kaiden.v2.base.foundation.fs2.AbstractFs2ListForm;/*** FS2ListのControllerクラスです。
*/@Controller@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)@RequestMapping("kaiden/v2/labor/dailyApprove")public class Fs2ListController extends AbstractFs2ListController {/** Form. **/public Fs2ListForm fs2ListForm;/** Dto. **/public Fs2ListDto fs2ListDto;/*** 一覧検索結果ページの返却.
*

34

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31** @return 一覧検索結果ページ* @throws KaidenSystemException システムエラー*/@RequestMapping(value = "search")
public String search(HttpServletRequest request, HttpServletResponse response, Fs2ListForm form,
Model model) throws KaidenSystemException {setForm(form);super.index(request, response, fs2ListForm, model);}/*** 検索結果をサブクラスから返却.
** @return 検索結果
* @throws KaidenSystemException システムエラー*/@Override
protected Map<String, Object> getSearchResultData() throws KaidenSystemException {Map<String, Object> criteria = new HashMap<String, Object>();criteria.put("key01", "value01");
criteria.put("key02", "value02");
return criteria;}/*** Formのインスタンスを返却.
** @return 対象検索用Form*/@Override
protected AbstractFs2ListForm getForm() {return fs2ListForm;}/*** DTOのインスタンスを返却.
** @return 対象検索用DTO*/@Override
protected AbstractFs2ListDto getDto() {return fs2ListDto;}/*** Formを設定.
** @param form Form*/protected void setForm(Fs2ListForm form) {fs2ListForm = form;}}

FS2Listの関連API
本項では、FS2Listの操作やデータの設定・取得の方法を紹介します。
各APIの詳細は『intra-mart Accel Kaiden! JsDoc』を参照してください。
FS2Listのデータ取得
FS2Listのデータを取得する場合には、次のAPIを使用してください。
getRowData(rowNumber)
特定のタプルのデータをjavascriptオブジェクトの形式で返却

35

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
countAll()
検索した結果の全件数を返却
pageCount()
検索した結果のページ数を返却
numberOfPage()
検索した結果の表示中のページ番号を返却
countDisplay()
検索した結果の表示中の件数を返却

FS2Listのイベント処理
FS2Listのイベント処理は次の様に実装してください。
１行追加直後// FS2Listの取り出し
var fs2List = KAIDEN.Fs2List("fs2ListId");// １行追加直後イベント
fs2List.postRowEachEvent(function(event, rowNumber, fs2ListAccessor, rowData) {//引数：event：イベントオブジェクト//引数：rowNumber：挿入起点となる行番号//引数：fs2ListAccessor：当該FS2ListへのAccessor//引数：rowdata：行番号に設定された値});

全一覧データ表示直後// FS2Listの取り出し
var fs2List = KAIDEN.Fs2List("fs2ListId");// 全一覧データ表示直後イベント
fs2List.displayFs2ListSuccessEvent(function(event, fs2ListAccessor) {//引数：event：イベントオブジェクト//引数：fs2ListAccessor：当該FS2ListへのAccessor});

Manager
本項では、intra-mart Accel Kaiden!におけるManagerについて解説します。
マネージャとは？
マネージャの構成マネージャの呼び出しマネージャの作成
会社認可
SQLファイル検索
キーワード検索マネージャとは？
intra-mart Accel Kaiden!のマネージャとは、データベース操作のAPIを提供しています。
マスタメンテナンスや申請書ガジェット等の機能ごとに様々なマネージャーが存在します。

マネージャの構成
intra-mart Accel Kaiden!のおけるマネージャは、継承するクラスの違いにより「マスタマネージャ」「申請書ガジェットマネー
ジャ」「その他マネージャ」に分類できます。

36

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31

マネージャの呼び出し
呼び出す場所については特に制限はなく、どこからでも使用できます。
intra-mart Accel Kaiden!の項目マスタマネージャクラスを呼び出すサンプルを以下に掲載します。
@Autowiredアノテーションによるコンポーネント取得@Autowired
public ItemManager itemManager;
public void xxxMethod() {itemManager.xxxx();}

コンポーネント名を指定してコンポーネント取得
public ItemManager itemManager;
public void xxxMethod() {itemManager = ApplicationContextHolder.getApplicationContext().getBean(ItemManager.class);
itemManager.xxxx();}

コラム
intra-mart Accel Kaiden!のマネージャクラスでは、@Autowiredアノテーションを使用しない場合、コンポーネント
名を指定して取得しています。

マネージャの作成
最上位クラスのjp.co.slcs.kaiden.v2.base.foundation.manager.AbstractGenericManagerで提供している機能について、ポイン
トのみ解説していきます。
基本的な検索・登録・更新・削除のメソッドについては言及しません。

会社認可
会社認可を参照するメソッド、しないメソッドが用意されていますので、必要に応じてマネージャに実装できます。
会社認可を参照するAPIはjp.co.slcs.kaiden.v2.base.foundation.manager.AuthorityCriteriaDtoを引数で受け取ります。
AuthorityCriteriaDtoには以下の内容が設定されており、認可設定で許可されているかどうかを判定します。
アクション
認可判定基準日
認可判定ユーザ （省略時はログインユーザを利用）

37

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
認可判定ロケール

SQLファイル検索
複雑なSQL文を実行するためにSQLファイルによる検索メソッドが用意されています。
サービスクラスとSQLファイル名(パス除く)を引数で受け取ります。
「”WEB-INF/classes/META-INF/sql” + “サービスクラスのパッケージ” + “サービスクラス名”」のSQLファイルをintra-mart
Accel Kaiden!基底クラスが取得しています。
また、引数のlikeTargetにカラムを指定すると、部分一致検索条件に変換されます。

キーワード検索キーワード検索を実行するメソッドを用意しています。
intra-mart Accel Kaiden!ではマスタメンテナンス画面の汎用検索画面で使用しており、一つのテキストボックスに入力した値を複数カラムに対して検索を実施できます。

Conductor
本項では、intra-mart Accel Kaiden!におけるConductorについて解説します。
コンダクターとは？
コンダクターの呼び出し

コンダクターとは？
intra-mart Accel Kaiden!におけるコンダクターとは、複数の画面から呼び出されるビジネスロジック処理のAPIを提供しています。
intra-mart Accel Kaiden!のコンダクターでは、前項のManagerクラスを複数呼び出し、共通処理を実装しています。

コラム
コンダクタークラスの詳細は『intra-mart Accel Kaiden! JavaDoc』を参照してください。

コンダクターの呼び出し
呼び出す場所については特に制限はなく、どこからでも使用できます。
intra-mart Accel Kaiden!の勤務表コンダクタークラスを呼び出すサンプルを以下に掲載します。
@Autowiredアノテーションによるコンポーネント取得@Autowired
public WorkReportConductor workReportConductor;
public void xxxMethod() {workReportConductor.xxxx();}

コンポーネント名を指定してコンポーネント取得
public WorkReportConductor workReportConductor;
public void xxxMethod() {workReportConductor = ApplicationContextHolder.getApplicationContext().getBean(WorkReportConductor.class);
workReportConductor.xxxx();}

38

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
コラム
intra-mart Accel Kaiden!のコンダクタークラスでは、@Autowiredアノテーションを使用しない場合、コンポーネン
ト名を指定して取得しています。

Logintra-mart Accel Kaiden!でのログ出力はjp.co.slcs.kaiden.v2.base.foundation.util.log.KaidenLoggerクラスを使用します。
以下のログレベルで出力できます。
ログレベル
trace (最も軽微)
debug
info
warn
error (最も重大)
プログラミング例
String logMsg = "ログメッセージ";// traceログを出力
KaidenLogger.trace(logMsg);// debugログを出力
KaidenLogger.debug(logMsg);// infoログを出力
KaidenLogger.info(logMsg);// warnログを出力
KaidenLogger.warn(logMsg);// errorログを出力
KaidenLogger.error(logMsg);

コラム
KaidenLoggerクラスを使用すると、ロガー名は「KAIDEN_LOG」となり、ログ設定は「WEBINF/conf/log/kaiden_logger.xml」で設定されます。

コラム
KaidenLoggerクラスの詳細は『intra-mart Accel Kaiden! JavaDoc』を参照してください。

MultiLocales
intra-mart Accel Kaiden!でのメッセージ、サーフィスはjp.co.slcs.kaiden.v2.base.foundation.helper.PropertyHelperクラスを使用して取得できます。

39

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31/** PropertyHelper. */@Autowired
public PropertyHelper propertyHelper;
public void xxx() {// ロケールを指定してメッセージを取得
propertyHelper.getMessage(Locale.JAPANESE, "メッセージキー", "置換文字列");// ロケールを指定しないでメッセージを取得
propertyHelper.getMessage("メッセージキー", "置換文字列");// ロケールを指定してサーフェスを取得
propertyHelper.getSurface(Locale.JAPANESE, "サーフェスキー", "置換文字列");// ロケールを指定しないでサーフェスを取得
propertyHelper.getSurface("サーフェスキー", "置換文字列");}

コラム
メッセージ設定ファイル名は「モジュールID_messages_言語ID.xml」、サーフィス設定ファイル名は「モジュール
ID_surfaces_言語ID.xml」です。
ファイルの配置場所は「WEB-INF/classes/jp/co/slcs/kaiden2/」です。

注意メッセージ設定ファイルやサーフィス設定ファイルの設定では、異なるファイルであってもキーが重複しないように注意
してください。

コラム
PropertyHelperクラスの詳細は『intra-mart Accel Kaiden! JavaDoc』を参照してください。

Helper&Util
本項では、intra-mart Accel Kaiden!のHelperクラスとUtilクラスについて解説します。
intra-mart Accel Kaiden!では、様々なHelperクラスとUtilクラスを用意しています。
ヘルパーとは？
intra-mart Accel Kaiden!で提供しているヘルパー
基盤モジュール
IM-Workflow連携モジュール
ワークフローモジュール
勤務管理モジュールヘルパーの呼び出しヘルパーの作成
ユーティリティとは？
intra-mart Accel Kaiden!で提供しているユーティリティ
基盤モジュール
IM-Workflow連携モジュール
ワークフローモジュール
勤務管理モジュールヘルパーとは？
intra-mart Accel Kaiden!のヘルパーとは、各種処理支援を行うAPIを提供しています。
また、ユーティリティのうち主にintra-mart Accel PlatformのAPIを利用もしくはラッピングしたクラスです。

40

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
intra-mart Accel Kaiden!で提供しているヘルパー
intra-mart Accel Kaiden!で提供しているヘルパークラスは以下の通りです。
各APIの詳細は『intra-mart Accel Kaiden! JavaDoc』を参照してください。

基盤モジュール
クラス名

説明

CacheHelper

キャッシュ機能を扱うクラスです。

CalendarInfoManagerHelper

intra-mart Accel PlatformのCalendarInfoManagerクラスをラッピングしています。

CompanyGroupManagerHelper

intra-mart Accel PlatformのCompanyGroupManagerクラスをラッピングしています。

CompanyManagerHelper

intra-mart Accel PlatformのCompanyManagerクラスをラッピングしています。

CompanySettingsHelper

会社設定に関する機能を扱うクラスです。

ContextHelper

intra-mart Accel Platformのコンテキストに関する操作を扱うクラスです。

ConvertPdfHelper

PDF変換に関する操作を行うクラスです。

CurrencyHelper

通貨に関する機能を扱うクラスです。

DateHelper

日付に関する機能を扱うクラスです。

DocumentDataSettingsHelper

ドキュメントデータ設定に関する機能を扱うクラスです。

ExportHelper

Export処理を扱う機能を扱うクラスです。

ExtExportHelper

拡張版Export処理を扱う機能を扱うクラスです。

ExtImportHelper

拡張版Import処理を扱う機能を扱うクラスです。

FormatHelper

書式変換に関する機能を扱うクラスです。

IdentifierHelper

intra-mart Accel PlatformのIdentifierクラスをラッピングしています。

ImageViewHelper

画像参照に関連する操作を行うクラスです。

ImportHelper

Import処理を扱う機能を扱うクラスです。

JobnetManagerHelper

intra-mart Accel PlatformのJobSchedulerManagerクラスをラッピングしています。

LockHelper

intra-mart Accel PlatformのNewLockクラスをラッピングしています。

NumberHelper

数値に関する機能を扱うクラスです。

PropertyHelper

XMLプロパティへのアクセス機能を扱うクラスです。

RoleInfoManagerHelper

intra-mart Accel PlatformのRoleInfoManagerクラスをラッピングしています。

SessionScopeStorageFileHelper セッションスコープストレージのファイル操作を扱うクラスです。
StorageFileHelper

ファイル操作を扱う機能を扱うクラスです。

SystemLocaleHelper

システムロケールを扱う機能を扱うクラスです。

TaskManagerHelper

intra-mart Accel PlatformのTaskManagerクラスをラッピングしています。

TransferHelper

intra-mart Accel PlatformのTransferクラスをラッピングしています。

UserManagerHelper

intra-mart Accel PlatformのUserManagerクラスをラッピングしています。

ValidateMapHelper

各ValidatorクラスのvalueMapにアクセスする機能を扱うクラスです。

XmlOutputHelper

XML出力を行います。

XMLResourceBundle

XMLを扱うリソースバンドルクラスです。

XMLResourceBundleControl

ResourceBundle.Controlクラスにて、XMLを扱う実装クラスです。

XMLResourceHelper

XMLプロパティファイルを扱うクラスです。

41intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
クラス名

説明

XmlSettingsHelper

XML設定ファイルを扱うクラスです。

IM-Workflow連携モジュール
クラス名

説明

ExtensionNumberingSettingsHelper

拡張採番設定ファイル読込機能を扱うクラスです。

NumberingRuleReplacePatternHelper 採番ルール定義における文字列置換機能を扱うクラスです。
UserMatterPropertyHelper

ユーザデータ案件プロパティ情報操作を扱うクラスです。

ワークフローモジュール
クラス名

説明

FbExportHelper FBデータファイルのExportの機能を扱うクラスです。

勤務管理モジュール
クラス名

説明LaborDateHelper intra-mart Accel Kaiden! 勤務管理モジュールの日付関連を機能を扱うクラスです。

ヘルパーの呼び出し
呼び出す場所については特に制限はなく、どこからでも使用できます。
intra-mart Accel Kaiden!の通貨関連ヘルパークラスを呼び出すサンプルを以下に掲載します。
@Autowiredアノテーションによるコンポーネント取得@Autowired
public CurrencyHelper currencyHelper;
public void xxxMethod() {String currencyCd = currencyHelper.getCompanyCurrencyCd("会社コード");}

コンポーネント名を指定してコンポーネント取得
public CurrencyHelper currencyHelper;
public void xxxMethod() {currencyHelper = ApplicationContextHolder.getApplicationContext().getBean(CurrencyHelper.class);
String currencyCd = currencyHelper.getCompanyCurrencyCd("会社コード");}

コラム
intra-mart Accel Kaiden!のヘルパークラスでは、@Autowiredアノテーションを使用しない場合、コンポーネント名を指定して取得しています。

ヘルパーの作成
業務要件に応じて作成してください。
作成する際はintra-mart Accel Kaiden!が提供しているヘルパークラスを拡張するのではなく、新規のヘルパークラスを作成してく
ださい。

42

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
注意intra-mart Accel Kaiden!ではクラス名を指定してヘルパークラスのコンポーネント取得をしています。
ヘルパークラスが拡張されることを想定していません。

ユーティリティとは？
intra-mart Accel Kaiden!のユーティリティとは、
主に簡易な便利機能を提供し、staticな共通の処理のメソッドを集めたクラスです。

intra-mart Accel Kaiden!で提供しているユーティリティ
intra-mart Accel Kaiden!で提供しているユーティリティクラスは以下の通りです。
各APIの詳細は『intra-mart Accel Kaiden! JavaDoc』を参照してください。

基盤モジュール
クラス名

説明

ArrayUtil

配列のユーティリティクラスです。

BarcodeUtil

バーコード生成のユーティリティクラスです。

BeanUtil

Beanユーティリティクラスです。
Beanへの汎用アクセスを提供します。

CollectionUtil

コレクションに関するユーティリティクラスです。

CollectionUtilDtoSortComparator

DTOをソートするComparatorクラスです。

CollectionUtilDtoSortComparator4Locale システムロケール順にソートするComparatorクラスです。
対象DTOにロケールIDが存在しない場合はソートしません。
ConvertForJsonSource

JSON出力用の形式に変換するユーティリティクラスです。

GadgetBuilderUtil

GadgetBuilderのユーティリティクラスです。

HtmlEncodeUtil

HTML形式での表示を目的とする文字列変換ユーティリティクラスです。

HttpUtil

HTTP通信のユーティリティクラスです。

JsonUtil

JSON操作用のユーティリティクラスです。

KaidenPropertyReader

intra-mart Accel Kaiden!のプロパティファイルを読み込むユーティリティクラ
スです。

ListDivider

リスト分割ユーティリティクラスです。
DTOリストを指定の主キー毎に分割します。

ListDividerForMap

リスト分割ユーティリティクラスです。
Mapリストを指定の主キー毎に分割します。

MasterBuilderUtil

MasterBuilderのユーティリティクラスです。

ParametersUtil

パラメータ保持用のユーティリティクラスです。

PDFUtil

PDF操作用のユーティリティクラスです。

PropertyJspUtil

クライアントからのプロパティファイル読み込みユーティリティクラスです。

ReportBuilderUtil

ReportBuilderのユーティリティクラスです。

ResponseWriter

HttpResponseへの出力機能を扱うユーティリティクラスです。

RestApiUtil

RestAPIのユーティリティクラスです。

SettingsUtil

設定情報に関するユーティリティクラスです。

SimpleFileUtil

SimpleFileのユーティリティクラスです。

43

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
クラス名

説明

StringUtil

String型オブジェクトのユーティリティクラスです。

IM-Workflow連携モジュール
クラス名 説明AppUtil

申請書マスタのユーティリティクラスです。

ワークフローモジュール
クラス名

説明

BudgetUtil 予算のユーティリティクラスです。

勤務管理モジュール
クラス名

説明LaborTaskUtil

intra-mart Accel Kaiden! 勤務管理モジュールのタスクに関するユーティリティクラスです。

PaidLeaveGrantUtil 有給休暇付与に関するユーティリティクラスです。

Exception
本項では、intra-mart Accel Kaiden!のExceptionクラスについて解説します。
intra-mart Accel Kaiden!で用意しているExceptionクラス
intra-mart Accel Kaiden! 基盤モジュール
intra-mart Accel Kaiden! IM-Workflow連携モジュール
intra-mart Accel Kaiden! 勤務管理モジュール

intra-mart Accel Kaiden!で用意しているExceptionクラス
intra-mart Accel Kaiden!で用意しているExceptionクラスは以下の通りです。
各APIの詳細は『intra-mart Accel Kaiden! JavaDoc』を参照してください。
intra-mart Accel Kaiden! 基盤モジュール
クラス名

説明

KaidenApplicationException

アプリケーションエラー発生時にスローされます。

KaidenAuthorizeDenyException

対象機能の認可を持たない場合にスローされます。

KaidenDuplicationEntryException

重複登録が行われた際にスローされます。

KaidenException

基底の例外クラスです。

KaidenHaventAuthorityException

データに対するアクセス権を持たない際にスローされます。

KaidenHaventAuthorityToCompanyException 会社に対する認可設定による権限を持たない際にスローされます。
KaidenHaventFuncAuthorityException

機能権限を持たない場合にスローされます。

KaidenIllegalParametersException

引数や項目値不正でエラーが発生した場合にスローされます。

KaidenJobExecuteException

ジョブ実行時にエラーが発生した場合にスローされます。

KaidenMultiValidateException

サーバサイドバリデートエラーが発生した場合にスローされます。
複数のバリデート実行結果を格納することに対応しています。

44

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
クラス名

説明

KaidenNotAvailableException

対象機能が利用できない場合にスローされます。

KaidenNotFoundTargetDataException

対象データが見つからなかった場合にスローされます。

KaidenOptimisticLockException

楽観的ロックで競合が発生した場合にスローされます。

KaidenRuntimeException

実装バグが原因でエラーが発生した場合にスローされます。

KaidenSystemException

システム上続行するには問題があるエラーをキャッチしたときにスローされます。

KaidenValidateException

サーバサイドバリデートエラー発生時にスローされます。

intra-mart Accel Kaiden! IM-Workflow連携モジュール
クラス名

説明

KaidenWorkflowExternalException IM-Workflowの申請や承認などのアクション処理、到達処理などでエラーが発生した場合にスローされます。

注意
IM-Workflowのユーザプログラム以外では使用できません。

intra-mart Accel Kaiden! 勤務管理モジュール
クラス名

説明

KaidenLaborHaventAgentAuthorizationException 代理処理権限を持っていない場合にスローされます。
KaidenLaborHaventOperateAuthorityException

処理実行権限を持っていない場合にスローされます。

KaidenTaskStopParametersException

タスクがストップした場合にスローされます。

45

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31

応用
次の項ではintra-mart Accel Kaiden!の各機能の概要や構成を解説します。

ガジェット（経費旅費）
本項では、ガジェット（経費旅費）機能の概要、クライアントサイド、サーバサイドを解説します。

機能説明
本項では、経費明細ガジェットを参考に、ガジェット（経費旅費）機能の概要や構成を解説します。
概要
バリエーション違いの互換性
申請書ガジェットインスタンスの採番方法
構成
画面構成
申請書ガジェットマスタデータについて
ガジェットマスタガジェット概要マスタガジェットタグマスタ
ガジェットサーフィスマスタ
ガジェットブロックマスタ
ガジェットフィールドグループマスタ
ガジェットフィールドマスタ

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

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

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

ガジェットバリエーション ガジェットインスタンス

gadgetAv01

0gadgetA

v02

1

46

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
ガジェットクラス

ガジェットバリエーション ガジェットインスタンス

gadgetBv02

0gadgetBv01

1

gadgetAv02

2

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

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

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

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

コラム
GadgetBuilderで申請書ガジェットを作成しインポートすると、申請書ガジェットマスタデータにデータが投入されます。

ガジェットマスタ
申請書ガジェットの根幹となる情報を保持するマスタです。
ガジェットクラス

ガジェットの種別をあらわします。
intra-mart Accel Kaiden!標準では日当明細ガジェットは「allowanceDetail」、宿泊明細
ガジェットは「lodgeDetail」です。

47

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
ガジェットバリエーション

同一ガジェット種別で画面レイアウト違いを識別します。
intra-mart Accel Kaiden!標準では日当明細ガジェット(国内向け)は「v01」、日当明細ガ
ジェット(海外向け)は「v02」です。

JSPパス

JSPファイルのパスを設定します。

JAVAクラスパス

JAVAクラスパスを設定します。

サーフィスキーガジェットのタイトルとなるサーフィスキーを設定します。
後述するガジェットサーフィスマスタのサーフィスキーと紐づけます。

ソートキー

ソートキーを設定します。

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

ガジェット概要

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

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

48

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
コラム
以下のタグが存在し、設定することでガジェットに属性が付与され、ガジェット属性ごとの振る舞いを定義できます。
intra-mart Accel Kaiden!標準のガジェットには以下以外のタグも設定されていますが、将来拡張用のタグです。
タグ分類

タグ名

説明

制約

constraintDuplicationSelf

申請書内で自身と重複を禁止します。

制約

constraintDuplicationClass 申請書内で同ガジェットクラスと重複を禁止します。

対象申請書タappAdvance

イプ

対象申請書タイプ「事前申請」を設定します。
申請書マスタメンテナンスで申請書タイプ「事前申請書」を選択した場合、選択できるガジェットです。

対象申請書タappSettle

イプ

対象申請書タイプ「精算申請」を設定します。
申請書マスタメンテナンスで申請書タイプ「精算申請書」を選択した場合、選択できるガジェットです。

対象申請書タ

appNormal

イプ

対象申請書タイプ「一般」を設定します。
申請書マスタメンテナンスで申請書タイプ「一般」を選択した場
合、選択できるガジェットです。

対象申請書タappBill

イプ

対象申請書タイプ「請求書払申請」を設定します。
申請書マスタメンテナンスで申請書タイプ「請求書払申請書」を選択した場合、選択できるガジェットです。

SPサポート

spSupport

SP(スマートフォン)画面をサポートする場合に設定します。

SPサポート対

spNoSupport

SP(スマートフォン)画面をサポートしない場合に設定します。

checkRule

申請書マスタメンテナンスのチェックルール画面で入力チェック

象外チェックルー
ルの設定を可能にする場合設定します。
申請書マスタメンテナンスの詳細は、『intra-mart Accel
Kaiden! 経費旅費 / 管理者操作ガイド』を参照してください。

検索画面のSP

spSearch

サポート

SP(スマートフォン)画面をサポートする検索画面の場合に設定します。

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

ガジェットブロックマスタ
ガジェットのブロック情報を保持するマスタです。
ブロックIDに対して、ブロックタイプ、ソートキー、サーフィスキーを設定します。
ブロックID

ブロックIDを設定します。

ブロックタイプ「normal」「detail」のいずれかを設定します。
明細行を保持しない場合は「normal」を設定します。
明細行を保持する場合は「detail」を設定します。

ソートキー

ソートキーを設定します。将来拡張用の項目です。

サーフィスキーガジェットのタイトルとなるサーフィスのキーを設定します。

49

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
コラム
ブロックIDは、ガジェット入力データを保持するトランザクションテーブル１つに対応して定義します。
例えば intra-mart Accel Kaiden!標準の「交際明細ガジェット」の場合、ブロックIDを３つ定義しています。
ブロックID

ブロックタイプ

対応するトランザクションテーブル

entInfTable

normal

交際明細テーブル

entInfOthDtlTable

detail

交際明細先方明細テーブル

entInfOurDtlTable

detail

交際明細当社明細テーブル

ガジェットフィールドグループマスタ
ガジェットのフィールドグループ情報を保持するマスタです。
役割としては以下の通りです。
「ガジェットフィールド」のグルーピング「ガジェットブロック」との紐づけ
必須タイプの設定
ブロックID

ガジェットブロックマスタのブロックIDに紐づけて設定します。

フィールドグループID

フィールドグループIDを設定します。

サーフィスキーガジェットサーフィスマスタのサーフィスキーに紐づけて設定します。
ここで紐づけたサーフィスは申請書マスタメンテナンスのガジェット項目の任意/必須切り替え
画面のラベルに設定されます。

必須タイプ

項目の任意/必須を設定します。
設定値は以下の通りです。
「0:変更可能(デフォルト任意)」「1:変更可能(デフォルト必須)」「a:常時任意」「b:常時必須」
から選択します。

入力タイプ

項目の入力/ラベルを設定します。
設定値は以下の通りです。
「0:設定変更可」「a:ラベル(変更不可)」「b:テキスト(変更不可)」「c:テキスト(処理時入力不可・変更不可)」

ソートキー

ソートキーを設定します。将来拡張用の項目です。

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

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

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

50

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
ガジェットフィールドマスタ
ガジェットのフィールド情報を保持するマスタです。
ブロックID

ガジェットブロックマスタのブロックIDに紐づけて設定します。

フィールドキーフィールドキーを設定します。

フィールドグループID

ガジェットフィールドマスタのフィールドグループIDに紐づけて設定します。

サーフィスキーガジェットサーフィスマスタのサーフィスキーに紐づけて設定します。
ここで紐づけたサーフィスは申請書ガジェットのラベルに設定されます。

必須タイプ

項目の任意/必須を設定します。
設定値は以下の通りです。
「0:変更可能(デフォルト任意)」将来拡張用の項目です。
「1:変更可能(デフォルト必須)」将来拡張用の項目です。
「a:常時任意」「b:常時必須」「z:申請書ガジェットフィールドグループマスタの設定を引き継ぐ」

入力タイプ

項目の入力/ラベルを設定します。
設定値は以下の通りです。
「0:設定変更可」将来拡張用の項目です。
「a:ラベル(変更不可)」「b:テキスト(変更不可)」「c:テキスト(処理時入力不可・変更不可)」「z:申請書ガジェットフィールドグループマスタの設定を引き継ぐ」

ソートキー

ソートキーを設定します。将来拡張用の項目です。

クライアントサイド
本項では、ガジェット（経費旅費）クライアントサイドのプログラミング方法について解説します。
パラメータ、申請書ガジェットの設定内容取得

パラメータ、申請書ガジェットの設定内容取得
申請書ガジェットでは、IMW・Kaiden!のパラメータや「申請書マスタメンテナンス」で設定された内容をスクリプトレット（EL式）にて取り出せます。
「jp.co.slcs.kaiden.v2.extension_imw.foundation.imw_page.AbstractImwPageDto」をappDtoという名前で取り出せます。
詳細は『intra-mart Accel Kaiden! JavaDoc』を参照してください。
コーディング例

51

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31<!-- パラメータの取り出し --><c:set var="searchCriteriaCompany" value="${appDto.searchCriteriaCompany}" /><c:set var="imwApplyBaseDate" value="${appDto.imwApplyBaseDate}" /><c:set var="applyAuthUserCd"value="${appDto.applyAuthUserCd}" /><!-- 設定内容の取り出し --><c:set var="gadget" value="${appDto.gadgets[gadgetId]}" /><c:set var="block" value="${gadget.blocks[gadgetBlockId]}" /><!--サーフィスの取り出し --><%-- タイトル --%>
<c:set var="surfaceChapterTitle">${gadget.surfaces["chapterTitle"]}</c:set><%-- テキスト --%>
<c:set var="surfaceTutorialText">${gadget.surfaces["summary1"]}</c:set><!-- 入力区分 / 必須区分の取り出し --><%-- テキスト --%>
<c:set var="modeTutorialText">${nomal.fields["summary1"].inputType}</c:set><c:set var="reqTutorialText" >${nomal.fields["summary1"].requiredFlag}</c:set>

サーバサイド本項では、ガジェット（経費旅費）サーバサイドのプログラミング方法について解説します。
IM-Workflow案件番号採番機能の作成
案件番号採番処理
applicationContext.xmlの設定
案件番号採番処理の設定ファイル
メッセージ定義ファイルの作成

IM-Workflow案件番号採番機能の作成
intra-mart Accel Kaiden!では、IM-Workflowの案件番号を採番している処理を新規で作成し、申請書マスタメンテナンス機能で申請書に紐づけることができます。
実装方法を以下に解説していきます。

案件番号採番処理
案件採番処理を作成します。
jp.co.slcs.kaiden.v2.extension_imw.foundation.util.imw.ImwNumberingインターフェースを実装し、String型の案件番号を返却してください。
以下のサンプルでは、IM-Workflowの標準で採番される案件番号の先頭”p”を付与して返却しています。

52

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
package jp.co.slcs.kaiden.v2.tutorial.foundation.util.imw;
import java.util.Map;
import jp.co.intra_mart.foundation.workflow.exception.WorkflowException;
import jp.co.intra_mart.foundation.workflow.util.WorkflowNumberingManager;
import jp.co.slcs.kaiden.v2.base.foundation.exception.KaidenRuntimeException;
import jp.co.slcs.kaiden.v2.extension_imw.foundation.model.dto.ActionProcessParameterDto;
import jp.co.slcs.kaiden.v2.extension_imw.foundation.util.imw.ImwNumbering;/*** 案件番号採番拡張クラス サンプル.
*/
public class ImwNumberingExtensionSample implements ImwNumbering {/*** 案件番号を採番処理を行い、結果を返却.
*/@Override
public String getNewMatterNumber(ActionProcessParameterDto _parameter, Map<String, Object> _userParameter) {// IM-Workflow標準で採番される案件番号にプリフィックスを付与する
String matterNumber = null;
String prefix = "p";try {matterNumber = prefix + WorkflowNumberingManager.getNumber();} catch (WorkflowException e) {throw KaidenRuntimeException.makeInstance(e);}return matterNumber;}}applicationContext.xmlの設定
applicationContext.xmlに設定を追加します。
本チュートリアルでは、「applicationContext-kaiden_tutorial.xml」を「src/main/resources/META-INF/spring」に作成します。
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context4.1.xsd"><!-- DIコンポーネントの対象とする要素のトップレベルパッケージ --><context:component-scan base-package="jp.co.slcs.kaiden.v2.tutorial" /><bean id="imwNumberingExtensionSample"
class="jp.co.slcs.kaiden.v2.tutorial.foundation.util.imw.ImwNumberingExtensionSample" /></beans>

案件番号採番処理の設定ファイル
案件番号採番処理設定ファイルに設定を追加します。
設定ファイルは「WEB-INF/classes/jp/co/slcs/kaiden/v2/extension_imw/ImwNumberingSettings.xml」です。
idタグにDIコンテナへの登録名、messageIdには申請書マスタメンテナンス画面の案件番号採番クラスドロップダウンに表示されるメッセージIDを指定してください。

53

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31<?xml version="1.0" encoding="UTF-8" standalone="no"?><imwNumberingSettings xmlns="http://kaiden.slcs.co.jp/xmlschema/imwNumberingSettings"><!-- 案件番号採番号クラス --><wofkflowMatterNumberingClasses><wofkflowMatterNumberingClass><!-- 案件番号採番号クラス （DIコンテナへの登録名） --><id>imwNumbering</id><!-- 説明（extension_imw_message.xmlのエントリー--><messageId>EIMW.defultNumberingClass</messageId></wofkflowMatterNumberingClass><wofkflowMatterNumberingClass><!-- 拡張案件番号採番号クラス （DIコンテナへの登録名） --><id>extensionNumberingImpl</id><!-- 説明（extension_imw_message.xmlのエントリー--><messageId>EIMW.extensionNumberingClass</messageId></wofkflowMatterNumberingClass><wofkflowMatterNumberingClass><!-- フローid単位でのKaiden独自案件番号採番クラス （DIコンテナへの登録名） --><id>kaidenNumberingByFlow</id><!-- 説明（extension_imw_message.xmlのエントリー--><messageId>EIMW.kaidenNumberingByFlowClass</messageId></wofkflowMatterNumberingClass><wofkflowMatterNumberingClass><!-- チュートリアル案件番号採番クラス （DIコンテナへの登録名） --><id>imwNumberingExtensionSample</id><!-- 説明（tutorial_messages.xmlのエントリー--><messageId>TTRL.imwNumberingTutorial</messageId></wofkflowMatterNumberingClass></wofkflowMatterNumberingClasses></imwNumberingSettings>

メッセージ定義ファイルの作成
メッセージ定義ファイルを作成します。配置場所は「/WEB-INF/classes/jp/co/slcs/kaiden2/」です。
以下をベースにして「tutorial_messages_ja.xml」「tutorial_messages_en.xml」「tutorial_messages_zh_CN.xml」の３ファ
イルを作成します。
<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"><properties><!-- チュートリアル --><entry key="TTRL.imwNumberingTutorial">チュートリアル(すべての申請書で通し番号)</entry></properties>

ガジェット（勤務管理）
本項では、ガジェット（勤務管理）機能の概要、チュートリアルを解説します。

機能説明
本項では、勤務表画面を参考にガジェット（勤務管理）機能の概要や構成を解説します。
概要
構成

概要
intra-mart Accel Kaiden!にて提供しているガジェット（勤務管理）は、勤務表の一覧表示や入力処理を行う機能です。

54

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
集計値表示は勤務体系カテゴリごとにガジェットを分けており、勤務体系カテゴリに特化した集計値を表示しています。
intra-mart Accel Kaiden!の勤務表ガジェット機能をプログラミングする際には、次のモジュールが必要です。
intra-mart Accel Kaiden! 基盤モジュール
intra-mart Accel Kaiden! 勤務管理モジュール構成
intra-mart Accel Kaiden!のガジェット（勤務管理）は次のような画面構成です。
勤務表や勤務入力画面の各ガジェットの組合せはプログラム固定です。
勤務表画面

コラム
同一期間に異なる複数の勤務体系に所属した場合の画面です。
複数の勤務体系に所属した場合は、勤務体系カテゴリ別の集計値を表示します。
勤務入力画面55

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31

PDF

56

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
コラム
勤務体系カテゴリ別の集計値を表示します。

チュートリアル
本項では勤務管理の機能拡張および管理者機能のプログラミング方法について解説します。
ガジェット（勤務管理）機能の解説は「機能説明 」を参照してください。

intra-mart Accel Kaiden! 勤務管理モジュール の機能拡張について解説します。

勤務表機能関連の拡張
勤務体系カテゴリ共通集計値表示ガジェット
勤務体系カテゴリ共通集計値表示ガジェットは、intra-mart Accel Kaiden! 勤務管理モジュール の設定でテナント全体または会社ごとに設定されています。
勤務表（共通）集計値表示パターン(workReportCommmonSummaryPattern)に使用するガジェットを設定します。
設定値はガジェットクラス＋”_”＋ガジェットバリエーションの形式となっており、ガジェットマスタ(k10m_gadget)から使用するガジェットを取得するキーとなります。
拡張したプログラムを、ガジェットバリエーションを変更して紐づけてください。

コラム
intra-mart Accel Kaiden! 勤務管理モジュール 設定ファイルについては、『intra-mart Accel Kaiden! セットアップ
ガイド』を参照してください。

その他ガジェット(勤務体系カテゴリ共通集計値表示ガジェット以外)
勤務体系カテゴリ共通集計値表示ガジェット以外のガジェットは、勤務管理ガジェットテーブル(k31m_lbr_app_gadget)で勤務体系
カテゴリごとに設定されており、ガジェットマスタ(k10m_gadget)に紐づいています。
以下に固定労働時間制のもののみを記載します。
ガジェット名区分

ガジェットクラス

ガジェットバリエーション

workReportList

v01

workReportList

v01

workReportList

v01

wrSummarywrSummaryNormal

v01

勤務情報入力ガジェット

dailyRecord

lbrDailyRecord

v01

日次集計値表示ガジェット

dailySummary

dailySummaryNormalv01

摘要ガジェット

dailyRecordNote

lbrDailyRecordNote

v01

勤務手当ガジェット

dailyAllowanceData

dailyAllowanceDataDetailv01

PDF集計値表示ガジェット

wrSummaryPdf

wrSummaryPdfNormalv01

PDF勤務表表示ガジェット

workReportListPdf

workReportListPdfNormal

v01

勤務表一括入力ガジェット

dailyRecordLump

lbrDailyRecordLump

v01

勤務表リスト部ガジェット(入 workReportInput
力時)
勤務表リスト部ガジェット(承 workReportDrApprove
認時)
勤務表リスト部ガジェット(点 workReportDrInspect
検時)
勤務体系カテゴリ別集計値表
示ガジェット57

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
ガジェット名区分

ガジェットクラス

ガジェットバリエーション

作業実績入力ガジェット

dailyWorkData

dailyWorkDataDetailv01

作業実績お気に入りガジェッ

dailyWorkData

personalTempv01

dailyRecordSp

lbrDailyRecordSp

v01

dailySummaryNormalSp

v01

lbrDailyRecordNoteSp

v01

ト
勤務情報入力ガジェット(スマートフォン)
日次集計値表示ガジェット(ス dailySummarySp
マートフォン)
摘要ガジェット(スマートフォ dailyRecordNoteSp
ン)
勤務手当ガジェット(スマート dailyAllowanceDataSp

dailyAllowanceDataDetailSp v01

フォン)
拡張したプログラムを、ガジェットバリエーションを変更して紐づけてください。

集計項目を新たに追加する集計項目を新たに追加する手順を解説します。

はじめに - 集計項目とはintra-mart Accel Kaiden! 勤務管理モジュール では 従業員が入力する勤務情報をインプットとして、何らかの計算を行った結果の値(集計値)を保持する項目 のことを集計項目と呼びます。
例えば、休憩開始時刻が12:00、休憩終了時刻が13:00、と従業員が登録したとします。
集計処理は上記時刻をインプットとして計算を行い、「休憩時間」という集計項目に１時間という結果を登録します。
また、集計する対象期間によって集計単位という属性があります。
集計単位は「日次」「週次」「締め期間」「月次」が存在します。
日次集計項目
１日単位で集計した結果を保持します。
上記で例として挙げた休憩時間は、１日単位で集計した結果なので集計単位は「日次」として扱われます。
日次集計項目は、「週次」「締め期間」「月次」を集計する際の元データです。
週次集計項目
１週間単位で集計した結果を保持します。
１週間が何曜日から始まるかは、従業員が所属する勤務体系によって決まります。
締め期間集計項目
締め期間単位で集計した結果を保持します。
締め期間とは、勤怠を締める期間の単位を指します。
給与システムに連携する給与計算基礎データは、締め期間集計項目を出力して生成する想定になっています。

コラム
締め期間は、標準版では１ヶ月のみ対応しています。
月次集計項目
１ヶ月単位で集計した結果を保持します。

集計項目の集計方法
集計項目の集計方法を、日次集計を例に説明します。
勤務表に24時を超えた時刻を入力した場合、翌日の勤務時間として扱われます。

58

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
例えば所定労働時間が7時間の従業員が、所定労働日に勤務時間を09:00から18:00、休憩時間を12:00から13:00と登録したとします。
日次の集計は以下の通りです。
所定労働日の労働時間：8時間
休憩時間：1時間
時間外の法定内時間：1時間
また、所定労働時間が7時間の従業員が、所定労働日に勤務時間を09:00から25:00、休憩時間を12:00から13:00と登録したとします。
登録した日の翌日が所定休日の場合、日次の集計は以下の通りです。
所定労働日の労働時間：14時間
休憩時間：1時間
所定休日の労働時間：1時間
時間外の法定内時間：1時間
時間外の法定外時間：7時間
次項以降、集計項目を新たに追加する場合の手順をサンプルプログラムをもとに解説していきます。

要件
以下の要件があるとします。
遅刻時間と早退時間を合算した、遅刻早退時間の集計項目を新たに作成したい
合算値は日次単位、締め期間単位でそれぞれ保持したい
締め期間単位で合算した遅刻早退時間は、30分を超えた場合のみ集計し、30分未満の場合は0分として扱いたい
これに対応した集計項目を、作成していきます。

定義
集計単位を定める集計単位を定めます。
集計項目の単位には以下があります。
日次集計項目
週次集計項目
締め期間集計項目
月次集計項目
今回は「日次集計項目」と「締め期間集計項目」を作成します。
集計キーを定める集計キーを定めます。
今回は日次集計項目の集計キーを「DA_late_early_time_M」、締め期間集計項目を「PA_late_early_time_M」とします。

59

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
コラム
集計キーの採番ルールは以下のようになっています。
[集計キー接頭辞(集計単位)] + [集計キー接頭辞(由来)] + “_” + [“集計キー語幹”]

+

”_”

+

[集計キー接尾辞(メジャー)]
集計キー接頭辞(集計単位)
D：日次集計
W：週次集計P：締め期間集計
M：月次集計集計キー接頭辞(由来)
A：集計API内で固定文字列
S：勤務状況マスタ由来
T：集計タグマスタ由来
D：休憩・控除・時間年休大分類マスタ由来
M：休憩・控除・時間年休中分類マスタ由来
L：休憩・控除・時間年休マスタ由来
R：勤務手当マスタ由来
集計キー語幹
集計API固有文字列
勤務状況コード
集計タグコード
休憩・控除・時間年休大分類コード
休憩・控除・時間年休中分類コード
休憩・控除・時間年休コード
勤務手当コード
集計キー接尾辞(メジャー)
M：時間(分)
D：日数
C：回数

コラム
集計の定義を行わなくても、マスタにデータが登録されているだけで勤務情報が入力されると自動的に集計されるものがあります。
勤務状況マスタ
集計タグマスタ(メンテナンス画面なし)
休憩・控除・時間年休大分類マスタ(メンテナンス画面なし)
休憩・控除・時間年休中分類マスタ(メンテナンス画面なし)
休憩・控除・時間年休マスタ

集計定義を登録する
集計定義の登録を行います。
集計定義マスタ
No.

論理名

物理名

型

60

長さ

必須

PK

備考

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
No.

論理名

物理名

型

長さ

必須

PK

1

勤務体系カテゴリ

ws_category_cd

varchar2

20

Y

PK

備考

コード
2

会社コード

company_cd

varchar2

100

Y

PK

※未使用、拡張用

3

勤務体系コード

ws_agreement_cd

varchar2

100

Y

PK

※未使用、拡張用

4

集計キーID

sum_key_id

varchar2

100

Y

PK

5

期間コード

term_cdvarchar2

50

Y

PK

6

開始日

start_date

timestamp

Y

7

終了日

end_datetimestamp

Y

8

集計処理

sum_api_id

varchar2

100

9

処理順序

execute_ordernumber

15,0

10

集計区分

sum_div

varchar2

100

11パラメータID

parameter_data_id varchar2

100

Y

Y

日次集計処理と締め期間集計処理の定義を登録します。

コラム
DB上は「勤務体系カテゴリ」「会社」「勤務体系」ごとに定義できることを想定した構造になっていますが、
intra-mart Accel Kaiden! 勤務管理モジュール 標準版は「勤務体系カテゴリ」のみを使用しています。
「会社」「勤務体系」については、拡張用の項目になっています。

コラム「集計処理＋”Calc”」がコンポーネントIDです。

集計定義パラメータマスタ
No.

論理名

物理名

必須

PK

1

パラメータID

parameter_data_id varchar2 100

Y

PK

2

パラメータSEQ

parameter_seq

number

15,0

Y

PK

3

枝番号

parameter_seq

number

18,0

Y

PK

4

パラメータ値

parameter_value

varchar2 4000

必須

PK

型

長さ

備考

集計キー属性マスタ
No.

論理名

物理名

型

1

集計キー

sum_keyvarchar2 30

Y

PK

2

属性キー

attribute_key

varchar2 100

Y

PK

3

属性値

attribute_val

varchar2 4000

4

ソートキー

sort_keynumber

長さ

15,0

Y

集計時に管理者に係る集計値を集計対象から外す場合は、集計キー属性マスタに値を登録します。

61

備考intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
コラム
属性キーには「management_ignore_sumkey」を設定してください。
属性値には値を設定しないでください。

集計キー勤務体系カテゴリ別属性マスタ
No.

論理名

物理名

型

必須

PK

1

集計キー

sum_keyvarchar2 30

Y

PK

2

属性キー

attribute_key

varchar2 100

Y

PK

3

勤務体系カテゴリ

ws_category_cd

varchar2 20

Y

PK

長さ

備考

コード
4

属性値

attribute_val

varchar2 4000

5

ソートキー

sort_keynumber15,0Y

標準の処理で、日次集計値を締め期間内で合計した値を締め期間集計値として自動的に登録します。
（週次、月次では行っていません。）

コラム
今回のように単純な日次集計値の合計でなく、独自に締め期間集計クラスを作成する場合、自動登録処理をスキップする必要があります。
その場合、集計キー勤務体系カテゴリ別属性マスタに値を登録してください。
属性キーには「exclude_simple_sum_daily」を設定してください。
属性値には値を設定しないでください。

-- 集計定義マスタ
insert into k31m_ws_use_sum_api values ('normal', '#default#', 'default', 'daily_late_early_time_sum_keys', 'default','1900-01-01 00:00:00', '3000-01-01 00:00:00', 'dailyLateEarlyTime', 10, 'daily', '', null, null, null, null, null, null, null, null,
null, null, '2014-04-01 00:00:00', 'tutorial2', 1, '2014-04-01 00:00:00', 'tutorial2');
insert into k31m_ws_use_sum_api values ('normal', '#default#', 'default', 'period_late_early_time_sum_keys', 'default','1900-01-01 00:00:00', '3000-01-01 00:00:00', 'periodLateEarlyTime', 10, 'period', 'periodLateEarlyTimeParam', null, null,
null, null, null, null, null, null, null, null, '2014-04-01 00:00:00', 'tutorial2', 1, '2014-04-01 00:00:00', 'tutorial2');-- 集計定義パラメータマスタ
insert into k31m_ws_sum_api_prm_val values ('periodLateEarlyTimeParam', 1, 1, 30, null, null, null, null, null, null, null,
null, null, null, '2014-04-01 00:00:00', 'tutorial2', 1, '2014-04-01 00:00:00', 'tutorial2');-- 集計キー属性マスタ
insert into k31m_sumkey_att values ('DA_late_early_time_M', 'management_ignore_sumkey', null, 1, null, null, null, null,
null, null, null, null, null, null, '2014-04-01 00:00:00', 'tutorial2', 1, '2014-04-01 00:00:00', 'tutorial2');-- 集計キー勤務体系カテゴリ別属性マスタ
insert into k31m_sumkey_wscat_att values ('DA_late_early_time_M', 'exclude_simple_sum_daily', 'normal', null, 1, null,
null, null, null, null, null, null, null, null, null, '2014-04-01 00:00:00', 'tutorial2', 1, '2014-04-01 00:00:00', 'tutorial2');

コラム
固定労働時間制の定義のみを追加する例となっています。
必要に応じて他の勤務体系カテゴリの定義を登録します。

62

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
コラム
日次集計のみ管理者を集計対象から外す設定としています。
必要に応じて集計キーを集計キー属性マスタに登録します。

実装
集計処理を作成します。

コラム
集計クラス名を「集計定義テーブル.集計処理＋”Calc”」とすることで、集計基盤に集計処理クラスとして認識されます。
日次集計クラス作成
日次集計を行う集計クラス名をDailyLateEarlyTimeCalcとします。
標準で集計される日次遅刻時間と日次早退時間を足して、日次遅刻早退時間の値として保持します。
package jp.co.slcs.kaiden.v2.tutorial2.foundation.sum.util.calc.daily;
import static jp.co.slcs.kaiden.v2.product_labormgr.foundation.sum.util.SummaryUtil.nullToZero;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Map;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import jp.co.slcs.kaiden.v2.product_labormgr.foundation.sum.conf.KlsKey.D;
import jp.co.slcs.kaiden.v2.product_labormgr.foundation.sum.process.model.dto.SumDto;
import jp.co.slcs.kaiden.v2.product_labormgr.foundation.sum.process.model.dto.SumDto.DailySumDto;
import jp.co.slcs.kaiden.v2.product_labormgr.foundation.sum.util.calc.SumCalcIF;
import jp.co.slcs.kaiden.v2.product_labormgr.foundation.sum.util.calc.model.dto.GenericSumCalcDto;
import jp.co.slcs.kaiden.v2.product_labormgr.foundation.sum.util.calc.model.dto.SumCalcDefDto;
importjp.co.slcs.kaiden.v2.tutorial2.foundation.sum.util.calc.daily.DailyLateEarlyTimeCalc.DailyLateEarlyTimeCalcDto;/*** 遅刻早退合計時間算出クラス.
*/@Component@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
public class DailyLateEarlyTimeCalc implements SumCalcIF<DailySumDto, DailyLateEarlyTimeCalcDto> {/* *************************************************************************************** 集計するのに必要な値をDTOクラスで宣言します。
* ************************************************************************************** */public static class DailyLateEarlyTimeCalcDto extends GenericSumCalcDto {/** 遅刻時間(分). */public BigDecimal lateMin;/** 早退時間(分). */public BigDecimal earlyMin;}/* *************************************************************************************** 集計処理基盤が、集計定義を元に対象の集計クラスのcalcForSumメソッドを呼び出します。
* calcForSumメソッドでは、引数から集計に必要な値を取り出してDtoにセットし、* 実処理を行うcalcメソッドを呼び出します。
* 結果を集計基盤に返却します。
* ************************************************************************************** */@Override
public Map<String, BigDecimal> calcForSum(SumDto sumDto, Map<String, BigDecimal> dailySumData, SumCalcDefDto
def,
DailySumDto dailySumDto) {63

intra-mart
Accel Kaiden! — プログラミングガイド
DailySumDto dailySumDto){

第22版 2024-08-31

DailyLateEarlyTimeCalcDto calcDto = new DailyLateEarlyTimeCalcDto();// 遅刻時間を算出済み日次集計データより取得
calcDto.lateMin = nullToZero(dailySumData.get(D.M_1001_M));// 早退時間を算出済み日次集計データより取得
calcDto.earlyMin = nullToZero(dailySumData.get(D.M_1002_M));
return calc(calcDto);}/* *************************************************************************************** 集計処理をcalcメソッドに実装します。
* 集計結果を集計キーに紐づけてセットし、返却します。
* ************************************************************************************** */@Override
public Map<String, BigDecimal> calc(DailyLateEarlyTimeCalcDto calcDto, String... sumKeys) {Map<String, BigDecimal> resultMap = new HashMap<String, BigDecimal>();// 算出結果をセット
resultMap.put("DA_late_early_time_M", calcDto.lateMin.add(calcDto.earlyMin));return resultMap;}}

締め期間集計クラス作成
締め期間集計を行う集計クラス名をPeriodLateEarlyTimeCalcとします。
標準で集計される締め期間遅刻時間と締め期間早退時間を足して、締め期間遅刻早退時間の値として保持します。
しきい値となる「30分」は、集計定義のパラメータとして登録し、当集計クラスはそこから受け取ることとします。

コラム
集計定義パラメータについては後述します。

package jp.co.slcs.kaiden.v2.tutorial2.foundation.sum.util.calc.multiperiod.period;

import static jp.co.slcs.kaiden.v2.product_labormgr.foundation.sum.util.SummaryUtil.nullToZero;
import static jp.co.slcs.kaiden.v2.product_labormgr.foundation.sum.util.SummaryUtil.toBigDecimal;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.config.ConfigurableBeanFactory;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import jp.co.slcs.kaiden.v2.product_labormgr.foundation.manager.sum.SummaryManager;
import jp.co.slcs.kaiden.v2.product_labormgr.foundation.sum.process.model.dto.SumDto;
import jp.co.slcs.kaiden.v2.product_labormgr.foundation.sum.process.model.dto.SumDto.MultiPeriodSumDto;
import jp.co.slcs.kaiden.v2.product_labormgr.foundation.sum.util.calc.SumCalcIF;
import jp.co.slcs.kaiden.v2.product_labormgr.foundation.sum.util.calc.model.dto.GenericSumCalcDto;
import jp.co.slcs.kaiden.v2.product_labormgr.foundation.sum.util.calc.model.dto.SumCalcDefDto;
importjp.co.slcs.kaiden.v2.tutorial2.foundation.sum.util.calc.multiperiod.period.PeriodLateEarlyTimeCalc.PeriodLateEarlyTimeCal/*** 締め期間遅刻早退時間算出クラス.
*/@Component@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
public class PeriodLateEarlyTimeCalc implements SumCalcIF<MultiPeriodSumDto, PeriodLateEarlyTimeCalcDto> {/* **************************************************************************************

64

intra-mart Accel Kaiden! — プログラミングガイド/* *************************************************************************************** 集計定義パラメータを取得するためのパラメータシーケンスを宣言しています。
* ************************************************************************************** */private static final long PARAM_SEQ_1 = 1;

第22版 2024-08-31

public static class PeriodLateEarlyTimeCalcDto extends GenericSumCalcDto {/** 遅刻早退時間(分). */public BigDecimal lateEaryMin;/** 下限時間. */public BigDecimal lowerLimitMin;}/** SummaryManager. */@Autowired
protected SummaryManager summaryManager;@Override
public Map<String, BigDecimal> calcForSum(SumDto sumDto, Map<String, BigDecimal> sumData, SumCalcDefDto def,
MultiPeriodSumDto multiPeriodSumDto) {PeriodLateEarlyTimeCalcDto calcDto = new PeriodLateEarlyTimeCalcDto();/* *************************************************************************************** 締め期間中の日次遅刻早退時間の合計を取得します。
* ************************************************************************************** */// 日次遅刻早退時間の合計を取得
calcDto.lateEaryMin = nullToZero(summaryManager.getWrecSumDailyByPeriod(sumDto.spInfo.getUserCd(),
sumDto.spInfo.getPeriodStartDate(), sumDto.spInfo.getPeriodEndDate(), "DA_late_early_time_M").get("DA_late_early_time_M"));/* *************************************************************************************** 集計定義パラメータとして定義されている30分を取得します。
* ************************************************************************************** */// 集計定義パラメータより、下限時間を取得
calcDto.lowerLimitMin = toBigDecimal(def.param.getSingleParam(PARAM_SEQ_1));
return calc(calcDto);}@Override
public Map<String, BigDecimal> calc(PeriodLateEarlyTimeCalcDto calcDto, String... sumKeys) {Map<String, BigDecimal> resultMap = new HashMap<String, BigDecimal>();// 算出結果をセット
if (calcDto.lateEaryMin.compareTo(calcDto.lowerLimitMin) < 0) {// 下限時間より少ない
resultMap.put("PA_late_early_time_M", BigDecimal.ZERO);} else {// 下限時間以上
resultMap.put("PA_late_early_time_M", calcDto.lateEaryMin);}
return resultMap;}}

コラム
日次集計値の単純な合計を締め期間集計値としてよい場合は、締め期間集計クラスを独自に作成する必要はありません。
applicationContext.xmlの設定
applicationContext.xmlの設定を追加します。
「src/main/resources/META-INF/spring」に設定した「applicationContext-kaiden_tutorial.xml」を次のように編集します。

65

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context4.1.xsd"><!-- DIコンポーネントの対象とする要素のトップレベルパッケージ --><context:component-scan base-package="jp.co.slcs.kaiden.v2.tutorial" /><context:component-scan base-package="jp.co.slcs.kaiden.v2.tutorial2" /></beans>

確認
勤務表で入力を行い、想定した結果が日次集計テーブル(k31t_wrec_sum_daily)、締め期間集計テーブル(k31t_wrec_sum_period)に登録されていることを確認してください。

コラム
intra-mart Accel Kaiden! 勤務管理モジュール 標準版は、時間数の値を分単位で登録しています。

照会画面等に新たな集計項目を表示する
照会画面等に新たな集計項目を表示する手順を解説します。

はじめに - 照会画面等に新たな集計項目を表示するには
以下画面では、検索速度を上げるため集計値の検索用テーブルからデータを取得しています。
そのため、新たに作成した集計項目を以下画面の検索結果として表示するには、検索用テーブルに集計値を登録する設定を行う必要があります。
運用中に設定を変更することは想定していません。
集計値の検索用テーブルからデータを取得している画面
日次承認
日次点検
日次承認（管理者）
勤務表照会
勤務表点検
勤務表照会（管理者）
次項以降、新たに追加した集計項目を照会画面等に表示する場合の手順をサンプルプログラムをもとに解説していきます。

要件
以下の要件があるとします。
前項で作成した「遅刻早退時間」を日次承認画面、勤務表照会画面で表示したい
これに対応した設定を実施していきます。

定義
検索用設定ファイルを設定する
検索用設定ファイルに、新しく作成した「日次集計項目」と「締め期間集計項目」を設定します。
検索用設定ファイルでは、集計キーに基づく値を集計用テーブルのどのカラムに格納するのか設定します。

66

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31<?xml version="1.0" encoding="UTF-8" standalone="yes"?><summaryIxMappingSettings xmlns="http://kaiden.slcs.co.jp/xmlschema/summaryIxMappingSettings"
xmlns:tns="http://kaiden.slcs.co.jp/xmlschema/summaryIxMappingSettings"><defaultSetting><divSettings><divSetting><sumDiv>daily</sumDiv><mappingSettings><mappingSetting><fieldKey>extra_col_001</fieldKey><sumKey>DA_late_early_time_M</sumKey></mappingSetting></mappingSettings></divSetting><divSetting><sumDiv>period</sumDiv><mappingSettings><mappingSetting><fieldKey>extra_col_001</fieldKey><sumKey>PA_late_early_time_M</sumKey></mappingSetting></mappingSettings></divSetting></divSettings></defaultSetting><!-<companySettings><companySetting><companyCd>comp_other_01</companyCd><setting><divSettings><divSetting><sumDiv>daily</sumDiv><mappingSettings><mappingSetting><fieldKey>extra_col_001</fieldKey><sumKey>DA_late_early_time_M</sumKey></mappingSetting></mappingSettings></divSetting><divSetting><sumDiv>period</sumDiv><mappingSettings><mappingSetting><fieldKey>extra_col_001</fieldKey><sumKey>PA_late_early_time_M</sumKey></mappingSetting></mappingSettings></divSetting></divSettings></setting></companySetting></companySettings>--></summaryIxMappingSettings>「daily」に「日次集計項目」を、「period」に「締め期間集計項目」を設定します。
フィールドキーには集計キーを設定します。
合計キーにはカラム名を指定します。
日次集計項目の値は、日次集計テーブル（検索用）の指定したカラムに格納されます。
締め期間集計項目の値は、締め期間集計データテーブル（検索用）の指定したカラムに格納されます。
カラム名は「extra_col_001」から「extra_col_050」を指定してください。
サーフィス定義を作成する
ファイル名をtutorial2_surfaces.xmlとします。

67

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"><properties><entry key="TTRL.summaryItem.V.DA_late_early_time_M">遅刻早退時間（日次）</entry><entry key="TTRL.summaryItem.V.PA_late_early_time_M">遅刻早退時間</entry></properties>

日次承認画面、勤務表照会画面の定義ファイルを設定する
日次承認画面の定義ファイルに、新しく作成した「日次集計項目」を追加します。
日次承認画面の定義ファイル<?xml version="1.0" encoding="UTF-8" standalone="yes"?><fs2ListSettings xmlns="http://kaiden.slcs.co.jp/xmlschema/fs2ListSettings"><defaultSetting><!-- 検索画面に表示する最大件数 --><limit>20</limit><!-- 検索画面の行番号ラベルID --><rownumberSurfaceKey></rownumberSurfaceKey><!-- デフォルトを利用 --><!-- 検索一覧画面 選択マークカラム 使用/不使用 --><useSelectedMark>true</useSelectedMark><!-- 検索一覧画面 行番号カラム 使用/不使用 --><useRownumber>true</useRownumber><colsHeight>32px</colsHeight><!-- 検索画面の固定列カラム設定 --><fixedCols>…略…
<!-- 検索画面の可変列カラム設定 --><variableCols>…略…
<variableCol><fieldKey>DA_late_early_time_M</fieldKey><width>120px</width><align></align><headerSurfaceKey>TTRL.summaryItem.V.DA_late_early_time_M</headerSurfaceKey><colPosition></colPosition><colspan></colspan><rowspan>2</rowspan><sortable>true</sortable></variableCol>…略…
</variableCols><!-- 検索画面のソート順 --><orders><order><fieldKey>userName</fieldKey><type>asc</type></order><order><fieldKey>targetDate</fieldKey><type>asc</type></order></orders></defaultSetting><!-- 会社ごとの設定 --></fs2ListSettings>

勤務表照会画面の定義ファイルに、新しく作成した「締め期間集計項目」を追加します。
勤務表照会画面の定義ファイル

68intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31<?xml version="1.0" encoding="UTF-8" standalone="yes"?><fs2ListSettings xmlns="http://kaiden.slcs.co.jp/xmlschema/fs2ListSettings"><defaultSetting><!-- 検索画面に表示する最大件数 --><limit>20</limit><!-- 検索画面の行番号ラベルID --><rownumberSurfaceKey></rownumberSurfaceKey><!-- デフォルトを利用 --><!-- 検索一覧画面 選択マークカラム 使用/不使用 --><useSelectedMark>true</useSelectedMark><!-- 検索一覧画面 行番号カラム 使用/不使用 --><useRownumber>true</useRownumber><colsHeight>32px</colsHeight><!-- 検索画面の固定列カラム設定 --><fixedCols>…略…
<!-- 検索画面の可変列カラム設定 --><variableCols>…略…
<variableCol><fieldKey>PA_late_early_time_M</fieldKey><width>120px</width><align></align><headerSurfaceKey>TTRL.summaryItem.V.PA_late_early_time_M</headerSurfaceKey><colPosition></colPosition><colspan></colspan><rowspan>2</rowspan><sortable>true</sortable></variableCol>…略…
</variableCols><!-- 検索画面のソート順 --><orders><order><fieldKey>periodStartDate</fieldKey><type>desc</type></order><order><fieldKey>userName</fieldKey><type>asc</type></order></orders></defaultSetting><!-- 会社ごとの設定 --></fs2ListSettings>

検索画面の可変列カラム設定に、新しく作成した「日次集計項目」と「締め期間集計項目」を追加します。
フィールドキーには集計キーを設定します。
ヘッダーサーフィスキーにはサーフィス定義で定義したサーフィスキーを設定します。
集計値の検索用テーブルからデータを取得している画面の定義ファイルは以下の通りです。
日次の集計値の検索用テーブルからデータを取得
画面名

定義ファイル名

日次承認

DailyApproveSettings.xml

日次点検

DailyInspectSettings.xml

日次承認（管理者） DailyApproveSupSettings.xml

69intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
日次以外の集計値の検索用テーブルからデータを取得
画面名

定義ファイル名

勤務表照会

WorkReportSearchEmpSettings.xml

勤務表点検

WorkReportInspectSettings.xml

勤務表照会（管理者） WorkReportSearchSupSettings.xml

確認
日次承認画面、勤務表照会画面を表示して、追加した項目が表示されることを確認してください。

コラム
intra-mart Accel Kaiden! 勤務管理モジュール 標準版は、時間数の値を分単位で登録しています。

勤務表集計欄に新たな集計項目を表示する
勤務表集計欄に新たな集計項目を表示する手順を解説します。

はじめに - 勤務表集計欄に新たな集計項目を表示するには
次項以降、新たに追加した集計項目を「勤務体系カテゴリ共通集計値表示ガジェット」に表示する場合の手順をサンプルプログラムをもとに解説していきます。
「勤務体系カテゴリ共通集計値表示ガジェット」は、勤務表表示時に表示される集計欄です。

要件
以下の要件があるとします。
前項で作成した「遅刻早退時間」を勤務表集計欄で表示したい
これに対応したガジェットを作成していきます。

定義
ガジェット定義を定める
ガジェット定義を定めます。
今回はガジェットクラスを「workReportSummary」、ガジェットバリエーションを「c01」とします。
intra-mart Accel Kaiden! 勤務管理モジュール設定ファイルを設定する
intra-mart Accel Kaiden! 勤務管理モジュール設定ファイルに、勤務表（共通）集計値表示パターン(workReportCommmonSummaryPattern)に使用するガジェットを設定します。

勤務表機能関連の拡張も併せて参照してください。
<defaultSetting>…略…
<!-- 勤務表（共通）集計値表示パターン（カスタマイズ用）* 省略できません* 1勤務表に複数勤務体系がある場合の共通集計値表示パターンを設定します。<br />* ※ガジェットクラス、ガジェットバリエーションを「_」で連結して設定します--><workReportCommmonSummaryPattern>workReportSummary_c01</workReportCommmonSummaryPattern>…略…
</defaultSetting>70

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
コラム
intra-mart Accel Kaiden! 勤務管理モジュール 設定ファイルについては、『intra-mart Accel Kaiden! セットアップ
ガイド』を参照してください。
ガジェット定義を登録する
ガジェット定義の登録を行います。
JSPは次項で作成するJSPのパスを設定します。
JSPパスは「/WEB-INF/views/kaiden/v2/tutorial2/gadget/workReportSummary/workReportSummaryC01.jsp」とします。

コラム
JAVAパスは設定不要です。
ソートキー、サーフィスキーは使用しないため、任意の値を設定します。

ガジェットマスタ
No.

論理名

物理名

型

長さ

必須

PK

1

ガジェットクラス

gadget_classvarchar2

100

Y

PK

2

ガジェットバリエーショ

gadget_variation

varchar2

100

Y

PK

ン
3

JSPパス

jsp_pathvarchar2

1000

4

JAVAパス

java_pathvarchar2

1000

5

ソートキー

sort_keynumber15

Y

6

サーフィスキーsurface_key

varchar2

100

Y-- ガジェットマスタ
insert into k10m_gadget values ('workReportSummary', 'c01', '/WEBINF/views/kaiden/v2/tutorial2/gadget/workReportSummary/workReportSummaryC01.jsp', '', 0, '0', null, null, null, null, null,
null, null, null, null, null, '2023-06-30 00:00:00', 'tutorial2', 1, '2023-06-30 00:00:00', 'tutorial2');実装
勤務表集計欄のJSPを作成します。
標準機能では、「/WEBINF/views/kaiden/v2/product_labormgr/gadget/workReportSummary/workReportSummaryV01.jsp」を使用しています。
上記を必要に応じて変更してください。
JSP作成
JSPファイル名を「workReportSummaryC01.jsp」とします。
「/WEB-INF/views/kaiden/v2/tutorial2/gadget/workReportSummary」に配置します。

コラム
標準機能で使用している「workReportSummaryV01.jsp」では、締め期間集計値を取得して、フィールド名と集計キーが一致する場合、取得した値を設定します。
そのため、JSPに表示したい締め期間集計値のフィールドを追加すると集計欄に値が設定されます。
次は、JSPの抜粋です。

71intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31<table class="imui-table" style="margin-bottom:0px;width:auto;"><tr><th rowspan="2"><label>${surfaceTimeCountWork}</label></th><th rowspan="2"><label>${surfaceTimeCountDeduction}</label></th><th rowspan="2"><label>${surfaceTimeCountDeductionExemption}</label></th><%-- 遅刻早退時間のラベルの表示を追加 --%><th rowspan="2"><label>${surfaceTimeCountLateEarly}</label></th><th colspan="6"><label>${surfaceTimeCountDetailTitle}</label></th><th colspan="3"><label>${surfaceTimeTtlCountOutLegalTitle}</label></th>
</tr>
<tr>
<th><label>${surfaceTimeCountOverInLegal}</label></th><th><label>${surfaceTimeCountOverOutLegal}</label></th><th><label>${surfaceTimeCountNight}</label></th><th><label>${surfaceTimeCountLegalHoliday}</label></th><th><label>${surfaceTimeCountHoliday}</label></th><th><label>${surfaceTimeCountOutLegalOverWkOnHday}</label></th><th><label>${surfaceTimeTtlCountOutLegalMonth3}</label></th><th><label>${surfaceTimeTtlCountOutLegalMonth6}</label></th><th><label>${surfaceTimeTtlCountOutLegalMonth12}</label></th>
</tr>
<tr>
<td class="align-R"><k:surface surfaceKey="${surfaceSummaryValueNone}" class="kaiden-labor-summary-valuedefault-hyphen" formated="view" name="PA_work_M" /></td><td class="align-R"><k:surface surfaceKey="${surfaceSummaryValueNone}" class="kaiden-labor-summary-valuedefault-hyphen" formated="view" name="PL_10_M" /></td><td class="align-R"><k:surface surfaceKey="${surfaceSummaryValueNone}" class="kaiden-labor-summary-valuedefault-hyphen" formated="view" name="PL_20_M" /></td><%-- 遅刻早退時間の値の表示を追加 --%>
<td class="align-R"><k:surface surfaceKey="${surfaceSummaryValueNone}" class="kaiden-labor-summary-valuedefault-hyphen" formated="view" name="PA_late_early_time_M" /></td><td class="align-R"><k:surface surfaceKey="${surfaceSummaryValueNone}" class="kaiden-labor-summary-valuedefault-hyphen" formated="view" name="PA_in_legal_over_work_M" /></td><td class="align-R"><k:surface surfaceKey="${surfaceSummaryValueNone}" class="kaiden-labor-summary-valuedefault-hyphen" formated="view" name="PA_out_legal_over_work_M" /></td><td class="align-R"><k:surface surfaceKey="${surfaceSummaryValueNone}" class="kaiden-labor-summary-valuedefault-hyphen" formated="view" name="PA_night_work_M" /></td><td class="align-R"><k:surface surfaceKey="${surfaceSummaryValueNone}" class="kaiden-labor-summary-valuedefault-hyphen" formated="view" name="PA_legal_holiday_work_M" /></td><td class="align-R"><k:surface surfaceKey="${surfaceSummaryValueNone}" class="kaiden-labor-summary-valuedefault-hyphen" formated="view" name="PA_holiday_work_M" /></td><td class="align-R"><k:surface surfaceKey="${surfaceSummaryValueNone}" class="kaiden-labor-summary-valuedefault-hyphen" formated="view" name="PA_out_legal_over_wk_on_hday_M" /></td><td class="align-R"><k:surface surfaceKey="${surfaceSummaryValueNone}" class="kaiden-labor-summary-valuedefault-hyphen" formated="view" name="ttl36Month3_M" /></td><td class="align-R"><k:surface surfaceKey="${surfaceSummaryValueNone}" class="kaiden-labor-summary-valuedefault-hyphen" formated="view" name="ttl36Month6_M" /></td><td class="align-R"><k:surface surfaceKey="${surfaceSummaryValueNone}" class="kaiden-labor-summary-valuedefault-hyphen" formated="view" name="ttl36Month12_M" /></td></tr></table>確認
勤務表を表示して、集計欄に追加した項目が表示されることを確認してください。

集計チェックを新たに追加する
集計チェックを新たに追加する手順を解説します。

はじめに - 集計チェックとはintra-mart Accel Kaiden! 勤務管理モジュール では 集計項目の値に対して何らかのチェックを行い、チェックに引っかかった場合にアラートを上げる処理 のことを集計チェックと呼びます。
単純な入力値に対する必須チェック等は業務ロジックで行うべきもので、集計チェックには含みません。

72intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
次項以降、集計項目を新たに追加する場合の手順をサンプルプログラムをもとに解説していきます。

要件
以下の要件があるとします。
前項で作成した「遅刻早退時間」に対して、チェックを行いたい。
警告レベル１〜４ごとにしきい値を設定したい。
これに対応した集計チェックを、作成していきます。

コラム
標準版では警告レベル１〜４までをサポートしており、それぞれの位置づけとして以下を想定しています。
レベル１:軽度警告
レベル２:重度警告
レベル３:会社規定違反
レベル４:法令違反
ただし、上記を強制するものではなく、自由にレベルの位置づけをして頂いて構いません。

定義
集計チェック定義の登録を行います。
対象テーブルと登録すべきデータを解説します。
ガジェットマスタ
No.

論理名

物理名

型

長さ

必須

PK

1

ガジェットクラス

gadget_classvarchar2

100

Y

PK

2

ガジェットバリエーショ

gadget_variation

varchar2

100

Y

PK

ン
3

JSPパス

jsp_pathvarchar21000

4JAVAクラスパス

java_pathvarchar2

1000

5

ソートキー

sort_keynumber15,0

Y

6

サーフィスキーsurface_key

varchar2

100

Y

集計チェック処理のガジェットクラス・ガジェットバリエーションに対して、
集計チェック処理設定ガジェットJSPパスと集計処理実行クラスを定義します。
ここでは、以下のように設定することとします。
ガジェットクラス

klsLateEarlyTime

ガジェットバリ

v01

エーション
JSPパス

/WEBINF/views/kaiden/v2/tutorial2/gadget/klsLateEarlyPeriodTime/klsLateEarlyPeriodTimeV01.jsp

Javaパス

lateEarlyPeriodTime

コラム「Javaパス＋”Checker”」がコンポーネントIDです。

ガジェットタグマスタ

73

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
No.

論理名

物理名

型

長さ

必須

PK

1

ガジェットクラス

gadget_classvarchar2

100

Y

PK

2

ガジェットバリエーショ

gadget_variation

varchar2

100

Y

PK

gadget_tag

varchar2

100

Y

PK

ン
3

タグ

ガジェットのタグとして「sumCheck」(チェック処理であることを示す)と「period」(締め期間集計値に対するチェックである
ことを示す)を設定します。

コラム
集計チェック処理に対するタグは以下を付与します。
集計期間

タグ

日次

sumCheck,daily

週次

sumCheck,weekly

締め期間

sumCheck,period

月次

sumCheck,monthly

その他

sumCheck,other

ガジェットサーフィスマスタ
No.

論理名

物理名

型

長さ

必須

PK

1

ガジェットクラス

gadget_classvarchar2

100

Y

PK

2

ガジェットバリエーショ

gadget_variation

varchar2

100

Y

PK

ン
3

サーフィスキーsurface_key

varchar2

100

Y

PK

4

ロケールID

locale_id

varchar2

50

Y

PK

5

サーフィス

surfacevarchar2

4000

Y

長さ

必須

PK

集計チェック処理設定ガジェットのタイトルとして表示されます。
「遅刻早退時間チェック」を設定します。

集計チェックAPIパラメータマスタ
No.

論理名

物理名

型

1

ガジェットクラス

gadget_classvarchar2 100

Y

PK

2

ガジェットバリ

gadget_variation

varchar2 100

Y

PK

備考

エーション
3

パラメータキーparameter_key

varchar2 100

Y

PK

4

ロケールID

locale_id

varchar2 50

Y

PK

5

パラメータ種別

parameter_def_pattern_cd varchar2 100

Y6パラメータ名称parameter_namevarchar2 1000

Y

7

備考

note

varchar2 400074

※未使用、拡張用

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
集計チェック処理が受け取るパラメータの顔ぶれを設定します。
ここでは、「criteriaValue」というパラメータキーに対して、レベル１〜４までのチェックしきい値を指定します。

コラム
パラメータ種別には、パラメータの指定方法を指定しています。
1

単一値指定

2

重大度別指定

3

複数値指定

4

その他

集計チェックAPIパラメータ内訳マスタ
No.

論理名

物理名

型

必須

PK

1

ガジェットクラス

gadget_classvarchar2 100

Y

PK

2

ガジェットバリエー gadget_variation

varchar2 100

Y

PK

長さ

備考

ション
3

パラメータキーparameter_key

varchar2 100

Y

PK

4

パラメータSEQ

parameter_seq

number

15,0

Y

PK

5

パラメータデータタ parameter_data_type varchar2 100

Y※未使用、拡張用

イプ
6

サーフィスキーsurface_key

varchar2 100※未使用、拡張用

7

重大度

severe_levelvarchar2 100

8

増減区分

increase_type

varchar2 100

9

変更可否

allow_upd_flag

varchar2 1Y※未使用、拡張用

10

削除可否

allow_del_flag

varchar2 1Y※未使用、拡張用※未使用、拡張用

集計チェックAPIパラメータの詳細情報を登録します。

コラム
パラメータデータタイプには、パラメータとして渡される型を指定します。
1

数値

2

文字列

3

真偽値

4

日付

5

時間

6

不等号

コラム
重大度には、集計チェックAPIパラメータマスタ.パラメータ種別が「重大度指定」の場合のレベルを指定します。
標準では１〜４のみをサポートしています。
重大度指定でないパラメータの場合はnullを指定してください。

75

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
集計チェックマスタ
No.

論理名

物理名

型

必須

PK

1

勤務体系カテゴリ

ws_category_cd

varchar2 20

Y

PK

長さ

備考

コード
2

会社コード

company_cd

varchar2 100

Y

PK

3

勤務体系コード

ws_agreement_cd

varchar2 100

Y

PK

4

ガジェットクラス

gadget_classvarchar2 100

Y

PK

5

ガジェットバリエー

gadget_variation

varchar2 100YPKgadget_instancenumber

Y

PK

PK

ション
6

ガジェットインスタ

18,0

ンス
7

期間コード

term_cdvarchar2 50

Y8パラメータID

parameter_data_id

varchar2 100

Y

9

処理順序

execute_ordernumber10

チェック要否check_required_flag varchar2 1

15,0Y

勤務体系ごとの集計チェック処理の定義を設定します。
集計チェック処理作成時のデータは「勤務体系カテゴリ：normal」「会社：#default#」「勤務体系：default」として、
勤務体系カテゴリごとの共通設定として登録します。
ここでの登録値が、勤務体系マスタで最初に集計チェック定義のメンテナンスを行う画面のパラメータ初期値です。

コラム
チェック要否には「”0”:チェックを行わない」「”1”:チェックを行う」を設定します。
運用中に集計チェック処理を追加する場合は”0”を登録してください。

コラム
処理順序には処理を行う順番を設定します。
nullを登録すると、処理順序は保証されません。

集計チェックパラメータマスタ
No.

論理名

物理名

必須

PK

1

パラメータID

parameter_data_id varchar2 100

Y

PK

2

パラメータキーparameter_key

varchar2 100

Y

PK

3

パラメータSEQ

parameter_seq

numberY

PK

4

パラメータ値

parameter_value

varchar2 4000

型

長さ

15,0

備考

集計チェック処理に渡すパラメータを登録します。
ここでの登録値が、勤務体系マスタで最初に集計チェック定義のメンテナンスを行う画面のパラメータ初期値です。

INSERT文は以下の通りです。

76intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31-- ガジェットマスタ
insert into k10m_gadget values ('klsLateEarlyTime', 'v01', '/WEBINF/views/kaiden/v2/tutorial2/gadget/klsLateEarlyPeriodTime/klsLateEarlyPeriodTimeV01.jsp', 'lateEarlyPeriodTime', 1,'chapterTitle', null, null, null, null, null, null, null, null, null, null, '2014-04-01 00:00:00', 'tutorial2', 1, '2014-04-01
00:00:00', 'tutorial2');-- ガジェットタグマスタ
insert into k10m_gadget_tags values ('klsLateEarlyTime', 'v01', 'period', null, null, null, null, null, null, null, null, null,
null, '2014-04-01 00:00:00', 'tutorial2', 1, '2014-04-01 00:00:00', 'tutorial2');
insert into k10m_gadget_tags values ('klsLateEarlyTime', 'v01', 'sumCheck', null, null, null, null, null, null, null, null,
null, null, '2014-04-01 00:00:00', 'tutorial2', 1, '2014-04-01 00:00:00', 'tutorial2');-- ガジェットサーフェスマスタ
insert into k10m_gadget_surface values ('klsLateEarlyTime', 'v01', 'chapterTitle', 'ja', '遅刻早退時間チェック', null, null, null,
null, null, null, null, null, null, null, '2014-04-01 00:00:00', 'tutorial2', 1, '2014-04-01 00:00:00', 'tutorial2');
insert into k10m_gadget_surface values ('klsLateEarlyTime', 'v01', 'chapterTitle', 'en', '遅刻早退時間チェック', null, null,
null, null, null, null, null, null, null, null, '2014-04-01 00:00:00', 'tutorial2', 1, '2014-04-01 00:00:00', 'tutorial2');
insert into k10m_gadget_surface values ('klsLateEarlyTime', 'v01', 'chapterTitle', 'zh_CN', '遅刻早退時間チェック', null, null,
null, null, null, null, null, null, null, null, '2014-04-01 00:00:00', 'tutorial2', 1, '2014-04-01 00:00:00', 'tutorial2');-- 集計チェックAPIパラメータマスタ
insert into k31m_check_prm_def values ('klsLateEarlyTime', 'v01', 'criteriaValue', 'ja', '2', '遅刻早退時間', null, null, null,
null, null, null, null, null, null, null, null, '2014-04-01 00:00:00', 'tutorial2', 1, '2014-04-01 00:00:00', 'tutorial2');
insert into k31m_check_prm_def values ('klsLateEarlyTime', 'v01', 'criteriaValue', 'en', '2', '遅刻早退時間', null, null, null,
null, null, null, null, null, null, null, null, '2014-04-01 00:00:00', 'tutorial2', 1, '2014-04-01 00:00:00', 'tutorial2');
insert into k31m_check_prm_def values ('klsLateEarlyTime', 'v01', 'criteriaValue', 'zh_CN', '2', '遅刻早退時間', null, null, null,
null, null, null, null, null, null, null, null, '2014-04-01 00:00:00', 'tutorial2', 1, '2014-04-01 00:00:00', 'tutorial2');-- 集計チェックAPIパラメータ内訳マスタ
insert into k31m_check_prm_def_dtl values ('klsLateEarlyTime', 'v01', 'criteriaValue', 1, '5', null, '1', null, '1', '1', null, null,
null, null, null, null, null, null, null, null, '2014-04-01 00:00:00', 'tutorial2', 1, '2014-04-01 00:00:00', 'tutorial2');
insert into k31m_check_prm_def_dtl values ('klsLateEarlyTime', 'v01', 'criteriaValue', 2, '5', null, '2', null, '1', '1', null, null,
null, null, null, null, null, null, null, null, '2014-04-01 00:00:00', 'tutorial2', 1, '2014-04-01 00:00:00', 'tutorial2');
insert into k31m_check_prm_def_dtl values ('klsLateEarlyTime', 'v01', 'criteriaValue', 3, '5', null, '3', null, '1', '1', null, null,
null, null, null, null, null, null, null, null, '2014-04-01 00:00:00', 'tutorial2', 1, '2014-04-01 00:00:00', 'tutorial2');
insert into k31m_check_prm_def_dtl values ('klsLateEarlyTime', 'v01', 'criteriaValue', 4, '5', null, '4', null, '1', '1', null, null,
null, null, null, null, null, null, null, null, '2014-04-01 00:00:00', 'tutorial2', 1, '2014-04-01 00:00:00', 'tutorial2');-- 集計チェックマスタ
insert into k31m_ws_use_check values ('normal', '#default#', 'default', 'klsLateEarlyTime', 'v01', 1, 'default','lateEarlyTime_param_001', null, '0', null, null, null, null, null, null, null, null, null, null, '2014-04-01 00:00:00', 'tutorial2',
1, '2014-04-01 00:00:00', 'tutorial2');-- 集計チェックパラメータマスタ
insert into k31m_check_prm_value values ('lateEarlyTime_param_001', 'criteriaValue', 1, null, null, null, null, null, null,
null, null, null, null, null, '2014-04-01 00:00:00', 'tutorial2', 1, '2014-04-01 00:00:00', 'tutorial2');
insert into k31m_check_prm_value values ('lateEarlyTime_param_001', 'criteriaValue', 2, null, null, null, null, null, null,
null, null, null, null, null, '2014-04-01 00:00:00', 'tutorial2', 1, '2014-04-01 00:00:00', 'tutorial2');
insert into k31m_check_prm_value values ('lateEarlyTime_param_001', 'criteriaValue', 3, '60', null, null, null, null, null,
null, null, null, null, null, '2014-04-01 00:00:00', 'tutorial2', 1, '2014-04-01 00:00:00', 'tutorial2');
insert into k31m_check_prm_value values ('lateEarlyTime_param_001', 'criteriaValue', 4, '120', null, null, null, null, null,
null, null, null, null, null, '2014-04-01 00:00:00', 'tutorial2', 1, '2014-04-01 00:00:00', 'tutorial2');

注意
集計チェックマスタ.ガジェットバリエーションは、DB定義上100byteとなっていますが、50byteを超えて登録しないでください。
SQLServerの主キー最大長の900byteを超える可能性があります。

注意「パラメータID」は一意の値を設定してください。
1個のパラメータを複数の集計チェックで使用しないでください。

実装77

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
集計チェック処理
集計チェッククラス作成
クラス名をLateEarlyPeriodTimeCheckerとします。
package jp.co.slcs.kaiden.v2.tutorial2.foundation.sum.util.check.multiperiod.period;
import static jp.co.slcs.kaiden.v2.product_labormgr.foundation.sum.util.SummaryUtil.nullToZero;
import static jp.co.slcs.kaiden.v2.product_labormgr.foundation.sum.util.SummaryUtil.toMsgHHMM;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import jp.co.slcs.kaiden.v2.base.foundation.util.BeanUtil;
import jp.co.slcs.kaiden.v2.base.foundation.util.StringUtil;
import jp.co.slcs.kaiden.v2.product_labormgr.foundation.conf.SevereLevel;
import jp.co.slcs.kaiden.v2.product_labormgr.foundation.sum.process.model.dto.SumDto.MultiPeriodSumDto;
import jp.co.slcs.kaiden.v2.product_labormgr.foundation.sum.util.SummaryUtil;
import jp.co.slcs.kaiden.v2.product_labormgr.foundation.sum.util.check.AbstractSummaryChecker;
import jp.co.slcs.kaiden.v2.product_labormgr.foundation.sum.util.check.model.dto.GenericBorderCheckDto;
import jp.co.slcs.kaiden.v2.product_labormgr.foundation.sum.util.check.model.dto.SumCheckDefDto;
import jp.co.slcs.kaiden.v2.product_labormgr.foundation.sum.util.check.model.dto.SumCheckDto;
import jp.co.slcs.kaiden.v2.product_labormgr.foundation.sum.util.check.model.dto.SumCheckResult;import jp.co.slcs.kaiden.v2.product_labormgr.foundation.sum.util.check.model.dto.SumCheckerGenericDto;@Component@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
public class LateEarlyPeriodTimeChecker extends AbstractSummaryChecker<MultiPeriodSumDto,
GenericBorderCheckDto> {/* *************************************************************************************** パラメータキーを宣言しています。
* ************************************************************************************** */protected static final String CRITERIA_VALUE = "criteriaValue";@Override
public List<SumCheckResult> checkForSum(Map<String, BigDecimal> sumData, SumCheckDefDto sumCheckDef,
MultiPeriodSumDto multiPeriodSumDto) {GenericBorderCheckDto gbcDto = new GenericBorderCheckDto(sumData, sumCheckDef);/* *************************************************************************************** チェック対象期間の開始日と終了日を取得しています。
* エラーメッセージに出力します。
* ************************************************************************************** */gbcDto.checkTargetStartDate = BeanUtil.toCast(MultiPeriodSumDto.class, multiPeriodSumDto).getAssignStartDate();gbcDto.checkTargetEndDate = BeanUtil.toCast(MultiPeriodSumDto.class, multiPeriodSumDto).getAssignStartDate();return check(gbcDto);}@Override
public List<SumCheckResult> check(GenericBorderCheckDto btcDto) {SumCheckDefDto scDef = btcDto.sumCheckDef;
List<SumCheckResult> resultList = new ArrayList<SumCheckResult>();/* *************************************************************************************** 締め期間集計データから、遅刻早退時間の値を取得します。
* ************************************************************************************** */BigDecimal targetValue = nullToZero(btcDto.sumData.get("PA_late_early_time_M"));
SumCheckResult scResult = null;78

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31/* *************************************************************************************** レベルごとのしきい値と比較します。
* レベル１から順に比較し、結果を上書きしています。
* ************************************************************************************** */for (SevereLevel level : SevereLevel.values()) {SumCheckDto def = scDef.param.getBorderDefs(level).get(CRITERIA_VALUE);
if (null == def || StringUtil.isEmpty(def.paramValue)) {continue;}
BigDecimal criteriaValue = toAnyType(BigDecimal.class, def.paramValue);if (null == criteriaValue) {continue;}// 基準値 [%演算子%] 対象値 の場合
if (targetValue.compareTo(criteriaValue) > 0) {/* *************************************************************************************** チェック結果メッセージIDの引数を設定しています。
* ************************************************************************************** */scResult = makeSumCheckResult(scDef);
scResult.judgeStatus = true;
scResult.severeLevel = level.getCode();scResult.addMsgArg(btcDto.checkTargetStartDate);
scResult.addMsgArg(btcDto.checkTargetEndDate);
scResult.addMsgArg("TTRL.summaryItem.V.PA_late_early_time_M");
scResult.addMsgArg(toMsgHHMM(targetValue));
scResult.addMsgArg(toMsgHHMM(criteriaValue));}}if (null != scResult) {resultList.add(scResult);}
return resultList;}@Override
protected String getMessageId() {/* *************************************************************************************** チェック結果メッセージIDを返します。
* ************************************************************************************** */return "I.TTRL.summaryCheck.0001";}@Override
protected Object[] getMsgArgs(SumCheckerGenericDto scgDto, Object... args) {return SummaryUtil.makeArgs(scgDto, args);}}

コラム
クラス名を「ガジェットマスタ.Javaパス＋”Checker”」とすることで、集計チェック基盤に集計チェッククラスとして認識されます。
メッセージ定義ファイル作成
ファイル名をtutorial2_messages.xmlとします。

79

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"><properties><comment/><entry key="I.TTRL.summaryCheck.0001">[{0}]〜[{1}]の期間で{2}({3})が{4}を超過しています</entry></properties>

サーフィス定義ファイル作成

照会画面等に新たな集計項目を表示するの定義で使用したサーフィス定義ファイルを使用します。
applicationContext.xmlの設定

照会画面等に新たな集計項目を表示するの実装で使用したapplicationContext.xmlを使用します。
集計チェック定義登録ガジェット
Controllerクラス作成
コントローラークラスを作成します。
package jp.co.slcs.kaiden.v2.tutorial2.feature.action.kaiden.gadget;
import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.config.ConfigurableBeanFactory;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;importjp.co.slcs.kaiden.v2.product_labormgr.feature.controller.kaiden.gadget.AbstractKlsSettingControllerBase;
import jp.co.slcs.kaiden.v2.product_labormgr.feature.form.kaiden.gadget.AbstractKlsSettingForm;
import jp.co.slcs.kaiden.v2.product_labormgr.feature.logic.kaiden.gadget.AbstractKlsSettingLogic;
import jp.co.slcs.kaiden.v2.tutorial2.feature.form.kaiden.gadget.KlsLateEarlyPeriodTimeV01Form;
import jp.co.slcs.kaiden.v2.tutorial2.feature.logic.kaiden.gadget.KlsLateEarlyPeriodTimeV01Logic;@Controller@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)@RequestMapping("kaiden/v2/gadget/klsLateEarlyPeriodTimeV01")
public class KlsLateEarlyPeriodTimeV01Controller extends AbstractKlsSettingControllerBase {public KlsLateEarlyPeriodTimeV01Form klsLateEarlyPeriodTimeV01Form;@Autowired
public KlsLateEarlyPeriodTimeV01Logic klsLateEarlyPeriodTimeV01Logic;@Override
protected AbstractKlsSettingForm getForm() {return klsLateEarlyPeriodTimeV01Form;}@Override
protected void setForm(AbstractKlsSettingForm form) {klsLateEarlyPeriodTimeV01Form = (KlsLateEarlyPeriodTimeV01Form) form;@Override
protected AbstractKlsSettingLogic getLogic() {return klsLateEarlyPeriodTimeV01Logic;}}

Formクラス作成
フォームクラスを作成します。

80

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
package jp.co.slcs.kaiden.v2.tutorial2.feature.form.kaiden.gadget;
import jp.co.slcs.kaiden.v2.product_labormgr.feature.form.kaiden.gadget.AbstractKlsSettingForm;public class KlsLateEarlyPeriodTimeV01Form extends AbstractKlsSettingForm {}Logicクラス作成
ロジッククラスを作成します。
package jp.co.slcs.kaiden.v2.tutorial2.feature.logic.kaiden.gadget;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import jp.co.slcs.kaiden.v2.product_labormgr.feature.logic.kaiden.gadget.AbstractKlsSettingLogic;@Component@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
public class KlsLateEarlyPeriodTimeV01Logic extends AbstractKlsSettingLogic {}JSP作成
JSPファイル名をklsLateEarlyPeriodTimeV01.jspとします。
「/WEB-INF/views/kaiden/v2/tutorial2/gadget/klsLateEarlyPeriodTime」に配置します。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %><%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %><%@ taglib prefix="im" uri="http://www.intra-mart.co.jp/taglib/im-tenant" %><%@ taglib prefix="k" uri="http://kaiden.slcs.co.jp/taglib/v2/ui" %><%@ taglib prefix="imui" uri="http://www.intra-mart.co.jp/taglib/imui" %><%@ page import="jp.co.slcs.kaide.vn2.base.foundation.util.PropertyJspUtil"%><%@ page import="jp.co.slcs.kaiden.v2.base.foundation.conf.BaseProp" %><%@ page import="jp.co.slcs.kaiden.v2.product_labormgr.foundation.conf.ProductLabormgrProp" %><%@ page import="jp.co.slcs.kaiden.v2.base.foundation.conf.ViewMode" %><%-- 遅刻早退時間チェックガジェット --%>
<c:set var="gadgetClass">${param.gadgetClass}</c:set><c:set var="gadgetVariation">${param.gadgetVariation}</c:set><c:set var="gadgetInstance">${param.gadgetInstance}</c:set><c:set var="gadgetId">${gadgetClass}_${gadgetVariation}_${gadgetInstance}</c:set><c:set var="gadgetTitle">${param.gadgetName}</c:set><c:set var="accessUrl">kaiden/gadget/klsLateEarlyPeriodTimeV01</c:set><c:set var="sumCheckBlockId">sumCheckList</c:set><c:set var="sumCheckDialogId">sumCheckContent</c:set><%-- 設定等 --%>
<c:set var="wsCategoryCd">${param.wsCategoryCd}</c:set><c:set var="companyCd">${param.companyCd}</c:set><c:set var="wsAgreementCd">${param.wsAgreementCd}</c:set><c:set var="openApplyDate">${param.openApplyDate}</c:set><c:set var="termCd">${param.termCd}</c:set><c:set var="inputMode">${param.inputMode}</c:set><c:set var="sumDiv">${param.sumDiv}</c:set><c:set var="checkRequiredFlag">${param.checkRequiredFlag}</c:set><c:set var="debug">${param.debug}</c:set><%-- 画面固有バリデーションID --%>
<c:set var="validTimeMax4Caution1">k_${gadgetId}TimeMax4Caution1</c:set><c:set var="validTimeMax4Caution2">k_${gadgetId}TimeMax4Caution2</c:set><%-- 画面表示モード --%>
<c:set var="input"><%= ViewMode.INPUT.getCode() %></c:set><c:set var="view"><%= ViewMode.VIEW.getCode() %></c:set>81

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31<c:set var="view"><%= ViewMode.VIEW.getCode() %></c:set><%-- サーフェス --%>
<c:set var="surfaceCheckRequiredFlag"><%= ProductLabormgrProp.S.WsAgreement.SUM_CHECK_REQUIRED %></c:set><c:set var="surfaceCriteriaValue"><%= ProductLabormgrProp.S.WsAgreement.OVER_TIME_LIMIT %></c:set><c:set var="surfaceCaution1"><%= ProductLabormgrProp.S.CAUTION_1 %></c:set><c:set var="surfaceLevel1"><%= ProductLabormgrProp.S.LEVEL_1 %></c:set><c:set var="surfaceCaution2"><%= ProductLabormgrProp.S.CAUTION_2 %></c:set><c:set var="surfaceLevel2"><%= ProductLabormgrProp.S.LEVEL_2 %></c:set><c:set var="surfaceCaution3"><%= ProductLabormgrProp.S.CAUTION_3 %></c:set><c:set var="surfaceLevel3"><%= ProductLabormgrProp.S.LEVEL_3 %></c:set><c:set var="surfaceCaution4"><%= ProductLabormgrProp.S.CAUTION_4 %></c:set><c:set var="surfaceLevel4"><%= ProductLabormgrProp.S.LEVEL_4%></c:set><%-- 集計チェック設定 --%><%-- 保存 --%>
<c:set var="surfaceRefreshSumCheck"><%= BaseProp.S.SAVE %></c:set><%-- チェックを有効にします。 （文字列化済み） --%>
<c:set var="surfaceCheckRequiredFlagOn_text"><%=
PropertyJspUtil.getSurface(ProductLabormgrProp.S.WsAgreement.CHECK_REQUIRED_FLAG_ON) %></c:set><%-- チェックを無効にします。（文字列化済み） --%>
<c:set var="surfaceCheckRequiredFlagOff_text"><%=
PropertyJspUtil.getSurface(ProductLabormgrProp.S.WsAgreement.CHECK_REQUIRED_FLAG_OFF) %></c:set><%-- 集計チェックの内容を表示します。 （文字列化済み） --%>
<c:set var="surfaceSumCheckContentInfo_text"><%=
PropertyJspUtil.getSurface(ProductLabormgrProp.S.WsAgreement.SUM_CHECK_CONTENT_INFO) %></c:set><%-- 有効（文字列化済み） --%>
<c:set var="surfaceEnabled_text"><%= PropertyJspUtil.getSurface(BaseProp.S.ENABLED) %></c:set><%-- 無効 （文字列化済み） --%>
<c:set var="surfaceDisabled_text"><%= PropertyJspUtil.getSurface(BaseProp.S.DISABLED) %></c:set><%-- ダイアログボタン --%><%-- 閉じる （文字列化済み） --%>
<c:set var="surfaceReturnlist_text"><%=PropertyJspUtil.getSurface(BaseProp.S.CLOSE)%></c:set><%-- メッセージ --%><%-- 保存します。 --%>
<c:set var="messageSaveConfirm"><%=PropertyJspUtil.getMessage(BaseProp.M.W0012)%></c:set><%-- "{0}"以下で入力してください。 --%>
<c:set var="validMsg_timeMax"><%= PropertyJspUtil.getMessage(BaseProp.M.W0226) %></c:set><%-- バリデーション --%>
<c:set var="validCriteriaValue_1_setings">{k_time:[''], k_${gadgetId}TimeMax4Caution1:['criteriaValue|2', 'criteriaValue|3','criteriaValue|4'], k_timeMax2:['1000:00']}</c:set><c:set var="validCriteriaValue_2_setings">{k_time:[''], k_${gadgetId}TimeMax4Caution2:['criteriaValue|3','criteriaValue|4'], k_timeMax2:['1000:00']}</c:set><c:set var="validCriteriaValue_3_setings">{k_time:[''], k_timeMax:['criteriaValue|4'], k_timeMax2:['1000:00']}</c:set><c:set var="validCriteriaValue_4_setings">{k_time:[''], k_timeMax2:['1000:00']}</c:set><k:gadgetContainer gadgetId="${gadgetId}"gadgetClass="${gadgetClass}"gadgetVariation="${gadgetVariation}"gadgetInstance="${gadgetInstance}"
gadgetTitle="${gadgetTitle}"
hideGadgetTitle="true"><form id="gadget_form" onsubmit="return false;"><k:blockContainer id="${sumCheckBlockId}" style="padding:0px 20px;"><table class="imui-table-mixed" style="table-layout:fixed;margin-bottom:0.5em;"><colgroup><col style="width:100%;"/></colgroup>
<tr>
<th>
<k:surface name="checkRequiredFlagOn" surfaceKey="" class="kaiden-ui-wsA_sumCheck kaiden-ui-icon-enable16
mr-5 hidden kaiden-ui-wsA_sumCheck-label" title="${surfaceCheckRequiredFlagOff_text}"/><k:surface name="checkRequiredFlagOff" surfaceKey="" class="kaiden-ui-wsA_sumCheck kaiden-ui-icon-disable1682

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
mr-5 hidden kaiden-ui-wsA_sumCheck-label" title="${surfaceCheckRequiredFlagOn_text}"/><k:hidden name="checkRequiredFlag" mode="${inputMode}"/><k:surface surfaceKey="${gadgetTitle}"/><k:a name="checkContentLink" class="im-ui-icon-common-16-question mr-5 float-R" mode="0"title="${surfaceSumCheckContentInfo_text}"/><k:hidden name="parameterDataId" mode="${inputMode}"/>
</th>
</tr>
<tr class="sumCheckParams" style="display:none;"><td><div style="margin-left:50px"><table style="width:100%"><colgroup><col /><col style="width:150px;"/></colgroup>
<tr>
<td>
<table class="imui-table" style="margin-bottom:0.5em;"><colgroup><col style="width:200px"/><col style=""/></colgroup><thead><tr><th></th><th><span class="kaiden-ui-icon-warn-I16 mr-5 valign-M"></span><k:surface
surfaceKey="${surfaceLevel1}" class="valign-M"/></th><th><span class="kaiden-ui-icon-warn-II16 mr-5 valign-M"></span><k:surface
surfaceKey="${surfaceLevel2}" class="valign-M"/></th><th><span class="kaiden-ui-icon-warn-III16 mr-5 valign-M"></span><k:surface
surfaceKey="${surfaceLevel3}" class="valign-M"/></th><th><span class="kaiden-ui-icon-warn-IV16 mr-5 valign-M"></span><k:surface
surfaceKey="${surfaceLevel4}" class="valign-M"/></th></tr></thead><tbody><tr><th><k:surface surfaceKey="${surfaceCriteriaValue}"/></th><td><k:time name="criteriaValue|1"
mode="${inputMode}"surfaceKey="${surfaceCaution1}"
validationSettingsKlsDaily36LimitV01="${validCriteriaValue_1_setings}"
/>
</td>
<td>
<k:time name="criteriaValue|2"
mode="${inputMode}"surfaceKey="${surfaceCaution2}"
validationSettingsKlsDaily36LimitV01="${validCriteriaValue_2_setings}"
/>
</td>
<td>
<k:time name="criteriaValue|3"
mode="${inputMode}"surfaceKey="${surfaceCaution3}"
validationSettingsKlsDaily36LimitV01="${validCriteriaValue_3_setings}"
/>
</td>
<td>
<k:time name="criteriaValue|4"
mode="${inputMode}"surfaceKey="${surfaceCaution4}"
validationSettingsKlsDaily36LimitV01="${validCriteriaValue_4_setings}"
/>
</td>
</tr>
</tbody>83

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31</tbody></table></td><td class="align-C valign-M"><k:button mode="${inputMode}" class="imui-small-button" value="${surfaceRefreshSumCheck}"
name="settings"/>
</td>
</tr>
</table></div></td></tr></table></k:blockContainer></form><k:dialog title="${gadgetTitle}" id="${sumCheckDialogId}"><div class="imui-box-supplementation"><span class="im-ui-icon-common-24-question mr-5" ></span><k:surface name="checkContent" surfaceKey="" style="display:inline-block;vertical-align:top;"/></div></k:dialog></k:gadgetContainer><script type="text/javascript">
jQuery(function($) {var eventMan = KAIDEN.getGadget("${gadgetId}").eventManager;
var blockA = KAIDEN.getGadget("${gadgetId}").blockAccessors["${sumCheckBlockId}"], dialog = KAIDEN.getGadget("${gadgetId}").dialogs["${sumCheckDialogId}"], dialogA = KAIDEN.getGadget("${gadgetId}").blockAccessors["${sumCheckDialogId}"];//ガジェット初期設定
KAIDEN.getGadget("${gadgetId}").variable.loadSumCheckSetting = function() {var ajax = KAIDEN.Ajax(), criteria = {}criteria.wsCategoryCd = "${wsCategoryCd}";
criteria.companyCd = "${companyCd}";
criteria.wsAgreementCd = "${wsAgreementCd}";
criteria.openApplyDate = "${openApplyDate}";criteria.termCd = "${termCd}";
criteria.gadgetClass = "${gadgetClass}";
criteria.gadgetVariation = "${gadgetVariation}";criteria.gadgetInstance = "${gadgetInstance}";
ajax.postSyncAuto("${accessUrl}/loadSumCheck", criteria, function(returnData) {var sumCheckData = returnData.${sumDiv}[0];//チェック利用の設定
blockA("checkRequiredFlag").setValue(sumCheckData.checkRequiredFlag);if ("1" === sumCheckData.checkRequiredFlag) {blockA().elem().find("tr.sumCheckParams").show("fast");blockA("checkRequiredFlagOn").removeClass("hidden");blockA("checkRequiredFlagOff").addClass("hidden");} else {blockA().elem().find("tr.sumCheckParams").hide("fast");blockA("checkRequiredFlagOn").addClass("hidden");blockA("checkRequiredFlagOff").removeClass("hidden");}blockA("parameterDataId").setValue(sumCheckData.paramDataId);
dialogA("checkContent").setValue(KAIDEN.Util.escapeHTML(sumCheckData.checkContent));//重要度ごとのパラメータ値
var mildParam = sumCheckData.param.borders.MILD, severeParam = sumCheckData.param.borders.SEVERE, wsParam = sumCheckData.param.borders.WS, violationParam = sumCheckData.param.borders.VIOLATION//Lv.1for (var key in mildParam) {switch(blockA(key + "|1").getType()) {84

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
case "time":
blockA(key + "|1").setMinutes(mildParam[key].paramValue);
break;
case "timelabel":blockA(key + "|1").setMinutes(mildParam[key].paramValue);
break;
default:
blockA(key + "|1").setValueIgnore(mildParam[key].paramValue);
break;}}//Lv.2for (var key in severeParam) {switch(blockA(key + "|2").getType()) {case "time":
blockA(key + "|2").setMinutes(severeParam[key].paramValue);
break;
case "timelabel":blockA(key + "|2").setMinutes(severeParam[key].paramValue);
break;
default:
blockA(key + "|2").setValueIgnore(severeParam[key].paramValue);
break;}}//Lv.3for (var key in wsParam) {switch(blockA(key + "|3").getType()) {case "time":
blockA(key + "|3").setMinutes(wsParam[key].paramValue);
break;
case "timelabel":blockA(key + "|3").setMinutes(wsParam[key].paramValue);
break;
default:
blockA(key + "|3").setValueIgnore(wsParam[key].paramValue);
break;}}//Lv.4for (var key in violationParam) {switch(blockA(key + "|4").getType()) {case "time":
blockA(key + "|4").setMinutes(violationParam[key].paramValue);
break;
case "timelabel":blockA(key + "|4").setMinutes(violationParam[key].paramValue);
break;
default:
blockA(key + "|4").setValueIgnore(violationParam[key].paramValue);
break;}}});};// ............................................................................................................
// 内部イベント// ............................................................................................................
if ("${input}" === "${inputMode}") {//チェックボックスON/OFFイベント
blockA().elem(true).find(".kaiden-ui-wsA_sumCheck").on("click", function(e) {if ("1" === blockA("checkRequiredFlag").getValue()) {blockA("checkRequiredFlag").setValue("0");} else {blockA("checkRequiredFlag").setValue("1");}
var ajax = KAIDEN.Ajax()

85

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31

var ajax = KAIDEN.Ajax(), data = {}, wsUseSumCheck = {}, updateData = {};wsUseSumCheck.wsCategoryCd = "${wsCategoryCd}";
wsUseSumCheck.companyCd = "${companyCd}";
wsUseSumCheck.wsAgreementCd = "${wsAgreementCd}";
wsUseSumCheck.searchCriteriaDate = "${openApplyDate}";wsUseSumCheck.gadgetClass = "${gadgetClass}";
wsUseSumCheck.gadgetVariation = "${gadgetVariation}";
wsUseSumCheck.gadgetInstance = "${gadgetInstance}";
wsUseSumCheck.checkRequiredFlag = blockA("checkRequiredFlag").getValue();
wsUseSumCheck.parameterDataId = blockA("parameterDataId").getValue();
updateData = KAIDEN.gadgetMan.getDataSet("${gadgetId}");updateData.wsUseSumCheck = wsUseSumCheck

data.updateDataJson = KAIDEN.Util.stringifyJSON(updateData);//勤務体系情報より、更新カウンタを要求
data.wsaRenewCnt = KAIDEN.gadgetMan.execPull("claimWsaBasicInfo", undefined, "${gadgetId}")[0].result.renewCnt;
data.termCd = "${termCd}";
data.wsaTermRenewCnt = KAIDEN.gadgetMan.execPull("claimWsaTermInfo", undefined, "${gadgetId}")[0].result.renewCnt;
ajax.postSyncAuto("${accessUrl}/renewCheckFlag", data, function(returnData) {KAIDEN.getGadget("${gadgetId}").variable.loadSumCheckSetting(); //設定内容を検索});
e.stopPropagation(); //hrefの動作を抑止});} else {blockA("checkRequiredFlagOn").elem(true).attr("title", "${surfaceEnabled_text}");blockA("checkRequiredFlagOff").elem(true).attr("title", "${surfaceDisabled_text}");}//チェック内容リンク押下イベント
blockA("checkContentLink").elem(true).on("click", function(e) {//閉じるボタン
dialog.addButton("${surfaceReturnlist_text}", function() {dialog.close();});
dialog.open();e.stopPropagation(); //hrefの動作を抑止});//チェック設定リンク押下イベント
blockA("settings").elem(true).on("click", function(e) {kaidenErrorDisplay("hide");var ajax = KAIDEN.Ajax(), data = {}, wsUseSumCheck = {}, updateData = {};if (!KAIDEN.gadgetMan.preSingleValidate()) {return}; //単項目チェック前
if ("${debug}" || KAIDEN.gadgetMan.validate("settingsklsdaily36limitv01", false)) { //バリデーション
imuiConfirm("${messageSaveConfirm}", "", function() {wsUseSumCheck.wsCategoryCd = "${wsCategoryCd}";
wsUseSumCheck.companyCd = "${companyCd}";
wsUseSumCheck.wsAgreementCd = "${wsAgreementCd}";
wsUseSumCheck.searchCriteriaDate = "${openApplyDate}";wsUseSumCheck.gadgetClass = "${gadgetClass}";
wsUseSumCheck.gadgetVariation = "${gadgetVariation}";
wsUseSumCheck.gadgetInstance = "${gadgetInstance}";
wsUseSumCheck.checkRequiredFlag = blockA("checkRequiredFlag").getValue();
updateData = KAIDEN.gadgetMan.getDataSet("${gadgetId}");updateData.wsUseSumCheck = wsUseSumCheck
data.updateDataJson = KAIDEN.Util.stringifyJSON(updateData);//勤務体系情報より、更新カウンタを要求

86

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
data.wsaRenewCnt = KAIDEN.gadgetMan.execPull("claimWsaBasicInfo", undefined, "${gadgetId}")[0].result.renewCnt;
data.termCd = "${termCd}";
data.wsaTermRenewCnt = KAIDEN.gadgetMan.execPull("claimWsaTermInfo", undefined, "${gadgetId}")[0].result.renewCnt;
ajax.postSyncAuto("${accessUrl}/renewParamValues", data, function(returnData) {KAIDEN.getGadget("${gadgetId}").variable.loadSumCheckSetting(); //設定内容を検索});});} else {kaidenErrorDisplay("show");}});
KAIDEN.getGadget("${gadgetId}").variable.loadSumCheckSetting(); //設定内容を検索// ............................................................................................................
// その他チェック// ............................................................................................................
/*** 注意レベル1最大時刻チェック.
* <p>値 < 注意レベル２ < 注意レベル３ < 注意レベル4 を許容</p>* @param value 値* @param element 対象エレメント* @param param パラメータ（配列）*/KAIDEN.validator.addValidateMethod("${validTimeMax4Caution1}", function(/**String*/value, /**HtmlElement*/element,/**array*/param) {var level2 = KAIDEN.gadgetMan.getNeighboringAccessor(element, param[0]).getValue();var level3 = KAIDEN.gadgetMan.getNeighboringAccessor(element, param[1]).getValue();var level4 = KAIDEN.gadgetMan.getNeighboringAccessor(element, param[2]).getValue();if (level2) {if (level2 <= value) {var arg = [level2];
return KAIDEN.validator.validateFunction("k_timeMax")(value, element, arg);}}
if (level3) {if (level3 <= value) {var arg = [level3];
return KAIDEN.validator.validateFunction("k_timeMax")(value, element, arg);}}
if (level4) {if (level4 <= value) {var arg = [level4];
return KAIDEN.validator.validateFunction("k_timeMax")(value, element, arg);}}
return true;});
KAIDEN.validator.setInvalidMessage("${validTimeMax4Caution1}",function(arg, element) {var msgParam = []$.each(arg, function(index, value) {if (msgParam [0]) {msgParam [0] = msgParam [0] + " " + KAIDEN.gadgetMan.getNeighboringAccessor(element,arg[index]).elem().attr("data-kaiden-surface")} else {msgParam [0] = KAIDEN.gadgetMan.getNeighboringAccessor(element, arg[index]).elem().attr("data-kaiden-surface")}});
return KAIDEN.validator.formatMessage("${validMsg_timeMax}", element, msgParam);});/*** 注意レベル2最大時刻チェック.

87

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31* 注意レベル2最大時刻チェック.
* <p>値 < 注意レベル３ < 注意レベル4 を許容</p>* @param value 値* @param element 対象エレメント* @param param パラメータ（配列）*/KAIDEN.validator.addValidateMethod("${validTimeMax4Caution2}", function(/**String*/value, /**HtmlElement*/element,/**array*/param) {var level3 = KAIDEN.gadgetMan.getNeighboringAccessor(element, param[0]).getValue();var level4 = KAIDEN.gadgetMan.getNeighboringAccessor(element, param[1]).getValue();if (level3) {if (level3 <= value) {var arg = [level3];
return KAIDEN.validator.validateFunction("k_timeMax")(value, element, arg);}}

if (level4) {if (level4 <= value) {var arg = [level4];
return KAIDEN.validator.validateFunction("k_timeMax")(value, element, arg);}}
return true;});
KAIDEN.validator.setInvalidMessage("${validTimeMax4Caution2}",function(arg, element) {var msgParam = []$.each(arg, function(index, value) {if (msgParam [0]) {msgParam [0] = msgParam [0] + " " + KAIDEN.gadgetMan.getNeighboringAccessor(element,arg[index]).elem().attr("data-kaiden-surface")} else {msgParam [0] = KAIDEN.gadgetMan.getNeighboringAccessor(element, arg[index]).elem().attr("data-kaiden-surface")}});
return KAIDEN.validator.formatMessage("${validMsg_timeMax}", element, msgParam);});});</script>

確認
勤務体系マスタで、警告レベルごとのしきい値を設定してください。
(設定方法は 『intra-mart Accel Kaiden! 勤務管理 / 管理者操作ガイド』を参照してください)
遅刻早退時間が上記で設定したしきい値を超えた場合、レベルに応じたチェック結果が違反管理テーブル(k31t_violation)に登録されていることを確認してください。

コラム
k31t_violation.message_idにはメッセージ定義ファイルのメッセージIDが登録されており、
k31t_violation.message_argsにはメッセージの引数がカンマ区切りで登録されています。

intra-mart Accel Kaiden! 勤務管理モジュール の 管理者 機能拡張について解説します。

「管理者」とはintra-mart Accel Kaiden! 勤務管理モジュール には「管理者」という概念があります。
組織管理者マスタメンテナンス機能で、組織に対して管理者を設定されることで「管理者」として操作できます。

88intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
コラム
組織管理者マスタメンテナンス機能にて、IM-共通マスタ で設定した組織に対して、管理者となるユーザを設定します。
詳細は 『intra-mart Accel Kaiden! 勤務管理 / ユーザ操作ガイド』を参照してください。

コラム
本書では以下のように呼称します。
組織の管理者に設定されたユーザ・・・『管理者』
管理者として使用することができる機能・・・『管理者機能』管理者から見て管理する対象の組織・・・『管理組織』
管理者の管理組織に所属するユーザ・・・『管理ユーザ』

管理者は管理者機能を使用することで、管理組織に対して処理を行ったり、管理ユーザの情報を閲覧、訂正、及び設定変更を行うことができます。
intra-mart Accel Kaiden! 勤務管理モジュール 標準版での管理者機能は以下の通りです。
機能

備考

勤務表照会機能

管理ユーザの勤務表を照会できます。また、勤務表の訂正を行うことができます。

代理設定機能管理ユーザの代理設定を行うことができます。

承認者設定機能

管理ユーザの承認者設定を行うことができます。

日次承認機能管理ユーザの申請に対して日次承認を行うことができます。

締め処理機能管理組織の組織締めを行うことができます。管理組織が会社である場合、会社締めを行うことができます。

勤務表一括（組織）管理ユーザの日々の勤務予定／実績を一括で入力することができます。

コラム
管理者の設定をする際、権限の範囲としての権限セットを指定します。
権限セットとは、個別権限をカテゴライズしたものです。
権限セットは「権限セットマスタ(k31m_authorityset)」個別権限は「権限セット明細マスタ(k31m_authorityset_dtl)」で定義されており、intra-mart Accel Kaiden! 勤務管理モジュール 標準版ではメンテナン
ス機能はありません。
標準版での組織管理者の設定仕様は以下の通りです。
権限セットは「人事権限」「管理者権限」のいずれかを選択可能
人事権限は会社締め後であっても勤務表の訂正を行うことができるのに対して、管理者権限は組織締めされるまでに限って勤務表の訂正を行うことができます。
設定した組織とその配下組織すべての管理者に設定されたことになる会社に対して管理者を設定することで、会社全体の管理者となる締め処理機能で会社締めを行うためには、会社全体の管理者である必要があります。

管理者機能作成時のポイント
管理者機能は、管理ユーザを特定しそのユーザに紐づくデータを表示または処理できる必要があります。
管理ユーザと判定される条件は以下の通りです。
組織管理者マスタメンテナンスで、組織に対して対象の機能の権限が付与されていること(管理組織が設定されていること)
管理組織が属する会社に対して、認可が設定されていること(参照権または編集権)89

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
管理組織に IM-共通マスタ 上で所属しているユーザであること

コラム「所属する」について、主所属か副所属かを intra-mart Accel Kaiden! 勤務管理モジュール 設定ファイルで設定することができます。
intra-mart Accel Kaiden! 勤務管理モジュール 設定ファイルについては、『intra-mart Accel Kaiden! セットアップ
ガイド』を参照してください。

管理者機能を作成する際のポイントは、ログインユーザ（管理者）からみた管理ユーザを取得する ところです。
intra-mart Accel Kaiden! 勤務管理モジュール の基盤処理にて、管理ユーザを取得する仕組みを提供しています。
１つめとして、アクセス権フィルタ を使用する方法を、マスタメンテナンス機能の作成を例にして解説します。

アクセス権フィルタ
intra-mart Accel Kaiden! 勤務管理モジュール では、アクセスできる相手を制御するためのフィルタークラスを提供しています。
アクセス可能なユーザを判定し、ユーザリストを生成するフィルタ
管理者向けアクセス可能ユーザフィルタ
jp.co.slcs.kaiden.v2.product_labormgr.foundation.manager.access_data_filter.LaborSupAuthorizedAccessUserFilter
管理組織に設定されていて且つ管理組織が属する会社に認可(参照権 or 編集権、パラメータで指定)があるかを判定し、その組織に所属するユーザのリストを生成します。
フィルタを生成するサンプルコードを以下に記載します。
// 認可条件
AuthorityCriteriaDto authCriteria = new AuthorityCriteriaDto();authCriteria.action = CompanyAuthzActionType.READER;
authCriteria.locale = contextHelper.getLoginUserLocale();authCriteria.searchCriteriaDate = dateHelper.getNowTimestamp();authCriteria.userCd = contextHelper.getLoginUserCd();// 会社コード（省略可）
String companyCd = "xxx";// 管理組織に所属するユーザを検索する基準日
Timestamp a2CriteriaDate = dateHelper.getNowTimestamp();// 権限コード
String authorityCd = "xxx";// ログインユーザ除外フラグ(true:除外する)
boolean isExcludePerson = false;// フィルタ生成
LaborSupAuthorizedAccessUserFilter filter = new LaborSupAuthorizedAccessUserFilter(authCriteria,
companyCd, a2CriteriaDate, authorityCd, isExcludePerson);

本人向けアクセス可能ユーザフィルタ
jp.co.slcs.kaiden.v2.product_labormgr.foundation.manager.access_data_filter.LaborEmpAuthorizedAccessUserFilter
本人が所属する会社に認可(参照権 or 編集権、パラメータで指定)があるかを判定し、認可ありの場合は本人のユーザコードをリストにセットします。
フィルタを生成するサンプルコードを以下に記載します。

90

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31// 認可条件
AuthorityCriteriaDto authCriteria = new AuthorityCriteriaDto();authCriteria.action = CompanyAuthzActionType.READER;
authCriteria.locale = contextHelper.getLoginUserLocale();authCriteria.searchCriteriaDate = dateHelper.getNowTimestamp();authCriteria.userCd = contextHelper.getLoginUserCd();// フィルタ生成
LaborEmpAuthorizedAccessUserFilter filter = new LaborEmpAuthorizedAccessUserFilter(authCriteria);

コラム
上記は intra-mart Accel Kaiden! 勤務管理モジュール で提供しているフィルタクラスですが、
intra-mart Accel Kaiden! 基盤モジュール でもアクセス権フィルタクラスを提供しています。
ユーザフィルタjp.co.slcs.kaiden.v2.base.foundation.manager.access_data_filter.StandardAuthorizedAccessUserFilter
認可がある会社に所属しているユーザを取得し、ユーザコードリストを生成します。

マスタメンテナンス機能 Controller
Controllerクラスでのポイントは以下の通りです。
継承するクラス
期間化マスタの場合はjp.co.slcs.kaiden.v2.base.foundation.master.AbstractTermMasterA2MaintenanceController
クラスを継承し、非期間化マスタの場合はjp.co.slcs.kaiden.v2.base.foundation.master.AbstractMasterA2MaintenanceControllerクラスを継承します。
権限コードの宣言
対象の機能の権限コードを宣言します。
ここで宣言するコードは項目マスタに登録されていることが前提です。
実装するフィルタメソッド
READERアクセス権フィルタ取得メソッドとWRITERアクセス権フィルタ取得メソッドをそれぞれ記述します。
Logic取得メソッド
Logicにフィルタ情報をセットして返却します。
/* *************************************************************************************** ここでは期間化マスタの例として* jp.co.slcs.kaiden.v2.base.foundation.master.AbstractTermMasterA2MaintenanceControllerクラスを継承します。
* 非期間化マスタの場合はjp.co.slcs.kaiden2.base.foundation.master.AbstractMasterA2MaintenanceControllerクラスを継承します。
* ************************************************************************************** */public class DeptAdminFuncController extends AbstractTermMasterA2MaintenanceController {@Autowired
public DeptAdminFuncLogic deptAdminFuncLogic;/* *************************************************************************************** 管理組織に所属するユーザ、を判定する基準日。
* ************************************************************************************** */protected Timestamp a2CriteriaDate;/* *************************************************************************************** 権限コードを宣言します。
* 権限コードは項目マスタに登録します。
* ************************************************************************************** */91

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31* ************************************************************************************** */protected static final String TARGET_AUTHORITY_ID_CD = "310004-XXX";/* *************************************************************************************** データ読み取り時(READER)のアクセス権フィルタ取得メソッドを記述します。
* ************************************************************************************** */@Override
protected AuthorizedAccessUserFilterIF[] getReadAuthorizedAccessUserFilter() {AuthorityCriteriaDto authCriteria = new AuthorityCriteriaDto();authCriteria.action = CompanyAuthzActionType.READER;
authCriteria.locale = contextHelper.getLoginUserLocale();/* *************************************************************************************** 管理組織を取得する際の基準日を設定します。
* ************************************************************************************** */authCriteria.searchCriteriaDate = dateHelper.getNowTimestamp();authCriteria.userCd = contextHelper.getLoginUserCd();
LaborSupAuthorizedAccessUserFilter filter = new LaborSupAuthorizedAccessUserFilter(authCriteria,"%会社コード%", a2CriteriaDate, TARGET_AUTHORITY_ID_CD, false);
return new AuthorizedAccessUserFilterIF[] {filter};}/* *************************************************************************************** データ書き込み時(WRITER)のアクセス権フィルタ取得メソッドを記述します。
* ************************************************************************************** */@Override
protected AuthorizedAccessUserFilterIF[] getWriteAuthorizedAccessUserFilter() {AuthorityCriteriaDto authCriteria = new AuthorityCriteriaDto();authCriteria.action = CompanyAuthzActionType.WRITER;
authCriteria.locale = contextHelper.getLoginUserLocale();authCriteria.searchCriteriaDate = dateHelper.getNowTimestamp();authCriteria.userCd = contextHelper.getLoginUserCd();
LaborSupAuthorizedAccessUserFilter filter = new LaborSupAuthorizedAccessUserFilter(authCriteria,"%会社コード%", a2CriteriaDate, TARGET_AUTHORITY_ID_CD, false);
return new AuthorizedAccessUserFilterIF[] {filter};}/* *************************************************************************************** Logic取得メソッド。AbstractTermMasterA2MaintenanceActionが利用します。
* Logicにフィルタ情報をセットして返却します。
* ************************************************************************************** */@Override
protected AbstractMasterA2MaintenanceLogic getLogic() {deptAdminFuncLogic.setReadA2Filter(getReadAuthorizedAccessUserFilter());
deptAdminFuncLogic.setWriteA2Filter(getWriteAuthorizedAccessUserFilter());
deptAdminFuncLogic.setCallerAction(this.getClass());
return deptAdminFuncLogic;}/* *************************************************************************************** 検索画面で検索ボタンを押下したときのアクション。
* ************************************************************************************** */@Override
public String search(HttpServletRequest request, HttpServletResponse response, Form form, Model model) {/* *************************************************************************************** 管理組織に所属するユーザ、を判定する基準日をセットします。
* ************************************************************************************** */a2CriteriaDate = dateHelper.toTimestamp("%基準日%");return super.search(request, response, form, model);
}
// ・
// ・
// ・
// ・
// 以降、イベントに対応するメソッドを記述}

92

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
マスタメンテナンス機能 Logic
Logicクラスでのポイントは以下の通りです。
継承するクラス
期間化マスタの場合はjp.co.slcs.kaiden.v2.base.foundation.master.AbstractTermMasterA2MaintenanceLogicクラスを継承し、非期間化マスタの場合はjp.co.slcs.kaiden.v2.base.foundation.master.AbstractMasterA2MaintenanceLogicクラスを継承します。
/* *************************************************************************************** ここでは期間化マスタの例として* jp.co.slcs.kaiden.v2.base.foundation.master.AbstractTermMasterA2MaintenanceLogicクラスを継承します。
* 非期間化マスタの場合はjp.co.slcs.kaiden.v2.base.foundation.master.AbstractMasterA2MaintenanceLogicクラスを継承します。
* ************************************************************************************** */public class DeptAdminFuncLogic extends AbstractTermMasterA2MaintenanceLogic {
// ・
// ・
// 記載を省略します。
// ・
// ・
}

コラム
Managerを個別に呼び出す必要がある場合、パラメータでアクセス権フィルタクラスを渡します。
読み取り権の場合はreadA2Filter、書き込み権の場合はwriteA2Filterです。
詳細はjp.co.slcs.kaiden.v2.base.foundation.master.AbstractMasterA2MaintenanceLogicクラスのAPIリスト
を参照ください。

マスタメンテナンス機能 Manager
Managerクラスでのポイントは以下の通りです。
継承するクラス
期間化マスタの場合はjp.co.slcs.kaiden.v2.base.foundation.manager.AbstractTermMasterA2Manager<DTO, F>クラスを継承し、非期間化マスタの場合はjp.co.slcs.kaiden.v2.base.foundation.manager.AbstractMasterA2Manager<DTO, F>クラス
を継承します。
権限を考慮するメソッド、権限を考慮しないメソッドを実装
権限を考慮するメソッドと権限を考慮しないメソッドを実装します。
権限を考慮するメソッドにアクセス権フィルタを渡すことで、管理対象ユーザかどうかの判定を行い、結果をフィルタリング
して返却します。
public interface DeptAdminFuncManager extends
TermMasterA2Manager<DeptAdminFuncManagerDto, AuthorizedAccessUserFilterIF> {
// ・
// ・
// 記載を省略します。
// ・
// ・
}

93

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31/* *************************************************************************************** ここでは期間化マスタの例として* jp.co.slcs.kaiden.v2.base.foundation.manager.AbstractTermMasterA2Manager<DTO, F>クラスを継承します。
* 非期間化マスタの場合はjp.co.slcs.kaiden.v2.base.foundation.manager.AbstractMasterA2Manager<DTO, F>クラスを継承します。
* ************************************************************************************** */public class DeptAdminFuncManagerImpl extends
AbstractTermMasterA2Manager<DeptAdminFuncManagerDto, AuthorizedAccessUserFilterIF> implements
DeptAdminFuncManager {
// ・
// ・
// 記載を省略します。
// ・
// ・
/* *************************************************************************************** 権限を考慮した主キー検索メソッド。
* Actionで定義したFilterクラスをパラメータで渡します。
* ************************************************************************************** */@Override
public DeptAdminFuncManagerDto select(DeptAdminFuncManagerDto criteria,
AuthorizedAccessUserFilterIF[] a2Filter) {return super.select(k31mXxxService, criteria, a2Filter);}/* *************************************************************************************** 権限を考慮しない主キー検索メソッド。
* 会社認可、及びアクセス権による絞り込みを行わないで結果を返却します。
* ************************************************************************************** */@Override
public DeptAdminFuncManagerDto selectIgnoreAuth(DeptAdminFuncManagerDto criteria) {return super.selectIgnoreAuth(k31mXxxService, criteria);
}
// ・
// ・
// 記載を省略します。
// ・
// ・
}

２つめとして、アクセス権フィルタを使用せずに DBファンクション を直接使用するケースを解説します。
DBファンクション
intra-mart Accel Kaiden! 勤務管理モジュール では、管理組織及び管理ユーザを取得する手段として、DBファンクションを提供しています。
前項で紹介したマスタメンテナンス機能のアクセス権フィルタクラスの実態も、以下のDBファンクションを使用しています。
管理組織取得DBファンクション - kimm_has_authority_dept
引数
No.

論理名

型

1

ユーザコード(管理者)

varchar2

2

管理ユーザ所属判定基準日 timestamp3

管理者権限判定基準日

timestamp

4

会社コード

varchar2

5

組織セットコードvarchar2

94

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
No.

論理名

型

6

権限コード

varchar2

7

組織コードvarchar2

戻り値
No.

論理名

型

1

会社コード

varchar2

2

組織セットコード varchar2

3

組織コード

varchar2

管理ユーザ取得DBファンクション - klbr_has_authority_user
引数
No.

論理名

型

1

ユーザコード(管理者)

varchar2

2

管理ユーザ所属判定基準日 timestamp3

管理者権限判定基準日

timestamp

4

会社コード

varchar2

5

組織セットコードvarchar2

6

権限コードvarchar2

7

組織コードvarchar28

主所属フラグvarchar2

No.

論理名

型

1

ユーザコード(管理ユーザ) varchar2

戻り値

その他
本項では、他の項で解説していないその他機能の概要を解説します。

機能説明
本項では、intra-mart Accel Kaiden!XMLについて解説します。

95

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
constants
基盤モジュール
IM-Workflow連携モジュール
ワークフローモジュール
勤務管理モジュール
DataDelivery連携モジュール
Microsoft 365 連携モジュール
SAStruts版 アーカイブ(IM-Workflow連携モジュール)
SAStruts版 アーカイブ(ファイル連携モジュール)constants
intra-mart Accel Kaiden!では各モジュールごとに定数ファイルを用意しています。
各モジュールで定義している定数は以下の通りです。

注意
各モジュールの定数ファイルでモジュールのバージョンを定義しています。
定数ファイルを変更した環境をアップデートする場合、モジュールバージョンの値を修正してください。
また、アップデートにより定数ファイルの定義に変更がないか確認してください。

基盤モジュールPathsrc/main/webapp/WEB-INF/classes/jp/co/slcs/kaiden2/base_constants.xml

Key

初期値

項目名

説明

BASE.version

2.0.xx基盤モジュール

モジュールのバージョンをバージョン

定義しています。

通貨整数部桁数

intra-mart Accel

BASE.currency.scaleInt

9

Kaiden!で使用する通貨整数部桁数を定義しています。
BASE.currency.scaleDec4

通貨小数部桁数

intra-mart Accel
Kaiden!で使用する通貨小数部桁数を定義しています。

BASE.timeFormat.nextDaySymbol+

24時間制時刻表

時刻テキストボックスで記 翌日記号

24時間を超えた場合に表示する記号です。

BASE.pdf.ja.font

HeiseiKakuGo- PDF出力ロケール PDF出力のjaフォント
W5ごとのフォント(itextのフォントを指定)を(itextのフォント

定義しています。

を指定)
BASE.pdf.ja.enCoding

UniJIS-UCS2-H PDF出力ロケール PDF出力のjaフォント
ごとのフォント(itextのフォントを指定)を(itextのフォント

定義しています。

を指定)
BASE.pdf.en.font

HeiseiKakuGo- PDF出力ロケール PDF出力のenフォント
W5ごとのフォント(itextのフォントを指定)を(itextのフォント

定義しています。

を指定)96

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
Key

初期値

BASE.pdf.en.enCoding

UniJIS-UCS2-H PDF出力ロケール PDF出力のenフォント

項目名

説明

ごとのフォント(itextのフォントを指定)を(itextのフォント

定義しています。

を指定)
BASE.pdf.zh_CN.font

HeiseiKakuGo- PDF出力ロケール PDF出力のzh_CNフォント
W5

ごとのフォント(itextのフォントを指定)を(itextのフォント

定義しています。

を指定)
BASE.pdf.zh_CN.enCoding

UniJIS-UCS2-H PDF出力ロケール PDF出力のzh_CNフォント
ごとのフォント(itextのフォントを指定)を(itextのフォント

定義しています。

を指定)
BASE.filtering.conditionMode0

フィルタリング条 以下の定義によって条件を件競合時の条件適 適用します。
用モード

0:論理積(and)
1:論理和(or)BASE.documentData.zip.countBASE.masterSearch.displayUpperLimitNumber

100

10

BASE.masterSearchSp.displayUpperLimitNumber 20

Zip化実施時のZip化実施時のファイル数

ファイル数を定義しています。

マスタ検索部品

マスタ検索部品（PC版）（PC版）の表示の表示上限件数を定義して

上限件数

います。

マスタ検索部品

マスタ検索部品（SP版）（SP版）の表示上 の表示上限件数を定義して限件数
BASE.masterCache.mode

0

います。

マスタキャッシュ 以下のとおりMaster
モード

Builder部品で検索時のマ
スタキャッシュモードを適用します。
0:ガジェット単位でマスタ
データのキャッシュを行います。
1:申請書単位でマスタデー
タのキャッシュを行います。
9:マスタデータのキャッシュを行いません。

BASE.settingMaster.mode

false

設定マスタモード 以下のとおり intra-mart
Accel Kaiden! の設定の読込方法を適用します。
true: intra-mart Accel
Kaiden! の設定を設定マ
スタから読み込みます。
false: intra-mart Accel
Kaiden! の設定を設定
ファイルから読み込みます。

97intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
コラム
マスタキャッシュモード「0：ガジェット単位でキャッシュ」もしくは「1：申請書単位でキャッシュ」を設定すると、MasterBuilder検索部品
で検索時に「extensionId」を含めた検索条件と結果をキャッシュに保持します。
再検索時に検索条件が同じ場合はキャッシュした検索結果を使用します。
「1：申請書単位でキャッシュ」を指定する場合の注意点
1. 標準機能のガジェットはガジェットごとにMasterBuilder検索部品の「extensionId」の設定（検索条件）が異なるため、「1：申請書単位でキャッシュ」を指定する場合は「extensionId」の設定を統一する必要があります。
2. ガジェットごとで同じ検索条件のMasterBuilder検索部品が存在する場合はレスポンスが改善する可能性があります。

注意
設定マスタモード「true: intra-mart Accel Kaiden! の設定を設定マスタから読み込み」を設定した場合、設定マスタの登録が必須となります。
設定マスタの設定は、『intra-mart Accel Kaiden! 経費旅費 / 管理者操作ガイド』-「マスタ設定」-「設定マスタ」を参照してください。

IM-Workflow連携モジュール
Path
src/main/webapp/WEB-INF/classes/jp/co/slcs/kaiden2/extension_imw_constants.xml

Key

初期値

項目名

説明

EIMW.version

2.0.xxIM-

モジュールのWorkflow バージョンを定連携モ義しています。

ジュール
バージョ
ン
EIMW.allow_cplmatterdelete

0

完了案件

以下の定義に削除を可

よって削除可否否を判定します。
1:許容
それ以外:許容しない

EIMW.archivemode

EIMW.v2.jsp_path.select_company

EIMW.v2.jsp_path.select_company

0

アーカイ

以下の定義に

ブ処理時よって保存範囲のデータを判定します。

保存範囲

0:履歴含まずの定義

1:履歴含む/kaiden/v2/extension_imw/workflow 会社選択

会社選択画面の/select_company

画面JSPパ JSPを定義してい/select_company.jsp

スます。

/kaiden/v2/extension_imw/workflow 会社(sp)

会社(sp)選択画/select_company

選択画面

面のJSPを定義し/select_company_sp.jsp

JSPパス

ています。

98

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
Key

初期値

項目名

説明

EIMW.v2.jsp_path.apply/kaiden/v2/extension_imw

申請画面

申請画面のJSPを/workflow/apply

JSPパス

定義していま/apply.jsp
EIMW.v2.jsp_path.apply_sp

EIMW.v2.jsp_path.temporary_save

EIMW.v2.jsp_path.temporary_save_sp

EIMW.v2.jsp_path.unapply

EIMW.v2.jsp_path.unapply_sp

EIMW.v2.jsp_path.reapplyす。

/kaiden/v2/extension_imw

申請(sp)/workflow/apply

画面JSPパ JSPを定義してい/apply_sp.jsp

ス

ます。

/kaiden/v2/extension_imw

一時保存

一時保存画面の/workflow/temporary_save

画面JSPパ JSPを定義してい/temporary_save.jsp

スます。

/kaiden/v2/extension_imw

一時保存

一時保存(sp)画/workflow/temporary_save(sp)画面

面のJSPを定義し/temporary_save_sp.jsp

JSPパス

ています。

/kaiden/v2/extension_imw

申請(起票

申請(起票案件)/workflow/unapply

案件)画面

画面のJSPを定義/unapply.jsp

JSPパス

しています。

/kaiden/v2/extension_imw

申請(起票

申請(起票案件)/workflow/unapply

案件)(sp)(sp)画面のJSPを/unapply_sp.jsp

画面JSPパ 定義していまス

す。

/kaiden/v2/extension_imw

再申請画

再申請画面のJSP/workflow/reapply

面JSPパス を定義していま/reapply.jsp
EIMW.v2.jsp_path.reapply_sp

EIMW.v2.jsp_path.process

す。

/kaiden/v2/extension_imw

再申請

再申請(sp)画面/workflow/reapply(sp)画面

のJSPを定義して/reapply_sp.jsp

JSPパス

います。

/kaiden/v2/extension_imw

処理画面

処理画面のJSPを/workflow/process

JSPパス

定義していま/process.jsp
EIMW.v2.jsp_path.process_sp

EIMW.v2.jsp_path.confirm

す。

/kaiden/v2/extension_imw

処理(sp)/workflow/process

画面JSPパ JSPを定義してい/process_sp.jsp

ス

ます。

/kaiden/v2/extension_imw

確認画面

確認画面のJSPを/workflow/confirm

JSPパス

定義していま/confirm.jsp
EIMW.v2.jsp_path.confirm_sp

EIMW.v2.jsp_path.process_detail

EIMW.v2.jsp_path.process_detail_sp

EIMW.v2.jsp_path.reference_detail

EIMW.v2.jsp_path.reference_detail_sp

申請(sp)画面の処理(sp)画面のす。

/kaiden/v2/extension_imw

確認(sp)/workflow/confirm

画面JSPパ JSPを定義してい/confirm_sp.jsp

ス

ます。

/kaiden/v2/extension_imw

処理詳細

処理詳細画面の/workflow/process_detail

画面JSPパ JSPを定義してい/process_detail.jsp

スます。

/kaiden/v2/extension_imw

処理詳細

処理詳細(sp)画/workflow/process_detail(sp)画面

面のJSPを定義し/process_detail_sp.jsp

JSPパス

ています。

/kaiden/v2/extension_imw

参照詳細

参照詳細画面の/workflow/reference_detail

画面JSPパ JSPを定義してい/reference_detail.jsp

スます。

/kaiden/v2/extension_imw

参照詳細

参照詳細(sp)画/workflow/reference_detail(sp)画面

面のJSPを定義し/reference_detail_sp.jsp

JSPパス

ています。

99

確認(sp)画面のintra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
Key

初期値

項目名

説明

EIMW.v2.jsp_path.confirm_detail/kaiden/v2/extension_imw

確認詳細

確認詳細画面の/workflow/confirm_detailx

画面JSPパ JSPを定義してい/confirm_detail.jsp

スます。

/kaiden/v2/extension_imw

確認詳細

確認詳細(sp)画/workflow/confirm_detail(sp)画面

面のJSPを定義し/confirm_detail_sp.jsp

JSPパス

ています。

/kaiden/v2/extension_imw

過去詳細

過去詳細画面の/workflow/archive_matter_detail

画面JSPパ JSPを定義してい/archive_matter_detail.jsp

ス

ます。

EIMW.v2.jsp_path.confirm_detail_sp

EIMW.v2.jsp_path.archive_matter_detail

EIMW.v2.jsp_path.archive_matter_detail_sp /kaiden/v2/extension_imw

EIMW.v2.jsp_path.sp_nosupport

EIMW.v2.jsp_path.sp_nosupport_detail

過去詳細

過去詳細(sp)画/workflow/archive_matter_detail(sp)画面

面のJSPを定義し/archive_matter_detail_sp.jsp

JSPパス

ています。

/kaiden/v2/extension_imw

モバイル

モバイルサポー/workflow/sp_nosupport

サポート

ト外画面のJSPを/sp_nosupport.jsp

外画面JSP 定義していまパスす。

/kaiden/v2/extension_imw

モバイル

モバイルサポー/workflow/sp_nosupport

サポート

ト外画面の詳細/sp_nosupport_detail.jsp

外画面JSP 用のJSPを定義し
パス(詳細

ています。

用)
EIMW.v2.jsp_path.history/kaiden/v2/extension_imw

履歴画面

履歴画面のJSPを/workflow/history

JSPパス

定義していま/history.jsp
EIMW.v2.jsp_path.printす。

/kaiden/v2/extension_imw

印刷画面

印刷画面のJSPを/workflow/print

JSPパス

定義していま/print.jsp
EIMW.v2.jsp_path.matter_search

EIMW.v2.jsp_path.matter_search

EIMW.v2.jsp_path.public_matter_search

す。

/kaiden/v2/extension_imw

申請書検/workflow/matter_search

索画面JSP のJSPを定義して/matter_search.jsp

パス

います。

/kaiden/v2/extension_imw

申請書検

申請書検索(sp)/workflow/matter_search

索(sp)画

画面のJSPを定義/matter_search_sp.jsp

面JSPパス しています。

/kaiden/v2/extension_imw

申請書検

申請書検索（公/workflow/public_matter_search

索（公開

開申請書コ

/public_matter_search.jsp

申請書コピー）画面のJSPピー）画を定義していま

申請書検索画面

面JSPパス す。
EIMW.v2.jsp_path.public_matter_search_sp/kaiden/v2/extension_imw

申請書検

申請書検索（公/workflow/public_matter_search

索（公開

開申請書コ

/public_matter_search_sp.jsp

申請書コピー）(sp)画面

ピー）のJSPを定義して(sp)画面

います。

JSPパス

100

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
Key

初期値

項目名

説明

EIMW.sendback_regist0

差戻し

以下の条件で入時、処理力値登録有無を画面の入判定します。

力値登録

0:登録しない、

有無

及びサーバサイド入力チェックを実施しない1:登録する、及びサーバサイド
入力チェックを実施する

EIMW.reserve_regist

0

保留時、

以下の条件で入処理画面

力値登録有無をの入力値判定します。

登録有無

0:登録しない、
及びサーバサイド入力チェックを実施しない1:登録する、及びサーバサイド
入力チェックを実施する

EIMW.reserve_cancel_regist

0

保留解除

以下の条件で入時、処理力値登録有無を画面の入判定します。

力値登録

0:登録しない、

有無

及びサーバサイド入力チェックを実施しない1:登録する、及びサーバサイド
入力チェックを実施する

EIMW.v2.jsp_include_path.matter_info

/WEB-

案件情報

案件情報のJSPを

INF/views/kaiden/v2/extension_imw JSPパス

定義していま/workflow/matter_info

す。

/matter_info.jsp
EIMW.v2.jsp_include_path.matter_info

/WEB-

案件情報

案件情報(sp)の

INF/views/kaiden/v2/extension_imw (sp)JSPパ

JSPを定義してい/workflow/matter_info

ス

ます。

案件情報

案件情報（印刷/matter_info_sp.jsp
EIMW.v2.jsp_include_path.matter_info_print /WEB-

INF/views/kaiden/v2/extension_imw （印刷用）のJSPを定義/workflow/matter_info用）パス

しています。

/kaiden/v2/extension_imw

印刷画面

印刷画面のJSPを/workflow/print

JSPパス

定義していま/matter_info.jsp
EIMW.v2.jsp_path.print/print.jsp
EIMW.v2.jsp_include_path.history_info

/WEB-

す。
案件履歴

案件履歴のJSPを

INF/views/kaiden/v2/extension_imw JSPパス

定義していま/workflow/history_info

す。

/history_info.jsp

101intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
Key

初期値

項目名

EIMW.v2.jsp_include_path.extension/WEB-

拡張JSPパ GadgetBuilder

説明

INF/views/kaiden/v2/extension_imw ス（画面版ガジェットの/workflow/extension/include.jsp

拡張JSPパスを定共通）

義しています。
EIMW.master.app.dispPagePathFlag

0

申請書マ

以下の条件で申スタの請書マスタのページパ

ページパス入力

ス入力欄

欄の表示有無をの表示判定します。
0:表示しない(標準)1:表示する(カスタマイズ向け)EIMW.master.app.processInputSp

0

申請書マ

以下の条件で申スタの承請書マスタの承認入力時

認入力時のsp画のsp画面

面利用可否を判

利用可否

定します。
0:利用不可(標準)1:利用可(カスタマイズ向け)

EIMW.appCopy.replaceForCopy

false

申請書コ

申請書コピー時

ピー時にに明細データを明細デー

全行洗い替える

タを全行か追記するかを洗い替え判定します。

る or 追記 明細データとモード

は、Tmtable、
Cardを指します。
当設定は、通常の申請書コピー
以外に事前申請書コピー、申請書公開コピー、決裁事前申請書
コピーも対象です。
true:申請書コ
ピー時に明細を
全行洗い替えます。
false :申請書コ
ピー時に明細の最下行に追記します。

ワークフローモジュール
Path
src/main/webapp/WEB-INF/classes/jp/co/slcs/kaiden2/product_workflow_constants.xml

102intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
Key

初期値

項目名

説明

PWKF.version

2.0.xx

ワークフ

モジュールのローモバージョンを定ジュール

義しています。

バージョン
PWKF.master.app.dispPagePathFlag 0

申請書マス

以下の定義にタのページよって表示有無

パス入力欄を切り替えまの表示

す。
0:表示しない(標準)1:表示する(カスタマイズ向け)PWKF.master.app.processInputSp

0

申請書マス

以下の定義にタの承認入よってsp画面利

力時のsp画用有無を切り替

面利用可否

えます。
0:利用不可(標準)1:利用可(カスタマイズ向け)

PWKF.jNavi.method.validData

PWKF.jNavi.method.ticketAmount

TicketIsExistResponse

TicketAmountResponse

J’sNAVI Jr.有 J’sNAVI Jr.有効
効なチケッ

なチケット伝票

ト伝票デー

データの存在有

タの存在有

無情報取得メ

無情報取得

ソッドを定義し

メソッド

ています。

J’sNAVI Jr.チ J’sNAVI Jr.チ
ケット発注

ケット発注金額

金額合計取合計取得メソッ

得メソッド

ドを定義しています。

PWKF.File.numbering.enabled

true

ファイルID

以下の定義に発番設定

よってファイル
IDの発番有無を切替えます。
true:ファイルID
を「prefix + 連番(formatで指定した形式) +
suffix」形式で発番します。
false:ユニークな
IDを自動発番します。

PWKF.File.numbering.prefix

ファイルID接頭辞「ファイル「ファイル管管理」で発理」で発番する

番するファファイルIDの接イルIDの接頭辞を定義して

頭辞を定義

います。

していま
す。

103

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
Key

初期値

項目名

説明

PWKF.File.numbering.format%05d

ファイルID「ファイル管連番フォー理」で採番するマット

連番のフォー
マットを定義しています。

PWKF.File.numbering.suffix

なし

ファイルID「ファイル管接尾辞理」で発番するファイルIDの接頭辞を定義しています。

PWKF.File.upload.path

kaiden/upload

ファイル/{COMPANY_CD}/{FILE_ID}/{PROC_NO} アップロー
ド先「ファイル管理」で登録したファイルのアップロード先を定義しています。

PWKF.File.upload.extension

PWKF.File.upload.other.extension.pdf,.bmp,.gif,.jpg,.jpeg,.png,.tif,.tiff

ファイル「ファイル管

アップロー

理」で登録可能

ド可能ななファイルの拡ファイルの張子を定義して拡張子います。

.pdf,.bmp,.gif,.jpg,.jpeg,.png,.tif,.tiff,

ファイル「ファイル管.doc,.docm,.docx,.xlm,.xls,.xlsm,.xlsx,

アップロー

理」で「ファイ

.eml,.msg,.zip

ド可能なそル分類」が「その他ファイの他」の場合にルの拡張子登録可能なファイルの拡張子を定義しています。

コラム
標準の申請書マスタに対する「申請書マスタのページパス入力欄の表示」の設定は、「extension_imw_constants.xml」に移動しました。
「product_workflow_constants.xml」の設定はSAStruts版 アーカイブ(ワークフローモジュール)の申請書マスタ用の
定義です。

104

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
コラム
ファイルIDの接頭辞、接尾辞で使用可能な置換文字列は次の通りです。
置換文字列を設定する際は、「{}」で囲んでください。
置換文字列

説明

COMPANY_CD

会社コードに置換します。

CATEGORY_CD

ファイル分類コードに置換します。

PROC_CD

処理方法コードに置換します。

RECEIVED_CD

受領方法コードに置換します。

PROC_DATE_Y1

処理日時「西暦年(yyyy)」に置換します。

PROC_DATE_Y2

処理日時「西暦年上2桁(yy)」に置換します。

PROC_DATE_Y3

処理日時「西暦年下2桁(yy)」に置換します。

PROC_DATE_G3

処理日時「和暦元号(G)」に置換します。

PROC_DATE_GY1 処理日時「和暦年(y)」に置換します。
PROC_DATE_GY2 処理日時「和暦年(yy)」に置換します。
PROC_DATE_M1

処理日時「月(M)」に置換します。

PROC_DATE_M2

処理日時「月(MM)」に置換します。

PROC_DATE_D1

処理日時「日(d)」に置換します。

PROC_DATE_D2

処理日時「日(dd)」に置換します。

PROC_DATE

処理日時「年月日(yyyyMMdd)」に置換します。

105

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
コラム
ファイルアップロード先で使用可能な置換文字列は次の通りです。
置換文字列を設定する際は、「{}」で囲んでください。
置換文字列

説明

COMPANY_CD

会社コードに置換します。

FILE_ID

ファイルIDに置換します。

PROC_NO

処理番号に置換します。

CATEGORY_CD

ファイル分類コードに置換します。

PROC_CD

処理方法コードに置換します。

RECEIVED_CD

受領方法コードに置換します。

PROC_DATE_Y1

処理日時「西暦年(yyyy)」に置換します。

PROC_DATE_Y2

処理日時「西暦年上2桁(yy)」に置換します。

PROC_DATE_Y3

処理日時「西暦年下2桁(yy)」に置換します。

PROC_DATE_G3

処理日時「和暦元号(G)」に置換します。

PROC_DATE_GY1 処理日時「和暦年(y)」に置換します。
PROC_DATE_GY2 処理日時「和暦年(yy)」に置換します。
PROC_DATE_M1

処理日時「月(M)」に置換します。

PROC_DATE_M2

処理日時「月(MM)」に置換します。

PROC_DATE_D1

処理日時「日(d)」に置換します。

PROC_DATE_D2

処理日時「日(dd)」に置換します。

PROC_DATE

処理日時「年月日(yyyyMMdd)」に置換します。

勤務管理モジュールPath
src/main/webapp/WEB-INF/classes/jp/co/slcs/kaiden2/product_labormgr_constants.xml

Key

初期値

項目名

説明

PLBR.version

2.0.xx

勤務管理モ

モジュールのジュールバージョンを定バージョン

義しています。

勤務時間入入力可能時刻を力欄最大入

切り替えます。

力可能時刻

ex. 48 = 当日の

PLBR.workTimeInputMax

48

0：00〜翌日の23：59の間で入力可能
48を超える設定
はサポート対象外です
PLBR.LumpUpload.maxCount

1000

106

作業実績一

作業実績一括括アップ

アップロード時

ロード時のの最大アップ

最大アップ

ロード件数を定ロード件数義しています。

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
Key

初期値

項目名

説明

PLBR.workDataFixPeriod.canOpenBefore

2

会社組織締

現在月よりどのめ可能期間くらい前の期間

現在月よりの締め・締め解

前除が可能かを定義しています。
ex. 1 = 現在月〜1か月前の期間まで締め・締め解除可能

PLBR.workDataFixPeriod.canOpenAfter

1

会社組織締

現在月よりどのめ可能期間くらい後の期間

現在月よりの締め・締め解後除が可能かを定義しています。
ex. 1 = 現在月〜1か月後の期間まで締め・締め解除可能

PLBR.workDataConfirm.limit

PLBR.workDataConfirm.targetMonthBefore

PLBR.workReport.leaveType.limit

20

12

4

作業実績確

作業実績確認一認一覧の検覧の検索画面に索画面に表表示する最大件示する最大数を定義してい

件数

ます。

作業実績確

作業実績確認一認一覧の対覧の対象年月の象年月の表

表示範囲を定義

示範囲しています。

勤務表に表

勤務表の集計値

示する休暇の残数管理に表

種別の最大示する休暇種別

件数の最大件数を定義しています。

PLBR.workReport.

klsIntervalBetweenTheWork【集計

勤務間インターintervalBetweenTheWorkGadget_v01_1チェック】

バルチェック設

勤務間イン定有無を判定すターバル

るガジェットをチェック設

定義していま

定有無判定

す。

用ガジェッ

本項目はカスタト

マイズなどで使用する項目です。
カスタマイズを行わない場合は変更不要です。

107

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
Key

初期値

項目名

説明

PLBR.workReport.

klsDifferenceFromObjectiveTime【集計

客観時間と勤務differenceFromObjectiveTimeGadget_v01_1

チェック】

時間の乖離

客観時間と

チェック設定有

勤務時間の無を判定するガ乖離チェッ

ジェットを定義

ク設定有無

しています。

判定用ガ

本項目はカスタジェット

マイズなどで使用する項目です。
カスタマイズを行わない場合は変更不要です。

PLBR.workReport.leaveManagement.

1

adjustHours.auth.edit

調整後時間

休暇管理マスタ数の編集可で調整後時間数

能項目コーの編集が可能なド

項目コードを定※利用不可

義しています。
カンマ区切りで複数設定可能です。

PLBR.dailyApproveSp.limit

20

日次承認画

スマートフォン

面に表示す用画面の日次承る最大件数

認・日次承認(管理者)画面に表示
する最大件数を定義しています。

PLBR.formatSumValPattern

1

集計値表示

「0」を指定しパターン

た場合、時刻形（時刻形

式で表示する集式）

計値がマイナスの場合ハイフン”-“で表示します。
「0」以外を指定した場合、マ
イナスの集計値
をマイナス値のまま表示します。

PLBR.workDataInputDetail.defaultRowExists 1

作業実績入「0」を指定し力初期表示

た場合、初期表

時行追加有示時空白行が表無示されません。
「1」を指定した場合、初期表
示時空白行が表示されます。

108

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
Key

初期値

項目名

説明

PLBR.sumApi.summaryUseScaleLimit

3

集計処理で

intra-mart

平均値を算

Accel Kaiden!

出する際の

勤務管理モ

スケールの

ジュールのモ

最大値

ジュール設定の「平均値算出時のスケール」で設定可能な値の最大値を設定します。
「3」を指定した場合、「平均値算出時のスケール」に0から3の整数を指定可能です。

PLBR.nonWorkingHoursChecker.

0001

deductionMcategoryCd

非労働時間

非労働時間

チェック対

チェックで非労象の休憩・働時間とする休控除・時間憩・控除・時間

年休中分類

年休中分類コー

コード

ドを定義しています。
カンマ区切りで複数設定可能です。

PLBR.tsukinhiWeb.detailUnit.

employeeId,detailId,

通勤費Web

通勤費Web連携

csv.columns

registKind,useStartDate,

連携の勤務の勤務実費明細

useEndDate,paymentYm,route,

実費明細(明 (明細単位)でイ

refundDate,refundAmount,細単位)CSV ンポート・エク

refundCommission,

カラム

スポートするrefundPaymentYm,paymentDays,

CSVカラムを定dailyRefundExecutionFlag,

義しています。

usedDays

コラム
調整後時間数の編集可能項目コードの「PLBR.workReport.leaveManagement.adjustHours.auth.edit」は利用不可です。
調整後時間数の編集可能項目コードを設定する場合は、intra-mart Accel Kaiden! 勤務管理モジュールのモジュール設
定で設定します。
モジュール設定の詳細は『intra-mart Accel Kaiden! セットアップガイド』-「WARファイルの作成」-「intra-mart
Accel Kaiden! の設定ファイル」-「intra-mart Accel Kaiden! 勤務管理モジュール」-「モジュール設定」を参照してください。

DataDelivery連携モジュール
Path
src/main/webapp/WEB-INF/classes/jp/co/slcs/kaiden2/relation_data_delivery_constants.xml

Key

初期値

項目名

説明

RDDV.version

2.0.xx

DataDelivery連携

モジュールのバー

モジュールバージョ ジョンを定義してい
ン

109

ます。

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
Key

初期値

項目名

RDDV.File.Conductor.

kaiden/DataDelivery

PDF／CSV出力用パ PDF／CSV出力用のDataDelivery.Pathス

説明

パスを定義しています。

RDDV.File.Conductor.

/home/PDF_IN/

PDFファイルパス

PDFの出力先のパス

Default.PDF.Path{COMPANY_CD}/{FILE_ID}/

を定義しています。

{PROC_NO}/{OUTPUT_TS}/「PDF／CSV出力用{PDF_FILE_NAME}

パス」＋本設定値のパスにPDFを出力します。
連携データには本パスのみ出力します。

RDDV.File.Conductor.

/home/CSV_IN/

CSVファイルパス

CSVの出力先のパス

Default.CSV.Path{COMPANY_CD}_を定義しています。

{FILE_CATEGORY_CD}_「PDF／CSV出力用{RECEIVED_CATEGORY_CD}_

パス」＋本設定値の{OUTPUT_DATE}.csv

パスにCSVを出力します。

RDDV.File.Conductor.

matterNumber,matterName,applyBaseDate, CSV出力カラム

CSVに出力する連携

Default.CSV.Columns

authUserCd,authUserName,executeUserCd,

データを定義していexecuteUserName,executeDate,

ます。

processStatusCd,processStatusName,
linkageStatusCd,linkageStatusName,
companyCd,fileId,procNo,systemMatterId,
userDataId,gadgetId,blockId,tupleId,
rowNumber,procUserCd,procUserName,
procTs,procCd,procName,fileCategoryCd,
fileCategoryName,receivedCategoryCd,
receivedCategoryName,receivedCd,
receivedName,receivedTs,receivedUserCd,
receivedUserName,checkedTs,
checkedAuthUserCd,checkedAuthUserName,checkedExecuteUserCd,
checkedExecuteUserName,
tradingDate,customerCd,customerName,transCurrencyCd,transAmount,summary,fullFileId,resolutionCheck,timestampSetting,timestampTs,
pdfFilePath,pdfFileName,orgFileName,registratedNumber,originalStorageFlag,originalStorage,fileCategoryBreakdownCd,
fileCategoryBreakdownName,procItemCd,
fileCategoryItemCd,receivedCategoryItemCd
RDDV.File.Conductor.

UTF-8

CSV文字コードDefault.CSV.Character
RDDV.File.Conductor.

定義しています。
,

CSV区切り文字

Default.CSV.Delimiter
RDDV.File.Conductor.

CSVの文字コードを

CSVの区切り文字を定義しています。

“

CSV囲み文字Default.CSV.Enclosing

CSVの囲み文字を定義しています。

110intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
コラム
PDFファイルパス、CSVファイルパスで使用可能な置換文字列は次の通りです。
置換文字列を設定する際は、「{}」で囲んでください。
仕入先コード、予備項目A〜Jは標準機能では値が設定されません。
置換文字列

説明

COMPANY_CD

会社コードに置換します。

FILE_ID

ファイルIDに置換します。

PROC_NO

処理番号に置換します。

PROC_USER_CD

処理ユーザコードに置換します。

PROC_USER_NAME

処理ユーザ名に置換します。

PROC_TS

処理日時（yyyyMMdd）に置換します。

PROC_CD

処理方法コードに置換します。

PROC_NAME

処理方法名に置換します。

FILE_CATEGORY_CD

ファイル分類コードに置換します。

FILE_CATEGORY_NAME

ファイル分類名に置換します。

RECEIVED_CATEGORY_ITEM_CD

受領方法カテゴリ項目コードに置換します。

RECEIVED_CATEGORY_CD

受領方法カテゴリコードに置換します。

RECEIVED_CATEGORY_NAME

受領方法カテゴリ名に置換します。

RECEIVED_CD

受領方法コードに置換します。

RECEIVED_NAME

受領方法名に置換します。

RECEIVED_TS

受領日時（yyyyMMdd）に置換します。

RECEIVED_USER_CD

受領者コードに置換します。

RECEIVED_USER_NAME

受領者名に置換します。

TRADING_DATE

取引日（yyyyMMdd）に置換します。

CUSTOMER_CD

取引先コードに置換します。

CUSTOMER_NAME

取引先名に置換します。

TRANS_CURRENCY_CD

取引通貨コードに置換します。

TRANS_AMOUNT

取引通貨額に置換します。

PDF_FILE_NAME

PDFファイル名に置換します。

OUTPUT_DATE

出力日（yyyyMMdd）に置換します。

OUTPUT_TS

出力日（yyyyMMddHHmmssSS）に置換します。

ORIGINAL_STORAGE_FLAG

原本保管フラグに置換します。

ORIGINAL_STORAGE

原本保管名に置換します。

FILE_CATEGORY_BREAKDOWN_CD

ファイル分類内訳コードに置換します。

FILE_CATEGORY_BREAKDOWN_NAME ファイル分類内訳名に置換します。
FILE_CATEGORY_ITEM_CD

ファイル分類項目コードに置換します。

USE_EXTENSION_A〜J

予備項目A〜Jに置換します。

111

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
コラム
ファイル分類がその他の場合、次の項目は設定されません。
そのため、PDFファイルパス、CSVファイルパスで置換文字列に指定された場合、「NONE」に変換して出力します。
置換文字列

説明

RECEIVED_CATEGORY_ITEM_CD 受領方法カテゴリ項目コード
RECEIVED_CATEGORY_CD

受領方法カテゴリコード

RECEIVED_CATEGORY_NAME

受領方法カテゴリ名

RECEIVED_CD

受領方法コード

RECEIVED_NAME

受領方法名

RECEIVED_TS

受領日時（yyyyMMdd）

TRADING_DATE

取引日（yyyyMMdd）

CUSTOMER_CD

取引先コードCUSTOMER_NAME

取引先名

TRANS_CURRENCY_CD

取引通貨コード

TRANS_AMOUNT

取引通貨額

コラム
以下、CSVへ出力可能なカラムの一覧です。
CSV出力カラムで使用します。
仕入先コード、予備項目A〜Jは標準機能では値が設定されません。
CSV出力カラム一覧
キー値

matterNumber

案件番号

matterName

案件名

applyBaseDate

申請基準日

authUserCd

処理権限者コードauthUserName

処理権限者名executeUserCd

処理実行者コード

executeUserName

処理実行者名executeDate

処理実行日時processStatusCd

処理ステータスコード

processStatusName

処理ステータス名

linkageStatusCd

連携ステータスコード

linkageStatusName

連携ステータス名

companyCd

会社コード

fileId

ファイルID

procNo

処理番号

systemMatterId

システム案件ID

userDataId

ユーザデータID

112

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
キー値

gadgetId

ガジェットID

blockId

ブロックID

tupleId

タプルID

rowNumber

行番号

procUserCd

処理ユーザコード

procUserName

処理ユーザ名

procTs

処理日時

procCd

処理方法コード

procName

処理方法名

fileCategoryCd

ファイル分類コード

fileCategoryName

ファイル分類名

receivedCategoryCd

受領方法カテゴリコード

receivedCategoryName

受領方法カテゴリ名

receivedCd

受領方法コード

receivedName

受領方法名

receivedTs

受領日時

receivedUserCd

受領者コードreceivedUserName

受領者名checkedTs

確認日時

checkedAuthUserCd

確認権限者コード

checkedAuthUserName

確認権限者名checkedExecuteUserCd

確認実行者コード

checkedExecuteUserName

確認実行者名tradingDate

取引日

customerCd

取引先コードcustomerName

取引先名

transCurrencyCd

取引通貨コードtransAmount

取引通貨額

summary

摘要

fullFileId

ファイルID&処理番号

resolutionCheck

解像度チェック結果

timestampSetting

タイムスタンプ付与結果

timestampTs

タイムスタンプ日時

pdfFilePath

PDFファイルパス

pdfFileName

PDFファイル名

orgFileName

オリジナルファイル名

registratedNumber

登録番号

originalStorageFlag

原本保管フラグ

113

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
キー値

originalStorage

原本保管名

fileCategoryBreakdownCd

ファイル分類内訳コード

fileCategoryBreakdownName ファイル分類内訳名
procItemCd

処理方法項目コード

fileCategoryItemCd

ファイル分類項目コード

receivedCategoryItemCd

受領方法カテゴリ項目コード

useExtensionA〜J

予備項目A〜J

Microsoft 365 連携モジュール
Path
src/main/webapp/WEB-INF/classes/jp/co/slcs/kaiden2/relation_microsoft_365_constants.xml

Key

初期値

項目名

説明

RMST.version

2.0.xxMicrosoft 365

モジュールのバージョ

連携モジュールンを定義しています。

バージョン
RMST.authorizeUrl

https://login.microsoftonline.com/ Azure AD認証エ

Azure AD認証のエン{TENANT_ID}/oauth2/v2.0/

ドポイントを定義してンドポイントいます。
RMST.microsoftGraphUrl

https://graph.microsoft.com/v1.0/ Microsoft Graph Microsoft Graph API

RMST.calendar.targetDaysBefore 30

APIエンドポインのエンドポイントを定ト

義しています。

Microsoft 365カ Microsoft 365カレン
レンダー取得日数 ダーから取得する日数(過去)(過去)を定義しています。

RMST.calendar.targetDaysAfter10

Microsoft 365カ Microsoft 365カレン
レンダー取得日数 ダーから取得する日数(未来)(未来)を定義しています。

SAStruts版 アーカイブ(IM-Workflow連携モジュール)Path
src/main/webapp/WEB-INF/classes/jp/co/slcs/kaiden2/archive_extension_imw_constants.xml

Key

初期値

EIMW.jsp_path.select_company/kaiden2/extension_imw/workflow 会社選択画 会社選択画面のJSPを項目名/select_company

面JSPパス

説明

定義しています。

/select_company.jsp
EIMW.jsp_path.select_company

EIMW.jsp_path.apply/kaiden2/extension_imw/workflow 会社(sp)選会社(sp)選択画面の/select_company

択画面JSP

JSPを定義していま/select_company_sp.jsp

パス

す。

/kaiden2/extension_imw

申請画面

申請画面のJSPを定義/workflow/apply

JSPパス

しています。

/apply.jsp

114

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
Key

初期値

項目名

説明

EIMW.jsp_path.apply_sp/kaiden2/extension_imw

申請(sp)画申請(sp)画面のJSPを/workflow/apply

面JSPパス

定義しています。

/apply_sp.jsp
EIMW.jsp_path.temporary_save/kaiden2/extension_imw

一時保存画 一時保存画面のJSPを/workflow/temporary_save

面JSPパス

定義しています。

/kaiden2/extension_imw

一時保存

一時保存(sp)画面の/workflow/temporary_save(sp)画面JSPを定義していま/temporary_save_sp.jsp

JSPパス

す。

/kaiden2/extension_imw

申請(起票

申請(起票案件)画面/workflow/unapply案件)画面のJSPを定義していま/unapply.jsp

JSPパス

す。

/kaiden2/extension_imw

申請(起票

申請(起票案件)(sp)/workflow/unapply

案件)(sp)

画面のJSPを定義して/unapply_sp.jsp

画面JSPパ

います。

/temporary_save.jsp
EIMW.jsp_path.temporary_save_sp

EIMW.jsp_path.unapply

EIMW.jsp_path.unapply_sp

ス
EIMW.jsp_path.reapply/kaiden2/extension_imw

再申請画面 再申請画面のJSPを定/workflow/reapply

JSPパス

義しています。

/reapply.jsp
EIMW.jsp_path.reapply_sp

EIMW.jsp_path.process/kaiden2/extension_imw

再申請(sp) 再申請(sp)画面のJSP/workflow/reapply

画面JSPパ/reapply_sp.jsp

ス/kaiden2/extension_imw

処理画面

処理画面のJSPを定義/workflow/process

JSPパス

しています。

/kaiden2/extension_imw

処理(sp)画処理(sp)画面のJSPを/workflow/process

面JSPパス

定義しています。

/kaiden2/extension_imw

確認画面

確認画面のJSPを定義/workflow/confirm

JSPパス

しています。

/kaiden2/extension_imw

確認(sp)画確認(sp)画面のJSPを/workflow/confirm

面JSPパス

定義しています。

を定義しています。

/process.jsp
EIMW.jsp_path.process_sp/process_sp.jsp
EIMW.jsp_path.confirm/confirm.jsp
EIMW.jsp_path.confirm_sp/confirm_sp.jsp
EIMW.jsp_path.process_detail/kaiden2/extension_imw

処理詳細画 処理詳細画面のJSPを/workflow/process_detail

面JSPパス

定義しています。

/kaiden2/extension_imw

処理詳細

処理詳細(sp)画面の/workflow/process_detail(sp)画面JSPを定義していま/process_detail_sp.jsp

JSPパス

す。

/kaiden2/extension_imw

参照詳細画 参照詳細画面のJSPを/workflow/reference_detail

面JSPパス

定義しています。

/kaiden2/extension_imw

参照詳細

参照詳細(sp)画面の/workflow/reference_detail(sp)画面JSPを定義していま/reference_detail_sp.jsp

JSPパス

す。

/kaiden2/extension_imw

確認詳細画 確認詳細画面のJSPを/workflow/confirm_detailx

面JSPパス/process_detail.jsp
EIMW.jsp_path.process_detail_sp

EIMW.jsp_path.reference_detail/reference_detail.jsp
EIMW.jsp_path.reference_detail_sp

EIMW.jsp_path.confirm_detail/confirm_detail.jsp

115

定義しています。

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
Key

初期値

項目名

説明

EIMW.jsp_path.confirm_detail_sp/kaiden2/extension_imw

確認詳細

確認詳細(sp)画面の/workflow/confirm_detail(sp)画面JSPを定義していま/confirm_detail_sp.jsp

JSPパス

す。

/kaiden2/extension_imw

過去詳細画 過去詳細画面のJSPを/workflow/archive_matter_detail

面JSPパス

定義しています。

EIMW.jsp_path.archive_matter_detail/archive_matter_detail.jsp
EIMW.jsp_path.archive_matter_detail_sp /kaiden2/extension_imw

EIMW.jsp_path.sp_nosupport

EIMW.jsp_path.sp_nosupport_detail

過去詳細

過去詳細(sp)画面の/workflow/archive_matter_detail(sp)画面JSPを定義していま/archive_matter_detail_sp.jsp

JSPパス

す。

/kaiden2/extension_imw

モバイルサ モバイルサポート外/workflow/sp_nosupport

ポート外画 画面のJSPを定義して/sp_nosupport.jsp

面JSPパス/kaiden2/extension_imw

モバイルサ モバイルサポート外/workflow/sp_nosupport

ポート外画 画面の詳細用のJSPを/sp_nosupport_detail.jsp

面JSPパスいます。

定義しています。

(詳細用)
EIMW.jsp_path.history/kaiden2/extension_imw

履歴画面

履歴画面のJSPを定義/workflow/history

JSPパス

しています。

/kaiden2/extension_imw

印刷画面

印刷画面のJSPを定義/workflow/print

JSPパス

しています。

/history.jsp
EIMW.jsp_path.print/print.jsp
EIMW.jsp_path.matter_search

EIMW.jsp_path.matter_search

EIMW.jsp_path.public_matter_search/kaiden2/extension_imw

申請書検索 申請書検索画面のJSP/workflow/matter_search

画面JSPパ/matter_search.jsp

ス/kaiden2/extension_imw

申請書検索 申請書検索(sp)画面/workflow/matter_search(sp)画面

のJSPを定義していま/matter_search_sp.jsp

JSPパス

す。

/kaiden2/extension_imw

申請書検索 申請書検索（公開申/workflow/public_matter_search（公開申請 請書コピー）画面の/public_matter_search.jsp

書コピー） JSPを定義していま
画面JSPパを定義しています。

す。

ス
EIMW.jsp_path.public_matter_search_sp/kaiden2/extension_imw

申請書検索 申請書検索（公開申/workflow/public_matter_search（公開申請 請書コピー）(sp)画/public_matter_search_sp.jsp

書コピー） 面のJSPを定義してい(sp)画面ます。

JSPパス
EIMW.jsp_include_path.matter_info

/WEB-

案件情報

案件情報のJSPを定義

INF/view/kaiden2/extension_imw

JSPパス

しています。

/WEB-

案件情報

案件情報(sp)のJSPを

INF/view/kaiden2/extension_imw(sp)JSPパ

定義しています。

/workflow/matter_info

ス/workflow/matter_info/matter_info.jsp
EIMW.jsp_include_path.matter_info/matter_info_sp.jsp
EIMW.jsp_include_path.matter_info_print /WEB-

案件情報

案件情報（印刷用）

INF/view//kaiden2/extension_imw （印刷用） のJSPを定義していま/workflow/matter_info/matter_info.jsp

116

パス

す。

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
Key

初期値

項目名

説明

EIMW.jsp_path.print/kaiden2/extension_imw

印刷画面

印刷画面のJSPを定義/workflow/print

JSPパス

しています。

案件履歴

案件履歴のJSPを定義/print.jsp
EIMW.jsp_include_path.history_info/WEB-

INF/view//kaiden2/extension_imw JSPパス

しています。

/workflow/history_info/history_info.jsp
EIMW.jsp_include_path.extension/WEB-

拡張JSPパGadgetBuilder版ガINF/view/kaiden2/extension_imw

ス（画面共 ジェットの拡張JSPパ/workflow/extension/include.jsp

通）

スを定義しています。

SAStruts版 アーカイブ(ファイル連携モジュール)Path
src/main/webapp/WEB-INF/classes/jp/co/slcs/kaiden2/relation_file_constants.xml

Key

初期値

項目名

説明

RFIL.version

2.0.xxSAStruts版 アーカイブ

モジュールのバージョンを定義し(ファイル連携モジューています。

ル)バージョン
RFIL.logic_designer_sortnumber

1000

IM-LogicDesignerカテ

IM-LogicDesignerタスクの「ファゴリソート番号

イル連携」のソート番号を定義しています。

RFIL.logic_designer_output_path

kaiden/file

ファイル配置先「ファイル設定」、「ファイル連携」で登録したファイルの配置先を定義しています。

RFIL.file_link_id_numbering_prefix{PROC_DATE}- ファイル連携ID 発番文字 「ファイル設定」、「ファイル連
列接頭辞携」で採番するファイル連携IDの接頭辞を定義しています。

RFIL.file_link_id_numbering_format %05d

ファイル連携ID 発番文字 「ファイル設定」、「ファイル連列フォーマット携」で採番するファイル連携IDのフォーマット形式を定義しています。

RFIL.file_link_id_numbering_suffix

なし

ファイル連携ID 発番文字 「ファイル設定」、「ファイル連
列接尾辞携」で採番するファイル連携IDの接尾辞を定義しています。

RFIL.proc_number_path_format%02d

処理番号フォーマット

「ファイル設定」、「ファイル連携」で採番する処理番号のフォー
マット形式を定義しています。

117

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
コラム
ファイル連携IDの発番文字列接頭辞、接尾辞で使用可能な置換文字列は次の通りです。
置換文字列を設定する際は、「{}」で囲んでください。
置換文字列

説明

COMPANY_CD

会社コードに置換します。

PROC_USER_CD

処理ユーザコードに置換します。

PROC_DATE_Y1

処理日時「西暦年(yyyy)」に置換します。

PROC_DATE_Y2

処理日時「西暦年上2桁(yy)」に置換します。

PROC_DATE_Y3

処理日時「西暦年下2桁(yy)」に置換します。

PROC_DATE_G3

処理日時「和暦元号(G)」に置換します。

PROC_DATE_GY1 処理日時「和暦年(y)」に置換します。
PROC_DATE_GY2 処理日時「和暦年(yy)」に置換します。
PROC_DATE_M1

処理日時「月(M)」に置換します。

PROC_DATE_M2

処理日時「月(MM)」に置換します。

PROC_DATE_D1

処理日時「日(d)」に置換します。

PROC_DATE_D2

処理日時「日(dd)」に置換します。

PROC_DATE

処理日時「年月日(yyyyMMdd)」に置換します。

CATEGORY

ファイル分類コードに置換します。

118

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31

リファレンス
バリデーション
項目

119intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
はじめに
本バリデーションを使用する際の注意点
intra-mart Accel Kaiden! 基盤モジュール
必須
いずれか必須いずれか必須（checkbox）
コード（intra-mart Accel Kaiden!）
コード（intra-mart Accel Platform）
ロケール
フラグ
最小文字数
最大文字数
固定文字数
半角英字
半角英数字
半角数字
半角英数記号整数
小数
数値範囲
数値範囲（不等号選択）
最小数値
最小数値（不等号選択）
最大数値
最大数値（不等号選択）
日付形式
日付範囲
日付範囲（不等号選択）
最小日付
最小日付（不等号選択）
最大日付
最大日付（不等号選択）
時刻
時刻範囲
時刻範囲（不等号選択）
最小時刻
最小時刻（不等号選択）
最大時刻
最大時刻（不等号選択）
時刻単位
正規表現
不一致
通貨額
FB文字
intra-mart Accel Kaiden! IM-Workflow連携モジュール
ワークフロー日付

はじめに
本バリデーションを使用する際の注意点

120intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
本バリデーションはバリデーション対象の項目に設定する必要があります。
<k:text
name="sample"
mode="0"validationDefault="{"k_required:['']"}"/>

intra-mart Accel Kaiden! 基盤モジュール
必須概要
本バリデーションが設定された項目に、値が入力されているか否かを判定します。
チェックOK ：対象項目に値が入力されている。
チェックNG ：対象項目に値が入力されていない。
詳細
バリデーションクラス RequiredValidator
ID（JavaScript）

k_required

ID（Java）

required

出力メッセージ必須です。

引数本バリデーションに引数はありません。

いずれか必須概要
引数で指定されたすべての項目に、値が入力されているか否かを判定します。
チェックOK ：引数で指定されたいずれかの項目に値が入力されている。
チェックNG ：引数で指定されたすべての項目に値が入力されていない。
詳細
バリデーションクラス RequiredAnyValidator
ID（JavaScript）

k_requiredAny

ID（Java）

requiredAny

出力メッセージ

いずれか必須です。[{0}]{0}：引数で指定されたフィールドの名称を出力します。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

チェック対象フィールド（「name」属性）の配列を設定します。

○

121

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
いずれか必須（checkbox）
概要
引数で指定されたすべての項目（checkbox）が、選択されているか否かを判定します。
チェックOK ：引数で指定されたいずれかの項目が選択されている。
チェックNG ：引数で指定されたすべての項目が選択されていない。
詳細
バリデーションクラス AnyOnForCheckValidator
ID（JavaScript）

k_anyOnForCheck

ID（Java）

anyOnForCheck

出力メッセージ

いずれか必須です。[{0}]{0}：引数で指定されたフィールドの名称を出力します。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

チェック対象フィールド（「name」属性）の配列を設定します。

○

コード（intra-mart Accel Kaiden!）
概要
本バリデーションが設定された項目の値が、intra-mart Accel Kaiden!のコード体系で入力されているか否かを判定します。
チェックOK ：対象項目の値がintra-mart Accel Kaiden!のコード体系のみで入力されている。
チェックNG ：対象項目の値にintra-mart Accel Kaiden!のコード体系以外の文字が含まれている。

コラム
intra-mart Accel Kaiden!のコード体系に含まれる文字は次の通りです。
半角英数字：A-Za-z0-9
記号：_-

詳細
バリデーションクラス KaidenIdValidator
ID（JavaScript）

k_kaidenId

ID（Java）

kaidenId

出力メッセージ

半角英数字、「_」、「-」で入力してください。

引数本バリデーションに引数はありません。

コード（intra-mart Accel Platform）
概要
本バリデーションが設定された項目の値が、intra-mart Accel Platformのコード体系で入力されているか否かを判定します。

122

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
チェックOK ：対象項目の値がintra-mart Accel Platformのコード体系のみで入力されている。
チェックNG ：対象項目の値にintra-mart Accel Platformのコード体系以外の文字が含まれている。

コラム
intra-mart Accel Platformのコード体系に含まれる文字は次の通りです。
半角英数字：A-Za-z0-9
記号：_-@.+!

詳細バリデーションクラスImIdValidator

ID（JavaScript）

k_imIdID（Java）

imId

出力メッセージ

半角英数字、「_」、「-」、「@」、「.」、「+」、「!」で入力してください。

引数
本バリデーションに引数はありません。

ロケール
概要
本バリデーションが設定された項目の値が、intra-mart Accel Platformのシステムロケールに存在するロケールか否かを判定します。
チェックOK ：対象項目の値が、intra-mart Accel Platformのシステムロケールに存在する。
チェックNG ：対象項目の値が、intra-mart Accel Platformのシステムロケールに存在しない。
詳細
バリデーションクラス LocaleValidator
ID（JavaScript）（JavaScriptでのバリデーションなし）

ID（Java）

locale

出力メッセージ

指定されたロケールは存在しません。

引数本バリデーションに引数はありません。

フラグ
概要
本バリデーションが設定された項目の値が、「0」または「1」で入力されているか否かを判定します。
チェックOK ：対象項目の値が「0」または「1」で入力されている。
チェックNG ：対象項目の値が「0」または「1」で入力されていない。
詳細
バリデーションクラス FlagValidator
ID（JavaScript）

k_flag123

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
ID（Java）

flag

出力メッセージ

フラグとして認識できない文字です。

引数
本バリデーションに引数はありません。

最小文字数
概要
本バリデーションが設定された項目の値が、「最小文字数 <= 入力文字数」の範囲で入力されているか否かを判定します。
チェックOK ：対象項目の値が「最小文字数 <= 入力文字数」の範囲内で入力されている。
チェックNG ：対象項目の値が「最小文字数 <= 入力文字数」の範囲を超えて入力されている。
詳細
バリデーションクラス MinLengthValidator
ID（JavaScript）

k_minLength

ID（Java）

minLength

出力メッセージ{0}文字以上で入力してください。
{0}：引数で指定された最小文字数を出力します。

引数本バリデーションの引数は次の通りです。

設定
順

説明

必須

1

最小文字数を設定します。

○

最大文字数
概要
本バリデーションが設定された項目の値が、「入力文字数 <= 最大文字数」の範囲で入力されているか否かを判定します。
チェックOK ：対象項目の値が「入力文字数 <= 最大文字数」の範囲内で入力されている。
チェックNG ：対象項目の値が「入力文字数 <= 最大文字数」の範囲を超えて入力されている。
詳細
バリデーションクラス MaxLengthValidator
ID（JavaScript）

k_maxLength

ID（Java）

maxLength

出力メッセージ{0}文字以下で入力してください。
{0}：引数で指定された最大文字数を出力します。

引数本バリデーションの引数は次の通りです。

124intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
設定
順

説明

必須

1

最大文字数を設定します。

○

固定文字数
概要
本バリデーションが設定された項目の値が、固定文字数で入力されているか否かを判定します。
チェックOK ：対象項目の値が固定文字数で入力されている。
チェックNG ：対象項目の値が固定文字数以外の文字数で入力されている。
詳細
バリデーションクラス FixedLengthValidator
ID（JavaScript）

k_fixedLength

ID（Java）

fixedLength

出力メッセージ{0}文字で入力してください。
{0}：引数で指定された固定文字数を出力します。

引数本バリデーションの引数は次の通りです。

設定
順

説明

必須

1

固定文字数を設定します。

○

半角英字
概要
本バリデーションが設定された項目の値が、半角英字（A-Za-z）で入力されているか否かを判定します。
チェックOK ：対象項目の値が半角英字のみで入力されている。
チェックNG ：対象項目の値に半角英字以外の文字が含まれている。
詳細
バリデーションクラス AlphaValidator
ID（JavaScript）

k_alphaID（Java）

alpha

出力メッセージ

半角英字で入力してください。

引数本バリデーションに引数はありません。

半角英数字
概要

125

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
本バリデーションが設定された項目の値が、半角英数字（A-Za-z0-9）で入力されているか否かを判定します。
チェックOK ：対象項目の値が半角英数字のみで入力されている。
チェックNG ：対象項目の値に半角英数字以外の文字が含まれている。
詳細
バリデーションクラス AlphaNumericValidator
ID（JavaScript）

k_alphaNumericID（Java）

alphaNumeric

出力メッセージ

半角英数字で入力してください。

引数本バリデーションに引数はありません。

半角数字
概要
本バリデーションが設定された項目の値が、半角数字（0-9）で入力されているか否かを判定します。
チェックOK ：対象項目の値が半角数字のみで入力されている。
チェックNG ：対象項目の値に半角数字以外の文字が含まれている。
詳細
バリデーションクラス NumericValidator
ID（JavaScript）

k_numericID（Java）

numeric

出力メッセージ

半角数字で入力してください。

引数本バリデーションに引数はありません。

半角英数記号
概要
本バリデーションが設定された項目の値が、半角英数（A-Za-z0-9）と半角記号で入力されているか否かを判定します。
チェックOK ：対象項目の値が半角英数記号のみで入力されている。
チェックNG ：対象項目の値に半角英数記号以外の文字が含まれている。
詳細
バリデーションクラス AlphaNumericSymbolValidator
ID（JavaScript）

k_alphaNumericSymbol

ID（Java）

alphaNumericSymbol

出力メッセージ

半角英数字記号で入力してください。

引数本バリデーションに引数はありません。

126

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
整数
概要
本バリデーションが設定された項目の値が、半角数字、マイナス（0-9-）で入力されているか否かを判定します。
チェックOK ：対象項目の値が半角数字、マイナスのみで入力されており、整数部桁数以内の文字数で入力されている。
チェックNG ：対象項目の値に半角数字、マイナス以外の文字が含まれている、または、整数部桁数を超える文字数で入力されている。
詳細
バリデーションクラス IntegerValidator
ID（JavaScript）

k_integer

ID（Java）

integer

出力メッセージ{0}桁までの数値を入力してください。
{0}：引数で指定された整数部の桁数を出力します。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

マイナス記号の桁数を除いた整数部の桁数を設定します。

○

小数
概要
本バリデーションが設定された項目の値が、半角数字、ドット、マイナス（0-9.-）で入力されているか否かを判定します。
チェックOK ：対象項目の値が半角数字、ドット、マイナスのみで入力されており、整数部、小数部が指定桁数以内の文字数で入力されている。
チェックNG ：対象項目の値に半角数字、ドット、マイナス以外の文字が含まれている、または、整数部、小数部のいずれかが指定桁数を超える文字数で入力されている。

コラム
整数部桁数に「0」を指定した場合でも、整数部の値が「0」であればチェックOKとします。
詳細バリデーションクラス DigitsValidator
ID（JavaScript）

k_digits

ID（Java）

digits

出力メッセージ

整数部{0}桁、小数部{1}桁を入力してください。
{0}：引数で指定された整数部の桁数を出力します。
{1}：引数で指定された小数部の桁数を出力します。

引数本バリデーションの引数は次の通りです。

127intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
設定
順

説明

必須

1

整数部の桁数を設定します。

○

2

小数部の桁数を設定します。

○

数値範囲
概要
本バリデーションが設定された項目の値が、「最小数値 <= 入力値 <= 最大数値」の範囲で入力されているか否かを判定します。
チェックOK ：対象項目の値が「最小数値 <= 入力値 <= 最大数値」の範囲内で入力されている。
チェックNG ：対象項目の値が「最小数値 <= 入力値 <= 最大数値」の範囲を超えて入力されている。

注意
最小数値、最大数値、入力値のすべてが数値変換できない場合はチェックを実施しません。
数値型のチェックは含まれないため、他のチェック（数字・整数・小数）と組み合わせて使用してください。
詳細バリデーションクラス NumericRangeValidator
ID（JavaScript）

k_numericRange

ID（Java）

numericRange

出力メッセージ{0} - {1}の範囲で入力してください。
{0}：引数で指定された最小数値を出力します。
{1}：引数で指定された最大数値を出力します。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

最小数値を設定します。

○

最小数値を保持するフィールドの「name」属性を設定することも可能です。
2○

最大数値を設定します。
最大数値を保持するフィールドの「name」属性を設定することも可能です。

数値範囲（不等号選択）概要
本バリデーションが設定された項目の値が、「最小数値 <= （または < ） 入力値 <= （または < ） 最大数値」の範囲で入力されているか否かを判定します。
チェックOK ：対象項目の値が「最小数値 <= （または < ） 入力値 <= （または < ） 最大数値」の範囲内で入力されている。
チェックNG ：対象項目の値が「最小数値 <= （または < ） 入力値 <= （または < ） 最大数値」の範囲を超えて入力されている。

注意
最小数値、最大数値、入力値のすべてが数値変換できない場合はチェックを実施しません。
数値型のチェックは含まれないため、他のチェック（数字・整数・小数）と組み合わせて使用してください。

128

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
詳細
バリデーションクラス NumericRange2Validator
ID（JavaScript）

k_numericRange2

ID（Java）

numericRange2

出力メッセージ

引数の条件で次のメッセージを表示します。
{0}以上、{1}以下の範囲で入力してください。
{0}以上、{1}未満の範囲で入力してください。
{0}超、{1}以下の範囲で入力してください。
{0}超、{1}未満の範囲で入力してください。
{0}：引数で指定された最小数値を出力します。
{1}：引数で指定された最大数値を出力します。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

最小数値を設定します。

○

最小数値を保持するフィールドの「name」属性を設定することも可能です。
2○

最大数値を設定します。
最大数値を保持するフィールドの「name」属性を設定することも可能です。

3

入力値が最小数値と同じ値の場合にチェックOKとするか否かを設定します。
“true”：チェックOKとします。（最小数値 <= 入力値）
“false”：チェックNGとします。（最小数値 < 入力値）
※省略時は“false”が設定されたものとします。

4

入力値が最大数値と同じ値の場合にチェックOKとするか否かを設定します。
“true”：チェックOKとします。（入力値 <= 最大数値）“false”：チェックNGとします。（入力値 < 最大数値）※省略時は“false”が設定されたものとします。

最小数値
概要
本バリデーションが設定された項目の値が、「最小数値 <= 入力値」の範囲で入力されているか否かを判定します。
チェックOK ：対象項目の値が「最小数値 <= 入力値」の範囲内で入力されている。
チェックNG ：対象項目の値が「最小数値 <= 入力値」の範囲を超えて入力されている。

注意
最小数値、入力値の両方が数値変換できない場合はチェックを実施しません。
数値型のチェックは含まれないため、他のチェック（数字・整数・小数）と組み合わせて使用してください。
詳細バリデーションクラス NumericMinValidator
ID（JavaScript）

k_numericMin

ID（Java）

numericMin

129intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31{0}以上で入力してください。

出力メッセージ{0}：引数で指定された最小数値を出力します。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

最小数値を設定します。

○

最小数値を保持するフィールドの「name」属性を設定することも可能です。

最小数値（不等号選択）概要
本バリデーションが設定された項目の値が、「最小数値 <= （または < ） 入力値」の範囲で入力されているか否かを判定します。
チェックOK ：対象項目の値が「最小数値 <= （または < ） 入力値」の範囲内で入力されている。
チェックNG ：対象項目の値が「最小数値 <= （または < ） 入力値」の範囲を超えて入力されている。

注意
最小数値、入力値の両方が数値変換できない場合はチェックを実施しません。
数値型のチェックは含まれないため、他のチェック（数字・整数・小数）と組み合わせて使用してください。
詳細バリデーションクラス NumericMin2Validator
ID（JavaScript）

k_numericMin2

ID（Java）

numericMin2

出力メッセージ

引数の条件で以下のメッセージを表示します。
{0}以上で入力してください。
{0}より大きい値で入力してください。
{0}：引数で指定された最小数値を出力します。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

最小数値を設定します。

○

最小数値を保持するフィールドの「name」属性を設定することも可能です。
2

入力値が最小数値と同じ値の場合にチェックOKとするか否かを設定します。
“true”：チェックOKとします。（最小数値 <= 入力値）
“false”：チェックNGとします。（最小数値 < 入力値）
※省略時は“false”が設定されたものとします。

最大数値
概要
本バリデーションが設定された項目の値が、「入力値 <= 最大数値」の範囲で入力されているか否かを判定します。

130

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
チェックOK ：対象項目の値が「入力値 <= 最大数値」の範囲内で入力されている。
チェックNG ：対象項目の値が「入力値 <= 最大数値」の範囲を超えて入力されている。

注意
最大数値、入力値の両方が数値変換できない場合はチェックを実施しません。
数値型のチェックは含まれないため、他のチェック（数字・整数・小数）と組み合わせて使用してください。
詳細バリデーションクラス NumericMaxValidator
ID（JavaScript）

k_numericMax

ID（Java）

numericMax

出力メッセージ{0}以下で入力してください。
{0}：引数で指定された最大数値を出力します。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

最大数値を設定します。

○

最大数値を保持するフィールドの「name」属性を設定することも可能です。

最大数値（不等号選択）概要
本バリデーションが設定された項目の値が、「入力値 <= （または < ） 最大数値」の範囲で入力されているか否かを判定します。
チェックOK ：対象項目の値が「入力値 <= （または < ） 最大数値」の範囲内で入力されている。
チェックNG ：対象項目の値が「入力値 <= （または < ） 最大数値」の範囲を超えて入力されている。

注意
最大数値、入力値の両方が数値変換できない場合はチェックを実施しません。
数値型のチェックは含まれないため、他のチェック（数字・整数・小数）と組み合わせて使用してください。
詳細バリデーションクラス NumericMax2Validator
ID（JavaScript）

k_numericMax2

ID（Java）

numericMax2

出力メッセージ

引数の条件で以下のメッセージを表示します。
{0}以下で入力してください。
{0}未満で入力してください。
{0}：引数で指定された最大数値を出力します。

引数本バリデーションの引数は次の通りです。

131intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
設定順

説明

必須

1

最大数値を設定します。

○

最大数値を保持するフィールドの「name」属性を設定することも可能です。
2

入力値が最大数値と同じ値の場合にチェックOKとするか否かを設定します。
“true”：チェックOKとします。（入力値 <= 最大数値）“false”：チェックNGとします。（入力値 < 最大数値）※省略時は“false”が設定されたものとします。

日付形式
概要
本バリデーションが設定された項目の値が、「日付形式（YYYY/MM/DD）かつ、システムの有効期間内」の範囲で入力されているか否かを判定します。
チェックOK ：対象項目の値が日付形式で入力されており、システムの有効期間の範囲内で入力されている。
チェックNG ：対象項目の値が日付形式以外の形式で入力sれている、またはシステムの有効期間の範囲を超えて入力されている。

コラム
システムの有効期間（初期値）は次の通りです。
システムの有効期間開始日：1900/01/01
システムの有効期間終了日：2999/12/31

詳細
バリデーションクラス DateValidator
ID（JavaScript）

k_dateID（Java）

date

出力メッセージ{0} - {1}の範囲で入力してください。
{0}：システム有効期間開始日{1}：システム有効期間終了日

引数
本バリデーションに引数はありません。

日付範囲
概要
本バリデーションが設定された項目の値が、「最小日付 <= 入力値 <= 最大日付」の範囲で入力されているか否かを判定します。
チェックOK ：対象項目の値が「最小日付 <= 入力値 <= 最大日付」の範囲内で入力されている。
チェックNG ：対象項目の値が「最小日付 <= 入力値 <= 最大日付」の範囲を超えて入力されている。

注意
最小日付、最大日付、入力値のすべてが日付変換できない場合はチェックを実施しません。
日付型のチェックは含まれないため、他のチェック（日付）と組み合わせて使用してください。
詳細132intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
バリデーションクラス DateRangeValidator
ID（JavaScript）

k_dateRange

ID（Java）

dateRange

出力メッセージ{0} - {1}の範囲で入力してください。
{0}：引数で指定された最小日付を出力します。
{1}：引数で指定された最大日付を出力します。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

最小日付（最過去日付）を設定します。

○

最小日付（最過去日付）を保持するフィールドの「name」属性を設定することも可能です。
2

最大日付（最未来日付）を設定します。

○

最大日付（最未来日付）を保持するフィールドの「name」属性を設定することも可能です。

日付範囲（不等号選択）概要
本バリデーションが設定された項目の値が、「最小日付 <= （または < ） 入力値 <= （または < ） 最大日付」の範囲で入力されているか否かを判定します。
チェックOK ：対象項目の値が「最小日付 <= （または < ） 入力値 <= （または < ） 最大日付」の範囲内で入力されている。
チェックNG ：対象項目の値が「最小日付 <= （または < ） 入力値 <= （または < ） 最大日付」の範囲を超えて入力されている。

注意
最小日付、最大日付、入力値のすべてが日付変換できない場合はチェックを実施しません。
日付型のチェックは含まれないため、他のチェック（日付）と組み合わせて使用してください。
詳細バリデーションクラス DateRange2Validator
ID（JavaScript）

k_dateRange2

ID（Java）

dateRange2

出力メッセージ

引数の条件で以下のメッセージを表示します。
{0}以上、{1}以下の範囲で入力してください。
{0}以上、{1}未満の範囲で入力してください。
{0}超、{1}以下の範囲で入力してください。
{0}超、{1}未満の範囲で入力してください。
{0}：引数で指定された最小日付を出力します。
{1}：引数で指定された最大日付を出力します。

引数本バリデーションの引数は次の通りです。

133intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
設定順

説明

必須

1

最小日付（最過去日付）を設定します。

○

最小日付（最過去日付）を保持するフィールドの「name」属性を設定することも可能です。
2

最大日付（最未来日付）を設定します。

○

最大日付（最未来日付）を保持するフィールドの「name」属性を設定することも可能です。
3

入力値が最小日付（最過去日付）と同じ値の場合にチェックOKとするか否かを設定します。
“true”：チェックOKとします。（最小日付 <= 入力値）
“false”：チェックNGとします。（最小日付 < 入力値）
※省略時は“false”が設定されたものとします。

4

入力値が最大日付（最未来日付）と同じ値の場合にチェックOKとするか否かを設定します。
“true”：チェックOKとします。（入力値 <= 最大日付）“false”：チェックNGとします。（入力値 < 最大日付）※省略時は“false”が設定されたものとします。

最小日付
概要
本バリデーションが設定された項目の値が、「最小日付 <= 入力値」の範囲で入力されているか否かを判定します。
チェックOK ：対象項目の値が「最小日付 <= 入力値」の範囲内で入力されている。
チェックNG ：対象項目の値が「最小日付 <= 入力値」の範囲を超えて入力されている。

注意
最小日付、入力値の両方が日付変換できない場合はチェックを実施しません。
日付型のチェックは含まれないため、他のチェック（日付）と組み合わせて使用してください。
詳細バリデーションクラス DateMinValidator
ID（JavaScript）

k_dateMin

ID（Java）

dateMin

出力メッセージ{0}以上で入力してください。
{0}：引数で指定された最小日付を出力します。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

最小日付（最過去日付）を設定します。

○

最小日付（最過去日付）を保持するフィールドの「name」属性を設定することも可能です。

最小日付（不等号選択）
概要

134

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
本バリデーションが設定された項目の値が、「最小日付 <= （または < ） 入力値」の範囲で入力されているか否かを判定します。
チェックOK ：対象項目の値が「最小日付 <= （または < ） 入力値」の範囲内で入力されている。
チェックNG ：対象項目の値が「最小日付 <= （または < ） 入力値」の範囲を超えて入力されている。

注意
最小日付、入力値の両方が日付変換できない場合はチェックを実施しません。
日付型のチェックは含まれないため、他のチェック（日付）と組み合わせて使用してください。
詳細バリデーションクラス DateMin2Validator
ID（JavaScript）

k_dateMin2

ID（Java）

dateMin2

出力メッセージ

引数の条件で以下のメッセージを表示します。
{0}以上で入力してください。
{0}より大きい値で入力してください。
{0}：引数で指定された最小日付を出力します。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

最小日付（最過去日付）を設定します。

○

最小日付（最過去日付）を保持するフィールドの「name」属性を設定することも可能です。
2

入力値が最小日付（最過去日付）と同じ値の場合にチェックOKとするか否かを設定します。
“true”：チェックOKとします。（最小日付 <= 入力値）
“false”：チェックNGとします。（最小日付 < 入力値）
※省略時は“false”が設定されたものとします。

最大日付
概要
本バリデーションが設定された項目の値が、「入力値 <= 最大日付」の範囲で入力されているか否かを判定します。
チェックOK ：対象項目の値が「入力値 <= 最大日付」の範囲内で入力されている。
チェックNG ：対象項目の値が「入力値 <= 最大日付」の範囲を超えて入力されている。

注意
最小日付、入力値の両方が日付変換できない場合はチェックを実施しません。
日付型のチェックは含まれないため、他のチェック（日付）と組み合わせて使用してください。
詳細バリデーションクラス DateMaxValidator
ID（JavaScript）

k_dateMax

ID（Java）

dateMax135

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31{0}以下で入力してください。

出力メッセージ{0}：引数で指定された最大日付を出力します。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

最大日付（最未来日付）を設定します。

○

最大日付（最未来日付）を保持するフィールドの「name」属性を設定することも可能です。

最大日付（不等号選択）概要
本バリデーションが設定された項目の値が、「入力値 <= （または < ） 最大日付」の範囲で入力されているか否かを判定します。
チェックOK ：対象項目の値が「入力値 <= （または < ） 最大日付」の範囲内で入力されている。
チェックNG ：対象項目の値が「入力値 <= （または < ） 最大日付」の範囲を超えて入力されている。

注意
最小日付、入力値の両方が日付変換できない場合はチェックを実施しません。
日付型のチェックは含まれないため、他のチェック（日付）と組み合わせて使用してください。
詳細バリデーションクラス DateMax2Validator
ID（JavaScript）

k_dateMax2

ID（Java）

dateMax2

出力メッセージ

引数の条件で以下のメッセージを表示します。
{0}以下で入力してください。
{0}未満で入力してください。
{0}：引数で指定された最大日付を出力します。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

最大日付（最未来日付）を設定します。

○

最大日付（最未来日付）を保持するフィールドの「name」属性を設定することも可能です。
2

入力値が最大日付（最未来日付）と同じ値の場合にチェックOKとするか否かを設定します。
“true”：チェックOKとします。（入力値 <= 最大日付）“false”：チェックNGとします。（入力値 < 最大日付）※省略時は“false”が設定されたものとします。

136

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
時刻
概要
本バリデーションが設定された項目の値が、時刻形式（H:mm）で入力されているか否かを判定します。
チェックOK ：対象項目の値が時刻形式で入力されている。
チェックNG ：対象項目の値が時刻形式で入力されていない。

コラム
24時以降（99:59）と入力された場合でもチェックNGにはなりません。
詳細バリデーションクラス TimeValidator
ID（JavaScript）

k_timeID（Java）

time

出力メッセージ

時刻の形式で入力してください。

引数本バリデーションに引数はありません。

時刻範囲
概要
本バリデーションが設定された項目の値が、「最小時刻 <= 入力値 <= 最大時刻」の範囲で入力されているか否かを判定します。
チェックOK ：対象項目の値が「最小時刻 <= 入力値 <= 最大時刻」の範囲内で入力されている。
チェックNG ：対象項目の値が「最小時刻 <= 入力値 <= 最大時刻」の範囲を超えて入力されている。

注意
最小時刻、最大時刻、入力値のすべてが時刻変換できない場合はチェックを実施しません。
時刻型のチェックは含まれないため、他のチェック（時刻）と組み合わせて使用してください。
詳細バリデーションクラス TimeRangeValidator
ID（JavaScript）

k_timeRange

ID（Java）

timeRange

出力メッセージ{0}- {1}の範囲で入力してください。
{0}：引数で指定された最小時刻を出力します。
{1}：引数で指定された最大時刻を出力します。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

最小時刻を設定します。

○

最小時刻を保持するフィールドの「name」属性を設定することも可能です。

137

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
設定順

説明

必須

2

最大時刻を設定します。

○

最大時刻を保持するフィールドの「name」属性を設定することも可能です。

時刻範囲（不等号選択）概要
本バリデーションが設定された項目の値が、「最小時刻 <= （または < ） 入力値 <= （または < ） 最大時刻」の範囲で入力されているか否かを判定します。
チェックOK ：対象項目の値が「最小時刻 <= （または < ） 入力値 <= （または < ） 最大時刻」の範囲内で入力されている。
チェックNG ：対象項目の値が「最小時刻 <= （または < ） 入力値 <= （または < ） 最大時刻」の範囲を超えて入力されている。

注意
最小時刻、最大時刻、入力値のすべてが時刻変換できない場合はチェックを実施しません。
時刻型のチェックは含まれないため、他のチェック（時刻）と組み合わせて使用してください。
詳細バリデーションクラス TimeRange2Validator
ID（JavaScript）

k_timeRange2

ID（Java）

timeRange2

出力メッセージ

引数の条件で以下のメッセージを表示します。
{0}以上、{1}以下の範囲で入力してください。
{0}以上、{1}未満の範囲で入力してください。
{0}超、{1}以下の範囲で入力してください。
{0}超、{1}未満の範囲で入力してください。
{0}：引数で指定された最小時刻を出力します。
{1}：引数で指定された最大時刻を出力します。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

最小時刻を設定します。

○

最小時刻を保持するフィールドの「name」属性を設定することも可能です。
2○

最大時刻を設定します。
最大時刻を保持するフィールドの「name」属性を設定することも可能です。

3

入力値が最小時刻と同じ値の場合にチェックOKとするか否かを設定します。
“true”：チェックOKとします。（最小時刻 <= 入力値）
“false”：チェックNGとします。（最小時刻 < 入力値）
※省略時は“false”が設定されたものとします。

4

入力値が最大時刻と同じ値の場合にチェックOKとするか否かを設定します。
“true”：チェックOKとします。（入力値 <= 最大時刻）“false”：チェックNGとします。（入力値 < 最大時刻）※省略時は“false”が設定されたものとします。

最小時刻

138

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
概要
本バリデーションが設定された項目の値が、「最小時刻 <= 入力値」の範囲で入力されているか否かを判定します。
チェックOK ：対象項目の値が「最小時刻 <= 入力値」の範囲内で入力されている。
チェックNG ：対象項目の値が「最小時刻 <= 入力値」の範囲を超えて入力されている。

注意
最小時刻、入力値の両方が時刻変換できない場合はチェックを実施しません。
時刻型のチェックは含まれないため、他のチェック（時刻）と組み合わせて使用してください。
詳細バリデーションクラス TimeMinValidator
ID（JavaScript）

k_timeMin

ID（Java）

timeMin

出力メッセージ{0}以上で入力してください。
{0}：引数で指定された最小時刻を出力します。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

最小時刻を設定します。

○

最小時刻を保持するフィールドの「name」属性を設定することも可能です。

最小時刻（不等号選択）概要
本バリデーションが設定された項目の値が、「最小時刻 <= （または < ） 入力値」の範囲で入力されているか否かを判定します。
チェックOK ：対象項目の値が「最小時刻 <= （または < ） 入力値」の範囲内で入力されている。
チェックNG ：対象項目の値が「最小時刻 <= （または < ） 入力値」の範囲を超えて入力されている。

注意
最小時刻、入力値の両方が時刻変換できない場合はチェックを実施しません。
時刻型のチェックは含まれないため、他のチェック（時刻）と組み合わせて使用してください。
詳細バリデーションクラス TimeMin2Validator
ID（JavaScript）

k_timeMin2

ID（Java）

timeMin2

出力メッセージ

引数の条件で以下のメッセージを表示します。
{0}以上で入力してください。
{0}より大きい値で入力してください。
{0}：引数で指定された最小時刻を出力します。

139

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

最小時刻を設定します。

○

最小時刻を保持するフィールドの「name」属性を設定することも可能です。
2

入力値が最小時刻と同じ値の場合にチェックOKとするか否かを設定します。
“true”：チェックOKとします。（最小時刻 <= 入力値）
“false”：チェックNGとします。（最小時刻 < 入力値）
※省略時は“false”が設定されたものとします。

最大時刻
概要
本バリデーションが設定された項目の値が、「入力値 <= 最大時刻」の範囲で入力されているか否かを判定します。
チェックOK ：対象項目の値が「入力値 <= 最大時刻」の範囲内で入力されている。
チェックNG ：対象項目の値が「入力値 <= 最大時刻」の範囲を超えて入力されている。

注意
最大時刻、入力値の両方が時刻変換できない場合はチェックを実施しません。
時刻型のチェックは含まれないため、他のチェック（時刻）と組み合わせて使用してください。
詳細バリデーションクラス TimeMaxValidator
ID（JavaScript）

k_timeMax

ID（Java）

timeMax

出力メッセージ{0}以下で入力してください。
{0}：引数で指定された最大時刻を出力します。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

最大時刻を設定します。

○

最大時刻を保持するフィールドの「name」属性を設定することも可能です。

最大時刻（不等号選択）概要
本バリデーションが設定された項目の値が、「入力値 <= （または < ） 最大時刻」の範囲で入力されているか否かを判定します。
チェックOK ：対象項目の値が「入力値 <= （または < ） 最大時刻」の範囲内で入力されている。
チェックNG ：対象項目の値が「入力値 <= （または < ） 最大時刻」の範囲を超えて入力されている。

140

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
注意
最大時刻、入力値の両方が時刻変換できない場合はチェックを実施しません。
時刻型のチェックは含まれないため、他のチェック（時刻）と組み合わせて使用してください。
詳細バリデーションクラス TimeMax2Validator
ID（JavaScript）

k_timeMax2

ID（Java）

timeMax2

出力メッセージ

引数の条件で以下のメッセージを表示します。
{0}以下で入力してください。
{0}未満で入力してください。
{0}：引数で指定された最大時刻を出力します。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

最大時刻を設定します。

○

最大時刻を保持するフィールドの「name」属性を設定することも可能です。
2

入力値が最大時刻と同じ値の場合にチェックOKとするか否かを設定します。
“true”：チェックOKとします。（入力値 <= 最大時刻）“false”：チェックNGとします。（入力値 < 最大時刻）※省略時は“false”が設定されたものとします。

時刻単位
概要
本バリデーションが設定された項目の値が、引数で指定された時刻単位で入力されているか否かを判定します。
チェックOK ：対象項目の値が引数で指定された時刻単位で入力されている。
チェックNG ：対象項目の値が引数で指定された時刻単位で入力されていない。

コラム
分（mm）に相当する値を数値に変換し、時刻単位で除算した結果、余りがない場合にチェックOKとします。

注意
入力値が時刻変換できない場合はチェックを実施しません。
時刻型のチェックは含まれないため、他のチェック（時刻）と組み合わせて使用してください。
詳細バリデーションクラス TimeUnitValidator
ID（JavaScript）

k_timeUnit

ID（Java）

timeUnit

出力メッセージ

時刻は{0}単位で入力してください。
{0}：引数で指定された時刻単位を出力します。

141intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
引数本バリデーションの引数は次の通りです。

設定
順

説明

必須

1

時刻単位（分）を設定します。

○

正規表現
概要
本バリデーションが設定された項目の値が、指定された正規表現で入力されているか否かを判定します。
チェックOK ：対象項目の値が指定された正規表現に一致する。
チェックNG ：対象項目の値が指定された正規表現に一致しない。
詳細バリデーションクラス RegularExpressionValidator
ID（JavaScript）

ｋ_regularExpression

ID（Java）

regularExpression

出力メッセージ

引数のメッセージIDに指定されたメッセージを表示します。

引数本バリデーションの引数は次の通りです。

設定
順

説明

必須

1

正規表現を設定します。

○

2

メッセージIDを設定します。

○

不一致
概要
引数で指定された比較対象１と比較対象２の値が異なる値か否かを判定します。
チェックOK ：引数で指定された比較対象１と比較対象２の値が異なる。
チェックNG ：引数で指定された比較対象１と比較対象２の値が同じ。
詳細
バリデーションクラス NotEqualValidator
ID（JavaScript）

k_notEqual

ID（Java）

notEqual

出力メッセージ{0}と{1}は同一の設定はできません。
{0}：引数で指定された比較対象１を出力します。
{1}：引数で指定された比較対象２を出力します。

142intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
引数本バリデーションの引数は次の通りです。

設定
順

説明

必須

1

比較対象１を設定します。

○

2

比較対象２を設定します。

○

通貨額
概要
本バリデーションが設定された項目の値が、「対象通貨の精度・スケール」で入力されているか否かを判定します。
チェックOK ：対象項目の値が「対象通貨の精度・スケール」で入力されている。
チェックNG ：対象項目の値に「対象通貨の精度・スケール」を超えて入力されている。

コラム
通貨コードの精度・スケールは通貨精度区分が「KAIDEN」のデータのみをチェック対象とします。
通貨精度が見つからなかった場合は「整数部9、小数部4（constansts.xmlの定義値）」を使用します。
詳細
バリデーションクラス

CurrencyAmntValidator

ID（JavaScript）

k_currencyAmnt

ID（Java）

currencyAmnt

出力メッセージ

整数部{0}桁、小数部{1}桁を入力してください。
{0}：引数で指定された通貨の精度からスケールを引いた数値を出力します。
{1}：引数で指定された通貨のスケールを出力します。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

通貨コードを保持するフィールドの「name」属性を設定します。

2

会社コードを保持するフィールドの「name」属性を設定します。

○

FB文字
概要
本バリデーションが設定された項目の値が、「振込データで使用可能な文字」で入力されているか否かを判定します。
チェックOK ：対象項目の値が「振込データで使用可能な文字」のみで入力されている。
チェックNG ：対象項目の値に「振込データで使用可能な文字」以外の文字が含まれている。

143

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
コラム
振込データで使用可能な文字は次の通りです。
カナ ： ｱからﾝ（半角）※小文字含まない
英字 ： AからZ（半角）
数字 ： 0から9（半角）
濁点·半濁点 ： ﾞﾟ（半角）記号 ： ( ) ｢ 」 - / . スペース （半角）詳細
バリデーションクラス FbCharValidator
ID（JavaScript）

k_fbCharID（Java）

fbChar

出力メッセージ

入力できない文字が含まれています。

引数
本バリデーションに引数はありません。

intra-mart Accel Kaiden! IM-Workflow連携モジュール
ワークフロー日付
概要
本バリデーションが設定された項目の値が、「日付形式（YYYY/MM/DD）かつ、ワークフローパラメータの有効期間内」の範囲で入力されているか否かを判定します。
チェックOK ：対象項目の値が日付形式で入力されており、ワークフローパラメータの有効期間の範囲内で入力されている。
チェックNG ：対象項目の値が日付形式以外の形式で入力sれている、またはワークフローパラメータの有効期間の範囲を超えて入力されている。

コラム
ワークフローパラメータの有効期間（初期値）は次の通りです。
ワークフローパラメータの有効期間開始日：1900/01/01
ワークフローパラメータの有効期間終了日：2999/12/31

詳細
バリデーションクラス ImwDateValidator
ID（JavaScript）

k_imwDate

ID（Java）

imwDate

出力メッセージ{0} - {1}の範囲で入力してください。
{0}：ワークフローパラメータの有効期間開始日{1}：ワークフローパラメータの有効期間終了日

引数
本バリデーションに引数はありません。

144

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
マスタ
はじめに
intra-mart Accel Kaiden! ワークフローモジュールのバリデーションを使用する際の設定について
ガジェットでの引数「会社コード」について
ガジェットでの引数「検索基準日」について
intra-mart Accel Kaiden! 基盤モジュール
会社
組織
ユーザ
ロール
通貨
項目区分
項目区分 追加可否
項目
金融機関
会社口座
intra-mart Accel Kaiden! ワークフローモジュール
プロジェクト
経費区分
勘定科目
税区分
日当
日当金額
役職（日当関連）
仕入先
支払方法
支払分類
会計期間
intra-mart Accel Kaiden! 勤務管理モジュール
勤務体系カテゴリ
勤務体系
勤務状況カテゴリ
勤務状況
勤務日付区分
休憩・控除・時間年休中分類
休憩・控除・時間年休勤務カレンダー
権限セット

はじめに
intra-mart Accel Kaiden! ワークフローモジュールのバリデーションを使用する際の設定について
intra-mart Accel Kaiden! ワークフローモジュールのバリデーションを使用するJSPのページで、次の様に共通JSPをインクルードする必要があります。
<c:if test="${empty pwkfCommonIncluded}" scope="request"><jsp:include page="/WEB-INF/views/kaiden/v2/product_workflow/foundation/commonInclude.jsp"></jsp:include><c:set var="pwkfCommonIncluded" scope="request">true</c:set></c:if>145

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
コラム
次の様な設定でも問題ありませんが、同じ画面に複数のガジェットが表示されることを考慮し、画面全体で一度だけ読み込まれるようにしています。
<jsp:include page=”/WEB-INF/views/kaiden/v2/product_workflow/foundation/commonInclude.jsp”></jsp:include>

ガジェットでの引数「会社コード」について
ガジェット内では、バリデーションへの引数「会社コード」に「searchCriteriaCompany」を設定することも可能です。
「searchCriteriaCompany」を設定することで、申請画面や処理画面自体で保持する検索基準会社のコード値を取得可能です。

ガジェットでの引数「検索基準日」について
ガジェット内では、バリデーションへの引数「検索基準日」に「searchCriteriaDate」を設定することも可能です。
「searchCriteriaDate」を設定することで、申請画面や処理画面自体で保持する検索基準日を取得可能です。

intra-mart Accel Kaiden! 基盤モジュール
会社
概要
引数に指定した値が「IM-共通マスタの会社（組織）マスタ」に存在するか否かを判定します。
チェックOK ：対象項目の値が、「IM-共通マスタの会社（組織）マスタ」に存在する。
チェックNG ：対象項目の値が、「IM-共通マスタの会社（組織）マスタ」に存在しない。
詳細
バリデーションクラス CompanyExistsValidator
ID（JavaScript）

k_companyExists

ID（Java）

companyExists

出力メッセージ

指定された会社は存在しません。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

会社コードを保持するフィールドの「name」属性を設定します。

○

2

検索基準日、または検索基準日を保持するフィールドの「name」属性を設定します。
※省略時はシステム日付が設定されたものとします。

3

ステータスを設定します。
“true”：論理削除されている場合でもチェックOKとします。
“false”：論理削除されている場合はチェックNGとします。
※省略時は“false”が設定されたものとします。

組織概要
引数に指定した値が「IM-共通マスタの組織マスタ」に存在するか否かを判定します。
チェックOK ：対象項目の値が、「IM-共通マスタの組織マスタ」に存在する。

146

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
チェックNG ：対象項目の値が、「IM-共通マスタの組織マスタ」に存在しない。
詳細
バリデーションクラス DepartmentExistsValidator
ID（JavaScript）

k_departmentExists

ID（Java）

departmentExists

出力メッセージ

指定された組織は存在しません。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

会社コードを保持するフィールドの「name」属性を設定します。

○

2

組織セットコードを保持するフィールドの「name」属性を設定します。

○

3

組織コードを保持するフィールドの「name」属性を設定します。

○

4

検索基準日、または検索基準日を保持するフィールドの「name」属性を設定します。
※省略時はシステム日付が設定されたものとします。

5

ステータスを設定します。
“true”：論理削除されている場合でもチェックOKとします。
“false”：論理削除されている場合はチェックNGとします。
※省略時は“false”が設定されたものとします。

ユーザ
概要
引数に指定した値が「IM-共通マスタのユーザマスタ」に存在するか否かを判定します。
チェックOK ：対象項目の値が、「IM-共通マスタのユーザマスタ」に存在する。
チェックNG ：対象項目の値が、「IM-共通マスタのユーザマスタ」に存在しない。
詳細
バリデーションクラス UserExistsValidator
ID（JavaScript）

k_userExists

ID（Java）

userExists

出力メッセージ

指定されたユーザは存在しません。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

ユーザコードを保持するフィールドの「name」属性を設定します。

○

2

検索基準日、または検索基準日を保持するフィールドの「name」属性を設定します。
※省略時はシステム日付が設定されたものとします。

147

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
設定順

説明

必須

3

ステータスを設定します。
“true”：論理削除されている場合でもチェックOKとします。
“false”：論理削除されている場合はチェックNGとします。
※省略時は“false”が設定されたものとします。

ロール
概要
引数に指定した値が「IM-共通マスタのロールマスタ」に存在するか否かを判定します。
チェックOK ：対象項目の値が、「IM-共通マスタのロールマスタ」に存在する。
チェックNG ：対象項目の値が、「IM-共通マスタのロールマスタ」に存在しない。

コラム
ロールのカテゴリが「KAIDEN」のデータのみをチェック対象とします。
詳細バリデーションクラス RoleExistsValidator
ID（JavaScript）

k_roleExists

ID（Java）

roleExists

出力メッセージ

指定されたロールは存在しません。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

ロールIDを保持するフィールドの「name」属性を設定します。

○

通貨
概要
引数に指定した値が「IM-共通マスタの通貨マスタ」に存在するか否かを判定します。
チェックOK ：対象項目の値が、「IM-共通マスタのユーザマスタ」に存在する。
チェックNG ：対象項目の値が、「IM-共通マスタのユーザマスタ」に存在しない。
詳細
バリデーションクラス ImmCurrencyExistsValidator
ID（JavaScript）

k_immCurrencyExists

ID（Java）

immCurreｎcyExists

出力メッセージ

指定された通貨は存在しません。

引数本バリデーションの引数は次の通りです。

148intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
設定順

説明

必須

1

通貨コードを保持するフィールドの「name」属性を設定します。

○

2

会社コードを保持するフィールドの「name」属性を設定します。

○

3

ステータスを設定します。
“true”：論理削除されている場合でもチェックOKとします。
“false”：論理削除されている場合はチェックNGとします。
※省略時は“false”が設定されたものとします。

項目区分
概要
引数に指定した値が「項目区分マスタ」に存在するか否かを判定します。
チェックOK ：対象項目の値が、「項目区分マスタ」に存在する。
チェックNG ：対象項目の値が、「項目区分マスタ」に存在しない。
詳細
バリデーションクラス ItemTypeExistsValidator
ID（JavaScript）

k_itemTypeExists

ID（Java）

itemTypeExists

出力メッセージ

指定された項目区分は存在しません。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

項目区分コードを保持するフィールドの「name」属性を設定します。

○

項目区分 追加可否
概要
引数に指定した項目区分が項目の追加を許可してるか否かを判定します。
チェックOK ：指定した項目区分が項目の追加を許可している。
チェックNG ：指定した項目区分が項目の追加を許可していない。
詳細
バリデーションクラス ItemTypeAllowAddItemValidator
ID（JavaScript）

k_itemTypeAllowAddItem

ID（Java）

itemTypeExists

出力メッセージ

指定された項目区分には項目を追加できません。

引数本バリデーションの引数は次の通りです。

149intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
設定順

説明

必須

1

項目区分コードを保持するフィールドの「name」属性を設定します。

○

項目
概要
引数に指定した値が「項目マスタ」に存在するか否かを判定します。
チェックOK ：対象項目の値が、「項目マスタ」に存在する。
チェックNG ：対象項目の値が、「項目マスタ」に存在しない。

コラム
会社コードフィールドに設定された会社が存在せず、対象項目区分が追加・削除とも不可の場合は、ビルトインデー
タのみをチェック対象とします。
会社コードフィールドに設定された会社が存在せず、対象項目区分が上記以外の場合はチェックNGとします。
詳細バリデーションクラス ItemExistsValidator
ID（JavaScript）

k_itemExists

ID（Java）

itemExists

出力メッセージ

指定された項目は存在しません。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

項目IDを保持するフィールドの「name」属性を設定します。

○

2

会社コードを保持するフィールドの「name」属性を設定します。

○

3

ステータスを設定します。
“true”：論理削除されている場合でもチェックOKとします。
“false”：論理削除されている場合はチェックNGとします。
※省略時は“false”が設定されたものとします。

金融機関
概要
引数に指定した値が「金融機関マスタ」に存在するか否かを判定します。
チェックOK ：対象項目の値が、「金融機関マスタ」に存在する。
チェックNG ：対象項目の値が、「金融機関マスタ」に存在しない。
詳細
バリデーションクラス BankFacilExistsValidator
ID（JavaScript）

k_bankFacilExists

ID（Java）

bankFacilExists

出力メッセージ

指定された金融機関は存在しません。

150

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

金融機関コードを保持するフィールドの「name」属性を設定します。

○

2

金融機関支店番号を保持するフィールドの「name」属性を設定します。

○

3

金融機関並びコードを保持するフィールドの「name」属性を設定します。
※省略時は検索条件に含みません。

会社口座
概要
引数に指定した値が「会社口座マスタ」に存在するか否かを判定します。
チェックOK ：対象項目の値が、「会社口座マスタ」に存在する。
チェックNG ：対象項目の値が、「会社口座マスタ」に存在しない。
詳細
バリデーションクラス CompanyBankExistsValidator
ID（JavaScript）

k_companyBankExists

ID（Java）

companyBankExists

出力メッセージ

指定された会社口座は存在しません。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

会社口座コードを保持するフィールドの「name」属性を設定します。

○

2

会社コードを保持するフィールドの「name」属性を設定します。

○

3

検索基準日、または検索基準日を保持するフィールドの「name」属性を設定します。
※省略時はシステム日付が設定されたものとします。

4

ステータスを設定します。
“true”：論理削除されている場合でもチェックOKとします。
“false”：論理削除されている場合はチェックNGとします。
※省略時は“false”が設定されたものとします。

intra-mart Accel Kaiden! ワークフローモジュール
プロジェクト概要
引数に指定した値が「プロジェクトマスタ」に存在するか否かを判定します。
チェックOK ：対象項目の値が、「プロジェクトマスタ」に存在する。
チェックNG ：対象項目の値が、「プロジェクトマスタ」に存在しない。
詳細151

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
バリデーションクラス ProjectExistsValidator
ID（JavaScript）

k_projectExists

ID（Java）

projectExists

出力メッセージ

指定されたプロジェクトは存在しません。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

プロジェクトコードを保持するフィールドの「name」属性を設定します。

○

2

会社コードを保持するフィールドの「name」属性を設定します。

○

3

検索基準日、または検索基準日を保持するフィールドの「name」属性を設定します。
※省略時はシステム日付が設定されたものとします。

4

ステータスを設定します。
“true”：論理削除されている場合でもチェックOKとします。
“false”：論理削除されている場合はチェックNGとします。
※省略時は“false”が設定されたものとします。

経費区分
概要
引数に指定した値が「経費区分マスタ」に存在するか否かを判定します。
チェックOK ：対象項目の値が、「経費区分マスタ」に存在する。
チェックNG ：対象項目の値が、「経費区分マスタ」に存在しない。
詳細
バリデーションクラス ExpTypeExistsValidator
ID（JavaScript）

k_expTypeExists

ID（Java）

expTypeExists

出力メッセージ

指定された経費区分は存在しません。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

経費区分コードを保持するフィールドの「name」属性を設定します。

○

2

会社コードを保持するフィールドの「name」属性を設定します。

○

3

検索基準日、または検索基準日を保持するフィールドの「name」属性を設定します。
※省略時はシステム日付が設定されたものとします。

152

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
設定順

説明

必須

4

ステータスを設定します。
“true”：論理削除されている場合でもチェックOKとします。
“false”：論理削除されている場合はチェックNGとします。
※省略時は“false”が設定されたものとします。

勘定科目
概要
引数に指定した値が「勘定科目マスタ」に存在するか否かを判定します。
チェックOK ：対象項目の値が、「勘定科目マスタ」に存在する。
チェックNG ：対象項目の値が、「勘定科目マスタ」に存在しない。
詳細
バリデーションクラス AccountExistsValidator
ID（JavaScript）

k_accountExists

ID（Java）

accountExists

出力メッセージ

指定された勘定科目は存在しません。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

勘定科目コードを保持するフィールドの「name」属性を設定します。

○

2

会社コードを保持するフィールドの「name」属性を設定します。

○

3

検索基準日、または検索基準日を保持するフィールドの「name」属性を設定します。
※省略時はシステム日付が設定されたものとします。

4

ステータスを設定します。
“true”：論理削除されている場合でもチェックOKとします。
“false”：論理削除されている場合はチェックNGとします。
※省略時は“false”が設定されたものとします。

税区分
概要
引数に指定した値が「税区分マスタ」に存在するか否かを判定します。
チェックOK ：対象項目の値が、「税区分マスタ」に存在する。
チェックNG ：対象項目の値が、「税区分マスタ」に存在しない。
詳細
バリデーションクラス TaxTypeExistsValidator
ID（JavaScript）

k_taxTypeExists

ID（Java）

taxTypeExists

出力メッセージ

指定された税区分は存在しません。

153

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

税区分コードを保持するフィールドの「name」属性を設定します。

○

2

会社コードを保持するフィールドの「name」属性を設定します。

○

3

検索基準日、または検索基準日を保持するフィールドの「name」属性を設定します。
※省略時はシステム日付が設定されたものとします。

4

ステータスを設定します。
“true”：論理削除されている場合でもチェックOKとします。
“false”：論理削除されている場合はチェックNGとします。
※省略時は“false”が設定されたものとします。

日当
概要
引数に指定した値が「日当マスタ」に存在するか否かを判定します。
チェックOK ：対象項目の値が、「日当マスタ」に存在する。
チェックNG ：対象項目の値が、「日当マスタ」に存在しない。
詳細
バリデーションクラス AllowanceExistsValidator
ID（JavaScript）

k_allowanceExists

ID（Java）

allowanceExists

出力メッセージ

指定された日当は存在しません。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

日当コードを保持するフィールドの「name」属性を設定します。

○

2

会社コードを保持するフィールドの「name」属性を設定します。

○

3

検索基準日、または検索基準日を保持するフィールドの「name」属性を設定します。
※省略時はシステム日付が設定されたものとします。

4

ステータスを設定します。
“true”：論理削除されている場合でもチェックOKとします。
“false”：論理削除されている場合はチェックNGとします。
※省略時は“false”が設定されたものとします。

日当金額
概要
引数に指定した日当が使用できるか否かを判定します。

154

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
チェックOK ：引数に指定した日当が使用できる。
チェックNG ：引数に指定した日当が使用できない。

コラム
引数で指定したユーザの資格種別（役職/ロール）を基に、引数で指定した日当が使用可能かをチェックします。
詳細
バリデーションクラス AllowanceAmountValidator
ID（JavaScript）

k_allowanceAmountID（Java）

allowanceAmount

出力メッセージ

日当額が正しくありません。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

日当コードを保持するフィールドの「name」属性を設定します。

○

2

会社コードを保持するフィールドの「name」属性を設定します。

○

3

ユーザコードを保持するフィールドの「name」属性を設定します。

○

4

通貨コードを保持するフィールドの「name」属性を設定します。

○

5

日当金額を保持するフィールドの「name」属性を設定します。

○

6

検索基準日、または検索基準日を保持するフィールドの「name」属性を設定します。
※省略時はシステム日付が設定されたものとします。

7

ステータスを設定します。
“true”：論理削除されている場合でもチェックOKとします。
“false”：論理削除されている場合はチェックNGとします。
※省略時は“false”が設定されたものとします。

役職（日当関連）概要
引数に指定した値が「IM-共通マスタの役職マスタ」に存在するか否かを判定します。
チェックOK ：対象項目の値が、「IM-共通マスタの役職マスタ」に存在する。
チェックNG ：対象項目の値が、「IM-共通マスタの役職マスタ」に存在しない。

コラム「ProductWorkflowSettings.xml」のdecisionAllowanceDepartmentSetCdに設定した組織セットコードに存在するかをチェックします。
詳細
バリデーションクラス AllowancePostExistsValidator
ID（JavaScript）

k_allowancePostExists

ID（Java）

allowancePostExists

出力メッセージ

指定された役職は存在しません。

155

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

役職コードを保持するフィールドの「name」属性を設定します。

○

2

会社コードを保持するフィールドの「name」属性を設定します。

○

3

検索基準日、または検索基準日を保持するフィールドの「name」属性を設定します。
※省略時はシステム日付が設定されたものとします。

4

ステータスを設定します。
“true”：論理削除されている場合でもチェックOKとします。
“false”：論理削除されている場合はチェックNGとします。
※省略時は“false”が設定されたものとします。

仕入先
概要
引数に指定した値が「仕入先マスタ」に存在するか否かを判定します。
チェックOK ：対象項目の値が、「仕入先マスタ」に存在する。
チェックNG ：対象項目の値が、「仕入先マスタ」に存在しない。
詳細
バリデーションクラス VendorExistsValidator
ID（JavaScript）

k_vendorExists

ID（Java）

vendorExists

出力メッセージ

指定された仕入先は存在しません。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

仕入先コードを保持するフィールドの「name」属性を設定します。

○

2

会社コードを保持するフィールドの「name」属性を設定します。

○

3

検索基準日、または検索基準日を保持するフィールドの「name」属性を設定します。
※省略時はシステム日付が設定されたものとします。

4

ステータスを設定します。
“true”：論理削除されている場合でもチェックOKとします。
“false”：論理削除されている場合はチェックNGとします。
※省略時は“false”が設定されたものとします。

支払方法
概要
引数に指定した値が「支払方法マスタ」に存在するか否かを判定します。

156

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
チェックOK ：対象項目の値が、「支払方法マスタ」に存在する。
チェックNG ：対象項目の値が、「支払方法マスタ」に存在しない。
詳細
バリデーションクラス PayMethodExistsValidator
ID（JavaScript）

k_payMethodExists

ID（Java）

payMethodExists

出力メッセージ

指定された支払方法は存在しません。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

支払方法コードを保持するフィールドの「name」属性を設定します。

○

2

会社コードを保持するフィールドの「name」属性を設定します。

○

3

検索基準日、または検索基準日を保持するフィールドの「name」属性を設定します。
※省略時はシステム日付が設定されたものとします。

4

ステータスを設定します。
“true”：論理削除されている場合でもチェックOKとします。
“false”：論理削除されている場合はチェックNGとします。
※省略時は“false”が設定されたものとします。

支払分類
概要
引数に指定した値が「支払分類マスタ」に存在するか否かを判定します。
チェックOK ：対象項目の値が、「支払分類マスタ」に存在する。
チェックNG ：対象項目の値が、「支払分類マスタ」に存在しない。
詳細
バリデーションクラス PayTypeExistsValidator
ID（JavaScript）

k_payTypeExists

ID（Java）

payTypeExists

出力メッセージ

指定された支払分類は存在しません。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

支払分類コードを保持するフィールドの「name」属性を設定します。

○

2

会社コードを保持するフィールドの「name」属性を設定します。

○

157

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
設定順

説明

必須

3

検索基準日、または検索基準日を保持するフィールドの「name」属性を設定します。
※省略時はシステム日付が設定されたものとします。

4

ステータスを設定します。
“true”：論理削除されている場合でもチェックOKとします。
“false”：論理削除されている場合はチェックNGとします。
※省略時は“false”が設定されたものとします。

会計期間
概要
引数に指定した値が「会計期間マスタ」に存在するか否かを判定します。
チェックOK ：対象項目の値が、「会計期間マスタ」に存在し、次の条件（※）に一致する。
チェックNG ：対象項目の値が、「会計期間マスタ」に存在しない、または次の条件（※）に一致しない。
※条件
処理種別=0（申請）の場合：会計期間オープン日 <= システム日付、会計期間申請締日 > システム日付
処理種別=1（承認）の場合：会計期間オープン日 <= システム日付、会計期間承認締日 > システム日付
詳細
バリデーションクラス AccountingPeriodExistsValidator
ID（JavaScript）

k_accountingPeriodExists

ID（Java）

accountingPeriodExists

出力メッセージ

指定された会計期間は存在しません。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

会社コードを保持するフィールドの「name」属性を設定します。

○

2

処理種別を設定します。0：申請1：承認○

3

検索基準日、または検索基準日を保持するフィールドの「name」属性を設定します。
※省略時はシステム日付が設定されたものとします。

intra-mart Accel Kaiden! 勤務管理モジュール
勤務体系カテゴリ
概要
引数に指定した値が「勤務体系カテゴリマスタ」に存在するか否かを判定します。
チェックOK ：対象項目の値が、「勤務体系カテゴリマスタ」に存在する。
チェックNG ：対象項目の値が、「勤務体系カテゴリマスタ」に存在しない。
詳細
バリデーションクラス WsCategoryExistsValidator

158

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
ID（JavaScript）

k_wsCategoryExists

ID（Java）

wsCategoryExists

出力メッセージ

指定された勤務体系カテゴリは存在しません。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

勤務体系カテゴリを保持するフィールドの「name」属性を設定します。

○

勤務体系
概要
引数に指定した値が「勤務体系マスタ」に存在するか否かを判定します。
チェックOK ：対象項目の値が、「勤務体系マスタ」に存在する。
チェックNG ：対象項目の値が、「勤務体系マスタ」に存在しない。
詳細
バリデーションクラス WsAgreementExistsValidator
ID（JavaScript）

k_wsAgreementExists

ID（Java）

wsAgreementExists

出力メッセージ

指定された勤務体系は存在しません。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

勤務体系コードを保持するフィールドの「name」属性を設定します。

○

2

会社コードを保持するフィールドの「name」属性を設定します。

○

勤務状況カテゴリ
概要
引数に指定した値が「勤務状況カテゴリマスタ」に存在するか否かを判定します。
チェックOK ：対象項目の値が、「勤務状況カテゴリマスタ」に存在する。
チェックNG ：対象項目の値が、「勤務状況カテゴリマスタ」に存在しない。
詳細
バリデーションクラス WorkStatusCatValidator
ID（JavaScript）

k_workStatusCatExists

ID（Java）

workStatusCatExists

出力メッセージ

指定された勤務状況カテゴリは存在しません。

159

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

勤務状況カテゴリを保持するフィールドの「name」属性を設定します。

○

勤務状況
概要
引数に指定した値が「勤務状況マスタ」に存在するか否かを判定します。
チェックOK ：対象項目の値が、「勤務状況マスタ」に存在する。
チェックNG ：対象項目の値が、「勤務状況マスタ」に存在しない。
詳細
バリデーションクラス WorkStatusExistsValidator
ID（JavaScript）

k_workStatusExists

ID（Java）

workStatusExists

出力メッセージ

指定された勤務状況は存在しません。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

勤務状況コードを保持するフィールドの「name」属性を設定します。

○

2

会社コードを保持するフィールドの「name」属性を設定します。

○

3

検索基準日、または検索基準日を保持するフィールドの「name」属性を設定します。
※省略時はシステム日付が設定されたものとします。

4

ステータスを設定します。
“true”：論理削除されている場合でもチェックOKとします。
“false”：論理削除されている場合はチェックNGとします。
※省略時は“false”が設定されたものとします。

勤務日付区分
概要
引数に指定した値が「勤務日付区分マスタ」に存在するか否かを判定します。
チェックOK ：対象項目の値が、「勤務日付区分マスタ」に存在する。
チェックNG ：対象項目の値が、「勤務日付区分マスタ」に存在しない。
詳細
バリデーションクラス LbrDayTypeExistsValidator
ID（JavaScript）

k_lbrDayTypeExists

ID（Java）

lbrDayTypeExists

出力メッセージ

指定された勤務日付区分は存在しません。

160

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

勤務日付区分コードを保持するフィールドの「name」属性を設定します。

○

2

会社コードを保持するフィールドの「name」属性を設定します。

○

3

勤務日付区分カテゴリを保持するフィールドの「name」属性を設定します。
※省略時は検索条件に含みません。

休憩・控除・時間年休中分類
概要
引数に指定した値が「休憩・控除・時間年休中分類マスタ」に存在するか否かを判定します。
チェックOK ：対象項目の値が、「休憩・控除・時間年休中分類マスタ」に存在する。
チェックNG ：対象項目の値が、「休憩・控除・時間年休中分類マスタ」に存在しない。
詳細
バリデーションクラス DeduMcateExistsValidator
ID（JavaScript）

k_deduMcateExists

ID（Java）

deduMcateExists

出力メッセージ

指定された休憩・控除・時間年休中分類は存在しません。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

休憩・控除・時間年休中分類コードを保持するフィールドの「name」属性を設定し○ます。

休憩・控除・時間年休概要
引数に指定した値が「休憩・控除・時間年休マスタ」に存在するか否かを判定します。
チェックOK ：対象項目の値が、「休憩・控除・時間年休マスタ」に存在する。
チェックNG ：対象項目の値が、「休憩・控除・時間年休マスタ」に存在しない。
詳細
バリデーションクラス DeductionExistsValidator
ID（JavaScript）

k_deductionExists

ID（Java）

deductionExists

出力メッセージ

指定された休憩・控除・時間年休は存在しません。

引数

161

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
本バリデーションの引数は次の通りです。

設定順

説明

必須

1

休憩・控除・時間年休コードを保持するフィールドの「name」属性を設定します。

○

2

会社コードを保持するフィールドの「name」属性を設定します。

○

3

検索基準日、または検索基準日を保持するフィールドの「name」属性を設定します。
※省略時はシステム日付が設定されたものとします。

勤務カレンダー概要
引数に指定した値が「勤務カレンダーマスタ」に存在するか否かを判定します。
チェックOK ：対象項目の値が、「勤務カレンダーマスタ」に存在する。
チェックNG ：対象項目の値が、「勤務カレンダーマスタ」に存在しない。
詳細
バリデーションクラス LbrCalendarExistsValidator
ID（JavaScript）

k_lbrCalendarExists

ID（Java）

lbrCalendarExists

出力メッセージ

指定された勤務カレンダーは存在しません。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

勤務カレンダーIDを保持するフィールドの「name」属性を設定します。

○

2

会社コードを保持するフィールドの「name」属性を設定します。

○

3

ステータスを設定します。
“true”：論理削除されている場合でもチェックOKとします。
“false”：論理削除されている場合はチェックNGとします。
※省略時は“false”が設定されたものとします。

権限セット
概要
引数に指定した値が「権限セットマスタ」に存在するか否かを判定します。
チェックOK ：対象項目の値が、「権限セットマスタ」に存在する。
チェックNG ：対象項目の値が、「権限セットマスタ」に存在しない。
詳細
バリデーションクラス AuthoritySetExistsValidator
ID（JavaScript）

k_authoritySetExists

ID（Java）

authoritySetExists

出力メッセージ

指定された権限セットは存在しません。

162

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

権限セットIDを保持するフィールドの「name」属性を設定します。

○

その他
はじめに
intra-mart Accel Kaiden! ワークフローモジュールのバリデーションを使用する際の設定について
intra-mart Accel Kaiden! 基盤モジュール
列挙型存在チェック
intra-mart Accel Kaiden! ワークフローモジュール
精算ステータス
精算金額

はじめに
intra-mart Accel Kaiden! ワークフローモジュールのバリデーションを使用する際の設定について
intra-mart Accel Kaiden! ワークフローモジュールのバリデーションを使用するJSPのページで、次の様に共通JSPをインクルードする必要があります。
<c:if test="${empty pwkfCommonIncluded}" scope="request"><jsp:include page="/WEB-INF/views/kaiden/v2/product_workflow/foundation/commonInclude.jsp"></jsp:include><c:set var="pwkfCommonIncluded" scope="request">true</c:set></c:if>コラム
次の様な設定でも問題ありませんが、同じ画面に複数のガジェットが表示されることを考慮し、画面全体で一度だけ読み込まれるようにしています。
<jsp:include page=”/WEB-INF/views/kaiden/v2/product_workflow/foundation/commonInclude.jsp”></jsp:include>

intra-mart Accel Kaiden! 基盤モジュール
列挙型存在チェック概要
引数で指定されたコードが引数の列挙型クラスに存在するか否かを判定します。
チェックOK ：引数で指定されたコードが引数の列挙型クラスに存在する。
チェックNG ：引数で指定されたコードが引数の列挙型クラスに存在しない。
詳細
バリデーションクラス EnumExistsValidator
ID（JavaScript）（JavaScriptでのバリデーションなし）

ID（Java）

enumExists

163intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
出力メッセージ

指定された{0}は存在しません。
{0}：引数で指定された列挙型のコード値を出力します。

引数本バリデーションの引数は次の通りです。

設定
順

説明

必須

1

列挙型のコード値を設定します。

○

2

列挙型のクラスを設定します。

○

intra-mart Accel Kaiden! ワークフローモジュール
精算ステータス概要
引数に指定した事前申請書の精算可否を判定します。
チェックOK ：事前申請書の精算ステータスが「０」（未精算）の場合、または、事前申請書の精算ステータスが「１」（精算中）かつ、引数に指定した精算申請諸が紐づく場合。
チェックNG ：上記以外の場合。
詳細
バリデーションクラス AdvanceAdjustmentStatusValidator
ID（JavaScript）

k_advanceAdjustmentStatus

ID（Java）

advanceAdjustmentStatus

出力メッセージ

精算中もしくは精算が完了している申請書のため、処理できません。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

精算申請書のシステム案件IDを保持するフィールドの「name」属性を設定します。

○

2

精算申請書のユーザデータIDを保持するフィールドの「name」属性を設定します。

○

3

精算申請書のガジェットクラスを保持するフィールドの「name」属性を設定しま

○

す。
4

精算申請書のガジェットインスタンスを保持するフィールドの「name」属性を設定

○

します。
5

事前申請書のシステム案件IDを保持するフィールドの「name」属性を設定します。

○

6

事前申請書のユーザデータIDを保持するフィールドの「name」属性を設定します。

○

7

事前申請書のガジェットクラスを保持するフィールドの「name」属性を設定しま

○

す。
8

事前申請書のガジェットインスタンスを保持するフィールドの「name」属性を設定
します。

164

○

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
精算金額
概要
引数に指定した精算予定額が引数に指定した事前申請書の仮払残高を超えるか否かを判定します。
チェックOK ：引数に指定した精算予定額が引数に指定した事前申請書の仮払残高を超えない。
チェックNG ：引数に指定した精算予定額が引数に指定した事前申請書の仮払残高を超える。
詳細
バリデーションクラス AdvanceBalanceValidator
ID（JavaScript）（JavaScriptでのバリデーションなし）

ID（Java）

advanceBalance

出力メッセージ

精算予定額は、仮払残高以下で入力してください。

引数本バリデーションの引数は次の通りです。

設定順

説明

必須

1

精算予定額を保持するフィールドの「name」属性を設定します。

○

2

事前申請書のシステム案件IDを保持するフィールドの「name」属性を設定します。

○

3

事前申請書のユーザデータIDを保持するフィールドの「name」属性を設定します。

○

4

事前申請書のガジェットクラスを保持するフィールドの「name」属性を設定しま

○

す。
5

事前申請書のガジェットインスタンスを保持するフィールドの「name」属性を設定します。

タグライブラリ
エレメント

165

○

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
はじめに
本タグライブラリを使用する際の設定について本項に未記載の属性について
属性「formated」について
ガジェット上での属性「name」について
intra-mart Accel Kaiden! 基盤モジュール
サーフィス <k:surface>
テキストボックス <k:text>
テキストボックス（数値） <k:numericText>
テキストボックス（コード） <k:codeText>
テキストボックス（Hidden） <k:hidden>
テキストボックス（日付） <k:date>
テキストボックス（時間） <k:time>
テキストボックス（国際化対応） <k:text-locales>
テキストボックス（パスワード） <k:password>
テキストエリア <k:textarea>
テキストエリア（国際化対応） <k:textarea-locales>
ドロップダウンリスト <k:select>
ドロップダウンリスト（シンプル） <k:simpleDropdownMenu>
チェックボックス <k:checkbox>
アンカー <k:a>
ボタン <k:button>
ラジオボタン <k:radio>

はじめに
本タグライブラリを使用する際の設定について
本タグライブラリを使用するJSPのページで、次の様な taglib ディレクティブを指定する必要があります。
<%@ taglib prefix=”k” uri=”http://kaiden.slcs.co.jp/taglib/v2/ui” %>本項に未記載の属性について本項で記載していない次の様な属性も各タグライブラリに設定可能です。
通常のエレメントに対する属性を設定してください。
class
value
style
maxlength
readonly

属性「formated」について
属性「formated」は、データベースに登録されている項目値とは別の値を表示したい場合に使用します。
例①）金額の項目値（カンマ編集）
未フォーマットの項目値：999999999
フォーマット済の項目値：999,999,999
入力時（modeが”0”）は項目値の編集・登録を行う必要があるため「未フォーマットの項目値」を使用し、参照時（modeが”1”）は項目値の編集・登録を行う必要がないため「フォーマット済の項目値」を使用したい場合、
属性「formated」に“view”を設定し、次の様な実装を行います。
formatPlainValueメソッドで金額の項目値に「999999999」を設定

166

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
formatFormatedValueメソッドで金額の項目値に「999,999,999」を設定
例②）数値の項目値（スケール編集）
未フォーマットの項目値：999.0000000000
フォーマット済の項目値：999
数値（18,10）の項目の場合、データベースによっては小数部の値が「0」で補完される場合があります。
入力時（modeが”0”）、参照時（modeが”1”）ともに「0」を除去した値を使用したい場合、
属性「formated」に“both”を設定し、次の様な実装を行います。
formatPlainValueメソッドで数値の項目値に「999.0000000000」を設定
formatFormatedValueメソッドで数値の項目値に「999」を設定

コラム
実際の未フォーマット／フォーマット済の項目値は、次のConvertorクラスの処理により設定可能です。
ガジェット（経費旅費）の場合は、Action（基底）クラスで実装していますので、サンプルソースを参照してください。
ConvertForJsonSource#formatPlainValue
未フォーマットの項目値を返却
ConvertForJsonSource#formatFormatedValue
フォーマット済の項目値を返却

ガジェット上での属性「name」について
ガジェット内のエレメントに指定した「name」属性に設定された値は、タグライブラリの展開時に「name」属性に設定しますが、ガジェットの初期化処理で「name」属性に設定された値はガジェットやブロックを考慮した値に再設定します。
タグライブラリの展開時に「name」属性に設定された値は、「data-kaiden-org-name」属性に保持します。

intra-mart Accel Kaiden! 基盤モジュール
サーフィス <k:surface>
概要
サーフィス（ラベル）用のタグライブラリです。
属性
本タグライブラリには次の属性が設定可能です。

属性名

説明

必須

name

「name」属性を設定します。

surfaceKey

ラベル表示用のサーフィスキーを設定します。
サーフィスキーを設定することで、プロパティファイルから文字列を取得します。
サーフィス定義に存在しないキーの場合は、設定された内容をそのまま出力します。

formated

フォーマットされた項目値の表示方法を設定します。
“input”：modeが”0”の場合にフォーマットされた項目値を表示します。
“view” ：modeが”1”の場合にフォーマットされた項目値を表示します。
“both” ：modeにかかわらずフォーマットされた項目値を表示します。

requiredMark 必須マークの表示有無を設定します。
“true”：必須マークを表示します。
“false”：必須マークを表示しません。
※省略時は“false”が設定されたものとします。

167○

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
テキストボックス <k:text>
概要
テキストボックス用のタグライブラリです。
属性
本タグライブラリには次の属性が設定可能です。

属性名

説明

必須

name

「name」属性を設定します。

○

mode

表示モードを設定します。

○“0”：<input type=”text”>“1”：<label>
formated

フォーマットされた項目値の表示方法を設定します。
“input”：modeが”0”の場合にフォーマットされた項目値を表示します。
“view” ：modeが”1”の場合にフォーマットされた項目値を表示します。
“both” ：modeにかかわらずフォーマットされた項目値を表示します。

imeModeIMEモードを設定します。（※IMEモードの対応ブラウザのみ本属性の値が有効です。
）“on”：フォーカス時にIMEを「active」に設定します。
“off”：フォーカス時にIMEを「inactive」に設定します。
“disabled”：フォーカス時にIMEを「disabled」に設定します。

surfaceKey

項目名用のサーフィスキーを設定します。（エラーメッセージなどで使用します。）
サーフィスキーを設定することで、プロパティファイルから文字列を取得します。
サーフィス定義に存在しないキーの場合は、設定された内容をそのまま出力します。

テキストボックス（数値） <k:numericText>
概要
テキストボックス（数値）用のタグライブラリです。
本タグライブラリでは、IMEモードを「disabled」に設定します。（※IMEモードの対応ブラウザのみ）
また、数値入力用に文字配置を右寄せに設定します。
属性
本タグライブラリには次の属性が設定可能です。

属性名

説明

必須

name

「name」属性を設定します。

○

mode

表示モードを設定します。

○“0”：<input type=”text”>“1”：<label>
formated

フォーマットされた項目値の表示方法を設定します。
“input”：modeが”0”の場合にフォーマットされた項目値を表示します。
“view” ：modeが”1”の場合にフォーマットされた項目値を表示します。
“both” ：modeにかかわらずフォーマットされた項目値を表示します。

surfaceKey

項目名用のサーフィスキーを設定します。（エラーメッセージなどで使用します。
）
サーフィスキーを設定することで、プロパティファイルから文字列を取得します。
サーフィス定義に存在しないキーの場合は、設定された内容をそのまま出力します。

テキストボックス（コード） <k:codeText>

168

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
概要
テキストボックス（コード）用のタグライブラリです。
本タグライブラリでは、IMEモードを「disabled」に設定します。（※IMEモードの対応ブラウザのみ）
属性
本タグライブラリには次の属性が設定可能です。

属性名

説明

必須

name

「name」属性を設定します。

○

mode

表示モードを設定します。

○“0”：<input type=”text”>“1”：<label>surfaceKey

項目名用のサーフィスキーを設定します。（エラーメッセージなどで使用します。
）
サーフィスキーを設定することで、プロパティファイルから文字列を取得します。
サーフィス定義に存在しないキーの場合は、設定された内容をそのまま出力します。

テキストボックス（Hidden） <k:hidden>
概要
テキストボックス（Hidden）用のタグライブラリです。
属性
本タグライブラリには次の属性が設定可能です。

属性名

説明

必須

name

「name」属性を設定します。

○

mode

表示モードを設定します。

○“0”：<input type=”hidden”>“1”：<label>surfaceKey

項目名用のサーフィスキーを設定します。（エラーメッセージなどで使用します。
）
サーフィスキーを設定することで、プロパティファイルから文字列を取得します。
サーフィス定義に存在しないキーの場合は、設定された内容をそのまま出力します。

テキストボックス（日付） <k:date>
概要
テキストボックス（日付）用のタグライブラリです。
テキストボックスの横にカレンダーアイコンが表示され、カレンダーと連動できるテキストボックスです。
本タグライブラリでは、IMEモードを「disabled」に設定します。（※IMEモードの対応ブラウザのみ）
属性
本タグライブラリには次の属性が設定可能です。

属性名

説明

必須

name

「name」属性を設定します。

○

169

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
属性名

説明

必須

mode

表示モードを設定します。

○“0”：<input type=”text”>“1”：<label>
formated

フォーマットされた項目値の表示方法を設定します。
“input”：modeが”0”の場合にフォーマットされた項目値を表示します。
“view” ：modeが”1”の場合にフォーマットされた項目値を表示します。
“both” ：modeにかかわらずフォーマットされた項目値を表示します。

surfaceKey

項目名用のサーフィスキーを設定します。（エラーメッセージなどで使用します。
）
サーフィスキーを設定することで、プロパティファイルから文字列を取得します。
サーフィス定義に存在しないキーの場合は、設定された内容をそのまま出力します。

テキストボックス（時間） <k:time>
概要
テキストボックス（時間）用のタグライブラリです。
1桁、または2桁の数値が入力された場合は、入力値をH、mmには00を補完して「H:mm」形式に変換します。
3桁から5桁の数値が入力された場合は、最後の2桁以外をHに変換、最後の2桁をmmに変換して「H:mm」形式に変換します。
また、↑キー、↓キーで、時間を最小入力単位(分)に設定された値分、増減できます。
例①）入力値「9」→「9:00」
例②）入力値「911」→「9:11」

注意
テキストボックス（時間）は、入力した値によって”0”および”:”を自動補完するイベントをliveで発行しています。
テキストボックス（時間）のイベント処理を編集する場合は、必ず liveイベント を使用してください。
属性
本タグライブラリには次の属性が設定可能です。

属性名

説明

必須

name

「name」属性を設定します。

○

mode

表示モードを設定します。

○“0”：<input type=”text”>“1”：<label>surfaceKey

項目名用のサーフィスキーを設定します。（エラーメッセージなどで使用します。）
サーフィスキーを設定することで、プロパティファイルから文字列を取得します。
サーフィス定義に存在しないキーの場合は、設定された内容をそのまま出力します。

maxHour

時間の最大値を設定します。
設定値は「data-kaiden-max-hour」属性に設定します。
※省略時は「data-kaiden-max-hour」属性を設定しません。

timeFormat

時刻表現を指定します。
“H24”：24時までを表現します。
“H99”：24時以降も表現します。（午前２時は「26時」と表現します。）
設定値は「data-kaiden-timeFormat」属性に設定します。
※省略時は「BaseSettings.xml」から取得した時刻表現（timeFormat）を使用します。

170

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
属性名

説明

必須

minutesUnit

時刻の最小入力単位(分)を設定します
設定値は「data-kaiden-minutes-unit」属性に設定します。
※省略時は「data-kaiden-minutes-unit」属性を設定しません。

テキストボックス（国際化対応） <k:text-locales>
概要
テキストボックス（国際化対応）用のタグライブラリです。
本タグライブラリで、テキストボックスをintra-mart Accel Platformが使用するロケール数分表示します。
intra-mart Accel Platformが使用するロケールが、日本語・英語・中国語3つの場合、次の様なテキストボックスを表示します。

システムロケールが一つの場合は、テキストボックス <k:text>と同じように表示します。
ログインユーザのロケールに対応したテキストボックスを先頭に表示し、その他のロケールはIDの昇順で表示します。
属性
本タグライブラリには次の属性が設定可能です。

属性名

説明

必須

name

「name」属性を設定します。

○

mode

表示モードを設定します。

○“0”：<input type=”text”>“1”：<label>
formated

フォーマットされた項目値の表示方法を設定します。
“input”：modeが”0”の場合にフォーマットされた項目値を表示します。
“view” ：modeが”1”の場合にフォーマットされた項目値を表示します。
“both” ：modeにかかわらずフォーマットされた項目値を表示します。

imeModeIMEモードを設定します。（※IMEモードの対応ブラウザのみ本属性の値が有効です。
）“on”：フォーカス時にIMEを「active」に設定します。
“off”：フォーカス時にIMEを「inactive」に設定します。
“disabled”：フォーカス時にIMEを「disabled」に設定します。

surfaceKey

項目名用のサーフィスキーを設定します。（エラーメッセージなどで使用します。）
サーフィスキーを設定することで、プロパティファイルから文字列を取得します。
サーフィス定義に存在しないキーの場合は、設定された内容をそのまま出力します。

テキストボックス（パスワード） <k:password>
概要
テキストボックス（パスワード）用のタグライブラリです。
属性
本タグライブラリには次の属性が設定可能です。

171

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
属性名

説明

必須

name

「name」属性を設定します。

○

mode

表示モードを設定します。

○“0”：<input type=”password”>“1”：<label>surfaceKey

項目名用のサーフィスキーを設定します。（エラーメッセージなどで使用します。
）
サーフィスキーを設定することで、プロパティファイルから文字列を取得します。
サーフィス定義に存在しないキーの場合は、設定された内容をそのまま出力します。

テキストエリア <k:textarea>
概要
テキストエリア用のタグライブラリです。
属性
本タグライブラリには次の属性が設定可能です。

属性名

説明

必須

name

「name」属性を設定します。

○

mode

表示モードを設定します。

○“0”：<textarea>“1”：<label>
imeModeIMEモードを設定します。（※IMEモードの対応ブラウザのみ本属性の値が有効です。
）“on”：フォーカス時にIMEを「active」に設定します。
“off”：フォーカス時にIMEを「inactive」に設定します。
“disabled”：フォーカス時にIMEを「disabled」に設定します。

surfaceKey

項目名用のサーフィスキーを設定します。（エラーメッセージなどで使用します。）
サーフィスキーを設定することで、プロパティファイルから文字列を取得します。
サーフィス定義に存在しないキーの場合は、設定された内容をそのまま出力します。

テキストエリア（国際化対応） <k:textarea-locales>
概要
テキストエリア（国際化対応）用のタグライブラリです。
本タグライブラリで、テキストエリアをintra-mart Accel Platformが使用するロケール数分表示します。
intra-mart Accel Platformが使用するロケールが、日本語・英語・中国語3つの場合、次の様なテキストエリアを表示します。

システムロケールが一つの場合は、テキストエリア <k:textarea>と同じように表示します。
ログインユーザのロケールに対応したテキストエリアを先頭に表示し、その他のロケールはIDの昇順で表示します。

172intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
属性
本タグライブラリには次の属性が設定可能です。

属性名

説明

必須

name

「name」属性を設定します。

○

mode

表示モードを設定します。

○“0”：<textarea>“1”：<label>
imeModeIMEモードを設定します。（※IMEモードの対応ブラウザのみ本属性の値が有効です。
）“on”：フォーカス時にIMEを「active」に設定します。
“off”：フォーカス時にIMEを「inactive」に設定します。
“disabled”：フォーカス時にIMEを「disabled」に設定します。

surfaceKey

項目名用のサーフィスキーを設定します。（エラーメッセージなどで使用します。）
サーフィスキーを設定することで、プロパティファイルから文字列を取得します。
サーフィス定義に存在しないキーの場合は、設定された内容をそのまま出力します。

ドロップダウンリスト <k:select>
概要
ドロップダウンリスト用のタグライブラリです。
属性
本タグライブラリには次の属性が設定可能です。

属性名

説明

必須

name

「name」属性を設定します。

○

mode

表示モードを設定します。

○“0”：<select>“1”：<label>surfaceKey

項目名用のサーフィスキーを設定します。（エラーメッセージなどで使用します。）
サーフィスキーを設定することで、プロパティファイルから文字列を取得します。
サーフィス定義に存在しないキーの場合は、設定された内容をそのまま出力します。

viewModeName 「mode」属性値が“1“の場合の「name」属性を設定します。
dataName「option」タグを生成するためのデータ名を設定します。
リストデータタグなどで生成したデータを指定する場合は、
リストデータの「name」属性の値を設定します。

includeDisabled 無効（論理削除）データの「option」タグを生成有無を設定します。
“true”：データ中の「deleteFlag」が「1」のデータも「option」タグを生成します。
“false”：データ中の「deleteFlag」が「1」のデータは「option」タグを生成しません。
selectChain

値の変更イベントで、連動する項目を設定します。
※設定方法：selectChain={%コード%:’%キー%’, %コード%:’%キー%’, ...}
値の変更イベントで、設定したコードを「name」属性に持つ項目の「value」属性に、データ中の設定したキーに紐づく値を設定します。

ドロップダウンリスト（シンプル） <k:simpleDropdownMenu>
概要
ドロップダウンリスト（シンプル）用のタグライブラリです。
<ul>、<li>の組み合わせにより、一階層のみのシンプルなドロップダウンメニューを表示します。
メニュークリックなどのイベント処理はありませんので、$(“#id”).on(“click”, function(){...});などでイベント処理を実装し173

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31てください。
使用例<k:simpleDropdownMenu><li><k:a href="javascript:void(0)" mode="0" text="メニュー"/><ul><li><k:a href="javascript:void(0)" mode="0" text="メニュー１" /></li><li><k:a href="javascript:void(0)" mode="0" text="メニュー２" /></li><li><k:a href="javascript:void(0)" mode="0" text="メニュー３" /></li><li><k:a href="javascript:void(0)" mode="0" text="メニュー４" /></li>
</ul>
</li>
</k:simpleDropdownMenu>

属性
本タグライブラリには次の属性が設定可能です。

属性名

説明

必須

dropWidth 横幅を指定します。

チェックボックス <k:checkbox>
概要
チェックボックス用のタグライブラリです。
属性
本タグライブラリには次の属性が設定可能です。

属性名

説明

必須

name

「name」属性を設定します。

○

mode

表示モードを設定します。

○“0”：<input type=”text”>“1”：<label>
label

ラベル用のサーフィスキーを設定します。
本属性に値を設定した場合は、次の様に出力します。
<label><input type=”checkbox” />本属性値</label>surfaceKey

項目名用のサーフィスキーを設定します。（エラーメッセージなどで使用します。
）
サーフィスキーを設定することで、プロパティファイルから文字列を取得します。
サーフィス定義に存在しないキーの場合は、設定された内容をそのまま出力します。

アンカー <k:a>
概要
アンカー用のタグライブラリです。
属性
本タグライブラリには次の属性が設定可能です。

174intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
属性名

説明

必須

mode

表示モードを設定します。

○“0”：<a>“1”：非表示（何も出力しません）
text

リンク名用のサーフィスキーを設定します。
サーフィスキーを設定することで、プロパティファイルから文字列を取得します。
サーフィス定義に存在しないキーの場合は、設定された内容をそのまま出力します。

ボタン <k:button>
概要
ボタン用のタグライブラリです。
属性
本タグライブラリには次の属性が設定可能です。

属性名

説明

必須

name

「name」属性を設定します。

○

mode

表示モードを設定します。

○“0”：<input type=”button”>“1”：非表示（何も出力しません）
value

ボタン名用のサーフィスキーを設定します。
サーフィスキーを設定することで、プロパティファイルから文字列を取得します。
サーフィス定義に存在しないキーの場合は、設定された内容をそのまま出力します。

ラジオボタン <k:radio>概要
ラジオボタン用のタグライブラリです。
属性
本タグライブラリには次の属性が設定可能です。

属性名

説明

必須

name

「name」属性を設定します。

○

mode

表示モードを設定します。

○“0”：<input type=”radio”>“1”：<label>
label

ラベル用のサーフィスキーを設定します。
本属性に値を設定した場合は、次の様に出力します。
<label><input type=”radio” />属性値</label>surfaceKey

項目名用のサーフィスキーを設定します。（エラーメッセージなどで使用します。
）
サーフィスキーを設定することで、プロパティファイルから文字列を取得します。
サーフィス定義に存在しないキーの場合は、設定された内容をそのまま出力します。

リストデータ175

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
はじめに
本タグライブラリを使用する際の設定について
リストデータについて
intra-mart Accel Kaiden! 勤務管理モジュール
勤務状況マスタ <klist_labor:listDataWorkStatus>
休憩・控除・時間年休マスタ <klist_labor:listDataDeduction>
代理処理種別 <klist_labor:listDataLbrAgentAuthAct>
勤務カレンダールール指定パターン <klist_labor:listDataSettingPattern>
締め期間 <klist_labor:listDataLaborPeriodList>
権限セット <klist_labor:listDataAuthoritySet>
管理組織 <klist_labor:listDataDepartmentAdmin>
下位組織 <klist_labor:listDataDepartmentTree>
振替出勤日（法定休日） <klist_labor:listDataUnProcessSubWorkInLeagalHoliday>
振替出勤日（所定休日） <klist_labor:listDataUnProcessSubWorkOutLeagalHoliday>
振替休日（法定休日） <klist_labor:listDataUnProcessSubHolidayInLeagalHoliday>
振替休日（所定休日） <klist_labor:listDataUnProcessSubHolidayOutLeagalHoliday>
日(28日未満) <klist_labor:listDataDayOfMonthU28>
点検状態 <klist_labor:listDataSubmissionStatus>
休日出勤 <klist_labor:listDataUnProcessHolidayWork>
代休 <klist_labor:listDataUnProcessCompensation>
お気に入り(勤務表) <klist_labor:listDataLbrFavorite>
お気に入り(作業実績) <klist_labor:listDataFavorite>
対象年月(作業実績) <klist_labor:listDataTargetMonth>繰越清算期間 <klist_labor:listDataFlexWorkSettlementPeriod>

はじめに
本タグライブラリを使用する際の設定について
本タグライブラリを使用するJSPのページで、次の様な taglib ディレクティブを指定する必要があります。
intra-mart Accel Kaiden! 勤務管理モジュール<%@ taglib prefix=”klist_labor” uri=”http://kaiden.slcs.co.jp/taglib/v2/listdata/labormgr“%>

リストデータについて本項に記載されているリストデータはドロップダウンリスト <k:select>などで「option」タグを生成するためのデータとして使用します。
特に記載のない場合、リストデータには次の値が含まれます。
項目キー：key
項目値：value
削除フラグ：deleteFlag

intra-mart Accel Kaiden! 勤務管理モジュール
勤務状況マスタ <klist_labor:listDataWorkStatus>
概要
勤務状況マスタのリストデータ作成用タグライブラリです。
出力対象は「companyCd」に設定された会社の「searchCriteriaDate」に設定された日付時点で有効な勤務状況です。
「wsAgreementCd」を設定した場合は、上記に加え「wsAgreementCd」を設定した勤務体系に紐づく勤務状況です。
出力順は勤務状況のソートキー順（昇順）です。

176

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
属性
本タグライブラリには次の属性が設定可能です。

属性名

説明

必須

blank

リストデータに空データ（空白行）を含むか否かを設定します。

○“true”：リストデータの先頭に空白データを含む。
“false”：リストデータの先頭に空白データを含まない。
name○リストデータの名前を設定します。
HTMLページ全体で一意な名前として扱われます。

companyCd○

会社コードを設定します。

searchCriteriaDate 検索時に指定する基準日を保持する項目の「name」属性を設定します。
※省略時はシステム日付が設定されたものとします。
wsAgreementCd

勤務体系コードを設定します。

休憩・控除・時間年休マスタ <klist_labor:listDataDeduction>
概要
休憩・控除・時間年休マスタのリストデータ作成用タグライブラリです。
出力対象は「companyCd」に設定された会社の休憩・控除・時間年休です。
「deductionMcategoryCds」を設定した場合は、上記に加え「deductionMcategoryCds」を設定した休憩・控除・時間年
休中分類に紐づく休憩・控除・時間年休です。
出力順は休憩・控除・時間年休のソートキー順（昇順）です。
属性
本タグライブラリには次の属性が設定可能です。

属性名

説明

必須

blank

リストデータに空データ（空白行）を含むか否かを設定します。

○“true”：リストデータの先頭に空白データを含む。
“false”：リストデータの先頭に空白データを含まない。
name○リストデータの名前を設定します。
HTMLページ全体で一意な名前として扱われます。

companyCd○

会社コードを設定します。

deductionMcategoryCds 休憩・控除・時間年休中分類コードを設定します。

代理処理種別 <klist_labor:listDataLbrAgentAuthAct>
概要
代理処理種別のリストデータ作成用タグライブラリです。
出力対象は代理処理種別すべてです。
出力順は「日次申請」「日次承認」「日次点検」「勤務表提出」「勤務表点検」の順です。
属性
本タグライブラリには次の属性が設定可能です。

属性名

説明

必須

177

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
属性名

説明

必須

blank

リストデータに空データ（空白行）を含むか否かを設定しま○す。
“true”：リストデータの先頭に空白データを含む。
“false”：リストデータの先頭に空白データを含まない。
name○リストデータの名前を設定します。
HTMLページ全体で一意な名前として扱われます。

勤務カレンダールール指定パターン <klist_labor:listDataSettingPattern>
概要
勤務カレンダールール指定パターンのリストデータ作成用タグライブラリです。
出力対象は勤務カレンダールール指定パターンすべてです。
出力順は「週次曜日指定」「月次曜日指定」「年次日付指定」「年次曜日指定」「個別日付指定」の順です。
属性
本タグライブラリには次の属性が設定可能です。

属性名

説明

必須

blank

リストデータに空データ（空白行）を含むか否かを設定しま○す。
“true”：リストデータの先頭に空白データを含む。
“false”：リストデータの先頭に空白データを含まない。
name○リストデータの名前を設定します。
HTMLページ全体で一意な名前として扱われます。

締め期間 <klist_labor:listDataLaborPeriodList>
概要
締め期間(yyyy/MM/dd - yyyy/MM/dd)のリストデータ作成用タグライブラリです。
出力対象は「companyCd」に設定された会社の「searchCriteriaDate」に設定された日付時点で有効な締め期間です。
「wsAgreementCd」「openedFlag」「suspendFlag」「companyClosedFlag」「archivedFlag」「fromDate」「toDate」を設定した場合は、上記に加え各条件に一致した締め期間を対象にします。
出力順は締め期間開始日順（昇順）です。
属性
本タグライブラリには次の属性が設定可能です。

属性名

説明

必須

blank

リストデータに空データ（空白行）を含むか否かを設定します。

○“true”：リストデータの先頭に空白データを含む。
“false”：リストデータの先頭に空白データを含まない。
nameリストデータの名前を設定します。

○

HTMLページ全体で一意な名前として扱われます。
companyCd

会社コードを設定します。

○

searchCriteriaDate

検索時に指定する基準日を保持する項目の「name」属性を設定します。
※省略時はシステム日付が設定されたものとします。

wsAgreementCd

勤務体系コードを設定します。

178

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
属性名

説明

必須

openedFlag

オープンフラグを設定します。

suspendFlag

一時中断フラグを設定します。

companyClosedFlag 会社締め済フラグを設定します。
archivedFlag

アーカイブフラグを設定します。

fromDate

検索期間開始日を設定します。

toDate検索期間終了日を設定します。

権限セット <klist_labor:listDataAuthoritySet>
概要
権限セットのリストデータ作成用タグライブラリです。
出力対象は権限セットすべてです。
出力順は権限セットのソートキー順（昇順）です。
属性
本タグライブラリには次の属性が設定可能です。

属性名

説明

必須

blank

リストデータに空データ（空白行）を含むか否かを設定しま○す。
“true”：リストデータの先頭に空白データを含む。
“false”：リストデータの先頭に空白データを含まない。
name○リストデータの名前を設定します。
HTMLページ全体で一意な名前として扱われます。

管理組織 <klist_labor:listDataDepartmentAdmin>
概要
管理組織のリストデータ作成用タグライブラリです。
出力対象は「searchCriteriaDate」に設定された日付時点で有効な、ログインユーザが管理者に設定されている組織です。
出力順は会社、および組織のソートキー順（昇順）です。
属性
本タグライブラリには次の属性が設定可能です。

属性名

説明

必須

blank

リストデータに空データ（空白行）を含むか否かを設定します。

○“true”：リストデータの先頭に空白データを含む。
“false”：リストデータの先頭に空白データを含まない。
nameリストデータの名前を設定します。
HTMLページ全体で一意な名前として扱われます。

searchCriteriaDate 検索時に指定する基準日を保持する項目の「name」属性を設定します。
※省略時はシステム日付が設定されたものとします。

下位組織 <klist_labor:listDataDepartmentTree>
概要
下位組織のリストデータ作成用タグライブラリです。

179○intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
出力対象は「companyCd」「departmentSetCd」「departmentCd」に設定された組織とその下位組織です。
「searchCriteriaDate」「includeDisabled」を設定した場合は、上記に加え各条件に一致した組織とその下位組織を対象にします。
出力順は会社、および組織のソートキー順（昇順）です。
属性
本タグライブラリには次の属性が設定可能です。

属性名

説明

必須

blank

リストデータに空データ（空白行）を含むか否かを設定します。

○“true”：リストデータの先頭に空白データを含む。
“false”：リストデータの先頭に空白データを含まない。
nameリストデータの名前を設定します。

○

HTMLページ全体で一意な名前として扱われます。
companyCd

会社コードを設定します。

○

departmentSetCd

組織セットコードを設定します。

○

departmentCd

組織コードを設定します。

○

searchCriteriaDate 検索時に指定する基準日を保持する項目の「name」属性を設定します。
※省略時はシステム日付が設定されたものとします。
includeDisabled

無効（論理削除）データを対象とするかを設定します。
“true”：無効（論理削除）データを対象とします。
“false”：無効（論理削除）データを対象としません。
※省略時は“false”が設定されたものとします。

振替出勤日（法定休日） <klist_labor:listDataUnProcessSubWorkInLeagalHoliday>
概要
振替出勤日（法定休日）のリストデータ作成用タグライブラリです。
出力対象は「userCd」に設定されたユーザの「companyCd」に設定された会社で未取得の振替出勤日（法定休日分）です。
「searchCriteriaDate」を設定した場合は、上記に加え「searchCriteriaDate」に設定された日付時点で未取得の振替出勤日（法定休日分）が対象です。
出力順は日付順（昇順）です。
属性
本タグライブラリには次の属性が設定可能です。

属性名

説明

必須

blank

リストデータに空データ（空白行）を含むか否かを設定します。

○“true”：リストデータの先頭に空白データを含む。
“false”：リストデータの先頭に空白データを含まない。
nameリストデータの名前を設定します。

○

HTMLページ全体で一意な名前として扱われます。
companyCd

会社コードを設定します。

○

userCdユーザコードを設定します。

○

searchCriteriaDate 検索時に指定する基準日を保持する項目の「name」属性を設定します。
※省略時はシステム日付が設定されたものとします。

振替出勤日（所定休日） <klist_labor:listDataUnProcessSubWorkOutLeagalHoliday>

180intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
概要
振替出勤日（所定休日）のリストデータ作成用タグライブラリです。
出力対象は「userCd」に設定されたユーザの「companyCd」に設定された会社で未取得の振替出勤日（所定休日分）です。
「searchCriteriaDate」を設定した場合は、上記に加え「searchCriteriaDate」に設定された日付時点で未取得の振替出勤日（所定休日分）が対象です。
出力順は日付順（昇順）です。
属性
本タグライブラリには次の属性が設定可能です。

属性名

説明

必須

blank

リストデータに空データ（空白行）を含むか否かを設定します。

○“true”：リストデータの先頭に空白データを含む。
“false”：リストデータの先頭に空白データを含まない。
nameリストデータの名前を設定します。

○

HTMLページ全体で一意な名前として扱われます。
companyCd

会社コードを設定します。

○

userCdユーザコードを設定します。

○

searchCriteriaDate 検索時に指定する基準日を保持する項目の「name」属性を設定します。
※省略時はシステム日付が設定されたものとします。

振替休日（法定休日） <klist_labor:listDataUnProcessSubHolidayInLeagalHoliday>概要
振替休日（法定休日）のリストデータ作成用タグライブラリです。
出力対象は「userCd」に設定されたユーザの「companyCd」に設定された会社で未取得の振替休日（法定休日分）です。
「searchCriteriaDate」を設定した場合は、上記に加え「searchCriteriaDate」に設定された日付時点で未取得の振替休日（法定休日分）が対象です。
出力順は日付順（昇順）です。
属性
本タグライブラリには次の属性が設定可能です。

属性名

説明

必須

blank

リストデータに空データ（空白行）を含むか否かを設定します。

○“true”：リストデータの先頭に空白データを含む。
“false”：リストデータの先頭に空白データを含まない。
nameリストデータの名前を設定します。

○

HTMLページ全体で一意な名前として扱われます。
companyCd

会社コードを設定します。

○

userCdユーザコードを設定します。

○

searchCriteriaDate 検索時に指定する基準日を保持する項目の「name」属性を設定します。
※省略時はシステム日付が設定されたものとします。
振替休日と紐づけられていない法定休日振替休日を一覧します。
振替休日順に出力します。

振替休日（所定休日） <klist_labor:listDataUnProcessSubHolidayOutLeagalHoliday>
概要

181

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
振替休日（所定休日）のリストデータ作成用タグライブラリです。
出力対象は「userCd」に設定されたユーザの「companyCd」に設定された会社で未取得の振替休日（所定休日分）です。
「searchCriteriaDate」を設定した場合は、上記に加え「searchCriteriaDate」に設定された日付時点で未取得の振替休日（所定休日分）が対象です。
出力順は日付順（昇順）です。
属性
本タグライブラリには次の属性が設定可能です。

属性名

説明

必須

blank

リストデータに空データ（空白行）を含むか否かを設定します。

○“true”：リストデータの先頭に空白データを含む。
“false”：リストデータの先頭に空白データを含まない。
name○リストデータの名前を設定します。
HTMLページ全体で一意な名前として扱われます。

companyCd

会社コードを設定します。

○

userCdユーザコードを設定します。

○

searchCriteriaDate 検索時に指定する基準日を保持する項目の「name」属性を設定します。
※省略時はシステム日付が設定されたものとします。

日(28日未満) <klist_labor:listDataDayOfMonthU28>
概要
日(28日未満)のリストデータ作成用タグライブラリです。
出力対象は１日から２７日と末日です。
出力順は日付順（昇順）です。
属性
本タグライブラリには次の属性が設定可能です。

属性名

説明

必須

blank

リストデータに空データ（空白行）を含むか否かを設定しま○す。
“true”：リストデータの先頭に空白データを含む。
“false”：リストデータの先頭に空白データを含まない。
name○リストデータの名前を設定します。
HTMLページ全体で一意な名前として扱われます。

点検状態 <klist_labor:listDataSubmissionStatus>
概要
点検状態のリストデータ作成用タグライブラリです。
出力対象は「未提出」、「提出済」です。
属性
本タグライブラリには次の属性が設定可能です。

182

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
属性名

説明

必須

blank

リストデータに空データ（空白行）を含むか否かを設定しま○す。
“true”：リストデータの先頭に空白データを含む。
“false”：リストデータの先頭に空白データを含まない。
name○リストデータの名前を設定します。
HTMLページ全体で一意な名前として扱われます。

休日出勤 <klist_labor:listDataUnProcessHolidayWork>概要
休日出勤のリストデータ作成用タグライブラリです。
出力対象は「userCd」に設定されたユーザの「companyCd」に設定された会社で「searchCriteriaDate」に設定された日付
時点で未取得の休日出勤日です。
出力順は日付順（昇順）です。
属性
本タグライブラリには次の属性が設定可能です。

属性名

説明

必須

blank

リストデータに空データ（空白行）を含むか否かを設定します。

○“true”：リストデータの先頭に空白データを含む。
“false”：リストデータの先頭に空白データを含まない。
nameリストデータの名前を設定します。

○

HTMLページ全体で一意な名前として扱われます。
companyCd

会社コードを設定します。

○

userCdユーザコードを設定します。

○

searchCriteriaDate 検索時に指定する基準日を保持する項目の「name」属性を設定します。

○

代休 <klist_labor:listDataUnProcessCompensation>
概要
代休のリストデータ作成用タグライブラリです。
出力対象は「userCd」に設定されたユーザの「companyCd」に設定された会社で「searchCriteriaDate」に設定された日付
時点で未取得の代休です。
出力順は日付順（昇順）です。
属性
本タグライブラリには次の属性が設定可能です。

属性名

説明

必須

blank

リストデータに空データ（空白行）を含むか否かを設定します。

○“true”：リストデータの先頭に空白データを含む。
“false”：リストデータの先頭に空白データを含まない。
nameリストデータの名前を設定します。

○

HTMLページ全体で一意な名前として扱われます。
companyCd

会社コードを設定します。

○

userCdユーザコードを設定します。

○

183

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
属性名

説明

必須

searchCriteriaDate 検索時に指定する基準日を保持する項目の「name」属性を設定します。

○

お気に入り(勤務表) <klist_labor:listDataLbrFavorite>
概要
勤務表のお気に入りのリストデータ作成用タグライブラリです。
出力対象は「userCd」に設定されたユーザの「companyCd」、「departmentSetCd」、「departmentCd」に設定された組織で「wsAgreementCd」に設定された勤務体系のお気に入りです。
出力順はお気に入り名順（昇順）です。
属性
本タグライブラリには次の属性が設定可能です。

属性名

説明

必須

blank

リストデータに空データ（空白行）を含むか否かを設定します。

○“true”：リストデータの先頭に空白データを含む。
“false”：リストデータの先頭に空白データを含まない。
name○リストデータの名前を設定します。
HTMLページ全体で一意な名前として扱われます。

companyCd○

会社コードを設定します。

departmentSetCd 組織セットコードを設定します。

○

departmentCd

組織コードを設定します。

○

wsAgreementCd

勤務体系コードを設定します。

○

userCdユーザコードを設定します。

○

お気に入り(作業実績) <klist_labor:listDataFavorite>
概要
作業実績のお気に入りのリストデータ作成用タグライブラリです。
出力対象は、お気に入りガジェットから取得したユーザ、会社に設定されたお気に入りです。
出力順はお気に入りID順（昇順）です。
属性
本タグライブラリには次の属性が設定可能です。

属性名

説明

必須

blank

リストデータに空データ（空白行）を含むか否かを設定しま○す。
“true”：リストデータの先頭に空白データを含む。
“false”：リストデータの先頭に空白データを含まない。
name○リストデータの名前を設定します。
HTMLページ全体で一意な名前として扱われます。

対象年月(作業実績) <klist_labor:listDataTargetMonth>
概要
作業実績の対象年月のリストデータ作成用タグライブラリです。
出力対象は「companyCd」に設定された会社で「searchCriteriaDate」に設定された日付を基準にオープンしている作業実
績の年月です。

184

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31「targetMonthBefore」、「targetMonthAfter」に設定された範囲の作業実績が出力対象になります。
出力順は年月順（昇順）です。
属性
本タグライブラリには次の属性が設定可能です。

属性名

説明

必須

blank

リストデータに空データ（空白行）を含むか否かを設定します。

○“true”：リストデータの先頭に空白データを含む。
“false”：リストデータの先頭に空白データを含まない。
name○リストデータの名前を設定します。
HTMLページ全体で一意な名前として扱われます。

companyCd

会社コードを設定します。

○

userCdユーザコードを設定します。

○

searchCriteriaDate 検索時に指定する基準日を保持する項目の「name」属性を設定します。
※省略時はシステム日付が設定されたものとします。
targetMonthBefore 検索時の対象年月範囲(過去)を保持する項目の「name」属性を設定します。
※省略時は勤務管理のモジュール設定が設定されたものとします。
targetMonthAfter

検索時の対象年月範囲(未来)を保持する項目の「name」属性を設定します。
※省略時は勤務管理のモジュール設定が設定されたものとします。

繰越清算期間 <klist_labor:listDataFlexWorkSettlementPeriod>
概要
フレックスの繰越清算期間のリストデータ作成用タグライブラリです。
出力対象は「1ヶ月」、「2ヶ月」、「3ヶ月」です。
属性
本タグライブラリには次の属性が設定可能です。

属性名

説明

必須

blank

リストデータに空データ（空白行）を含むか否かを設定しま○す。
“true”：リストデータの先頭に空白データを含む。
“false”：リストデータの先頭に空白データを含まない。
name○リストデータの名前を設定します。
HTMLページ全体で一意な名前として扱われます。

その他

185

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
項目
はじめに
本タグライブラリを使用する際の設定について
intra-mart Accel Kaiden! 基盤モジュール
ガジェット <k:gadgetContainer>
ブロック <k:blockContainer>
TMTable <k:tmtable>
TMTable操作パネル <k:tmtableOperationPanel>
ダイアログ <k:dialog>
フローティングボックス <k:floatingBox>
２段ヘッダリスト <k:fs2List>

はじめに
本タグライブラリを使用する際の設定について
本タグライブラリを使用するJSPのページで、次の様な taglib ディレクティブを指定する必要があります。
<%@ taglib prefix=”k” uri=”http://kaiden.slcs.co.jp/taglib/v2/ui” %>intra-mart Accel Kaiden! 基盤モジュール
ガジェット <k:gadgetContainer>
概要
ガジェット用のタグライブラリです。
本タグライブラリで囲んだ内容がガジェットとして扱われます。
ガジェット内の要素「ブロック <k:blockContainer>」「TMTable <k:tmtable>」については、各項目を参照してください。
使用例<c:set var="gadgetClass">sampleGadget</c:set><c:set var="gadgetVariation">v01</c:set><c:set var="gadgetInstance">${param.gadget_instance}</c:set><c:set var="gadgetId">${gadgetClass}_${gadgetVariation}_${gadgetInstance}</c:set><k:gadgetContainer gadgetClass="${gadgetClass}"gadgetVariation="${gadgetVariation}"gadgetInstance="${gadgetInstance}"
gadgetTitle="サンプル"
gadgetId="${gadgetId}"
style="width:850px;overflow:hidden;"><%-- ガジェットの内包要素 --%></k:gadgetContainer>

コラム
ガジェットの幅（width）は他のガジェットと合わせるため、極力「850px」としてください。
属性
本タグライブラリには次の属性が設定可能です。

属性名

説明

必須

gadgetClass

ガジェットクラスを設定します。

○

gadgetVariation

ガジェットバリエーションを設定します。

○

186

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
属性名

説明

必須

gadgetInstance

ガジェットインスタンスを設定します。

○「gadgetInstance」は申請書マスタメンテナンスで申請書を作成した際に生成します。
リクエストパラメータから「${param.gadget_instance}」の様に取得可能です。
gadgetId○

ガジェットIDを設定します。
ガジェットクラス、ガジェットバリエーション、ガジェットインスタンスの３つをアン
ダースコア（_）でつなげたものをガジェットIDといい、このガジェットIDがガジェットを一意に示す値です。

gadgetTitle

ガジェットタイトル用のサーフィスキーを設定します。
サーフィスキーを設定することで、プロパティファイルから文字列を取得します。
サーフィス定義に存在しないキーの場合は、設定された内容をそのまま出力します。

hideGadgetTitle

タイトルの非表示有無を設定します。
“true”：ガジェットのタイトルを表示しません。
“false”：ガジェットのタイトルを表示します。
※省略時は“false”が設定されたものとします。
本設定の有無に関わらず、エラーダイアログ内のタイトルは表示します。

noScriptForDebug ガジェット初期化用javascriptの出力有無を設定します。
“true”：ガジェット初期化用javascriptを出力しません。
“false”：ガジェット初期化用javascriptを出力します。
※省略時は“false”が設定されたものとします。
本設定は開発時に使用するもので、機能リリース時は省略してください。

注意「gadgetClass」、「gadgetVariation」はガジェットマスタデータと同じ値を設定してください。

ブロック <k:blockContainer>
概要
ブロック用のタグライブラリです。
ガジェット内で単票形式で表現する場合に使用するタグライブラリです。

コラム<k:blockContainer>はHTML出力時には<div>に変換されますので、<div>の属性を指定できます。
使用例<k:blockContainer id="sampleBlock"><table class="imui-form"><tr><th><k:surface surfaceKey="支出目的" mode="0" requiredMark="true"/></th><td><k:text name="summary1" mode ="0" /></td>
</tr>
<tr>
<th><k:surface surfaceKey="備考" mode="0" /></th><td><k:text name="summary2" mode ="0" /></td></tr></table></k:blockContainer>

属性
本タグライブラリには次の属性が設定可能です。

187intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
属性名

説明

必須

id

「id」属性を設定します。

○

TMTable <k:tmtable>
概要
TMTable用のタグライブラリです。
ガジェット内で帳票形式で表現する場合に使用するタグライブラリです。

コラム<k:tmtable>はHTML出力時には<table>に変換されますので、<table>の属性を指定できます。
<tbody>内の内容が動的に行追加/行削除される対象です。
TMTable操作パネル <k:tmtableOperationPanel>にて、9つの操作パネルを追加でき、この操作パネルによって
行追加/行削除などの操作が行えます。
使用例<k:tmtable id="sampleTmtable" class="imui-form"><thead><tr><td><k:tmtableOperationPanel position="header" allowAdd="true" allowDel="true" /></td><th><k:surface surfaceKey="入力欄1" requiredMark="true"/></th><th><k:surface surfaceKey="入力欄2" requiredMark="true"/></th></tr></thead><tbody><tr><td><k:tmtableOperationPanel position="detail" allowAdd="true" allowDel="true" /></td><td><k:text name="inputArea1" mode="0"/></td><td><k:text name="inputArea2" mode="0"/></td></tr></tbody></k:tmtable>

属性
本タグライブラリには次の属性が設定可能です。

属性名

説明

必須

id

「id」属性を設定します。

○

rowNumberTarget 行番号を表示する項目の「name」属性を設定します。
本属性に「TMTable操作パネル <k:tmtableOperationPanel>」のnameを設定することで、行番号を表示します。

TMTable操作パネル <k:tmtableOperationPanel>188intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
概要
TMTable操作パネル用のタグライブラリです。
使用例<k:tmtable id="sampleTmtable" class="imui-form" rowNumberTarget="rowNumber"><thead><tr><td style="vertical-align:middle;"><k:tmtableOperationPanelposition="header"allowAdd="true"
allowDel="true"/></td><%-- 他のヘッダー要素 --%></tr></thead><tbody><tr><td><k:tmtableOperationPanelposition="detail"allowAdd="true"
allowDel="true"
name="rowNumber"/></td><%-- 他の明細要素 --%></tr></tbody></k:tmtable>

属性
本タグライブラリには次の属性が設定可能です。

属性名

説明

必須

position

操作パネル配置先を設定します。

○“header”：「上に挿入」や「行削除」が使用不可に変化します。
“detail”：操作パネルのすべてが使用可能です。
allowAdd○

行追加可否を設定します。
“true”：行追加を有効にします。
“false”：行追加を無効にします。

allowDel○

行削除可否を設定します。
“true”：行削除を有効にします。
“false”：行削除を無効にします。

name「name」属性を設定します。
本属性に設定した値を「TMTable <k:tmtable>」のrowNumberTargetに設定すること
で、行番号を表示します。

ダイアログ <k:dialog>
概要
ダイアログ用のタグライブラリです。
属性
本タグライブラリには次の属性が設定可能です。

189

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
属性名

説明

必須

id

「id」属性を設定します。

○

title

タイトル表示用のサーフィスキーを設定します。

○

サーフィスキーを設定することで、プロパティファイルから文字列を取得します。
サーフィス定義に存在しないキーの場合は、設定された内容をそのまま出力しま
す。
modal

モーダル表示有無を設定します。
“true”：ダイアログがモーダル表示されます。
“false”：通常のダイアログ表示です。

フローティングボックス <k:floatingBox>
概要
フローティングボックス用のタグライブラリです。
使用例<k:floatingBox id="dailyInputWindow" modal="true" posHorizonCenter="true" posY="5%"><%-- フローティング表示するための内包要素 --%></k:floatingBox>

フローティングボックスを表示する$(“#id”).KaidenFloatingBox(“open”);
フローティングボックスを閉じる$(“#id”).KaidenFloatingBox(“close”);
フローティングボックスの表示時のイベントを指定する$(“#id”).on(“open”, function(){...});
フローティングボックスの閉じる時のイベントを指定する$(“#id”).on(“close”, function(){...});
フローティングボックスの開くときにポジション（top/left)を指定$(“#id”).KaidenFloatingBox({top:”10px”, left:”10px”}););
属性
本タグライブラリには次の属性が設定可能です。

属性名

説明

必須

id

「id」属性を設定します。

○

フローティング表示時の要素として出力される<div>タグの「id」属性に設定します。
modal

モーダル表示モードを設定します。
“true”：モーダル表示されます。
“false”：モーダル表示になりません。

draggable

移動可否を設定します。
modalに”true”が設定されている場合は、本属性は使用しません。
“true”：フローティング表示した要素がドラッグ可能です。
“false”：フローティング表示した要素がドラッグ不可です。

dragHandle

ドラッグハンドルを設定します。
modalに”true”が設定されている場合は、本属性は使用しません。
jQuery.Draggableのオプション「handle」を設定します。

posX

表示座標(X)を設定します。

posY

表示座標(Y)を設定します。

190

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
属性名

説明

必須

posHorizonCenter 左右中央表示モードを設定します。
posXに値が設定されている場合は、本属性は使用しません。
“true”：左右中央に表示します。
“false”：左右配置位置を指定しません。
posVerticalMiddle 上下中央表示モードを設定します。
posYに値が設定されている場合は、本属性は使用しません。
“true”：上下中央に表示します。
“false”：上下配置位置を指定しません。
closeButton

閉じるボタンの表示有無を設定します。
“true”：閉じるボタンを表示します。
“false”：閉じるボタンを表示しません。
※省略時は“false”が設定されたものとします。

２段ヘッダリスト <k:fs2List>
概要
２段ヘッダリスト用のタグライブラリです。
横スクロール対象とならない固定列と、横スクロール対象となる可変列を定義できます。
設定は画面設定のXMLファイルで行います。
使用例<?xml version="1.0" encoding="UTF-8" standalone="yes"?><fs2ListSettings xmlns="http://kaiden.slcs.co.jp/xmlschema/fs2ListSettings"><defaultSetting><!-- 検索画面に表示する最大件数 --><limit>20</limit><!-- 検索画面の行番号サーフェスキー --><rownumberSurfaceKey></rownumberSurfaceKey><!-- 未指定時、デフォルトの「No」を表示 --><!-- 検索一覧画面 選択マークカラム 使用/不使用 --><useSelectedMark>true</useSelectedMark><!-- 検索一覧画面 行番号カラム 使用/不使用 --><useRownumber>true</useRownumber><!-- 検索一覧画面の各カラムの表示縦幅 --><colsHeight>32px</colsHeight><!-- 検索一覧画面の表示縦幅 --><fs2ListScrollHeight>350px</fs2ListScrollHeight><!-固定列を表示する場合はfixedCols,可変列を表示する場合はvariableColsのタグで要素を作成してください。
fieldKey：フィールドキー
width：表示幅
横幅を指定します。
0pxを指定すると隠し項目になります。
省略時はwidth指定なしになります。
align：表示位置(left / center / right)
left:左寄せ
center:中寄せ
right:右寄せ
省略時はleftが適用されます。
headerSurfaceKey：ヘッダサーフェスキー
省略時は項目名が空欄になります。

191

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
colPosition：表示カラムの位置(1 / 2)
1:上段
2:下段
省略時は1が適用されます。
２段階にしない項目は指定不要です。
colspan：水平方向の結合
colspan="xx"のxxを指定します。
０を指定すると結合しません。
省略時は結合しません。
rowspan：垂直方向の結合
colspan="xx"のxxを指定します。
０の場合は結合しません。
省略時は結合しません。
２まで指定可能で、３以上指定すると２が適用されます。
sortable：ソート可否
true:ソート可
false:ソート不可
２段ある場合の上段項目はtrueを指定しても無効になります。
省略できません。
--><!-- 検索画面の固定列カラム設定 --><fixedCols><fixedCol><fieldKey>A</fieldKey><width>100px</width><align></align><headerSurfaceKey></headerSurfaceKey><colPosition></colPosition><colspan></colspan><rowspan>2</rowspan><sortable>false</sortable></fixedCol><fixedCol><fieldKey>B</fieldKey><width>100px</width><align></align><headerSurfaceKey></headerSurfaceKey><colPosition>1</colPosition><colspan>2</colspan><rowspan></rowspan><sortable>false</sortable></fixedCol><fixedCol><fieldKey>C</fieldKey><width>50px</width><align></align><headerSurfaceKey></headerSurfaceKey><colPosition>2</colPosition><colspan></colspan><rowspan></rowspan><sortable>true</sortable></fixedCol><fixedCol><fieldKey>D</fieldKey><width>50px</width><align></align><headerSurfaceKey></headerSurfaceKey><colPosition>2</colPosition><colspan></colspan><rowspan></rowspan><sortable>true</sortable></fixedCol></fixedCols>

192

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31<!-- 検索画面の可変列カラム設定 --><variableCols><variableCol><fieldKey>E</fieldKey><width>100px</width><align></align><headerSurfaceKey></headerSurfaceKey><colPosition></colPosition><colspan></colspan><rowspan>2</rowspan><sortable>false</sortable></variableCol><variableCol><fieldKey>F</fieldKey><width>100px</width><align></align><headerSurfaceKey></headerSurfaceKey><colPosition>1</colPosition><colspan>2</colspan><rowspan></rowspan><sortable>false</sortable></variableCol><variableCol><fieldKey>G</fieldKey><width>50px</width><align></align><headerSurfaceKey></headerSurfaceKey><colPosition>2</colPosition><colspan></colspan><rowspan></rowspan><sortable>true</sortable></variableCol><variableCol><fieldKey>H</fieldKey><width>50px</width><align></align><headerSurfaceKey></headerSurfaceKey><colPosition>2</colPosition><colspan></colspan><rowspan></rowspan><sortable>true</sortable></variableCol></variableCols><!-- 検索画面のソート順：２つまで指定可 --><orders><order><fieldKey>A</fieldKey><type>asc</type></order><order><fieldKey>E</fieldKey><type>asc</type></order></orders></defaultSetting></fs2ListSettings>

属性
本タグライブラリには次の属性が設定可能です。

属性名

説明

必須

ajaxAccessUrl 一覧検索を行うajaxAccessUrlを設定します。

○

id

○

「id」属性を設定します。

193

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31

Service、Entity作成
本項では、 Service、Entityの作成方法を説明します。

テーブル定義本項では次の様な定義のテーブルを使用します。
「k99m_tutorial」

No.

論理名

物理名

型

長さ

必須

PK

1

会社コード

company_cd

文字列

100

Y

○

2

チュートリアルコード

tutorial_cd

文字列

100

Y

○

5

チュートリアル名称

tutorial_name

文字列

1000

Y

4

ロケールID

locale_id

文字列

50

Y

○

3

期間コード

term_cd

文字列

50

Y

○

6

開始日

start_date

タイムスタンプY7

終了日

end_date

タイムスタンプ

Y

8

削除フラグ

delete_flag

文字列

1

9

予備項目A

extension_a

文字列

1000

10

予備項目B

extension_b

文字列

1000

11

予備項目C

extension_c

文字列

1000

12

予備項目D

extension_d

文字列

1000

13

予備項目E

extension_e

文字列

1000

14

予備項目F

extension_f

文字列

1000

15

予備項目G

extension_g

文字列

1000

16

予備項目H

extension_h

文字列

1000

17

予備項目I

extension_i

文字列

1000

18

予備項目J

extension_j

文字列

1000

19

登録日時

entry_ts

タイムスタンプ

20

登録者コードentry_user_cd

文字列

100

Y

21

更新カウンタrenew_cnt

数値

18,0

Y

22

更新日時

renew_ts

タイムスタンプ

23

更新者コードrenew_user_cd

文字列

Y

Y

Y
100

Y

コラム
予備項目A〜J
拡張用の項目として予備項目を用意することでカスタマイズ性が向上します。
intra-mart Accel Kaiden!の各テーブルでは、カスタマイズを考慮し予備項目をあらかじめ定義しています。

注意
登録日時、登録者コード、更新カウンタ、更新日時、更新者コード
intra-mart Accel Kaiden!の各テーブルで共通的に定義している項目です。
本カラムは必ず定義してください。

194

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
Entityの作成
Entityを作成します。
jp.co.slcs.kaiden.v2.base.foundation.model.entity.GenerateEntityを継承してください。
java.io.Serializable.Serializableを実装してください。
Mirage-SQLの実装方法に従い、各カラムの定義を実装してください。

コラム
予備項目A〜J、登録日時、登録者コード、更新カウンタ、更新日時、更新者コード
上記カラムは、親クラスのGenerateEntity.javaで定義しているため各Entityでの定義は不要です。

コラム
K99mTutorial.javaおよび標準のソースではフィールド名の定数を定義しています。
定数の定義は任意のため、必要に応じて実装してください。
Pathsrc/main/generated/jp/co/slcs/kaiden/v2/tutorial/foundation/model/entity/K99mTutorial.java
package jp.co.slcs.kaiden.v2.tutorial.foundation.model.entity;
import java.io.Serializable;
import java.sql.Timestamp;
import com.miragesql.miragesql.annotation.Column;
import com.miragesql.miragesql.annotation.PrimaryKey;
import com.miragesql.miragesql.annotation.PrimaryKey.GenerationType;import com.miragesql.miragesql.annotation.Table;
import jp.co.slcs.kaiden.v2.base.foundation.model.entity.GenerateEntity;/*** チュートリアルマスタ.
** @author Sumitomo Life Information Systems Co.,Ltd.
*/@Table(name = "k99m_tutorial")public final class K99mTutorial extends GenerateEntity implements Serializable {/** シリアルバージョンUID. */private static final long serialVersionUID = 1L;/** フィールド名[会社コード]. */public static final String COMPANY_CD = "companyCd";/** フィールド名[チュートリアルコード]. */public static final String TUTORIAL_CD = "tutorialCd";/** フィールド名[チュートリアル名称]. */public static final String TUTORIAL_NAME = "tutorialName";/** フィールド名[ロケールid]. */public static final String LOCALE_ID = "localeId";/** フィールド名[期間コード]. */public static final String TERM_CD = "termCd";/** フィールド名[開始日]. */public static final String START_DATE = "startDate";/** フィールド名[終了日]. */public static final String END_DATE = "endDate";/** フィールド名[削除フラグ]. */public static final String DELETE_FLAG = "deleteFlag";/** 会社コード. */195

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31/** 会社コード. */@PrimaryKey(generationType = GenerationType.APPLICATION)@Column(name = "company_cd")
public String companyCd;/** チュートリアルコード. */@PrimaryKey(generationType = GenerationType.APPLICATION)@Column(name = "tutorial_cd")
public String tutorialCd;/** チュートリアル名称. */@Column(name = "tutorial_name")public String tutorialName;/** ロケールid. */@PrimaryKey(generationType = GenerationType.APPLICATION)@Column(name = "locale_id")
public String localeId;/** 期間コード. */@PrimaryKey(generationType = GenerationType.APPLICATION)@Column(name = "term_cd")
public String termCd;/** 開始日. */@Column(name = "start_date")public Timestamp startDate;/** 終了日. */@Column(name = "end_date")public Timestamp endDate;/** 削除フラグ. */@Column(name = "delete_flag")public String deleteFlag;}

Serviceの作成
Serviceを作成します。
jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<Entity>を継承してください。
空実装で構いません。
Pathsrc/main/generated/jp/co/slcs/kaiden/v2/tutorial/foundation/model/service/K99mTutorialService.java
package jp.co.slcs.kaiden.v2.tutorial.foundation.model.service;import org.springframework.beans.factory.config.ConfigurableBeanFactory;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService;import jp.co.slcs.kaiden.v2.tutorial.foundation.model.entity.K99mTutorial;/*** {@link K99mTutorial}のサービスクラス.
** @author Sumitomo Life Information Systems Co.,Ltd.
*/@Component@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
public final class K99mTutorialService extends GenerateService<K99mTutorial> {
//
}

196

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31

申請書マスタデータのテーブル構成について
本項では、申請書マスタデータのテーブル構成について説明します。
申請書マスタデータについて
申請書マスタ
申請書バージョンマスタ
申請書ガジェットマスタ
申請書ガジェットブロックマスタ
申請書ガジェットフィールドマスタ
申請書ガジェットサーフィスマスタ
ページ画面情報マスタ
申請書拡張ユーザプログラムマスタ
申請書拡張パラメータマスタ
申請書ガジェットバリデーションマスタ
申請書拡張テキストマスタ

申請書マスタデータについて
申請書の情報はデータベース上で保持します。
情報は以下のテーブルで保持し、以下すべてのテーブルデータを総称して「申請書マスタデータ」と呼びます。
申請書マスタデータのメンテナンスは、「申請書マスタメンテナンス」、「申請書インポート」で実施してください。
「申請書マスタメンテナンス」、「申請書インポート」を実施すると、「申請書マスタデータ」と、IM-Workflowのコンテンツ定義が更新されます。
「申請書マスタメンテナンス」、「申請書インポート」の詳細は『intra-mart Accel Kaiden! 経費旅費 / 管理者操作ガイド』を参照ください。
申請書マスタ(k20m_app)
申請書バージョンマスタ(k20m_app_version)
申請書ガジェットマスタ(k20m_app_gadget)
申請書ガジェットブロックマスタ(k20m_app_gadget_block)
申請書フィールドマスタ(k20m_app_gadget_field)
申請書ガジェットサーフィスマスタ(k20m_app_gadget_surface)
ページ画面情報マスタ(k20m_page_screen_info)
申請書拡張ユーザプログラムマスタ(k20m_app_ext_user_pgm)
申請書拡張パラメータマスタ(k20m_app_ext_parameter)
申請書ガジェットバリデーションマスタ(k20m_app_gadget_validation)
申請書拡張テキストマスタ(k20m_app_ext_text)

申請書マスタ
申請書タイプを保持するマスタです。
コンテンツID

コンテンツIDを設定します。
申請書マスタ(コンテンツ定義)登録／更新画面で設定可能です。

申請書タイプ

申請書タイプを設定します。
申請書マスタ(コンテンツ定義)登録／更新画面で設定可能です。
設定値は次の通りです。
「00:一般」「10:事前申請書(仕訳対象)」「20:精算申請書(仕訳対象)」「30:請求書払申請書(仕訳対象)」

197

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
申請書バージョンマスタ
申請書の案件番号採番クラスをバージョンごとに保持するマスタです。
コンテンツID

コンテンツIDを設定します。

コンテンツバージョンID コンテンツバージョンIDを設定します。
案件番号採番クラスID

案件番号採番クラスIDを設定します。
申請書マスタ(コンテンツバージョン)登録／更新画面で設定可能です。
設定値は以下の通りです。
「imwNumbering:標準(すべての申請書で通し番号)」「extensionNumberingImpl:拡張(すべての申請書で通し番号)」「kaidenNumberingByFlow:拡張(採番ルール定義による採番番号)」コラム
案件番号採番クラスIDで指定可能な値は、案件番号採番処理の設定ファイルに設定しているIDになります。
詳細はサーバサイドを参照ください。
「案件番号採番ルール（フロー連携）マスタ」で設定したフローと紐付く場合、「拡張（採番ルール定義による採番番号）」を設定してください。

申請書ガジェットマスタ
申請書で使用するガジェットを保持するマスタです。
申請書マスタ(コンテンツバージョン)登録／更新画面の利用ガジェット設定で選択したガジェットが当マスタに登録されます。
コンテンツID

コンテンツIDを設定します。

コンテンツバー

コンテンツバージョンIDを設定します。

ジョンID
画面パスID

画面パスIDを設定します。
設定値は次の通りです。
「apply:申請」「temporarySave:一時保存」「unapply:申請(起票案件)」「reapply:再申請」「process:処理」「confirm:確認」「processDetail:処理詳細」「referenceDetail:参照詳細」「confirmDetail:確認詳細」「archiveMatterDetail:過去詳細」「applySp:申請(sp)」「temporarySaveSp:一時保存(sp)」「unapplySp:申請(起票案件)(sp)」「reapplySp:再申請(sp)」「processSp:処理(sp)」「confirmSp:確認(sp)」ガジェットクラス ガジェットクラスを設定します。
ガジェットバリガジェットバリエーションを設定します。

エーション
ガジェットインス ガジェットインスタンスを設定します。
タンス
サーフィスキーガジェットの名称に紐づくサーフィスキーを設定します。

198

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
ソートキー

ソートキーを設定します。
申請書マスタ(コンテンツバージョン)登録／更新画面の利用ガジェット設定の並び順がソートキーになります。
ソートキー順に申請書に表示されます。

ガジェット表示フ ガジェット表示フラグを設定します。
ラグ

申請書マスタ(コンテンツバージョン)登録／更新画面のガジェット表示設定で設定可能です。
設定値は以下の通りです。
「0:ガジェットを非表示にする」「1:ガジェットを表示する」

ガジェットフロー 未使用の項目です。
ティングフラグコラム
画面パスIDは、標準的な画面のみを使用する場合の定義です。

コラム
ガジェットクラス・ガジェットバリデーション・ガジェットインスタンスについては機能説明を参照ください。

申請書ガジェットブロックマスタ
申請書で使用するガジェットのブロック情報を保持するマスタです。
コンテンツID

コンテンツIDを設定します。

コンテンツバージョンID

コンテンツバージョンIDを設定します。

画面パスID

画面パスIDを設定します。

ガジェットクラス

ガジェットクラスを設定します。

ガジェットインスタンス

ガジェットインスタンスを設定します。

ガジェットブロック

ブロックIDを設定します。

ガジェットブロックタイプ

ガジェットブロックのタイプを設定します。
設定値は以下の通りです。
「normal:明細行を保持しない」「detail:明細行を保持する」

追加可否

明細行を保持するガジェットブロックの明細行追加可否を設定します。
申請書マスタ(コンテンツバージョン)登録／更新画面の明細制御設定の「追加」で設定可
能です。
設定値は以下の通りです。
明細行を保持しないブロックの場合、「0:許可しない」が設定されます。
「0:許可しない」「1:許可する」

削除可否

明細行を保持するガジェットブロックの明細行削除可否を設定します。
申請書マスタ(コンテンツバージョン)登録／更新画面の明細制御設定の「削除」で設定可
能です。
設定値は以下の通りです。
明細行を保持しないブロックの場合、「0:許可しない」が設定されます。
「0:許可しない」「1:許可する」

サーフィスキーガジェットブロックのタイトルとなるサーフィスのキーを設定します。

ソートキー

ソートキーを設定します。

199

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
申請書ガジェットフィールドマスタ
申請書で使用するガジェットのフィールド情報を保持するマスタです。
コンテンツID

コンテンツIDを設定します。

コンテンツバージョンID

コンテンツバージョンIDを設定します。

画面パスID

画面パスIDを設定します。

ガジェットクラス

ガジェットクラスを設定します。

ガジェットインスタンス

ガジェットインスタンスを設定します。

ガジェットブロック

ブロックIDを設定します。

フィールドキーフィールドキーを設定します。

必須区分

項目の任意/必須を設定します。
申請書マスタ(コンテンツバージョン)登録／更新画面の必須／任意設定で設定可能です。
設定値は以下の通りです。
「0:任意項目」「1:必須項目」

入力区分

項目の入力/ラベルを設定します。
申請書マスタ(コンテンツバージョン)登録／更新画面の入力／表示設定で設定可能です。
設定値は以下の通りです。
「0:入力項目」「1:ラベル項目」

サーフィスキーフィールドに紐づくサーフィスキーを設定します。

ソートキー

ソートキーを設定します。

申請書ガジェットサーフィスマスタ
申請書で使用するガジェットのサーフィスをロケールごとに保持するマスタです。
コンテンツID

コンテンツIDを設定します。

コンテンツバージョンID

コンテンツバージョンIDを設定します。

画面パスID

画面パスIDを設定します。

ガジェットクラス

ガジェットクラスを設定します。

ガジェットインスタンス

ガジェットインスタンスを設定します。

サーフィスキーサーフィスキーを設定します。

ロケールID

ロケールIDを設定します。
設定値は以下の通りです。
「ja:日本語」「en:英語」「zh_CN:中国語」

サーフィス

サーフィスを設定します。
申請書マスタ(コンテンツバージョン)登録／更新画面のラベル設定で設定可能です。

ページ画面情報マスタ
申請書で使用するページ画面情報を保持するマスタです。
申請書マスタ(コンテンツバージョン)登録／更新画面の画面種別設定の基底JSPパスを設定している場合、当マスタにデータが登録さ
れます。

200

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
コンテンツID

コンテンツIDを設定します。

コンテンツバー

コンテンツバージョンIDを設定します。

ジョンID
画面パスID

画面パスIDを設定します。

ページJSPパス

標準のJSPパスから変更する場合、申請書マスタ(コンテンツバージョン)登録／更新画面の画面種別設定の基
底JSPパス(PC)を設定します。

SPページJSPパス 標準のJSPパスから変更する場合、申請書マスタ(コンテンツバージョン)登録／更新画面の画面種別設定の基
底JSPパス(SP)を設定します。

申請書拡張ユーザプログラムマスタ
申請書で実行する拡張ユーザプログラム情報を保持するマスタです。
申請書マスタ(コンテンツバージョン)登録／更新画面のプログラム設定を設定した場合、当マスタにデータが登録されます。
コンテンツID

コンテンツIDを設定します。

コンテンツバージョンID

コンテンツバージョンIDを設定します。

実行順番

拡張ユーザプログラムの実行順番を設定します。
申請書マスタ(コンテンツバージョン)登録／更新画面のプログラム設定設定の並び順が実行順番になります。

拡張ユーザプログラム

拡張ユーザプログラムのJAVAパスを設定します。
申請書マスタ(コンテンツバージョン)登録／更新画面のプログラム設定のユーザプログラムで設定可能です。

申請書拡張パラメータマスタ
申請書で実行する拡張ユーザプログラムのパラメータを保持するマスタです。
申請書マスタ(コンテンツバージョン)登録／更新画面のパラメータ設定を設定した場合、当マスタにデータが登録されます。
コンテンツID

コンテンツIDを設定します。

コンテンツバー

コンテンツバージョンIDを設定します。

ジョンID
画面パスID

画面パスIDを設定します。
申請書マスタ(コンテンツバージョン)登録／更新画面のパラメータ設定で画面ごとにパラメータを登録できます。

パラメータキーパラメータのキーを設定します。
申請書マスタ(コンテンツバージョン)登録／更新画面のパラメータ設定のパラメータキーが登録されます。

パラメータ値

パラメータの値を設定します。
申請書マスタ(コンテンツバージョン)登録／更新画面のパラメータ設定のパラメータ値で設定可能です。

申請書ガジェットバリデーションマスタ
申請書で使用するガジェットのバリデーション情報を保持するマスタです。
申請書マスタ(コンテンツバージョン)登録／更新画面のチェックルール設定を設定した場合、当マスタにデータが登録されます。
コンテンツID

コンテンツIDを設定します。

コンテンツバージョンID

コンテンツバージョンIDを設定します。

画面パスID

入力チェックを実行する画面パスIDを設定します。
全てのイベントで入力チェックを実行する場合、「default」を設定します。
申請書マスタ(コンテンツバージョン)登録／更新画面のチェックルール設定の実行タイミン
グで設定可能です。

ガジェットクラス

ガジェットクラスを設定します。

201

intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
ガジェットインスタンス

ガジェットインスタンスを設定します。

バリデーションID

バリデーションIDを設定します。
指定可能なバリデーションIDは『intra-mart Accel Kaiden! GadgetBuilder 設定ガイ
ド』-「リファレンス」-「バリデート処理」を参照してください。

フィールドキーフィールドキーを設定します。
申請書マスタ(コンテンツバージョン)登録／更新画面のチェックルール設定のフィールドキーで設定可能です。

バリデーションターゲット

バリデーションのターゲットを設定します。
申請書マスタ(コンテンツバージョン)登録／更新画面のチェックルール設定のターゲットで設定可能です。
設定値は以下の通りです。
「CLIENT:クライアントサイドのみ実行」「SERVER:サーバーサイドのみ実行」「ALWAYS:クライアントサイド、サーバーサイドの両方で実行」

ガジェットバリエーション

ガジェットバリエーションを設定します。

引数

バリデーションID及び引数をJSON形式で設定します。
申請書マスタ(コンテンツバージョン)登録／更新画面のチェックルール設定の引数で設定可能です。
入力形式の詳細は『intra-mart Accel Kaiden! GadgetBuilder 設定ガイド』-「リファレンス」-「バリデート処理」を参照して「config」に設定する内容を入力してください。

申請書拡張テキストマスタ
申請書で使用するメッセージ表示ガジェットの拡張テキスト情報を保持するマスタです。
申請書マスタ(コンテンツバージョン)登録／更新画面の拡張テキスト設定を設定した場合、当マスタにデータが登録されます。
コンテンツID

コンテンツIDを設定します。

コンテンツバージョンID

コンテンツバージョンIDを設定します。

ガジェットクラス

ガジェットクラスを設定します。

ガジェットインスタンス

ガジェットインスタンスを設定します。

ロケールID

ロケールIDを設定します。
設定値は以下の通りです。
「ja:日本語」「en:英語」「zh_CN:中国語」

ガジェットID

ガジェットIDを設定します。

ガジェットバリエーション

ガジェットバリエーションを設定します。

拡張テキスト

メッセージ表示ガジェットに表示するテキストを設定します。
申請書マスタ(コンテンツバージョン)登録／更新画面の拡張テクスト設定で設定可能です。

カスタマイズ時の注意事項
本項では、 カスタマイズ時の注意事項を説明します。

2.0.12以前のバージョン(SAStruts+S2JDBC)から2.0.13以降のバージョン(SpringMVC+Mirage-SQL)
へアップデートする際の注意点
2.0.12以前のバージョン(SAStruts+S2JDBCの開発モデル)から2.0.13以降のバージョン(SpringMVC+Mirage-SQLの開発モデル)へ
アップデートする際の注意点を説明します。
カスタマイズしたモジュールを「SpringMVC+Mirage-SQLの開発モデル」に修正する場合、当項を参考にしてください。

202intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
マスタメンテナンス『intra-mart Accel Kaiden! MasterBuilder 設定ガイド』を参照してください。
MasterBuilderを使用しないでマスタメンテナンス関連機能を作成した場合、MasterBuilderを使用して作成することを推奨します。

ガジェット（ワークフロー）『intra-mart Accel Kaiden! GadgetBuilder 設定ガイド』を参照してください。
GadgetBuilderを使用しないでマスタメンテナンス関連機能を作成した場合、GadgetBuilderを使用して作成することを推奨します。

定数ファイル(constants)
IM-Workflow連携モジュールのextension_imw_constants.xmlを標準から変更している場合、標準のJSPパスを定義している項目の設定値を見直してください。
詳細は「機能説明」-「constants」-「IM-Workflow連携モジュール」を参照ください。

Java
カスタマイズしたJavaのソースを修正する際の注意点を説明します。
なお、「SAStruts+S2JDBCの開発モデル」で作成されたJavaのソースを「SpringMVC+Mirage-SQLの開発モデル」に修正する場
合の一般的な事項は記載しません。
Kaiden!に関する事項のみ説明します。
applicationContext.xml
カスタマイズで作成したクラスをSpringのコンポーネント対象として扱うためには、applicationContext.xmlの作成が必要です。
作成方法は「事前準備」-「開発環境構築」-「applicationContext.xmlの作成」を参照ください。
Javaパス
標準で提供しているJavaのクラスをインポートしている場合、「jp.co.slcs.kaiden2.」の部分を「jp.co.slcs.kaiden.v2.」に変更してください。
SQLパス
標準で提供しているSQLのパスを記載している場合、「META-INF/sql/jp/co/slcs/kaiden2/」の部分を「METAINF/sql/jp/co/slcs/kaiden/v2/」に変更してください。
JSPパス
標準で提供しているJSPのパスを記載している場合、「/WEB-INF/view/kaiden2」の部分を「/WEB-INF/views/kaiden/v2」に変更してください。
コンポーネントの取得
Manager、Conductor、Helperクラスなどを呼び出している場合、呼び出す方法を修正してください。
呼び出す方法は「仕様解説」を参照ください。
メンテナンス画面の個別実装
メンテナンス画面を個別実装する場合、それぞれ以下のクラスを継承してください。
期間化、非期間化に関係なく共通の基底クラスになります。
1. Controllerクラス
jp.co.slcs.kaiden.v2.base.foundation.master.AbstractCommonMaintenanceController
2. Formクラス
jp.co.slcs.kaiden.v2.base.foundation.master.AbstractCommonMaintenanceForm
3. Dtoクラス
jp.co.slcs.kaiden.v2.base.foundation.master.AbstractCommonMaintenanceDto
4. Logicクラス
jp.co.slcs.kaiden.v2.base.foundation.master.AbstractCommonMaintenanceLogic

Service・Entity
カスタマイズで作成したテーブルに対するService、Entityを修正してください。
詳細は「Service、Entity作成 」を参照してください。

203intra-mart Accel Kaiden! — プログラミングガイド 第22版 2024-08-31
SQL
Serviceに紐づくSQLをカスタマイズで作成している場合、SQLの格納場所を「META-INF/sql/jp/co/slcs/kaiden2/%Serviceクラスのパス%」から「META-INF/sql/jp/co/slcs/kaiden/v2/%Serviceクラスのパス%」に変更してください。

JSP
Javaパス
標準で提供しているJavaのクラスをインポートしている場合、「jp.co.slcs.kaiden2.」の部分を「jp.co.slcs.kaiden.v2.」に変更してください。
JSPパス
標準で提供しているJSPをインポートしている場合、「/WEB-INF/view/kaiden2」の部分を「/WEB-INF/views/kaiden/v2」に変更してください。
JSパス、CSSパス
標準で提供しているJS、CSSをインポートしている場合、「kaiden2/」の部分を「kaiden/v2/」に変更してください。
URL
標準で提供しているURLを記載している場合、「kaiden2/」の部分を「kaiden/v2/」に変更してください。
タグライブラリ
標準で提供しているタグライブラリを使用する場合、「http://kaiden.slcs.co.jp/taglib/」の部分を「http://kaiden.slcs.co.jp/taglib/v2/」に変更してください。
リストデータ
2.0.13で廃止されたリストデータを使用している場合、MasterBuilderの検索機能を使用してください。
使用可能なリストデータは「リストデータ」を参照ください。
使用方法は、『intra-mart Accel Kaiden! MasterBuilder 設定ガイド』-「詳細」-「検索」を参照してください。
マスタ検索
タグライブラリのマスタ検索は2.0.13で廃止しました。
MasterBuilderの検索機能を使用してください。
使用方法は、『intra-mart Accel Kaiden! MasterBuilder 設定ガイド』-「詳細」-「検索」を参照してください。

204