ken_nogi/ClaudePleasanter/新・稟議申請システム/docs/site-319016_【ISO】稟議管理_spec.md
Kenichiro NOGI 9bbc344137 Pleasanterサイト仕様書パイプラインを再構築
生JSON取得(siteSettingJsons/)と設定分解(configs/)の保存先を分離し、
仕様書・概要書はClaudeが読み解いて執筆する方式に統一(機械生成の
generate-site-documentation.jsは不使用)。10サイト分のspec.md/
overview.mdを刷新し、サイト間連携をまとめたsite-relations_overview.md
を新規追加、全docsをPDF化した。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-11 08:49:24 +09:00

42 KiB
Raw Blame History

サイト仕様書【ISO】稟議管理SiteId: 319016

  • 取得元データ: site-319016_latest.json
  • 取得日時: 2026-06-22T18:19:14サイト更新日時設定バージョン Ver: 17SiteSettings.Version: 1.017

1. サイト基本情報

項目
TenantId 1
SiteId 319016
Title 【ISO】稟議管理
ReferenceType Results
ParentId 319014新・稟議申請
InheritPermission 319016自サイト自身の権限設定を使用。親から継承していない
Publish false外部公開なし
DisableCrossSearch false
Creator / Updator User 460
CreatedTime 2025-03-02T19:15:06
SiteSettings.Version 1.017

補足: ParentId: 319014 により、本サイトはツリー構造上「新・稟議申請」の子サイトとして位置づけられている。

2. アクセス権限Permissions

種別 対象ID 権限値
Dept 21 37
Group 13 109
Group 19 511
Group 27 1
Group 41 5
User 459 1
User 460 511
User 463 1

※ 権限値はビットフラグの加算方式のため正確な意味は環境のロール定義に依存する。本仕様書では設定値の転記のみ行う。 ※ スクリプト内の記述から、Group 13ISO担当、Group 19システム、Group 41役員グループ、Group 27全従業員グループ、と推測される後述10.参照)。

3. 画面構成

3.1 一覧画面GridColumns

順番 列名(内部) 表示ラベル
1 ResultId ID自動採番、標準ラベル
2 Status ステータス
3 ClassA 稟議コード
4 ClassB エリア
5 ClassC 稟議分類
6 Class105 計上年
7 Class106 計上月
8 Class005 役員(二次承認者)
9 Class109 稟議概要件名
10 Class110 稟議項目
11 Description110 稟議概要
12 Description111 要因分析
13 Class111 稟議の原因
14 Class114 是正状況
15 Class115 再発状況
16 Description115 是正/効果検証
17 Date120 部門長共有日
18 Date121 全体会議共有日
19 UpdatedTime 更新日時GridDesignでUpdator併記

参考: 検索絞り込みパネルFilterColumnsには上記に加え ClassD(事前稟議), DateA(申請日), Date033(最終決裁日), Class120, Class121, Class114 などが指定されている。また ClassZ~~319022,ClassA という表記があり、SiteId 319022【部署別】稟議改善側のClassA項目を横断的に絞り込み条件へ含めている後述7.参照)。

保存済みビュー「稟議改善への取組み」Views[0], Id:1では一覧列を独自に差し替え、ClassZ~~319022,ClassAClassZ~~319022,TitleBody を列として表示する設定になっている319022側のレコードのタイトル・稟議コードを横断表示

3.2 編集画面レイアウトEditorColumnHash / Sections

タブ構成は次の通り。Generalタブのラベルは GeneralTabLabelText: "★ISO稟議分析"。他タブはTabs配列のIdで対応する。

EditorColumnHashキー 対応するTabId タブ表示ラベル
General - ★ISO稟議分析
_Tab-7 7 稟議申請書(控え)
_Tab-8 8 事故報告書(控え)
_Tab-9 9 承認状況(控え)
_Tab-10 10 ★稟議該当者
_Tab-11 11

General★ISO稟議分析

順番 項目名(内部名) ラベル名
1 ResultId ID標準ラベル
2 Ver バージョン(標準ラベル)
3 Title タイトル(標準ラベル)
4 Status ステータス
5 _Section-30 ―(セクション「本稟議を損害として計上する年月を選択」開始)
6 Class105 計上年
7 Class106 計上月
8 Class107 計上年月標準ラベル、Hide
9 _Section-23 ―(セクション「稟議分析」開始)
10 Class109 稟議概要件名
11 Class110 稟議項目
12 Description110 稟議概要
13 Description111 要因分析
14 Description112 今後の対策
15 Attachments110 図面・資料など
16 Class111 稟議の原因
17 _Section-24 ―(セクション「是正状況」開始)
18 Class114 是正状況
19 Class115 再発状況
20 Description115 是正/効果検証
21 Comments コメント(標準ラベル)
22 _Section-28 ―(セクション「稟議共有」開始)
23 Class120 部門長共有
24 Date120 部門長共有日
25 Class121 全体会議共有
26 Date121 全体会議共有日
27 _Section-29 ―(セクション「稟議改善への取組み」開始)
28 _Links-319022 SiteId 319022【部署別】稟議改善の関連レコード一覧を埋め込み表示

_Tab-7稟議申請書(控え)

順番 項目名(内部名) ラベル名
1 DateA 申請日
2 Date033 最終決裁日
3 ClassL 稟議コードリンク
4 ClassA 稟議コード
5 ClassB エリア
6 ClassC 稟議分類
7 ClassD 事前稟議
8 _Section-17 ―(セクション「申請者」開始)
9 Class001 申請部署
10 Class002 申請者
11 Class003 社員番号
12 Class004 上長(一次承認者)
13 Class005 役員(二次承認者)
14 Class009 関係者
15 _Section-18 ―(セクション「マスターシート」開始)
16 ClassR 関連案件有無
17 Class011 マスターシート
18 Class012 契約コード
19 Class013 派生コードHide
20 Class014 工事名
21 Class015 主担当営業
22 Class016 担当IC
23 Class017 担当設計
24 Class018 担当監督
25 Class019 所属長
26 Class020 担当役員
27 Class021 工務エリア担当
28 _Section-19 ―(セクション「稟議内容」開始)
29 ClassG 稟議件名
30 DescriptionA 稟議内容
31 ClassZ 消費税
32 NumA 原価
33 NumZ 販売/購入額
34 NumE 実損額
35 NumF 今回支払額
36 _Section-27 ―(セクション「販売額(税別)を稟議該当者で按分」開始)

_Tab-8事故報告書(控え)

順番 項目名(内部名) ラベル名
1 _Section-20 ―(セクション「事故報告書(赤稟議の場合必須)」開始)
2 DescriptionB 事故内容・原因
3 DescriptionC 損害状況
4 DescriptionD 再発防止策
5 _Section-21 ―(セクション「追記」開始)
6 DescriptionF 補足

_Tab-9承認状況(控え)

順番 項目名(内部名) ラベル名
1 _Section-22 ―(セクション「承認状況」開始)
2 Class031 一次承認者
3 Date031 一次承認日
4 Class051 一次承認コメント
5 Class032 二次承認者
6 Date032 二次承認日
7 Class052 二次承認コメント
8 Class033 最終決裁者
9 Class053 決裁コメント

_Tab-10★稟議該当者

順番 項目名(内部名) ラベル名
1 Class180 稟議該当者チェック
2 _Section-25 ―(セクション「稟議該当者」開始)
3 Class141 ①申請部署
4 Class151 ①申請者
5 Class142 ②関連部署
6 Class152 ②関連社員
7 Class143 ③関連部署
8 Class153 ③関連社員
9 Class144 ④関連部署
10 Class154 ④関連社員
11 Class145 ⑤関連部署
12 Class155 ⑤関連社員
13 Class146 ⑥関連部署
14 Class156 ⑥関連社員
15 Class147 ⑦関連部署
16 Class157 ⑦関連社員
17 Class148 ⑧関連部署
18 Class158 ⑧関連社員
19 Class149 ⑨関連部署
20 Class159 ⑨関連社員
21 Class150 ⑩関連部署
22 Class160 ⑩関連社員
23 _Section-26 ―(セクション「稟議金額の割当(関連人数で按分) ※販売金額(税別)」開始)
24 NumP 割当金1
25 NumQ 割当金2
26 _Links-319017 SiteId 319017【ISO】部署担当者別稟議集計の関連レコード一覧を埋め込み表示

_Tab-11

順番 項目名(内部名) ラベル名
1 Class191 全社員リスト1
2 Class192 全社員リスト2
3 Class193 全社員リスト3
4 Class194 全社員リスト4
5 Class195 全社員リスト5
6 Class196 全社員リスト6
7 Class197 全社員リスト7
8 Class198 全社員リスト8
9 Class199 全社員リスト9
10 Class200 全社員リスト10
11 _Section-31 ―(セクション「ログ」開始)
12 Class181 ISO確認者
13 Date181 ISO確認日
14 Class182 役員確認者
15 Date182 役員確認日
16 Date185 分析期限

SectionsAllowExpand / Expand

Id ラベル AllowExpand Expand
30 本稟議を損害として計上する年月を選択 false true
23 稟議分析 false true
24 是正状況 false true
28 稟議共有 false true
29 稟議改善への取組み false true
17 申請者 false true
18 マスターシート false true
19 稟議内容 false true
27 販売額(税別)を稟議該当者で按分 false true
20 事故報告書(赤稟議の場合必須) false true
21 追記 false true
22 承認状況 false true
25 稟議該当者 false true
26 稟議金額の割当(関連人数で按分) ※販売金額(税別) false true
31 ログ true false

3.3 タイトル表示TitleColumns / TitleSeparator

TitleColumns: [ClassA, ClassB, ClassC, Class109]TitleSeparator: "■" のため、レコードタイトルは次の式で構成される。

[ClassA稟議コード] ■ [ClassBエリア] ■ [ClassC稟議分類] ■ [Class109稟議概要件名]

4. 項目定義Columns

種別は「項目種別の判定ルール」に基づく推定。備考には NoWrapFieldCssExtendedHtmlAfterControl の有無等を記載。

General★ISO稟議分析タブの項目

列名(内部) 種別 表示ラベル 説明・入力ガイド 備考
ResultId 自動採番ID ID標準 - Hide
Ver 内部管理項目(バージョン番号) バージョン(標準) - Hide
Status 状態 ステータス 新規登録ISO確認中役員確認依頼ISO確認済全体共有共有停止保留 -
Class105 文字列(拡張分類) 計上年 選択肢はサーバースクリプトで年-1〜年+1を動的追加 NoWrap
Class106 文字列(拡張分類) 計上月 1〜12月の選択 -
Class107 文字列(拡張分類) 計上年月(標準ラベル) Class105+Class106からクライアントスクリプトで自動生成 Hide, NoWrap
Class109 文字列(拡張分類) 稟議概要件名 - FieldCss: field-wide
Class110 文字列(拡張分類) 稟議項目 SiteId 319020稟議項目から選択肢取得 Link項目
Description110 説明 稟議概要 - -
Description111 説明 要因分析 - -
Description112 説明 今後の対策 - -
Attachments110 添付ファイル 図面・資料など - -
Class111 文字列(拡張分類) 稟議の原因 SiteId 319019から選択肢取得対象10サイトに含まれない外部サイト Link項目
Class114 文字列(拡張分類) 是正状況 是正中/是正済み -
Class115 文字列(拡張分類) 再発状況 初発/再発案件 -
Description115 説明 是正/効果検証 - -
Comments コメント欄 コメント(標準) - -
Class120 文字列(分類) 部門長共有 未共有/共有済み ChoicesControlType: Radio
Date120 日付 部門長共有日 Class120選択時にクライアントスクリプトが自動入力 -
Class121 文字列(分類) 全体会議共有 未共有/共有済み ChoicesControlType: Radio, NoWrap
Date121 日付 全体会議共有日 Class121選択時にクライアントスクリプトが自動入力 -

_Tab-7稟議申請書(控え))タブの項目

列名(内部) 種別 表示ラベル 説明・入力ガイド 備考
DateA 日付 申請日 - DateFilterSetMode:2
Date033 日付 最終決裁日 - DateFilterSetMode:2
ClassL 文字列(分類) 稟議コードリンク SiteId 160926稟議コード管理の値をルックアップしClassA/B/Cへ自動反映 FieldCss: field-wide
ClassA 文字列(分類) 稟議コード - NoWrap, ValidateRequired, NoDuplication重複禁止
ClassB 文字列(分類) エリア 東京/愛知/千葉/熊本/静岡/特建事業部/不動産事業部/デザイノ/その他 ChoicesControlType: Radio
ClassC 文字列(分類) 稟議分類 白稟議/赤稟議/駐車場稟議/赤稟議(5万以下)/事前稟議/お客様返金稟議/社用車事故報告/自家用車事故報告 ChoicesControlType: Radio
ClassD 文字列(分類) 事前稟議 SiteId 160926稟議コード管理、事前稟議に絞込表示から選択 Link項目、FieldCss: field-wide
Class001 文字列(拡張分類) 申請部署 部署マスタ(Depts)、既定値=自分の所属 GridLabelText:申請者
Class002 文字列(拡張分類) 申請者 ユーザーマスタ、既定値=自分 -
Class003 文字列(拡張分類) 社員番号 ※自動入力補足HTML、後述4.1 -
Class004 文字列(拡張分類) 上長(一次承認者) ユーザーマスタ GridLabelText:承認者
Class005 文字列(拡張分類) 役員(二次承認者) ユーザーマスタ -
Class009 文字列(拡張分類) 関係者 複数選択可、決裁完了通知先後述4.1 FieldCss: field-wide
ClassR 文字列(分類) 関連案件有無 「関連するマスターシートが登録済みの場合は『有り』を選択すること」 ChoicesControlType: Radio, 既定値=有り
Class011 文字列(拡張分類) マスターシート SiteId 189112対象10サイトに含まれない外部サイトから検索選択 FieldCss: field-wide
Class012 文字列(拡張分類) 契約コード - NoWrap
Class013 文字列(拡張分類) 派生コード - Hide
Class014 文字列(拡張分類) 工事名 - FieldCss: field-wide
Class015 文字列(拡張分類) 主担当営業 ユーザーマスタ -
Class016 文字列(拡張分類) 担当IC ユーザーマスタ -
Class017 文字列(拡張分類) 担当設計 ユーザーマスタ -
Class018 文字列(拡張分類) 担当監督 ユーザーマスタ -
Class019 文字列(拡張分類) 所属長 ユーザーマスタ NoWrap
Class020 文字列(拡張分類) 担当役員 ユーザーマスタ -
Class021 文字列(拡張分類) 工務エリア担当 ユーザーマスタ -
ClassG 文字列(分類) 稟議件名 - FieldCss: field-wide
DescriptionA 説明 稟議内容 - -
ClassZ 文字列(分類) 消費税 税別/税込、既定値=税別 ChoicesControlType: Radio, NoWrap
NumA 数値 原価 ※税別補足HTML、税込選択時は表示切替 既定値0, Min0, 文字サイズ拡大スタイル対象
NumZ 数値 販売/購入額 ※税別・利益込み補足HTML、税込選択時は表示切替 Min0, 文字サイズ拡大スタイル対象
NumE 数値 実損額 ※原価-危険負担費の今回使用額 Min0, 文字サイズ拡大スタイル対象
NumF 数値 今回支払額 ※実損額または販売額から転記 文字サイズ拡大スタイル対象

_Tab-8事故報告書(控え))タブの項目

列名(内部) 種別 表示ラベル 説明・入力ガイド 備考
DescriptionB 説明 事故内容・原因 - -
DescriptionC 説明 損害状況 - -
DescriptionD 説明 再発防止策 - -
DescriptionF 説明 補足 「上長・役員からの補足」 -

_Tab-9承認状況(控え))タブの項目

列名(内部) 種別 表示ラベル 説明・入力ガイド 備考
Class031 文字列(拡張分類) 一次承認者 ユーザーマスタ -
Date031 日付 一次承認日 - -
Class051 文字列(拡張分類) 一次承認コメント - FieldCss: field-wide
Class032 文字列(拡張分類) 二次承認者 ユーザーマスタ -
Date032 日付 二次承認日 - -
Class052 文字列(拡張分類) 二次承認コメント - FieldCss: field-wide
Class033 文字列(拡張分類) 最終決裁者 ユーザーマスタ -
Class053 文字列(拡張分類) 決裁コメント - FieldCss: field-wide

_Tab-10★稟議該当者タブの項目

列名(内部) 種別 表示ラベル 説明・入力ガイド 備考
Class180 文字列(拡張分類) 稟議該当者チェック 未チェック/チェック済 既定値0
Class141 文字列(拡張分類) ①申請部署 部署マスタ(Depts) NoWrap
Class151 文字列(拡張分類) ①申請者 Usersテーブル参照有効ユーザーのみ絞込 -
Class142〜150 文字列(拡張分類) ②〜⑩関連部署 部署マスタ、選択に応じ対応する関連社員欄をポストバック更新 NoWrap
Class152〜160 文字列(拡張分類) ②〜⑩関連社員 Usersテーブル参照有効ユーザーのみ絞込 -
NumP 数値 割当金1 ※申請者分NumZを人数按分した結果 -
NumQ 数値 割当金2 ※関連社員分NumZを人数按分した結果 -

_Tab-11タブの項目

列名(内部) 種別 表示ラベル 説明・入力ガイド 備考
Class191〜200 文字列(拡張分類) 全社員リスト1〜10 ユーザーマスタ複数選択全社員IDを分割格納する想定だったが、生成用スクリプトは無効化済み。後述 FieldCss: field-wide
Class181 文字列(拡張分類) ISO確認者 プロセス「ISO確認中」実行時に自動入力 -
Date181 日付 ISO確認日 プロセス「ISO確認中」実行時に自動入力 -
Class182 文字列(拡張分類) 役員確認者 プロセス「役員分析」実行時に自動入力 -
Date182 日付 役員確認日 プロセス「役員分析」実行時に自動入力 -
Date185 日付 分析期限 プロセス「ISO確認中」実行時に翌月25日を自動設定 -

編集画面のどのタブにも配置されていない項目(裏項目)

以下はColumns定義には存在するが、EditorColumnHashのいずれのタブにも配置されておらず、通常の編集画面からは直接入力・閲覧できない。通知本文・スクリプト・プロセスの内部処理専用、または過去仕様の名残りと推測される詳細は「気になる点」参照

列名(内部) 種別 表示ラベル 備考
UpdatedTime システム項目 更新日時 GridColumnsで使用、GridDesignでUpdator併記
NumB 数値 危険負担費(元) -
NumC 数値 今回使用額 -
NumD 数値 危険負担費(残金) -
DescriptionX 説明 標準ラベル Hide。ExtendedHtmlAfterFieldに「工種・材料」「取引先」欄への言及あり本サイトに該当項目なし、他サイト設定の流用の可能性
ClassV 文字列(分類) 支払先チェック 未チェック/記入漏れ無し
NumM 数値 支払合計 ExtendedFieldCss: size150
DescriptionE 説明 是正処置の効果測定 -
AttachmentsB 添付ファイル 事故補足資料 EditorReadOnly
Class071 文字列(拡張分類) 役員 複数選択可
Class072 文字列(拡張分類) 経理担当 複数選択可
Class073 文字列(拡張分類) 工務担当 複数選択可
Class074 文字列(拡張分類) アフター担当 複数選択可
Class075 文字列(拡張分類) アシスタント 複数選択可
Class076 文字列(拡張分類) ISO担当 複数選択可
Class041 文字列(拡張分類) 差戻し者 -
Date041 日付 差戻し日 -
ClassP 文字列(分類) 科目 FieldCss: field-wide
ClassQ 文字列(分類) 摘要 FieldCss: field-wide
DateP 日付 経理処理日 -
DescriptionP 説明 備考 -
CheckA チェックボックス 標準ラベル Hide, ValidateRequired
Class100 文字列(拡張分類) 役員 Hide。既定値として役員クラスの複数ユーザーIDが固定登録
Class101 文字列(拡張分類) 経理 Hide。既定値として経理担当の複数ユーザーIDが固定登録
Class081 文字列(拡張分類) 豊藏社長 Hide。既定値として特定個人のユーザーIDが固定登録後述「気になる点」
DateK 日付 期限 入力ガイド「申請または承認日から7日後」
Class080 文字列(拡張分類) 差戻し権限者 「上長、担当役員、社長」
Date042 日付 取消日 -
Date043 日付 保留日 -
Date044 日付 再開日 -
Class040 文字列(拡張分類) 却下処理者 -
Date040 日付 却下処理日 -
Class054 文字列(拡張分類) 却下コメント FieldCss: field-wide
Class055 文字列(拡張分類) 差戻しコメント FieldCss: field-wide
Description051〜055 説明 一次/二次承認・決裁・却下・差戻しコメント履歴 -
Class037 文字列(拡張分類) 次の処理者 GridDesignでDateK(期限)併記
ClassO 文字列(分類) 経理確認 未確認/確認済み
ClassN 文字列(拡張分類) 経理処理者 -

4.1 項目ごとの補足HTMLExtendedHtmlAfterControl

列名 色・スタイル 内容
Class003 skyblue ※自動入力
Class009 blue left ※決裁完了通知先
Class011 red big 関連するマスターシートがある場合は選択
ClassD red small ※関連する事前稟議がある場合は必ず選択してください。※赤稟議の場合、事前稟議がないと却下される要因となります。
AttachmentsA small green ※補足資料、見積書、請求書、写真など。
NumAid: NumAcomment red right税込選択時はスクリプトでblueに切替 ※税別(税込選択時は「※税込」に自動変更)
NumZid: NumZcomment red right税込選択時はスクリプトでblueに切替 ※税別・利益込み(税込選択時は「※税込・利益込み」に自動変更)
NumE red ※原価-危険負担費の今回使用額
NumF red ※実損額または販売額から転記。
NumP red right ※申請者分
NumQ red right ※関連社員分
ClassZ small red ※原則として税別にて申請。物品購入等の場合は税込み申請可。
DescriptionXExtendedHtmlAfterField red left ※原価しかわからない場合は原価÷0.7を客出し金額とする。※客出し金額しかわからない場合は備考欄に「規定金額」と記載すること。※「工種・材料」「取引先」が空欄の行は自動的に削除されます。

5. 作成・更新権限(フィールド単位)

PermissionForCreating新規作成時にのみ権限制御される項目

列名 権限値
Class004上長(一次承認者) 5
Class005役員(二次承認者) 5

PermissionForUpdating更新時に権限制御される項目

列名 権限値
Class195全社員リスト5 1
Class191全社員リスト1 1
Class192全社員リスト2 1
Class193全社員リスト3 1
Class194全社員リスト4 1
Class004上長(一次承認者) 5
Class005役員(二次承認者) 5

項目単位の閲覧・作成・更新制限ColumnAccessControls

本サイトは項目アクセス制御が広範囲に設定されている。

  • ReadColumnAccessControls(閲覧制限): 稟議コード(ClassA)、事前稟議(ClassD)、稟議件名(ClassG)、稟議コードリンク(ClassL)、経理処理者(ClassN)、経理確認(ClassO)、科目(ClassP)、摘要(ClassQ)、関連案件有無(ClassR)、支払先チェック(ClassV)、申請部署〜工務エリア担当(Class001〜021)、一次〜二次承認者・決裁者(Class031〜033・037・040・041)、承認/決裁/却下/差戻しコメント(Class051〜055)、役員・経理・工務・アフター・アシスタント・ISO担当(Class071〜076)、差戻し権限者・豊藏社長・役員・経理既定値(Class080・081・100・101)、稟議該当者関連(Class141〜160)、原価・危険負担費・支払合計・実損額・今回支払額等の金額項目(NumA〜F・M・P・Q・Z)、期限・経理処理日・各種日付(DateK・DateP・Date031〜044)、稟議内容/事故内容/損害状況/再発防止策/是正効果測定/補足/備考等の説明項目(DescriptionA〜F・P・051〜055)、補足資料・事故補足資料(AttachmentsA・B) — これらすべてが Groups 13(ISO)・19(システム)・41(役員グループ) のみ閲覧可能に制限されている。
  • CreateColumnAccessControls / UpdateColumnAccessControls(作成・更新制限): 部門長共有(Class120)、全体会議共有(Class121) の2項目が Groups 13・19・41 のみ作成・更新可能。

上記以外の一般社員はこれらの項目が編集画面上で非表示または操作不可となる一覧画面のGridColumnsに出ている項目は別途権限が効く点に注意

6. 集計設定Aggregations

Id GroupBy Type Target
7 Status 0件数集計 -
8 ClassBエリア 0件数集計 -
1 Class105計上年 0件数集計 -
2 Class106計上月 0件数集計 -
3 Class114是正状況 0件数集計 -
4 Class115再発状況 0件数集計 -
5 Class120部門長共有 0件数集計 -
6 Class121全体会議共有 0件数集計 -
9 Class005役員(二次承認者) 0件数集計 -

7.1 正式なLinks設定

起点列 参照先SiteId 参照先の値→自コピー先 JsonFormat
Class011マスターシート 189112対象10サイト外 検索書式 [Title] - [ClassF] - [ClassG] true
ClassD事前稟議 160926稟議コード管理 検索書式 [Title] - [ClassF]、ビューでClassB=4に絞込、DateA降順 true
ClassL稟議コードリンク 160926稟議コード管理 ClassC→ClassA, ClassA→ClassB, ClassB→ClassC, ClassF→ClassG true
Class110稟議項目 319020稟議項目 選択肢として一覧取得(319020形式) -
Class111稟議の原因 319019対象10サイト外 選択肢として一覧取得(319019形式) -
Class151〜160①〜⑩申請者/関連社員) Users社員マスタ、SiteId 0 有効ユーザーのみ絞込、UserId昇順 true

文章補足:

  • ClassL選択時に、参照先サイト稟議コード管理 SiteId 160926のClassC/ClassA/ClassB/ClassFの値を、このサイトのClassA/ClassB/ClassC/ClassGへ自動コピーするColumnsReturnedWhenAutomaticPostback: "ClassA, ClassB, ClassC, ClassD")。
  • Class110・Class111は他サイトのレコードそのものへの参照Linkであり、値コピーではなくID参照。
配置タブ 表示先SiteId 内容
General末尾 319022【部署別】稟議改善 関連する稟議改善への取組みレコード一覧を編集画面に埋め込み表示
_Tab-10末尾 319017【ISO】部署担当者別稟議集計 部署担当者別に按分計上された集計レコード一覧を編集画面に埋め込み表示

7.3 暗黙的なテーブル参照Links設定に現れないハードコード参照

スクリプト本文後述10.を確認したところ、以下のSiteIdへの直接参照がハードコードされていた。

参照元 参照先SiteId 参照方法 目的(推測)
クライアントスクリプト「1.ISO稟議管理スクリプト」$p.ex.updateSummary関数) 319017【ISO】部署担当者別稟議集計 $.ajaxによるAPI直叩き/pleasanter/api/items/319017/upsert プロセス「再計上」「役員分析」完了時に、稟議該当者・部署ごとの按分金額を319017へ都度アップサート新規作成/更新)で書き込む
サーバースクリプト「年選択肢表示」BeforeOpeningPage 335730組織エリアマスタ items.Get('335730') 部署→エリア名の対応表を取得し、編集画面のhidden項目areaListにJSON形式で埋め込むupdateSummary関数内でエリア名解決に使用
クライアントスクリプト(コメントアウト済み・非稼働) - groups.Get(27)(サーバースクリプト側の記述、現在は無効化) 全従業員グループの構成員一覧を取得し全社員リスト項目へ格納する処理だったが、現在はコメントアウトされ動作しない

8. プロセス設定Processes

定義ファイル: configs/site-319016_【ISO】稟議管理/processes.json

Id Name・DisplayName 実行条件(CurrentStatus→ChangedStatus) 動作(OnClick等) 成功メッセージ
1 ISO確認中 100(新規登録)→150(ISO確認中) processScript('1')。確認ダイアログ後、分析期限(Date185)に翌月25日を自動設定してからプロセス実行。実行可能グループ:13(ISO) ISO確認中に変更しました
2 役員依頼 150(ISO確認中)→170(役員確認依頼) processScript('2')。確認ダイアログ後にプロセス実行。実行可能グループ:13(ISO)。実行後、役員(二次承認者)Class005宛CC: somu-iso@nexthd.jpへ分析依頼メール通知 担当役員へ分析を依頼しました
7 役員分析 170(役員確認依頼)→200(ISO確認済) processScript('7')。稟議概要・要因分析・今後の対策・稟議項目・稟議の原因・是正状況・再発状況・是正/効果検証・稟議該当者チェック・計上年月が入力必須。実行前に按分金額を計算し319017へアップサート送信。実行者制限あり(Class005が自分自身のレコードのみ) 担当役員による内容分析を入力しました
5 保留 任意→990(保留) 確認・入力チェックあり(ValidationType:90)。実行可能グループ:13(ISO) 保留に変更しました
6 再計上 任意→変更なし(-1) processScript('6')。確認ダイアログ後、按分金額を再計算し319017へ再アップサート送信。実行可能グループ:13(ISO), 19(システム) (設定なし)

補足: プロセス7の実行後、303行目相当のスクリプトで再度319017へのデータ送信が行われるプロセス完了と外部サイトへの集計反映がセットで動作する設計

9. スタイルStyles

Id Title 適用範囲 ファイル
1 1.読み取り専用 New/Edit styles/1_1.読み取り専用.css
2 2.項目の文字サイズ変更 New/Edit styles/2_2.項目の文字サイズ変更.css
4 3.支払先テーブルの調整 New/EditDisabled styles/4_3.支払先テーブルの調整.css
5 4.ボタンスタイル New/EditDisabled styles/5_4.ボタンスタイル.css
6 5.ガイド欄 All全画面 styles/6_5.ガイド欄.css
7 6.copyButton New/Edit styles/7_6.copyButton.css

DisabledのスタイルId4, Id5は現状無効化されており、実際の画面には反映されていない。

10. スクリプトScriptsサーバースクリプトServerScripts

Id Title 適用画面 ファイル
1Script 1.ISO稟議管理スクリプト New/Edit scripts/1_1.ISO稟議管理スクリプト.js
1ServerScript 年選択肢表示 BeforeOpeningPage serverscripts/1_年選択肢表示.js

クライアントスクリプト「1.ISO稟議管理スクリプト」の概要:

  • 編集画面ロード時に、グループ(13:ISO, 41:役員, 19:システム)所属チェックを行い、非所属者に対しては稟議該当者関連タブ(_Tab-7〜11)を非表示にする。
  • 所属者にはコメント項目(稟議内容/事故内容・原因/損害状況/再発防止策/補足)のクリップボードコピー用ボタンを動的追加する。
  • code-readonly/code-readonly2クラスの項目・エリア/稟議分類等のラジオボタンを読取り専用化するStatus上ではなく常時読取り専用に近い制御
  • 消費税区分(ClassZ)に応じて、原価・販売額欄の補足文言(税別/税込)を動的に切り替える。
  • 計上年(Class105)・計上月(Class106)変更時に、計上年月(Class107)を自動合成する。
  • 保存前チェックで、稟議該当者の部署・社員欄の整合性チェック(部署が空欄なら社員も空欄に、逆も同様)と、販売額(NumZ)を該当者人数で按分してNumP(申請者分)/NumQ(関連社員分)へ計算・格納する。
  • 各承認・確認プロセスボタン押下時に確認ダイアログを表示し、プロセスごとの追加処理分析期限の自動設定、SiteId 319017への集計データ送信等を実行する。
  • SiteId 319017【ISO】部署担当者別稟議集計へのボタンをUI上で非表示にする処理を含む。
  • script本文にAPIキーとみられる長い英数字文字列が平文でハードコードされている後述「気になる点」参照。値は本書に転記しない

サーバースクリプト「年選択肢表示」の概要:

  • ページ表示前(BeforeOpeningPage)に、計上年(Class105)の選択肢へ「当年の前後1年」を動的追加する。
  • SiteId 335730組織エリアマスタから部署コード・部署名・エリア名の一覧を取得し、hidden項目areaListにJSON形式で埋め込むクライアントスクリプト側で参照
  • 全従業員グループ(27)の構成員一覧を取得してhidden項目に分割格納する処理が実装されているが、現在はコメントアウトされ無効化されている。

11. その他設定

項目 値・内容
NoDisplayIfReadOnly false
HideLink trueサイト間の標準リンクブロックを非表示。ただしクライアントスクリプトで個別にSiteId 319017向けボタンも重ねて非表示化している
SectionLatestId 31
AllowCopy falseレコードのコピー機能を無効化
GuideAllowExpand / GuideExpand true / "1"(ガイド欄は初期状態で展開表示)
TitleSeparator
GridGuide一覧画面ガイド 「新・稟議申請システムにて、赤稟議(5万円含む)で申請された稟議が最終決裁されると、自動的にデータが連携されます。本テーブルの稟議は全社員が閲覧できます。」+稟議改善への取組みに関する案内文
EditorGuide編集画面ガイド GridGuideに加え、「ISO確認中分析内容を入力できます。ISO確認済み部署別集計へ計上され、内容を変更できなくなります。」の運用ルールを明記
Comments 使用ありGeneralタブに配置
StatusControls Status:-1全ステータス共通かつビュー条件Status∈[200,900,910,990]の場合に、稟議分析関連の主要項目群を一括で読取り専用化する制御あり
Views 保存済みビュー「稟議改善への取組み」SiteId 319022の項目を横断的に一覧表示

気になる点(レビュー観点)

  • 【重大・セキュリティ】クライアントスクリプト「1.ISO稟議管理スクリプト」内に、Pleasanter APIキーとみられる長い英数字文字列が平文で2箇所ハードコードされている。 ブラウザの開発者ツールから誰でも参照可能な状態であり、値自体は本書に転記していないが、速やかな失効・再発行、およびサーバースクリプト側(context経由への移設やAPIキーを使わない構成への見直しを推奨する。
  • 正式なLinks設定には現れない、SiteId 319017【ISO】部署担当者別稟議集計へのAPI直叩きクライアントスクリプトからのupsert、およびSiteId 335730組織エリアマスタへのitems.Get()直接参照がある詳細は7.3。これらはサイト設定の変更だけでは追跡できない依存関係のため、319016側の項目を改修する際は319017・335730側への影響も要確認。
  • Class011マスターシート、SiteId 189112、Class111稟議の原因、SiteId 319019が、今回対象の10サイトリストに含まれない外部サイトを参照している。ドキュメント化・改修時はこれらのサイトの存在も考慮する必要がある。
  • Columns定義には約130項目あるが、DescriptionE・Class071〜076・Class100・Class101・Class081・Class080・DateK・ClassP/Q・DateP・DescriptionP・Class037〜055(一部)・ClassN・ClassO 等、多数の項目がEditorColumnHashのどのタブにも配置されておらず、通常の編集画面からは入力・閲覧できない「裏項目」になっている。用途が終了した項目か、通知・按分計算専用の内部項目かの精査を推奨。
  • Notifications[0]はMonitorChangesColumnsに90項目以上の変更監視対象を指定しているが、AfterUpdate/AfterBulkUpdate/AfterDelete等の発火条件はすべてfalseになっており、Expression:1のみが有効化されている。意図した通知条件になっているか要確認実質「新規作成時のみ」動作している可能性がある
  • Class191〜200全社員リスト1〜10へ全社員IDを分割格納する処理クライアントスクリプトのgetUserList関数、サーバースクリプトのgroups.Get(27)によるuserIds_*生成がいずれもコメントアウトされており、現在は機能していない。関連する項目・権限設定PermissionForUpdating、ReadColumnAccessControlsは残置されたままであり、不要であれば整理を推奨。
  • スタイル「3.支払先テーブルの調整」「4.ボタンスタイル」がDisabled状態のまま残置されている。使用しないのであれば削除、使用するのであれば有効化の判断を推奨。
  • Class081のラベル名が「豊藏社長」という特定個人名になっており、既定値(DefaultInput)にも特定のユーザーIDが固定登録されている。組織変更・人事異動時の保守性に懸念があるため、役職ベースの汎用的な項目名・仕組みへの見直しを検討の余地あり。
  • DescriptionXHide項目のExtendedHtmlAfterFieldに「工種・材料」「取引先」欄への言及があるが、本サイトのColumns定義にはこれらに該当する項目が存在しない。他サイト支払先テーブルを持つサイトの設定を流用した際の残骸である可能性がある。