ken_nogi/ClaudePleasanter/新・稟議申請システム/docs/site-319017_【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

15 KiB
Raw Blame History

サイト仕様書【ISO】部署担当者別稟議集計SiteId: 319017

  • 取得元データ: site-319017_latest.json
  • 取得日時: 2025-11-17T09:36:52サイト更新日時設定バージョン Ver: 7

1. サイト基本情報

項目
TenantId 1
Title 【ISO】部署担当者別稟議集計
ReferenceType Results
ParentId 319014新・稟議申請
InheritPermission 319017自サイト権限は自サイト独自設定
Publish false
DisableCrossSearch false
Creator / Updator 460 / 460
CreatedTime 2025-03-02T19:15:06
SiteSettings.Version 1.017

親サイトは319014「新・稟議申請」であり、稟議申請システムのサイトツリー配下に位置する。

2. アクセス権限Permissions

種別 対象ID 権限レベル
Dept 1 45
Dept 21 45
Group 13 45
Group 19 511
Group 41 45
User 460 511

※ 権限値はビットフラグの加算方式のため、正確な意味閲覧のみ編集可否等は環境のロール定義に依存する。511は他サイトでも管理者相当としてよく用いられる高権限値、45はそれより低い閲覧中心の権限値と推測される。

GridGuideEditorGuideには「このテーブルはISOと役員しか閲覧することはできません」と明記されており後述、上表のDept/Group/UserがそれぞれISO部門・役員に対応する設定であることが前提となる。実際の対象者がガイド文の記述と一致しているかは、Dept 1・21、Group 13・19・41の実体環境のロール定義を確認する必要がある気になる点参照

3. 画面構成

3.1 一覧画面GridColumns

順番 列名(内部) 表示ラベル
1 ResultId 標準No.
2 ClassA 稟議コード
3 ClassG 稟議件名
4 ClassD エリア
5 ClassB 該当部署
6 ClassC 該当社員
7 ClassI 計上年
8 ClassJ 計上月
9 ClassO 稟議項目
10 ClassP 稟議の原因
11 NumA 稟議決裁額
12 NumB 按分割当額
13 UpdatedTime (標準:更新日時)

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

本サイトは Sections ではなく TabsTabLatestId / Tabsでタブ構成されている点に注意。EditorColumnHashのキーは General(既定タブ)と _Tab-1タブID1

General既定タブ、無題

順番 項目名(内部名) ラベル名
1 ResultId 標準No.、Hide
2 Ver 標準バージョン、Hide
3 Comments (標準:コメント)
4 ClassA 稟議コード
5 ClassG 稟議件名
6 ClassD エリア
7 ClassB 該当部署
8 ClassC 該当社員
9 ClassI 計上年
10 ClassJ 計上月
11 ClassK 計上年月Hide
12 ClassO 稟議項目
13 ClassP 稟議の原因
14 NumA 稟議決裁額
15 NumB 按分割当額
16 Description001 備考

_Tab-1タブID1、ラベル「リンク」

順番 項目名(内部名) ラベル名
1 Class100 【ISO】稟議管理
2 _Links-319016 SiteId 319016「【ISO】稟議管理」から見た関連レコード一覧の表示枠

Tabs定義

Id ラベル
1 リンク

3.3 タイトル表示TitleColumns / TitleSeparator

TitleColumns / TitleSeparator はSiteSettingsに設定が存在しない。標準のタイトル表示既定はNo.等)のまま。

4. 項目定義Columns

列名(内部) 種別 表示ラベル 説明・入力ガイド 備考
ResultId 自動採番ID (標準) - Hide:true
Ver バージョン管理(システム標準) (標準) - Hide:true。楽観的排他制御用の内部項目
ClassA 文字列(分類) 稟議コード - NoWrap、ExtendedFieldCss/ExtendedControlCss: code-readonly2(読み取り専用スタイル適用)
ClassB 文字列(分類) 該当部署 ChoicesText: [[Depts]](部署マスタから選択) NoWrap、code-readonly2、SearchType: PartialMatch
ClassC 文字列(分類) 該当社員 ChoicesText: Usersテーブル参照Disabledユーザーを除外し、UserId昇順 code-readonly2、SearchType: PartialMatch、Links設定ありJsonFormat
ClassD 文字列(分類) エリア 選択肢: 東京/愛知/千葉/静岡/熊本/特建/バックオフィス/その他/未使用(各選択肢に表示色クラス付き) NoWrap、SearchType: PartialMatch
ClassG 文字列(分類) 稟議件名 - FieldCss: field-widecode-readonly2
ClassI 文字列(分類) 計上年 選択肢: 2020年〜2050年西暦 NoWrap、code-readonly2、SearchType: PartialMatch
ClassJ 文字列(分類) 計上月 選択肢: 1月〜12月 code-readonly2、SearchType: PartialMatch
ClassK 文字列拡張分類・3桁連番 計上年月 - Hide:true、code-readonly2。Aggregation(Id:4)のGroupByに使用されており、ClassIClassJを合成した集計用キーと推測される
ClassO 文字列(分類) 稟議項目 ChoicesText: [[319020]]稟議項目サイトを参照するLink列 NoWrap、code-readonly2、Link:true、SearchType: PartialMatch
ClassP 文字列(分類) 稟議の原因 ChoicesText: [[319019]]稟議の原因サイトを参照するLink列 code-readonly2、Link:true、SearchType: PartialMatch
Class100 文字列拡張分類・3桁連番 【ISO】稟議管理 ChoicesText: [[319016]]ISO稟議管理サイトを参照するLink列 FieldCss: field-widecode-readonly2、Link:true、SearchType: PartialMatch、編集画面ではタブ「リンク」に配置
NumA 数値 稟議決裁額 Format: N(桁区切り数値) code-readonly2、TextAlign:20右寄せ、ExtendedHtmlAfterControlあり4.1参照)
NumB 数値 按分割当額 Format: N code-readonly2、TextAlign:20右寄せ、Aggregation(Id:4)のTarget合計対象列
Description001 説明(複数行文字列) 備考 - 読み取り専用スタイルの指定なし(通常編集可)
Comments コメント欄(標準) (標準) - Columns配列に個別定義なし標準ラベルのまま。EditorColumnHashのGeneralタブに配置

全体として ClassAClassJNumANumBClass100 はほぼ全て code-readonly2 スタイル後述9章が適用されており、編集画面上は視覚的に読み取り専用として扱われている他サイトからの自動転記値を人手で書き換えさせない意図と推測

4.1 項目ごとの補足HTMLExtendedHtmlAfterControl

列名 内容
NumA 赤色・小文字(commentAdd small red right ※販売金額(税別)

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

PermissionForCreating / PermissionForUpdating はSiteSettingsに設定が存在しない。フィールド単位の作成・更新権限は「設定なし」2章のサイト単位権限のみで制御

なお、多くの項目に付与されている code-readonly2 はCSSpointer-events: noneによる見た目上の編集不可化であり、Pleasanterのフィールド権限機能PermissionForUpdating等による正式なアクセス制御ではない点に注意気になる点参照

6. 集計設定Aggregations

Id GroupBy内部/ラベル) Type Target内部/ラベル)
5 ClassI計上年 0 -
6 ClassJ計上月 0 -
4 ClassK計上年月 1 NumB按分割当額
3 ClassB該当部署 0 -

Type の意味は環境のPleasanterバージョンに依存するが、一般的に 0=件数集計1=合計 に対応する実装が多い。Id:4ClassK×NumB合計が本サイトの主目的である「部署担当者別の稟議決裁額按分集計」に直接対応する設定と考えられる。

起点列(内部/ラベル) 参照先 内容
ClassC該当社員 UsersマスタSiteId:0扱いシステム共通ユーザーテーブル Disabledユーザーを除外し、UserId昇順で表示するユーザー選択ルックアップ。JsonFormat:true で選択値をJSON形式で保持
ClassP稟議の原因 SiteId 319019稟議の原因 ※本ドキュメント対象の10サイト一覧には含まれないサイトIDだが、ChoicesText: [[319019]] として実在するリンク参照。当該サイトのレコードを選択するLink列自動コピー列の設定は無し、選択のみ
ClassO稟議項目 SiteId 319020稟議項目 稟議項目サイトのレコードを選択するLink列自動コピー列の設定は無し、選択のみ
Class100【ISO】稟議管理 SiteId 319016【ISO】稟議管理 ISO稟議管理サイトのレコードを選択するLink列。加えて、EditorColumnHashの _Tab-1(タブ「リンク」)に _Links-319016 が配置されており、319016側から見た本サイトへの関連レコード一覧表示枠も併設されている双方向のリンク関係

補足:

  • ServerScriptsは0件のため、items.Get(SiteId) 等によるハードコード参照暗黙的なテーブル参照は本サイトには存在しない。他サイト連携は上表のLinks設定のみで構成されている。
  • サイト名が「集計」であるが、Links設定自体には自サイト外の数値を自動集計する仕組み例えば319016側の決裁額をこのサイトへ按分コピーするような設定は見当たらない。ClassI/ClassJ/ClassK/NumA/NumBはいずれも本サイト内の通常項目として定義されており、実データ按分決裁額は319016側の何らかの処理本サイトのServerScriptsではない、319016側のServerScript等によって本サイトへレコードとして書き込まれている可能性が高い。実装確認には319016のServerScripts側の調査が必要本タスクの対象外
  • ParentId: 319014新・稟議申請であり、サイトツリー上は319014の子サイトとして位置づけられている。

8. プロセス設定Processes

configs/site-319017_【ISO】部署担当者別稟議集計/processes.json を確認したが、内容は空配列 []。プロセス(ボタン操作によるステータス遷移等)は設定なし。

9. スタイルStyles

Id Title 適用範囲 ファイル
1 読み取り専用 New新規作成画面Edit編集画面 1_読み取り専用.css

概要:.code-readonly / .code-readonly2 クラスに対して pointer-events: none 等を指定し、対象項目をクリック・編集不可の見た目にするスタイル。4章で示した通り本サイトのほぼ全項目に適用されている。

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

Scripts、ServerScriptsともに0件。設定なし。

11. その他設定

項目
NoDisplayIfReadOnly false
HideLink true一覧・編集画面での「リンク追加」操作UIを非表示。自動転記前提のテーブルのため手動でのリンク追加を抑止していると推測
AllowCopy falseレコードコピー不可
SectionLatestId 未設定本サイトはSectionsではなくTabsを使用。TabLatestId: 1
GridGuide 設定あり(GridGuide.html
EditorGuide 設定あり(EditorGuide.html、GridGuideと同内容
CalendarGuide / CrosstabGuide / GanttGuide / BurnDownGuide / TimeSeriesGuide / AnalyGuide / KambanGuide / ImageLibGuide いずれも未設定(空)
Comments 使用ありEditorColumnHash Generalに配置。現時点の保存データ上のコメント件数は0件Comments: "[]"、これはサイト設定ではなくデータ側の状態)
Viewsクロス集計ビュー 3件定義。いずれも DefaultMode: Crosstab、X軸=ClassJ計上月固定、値=NumB按分割当額の合計。①Id3「稟議原因別集計」Y軸=ClassP 稟議の原因②Id1「稟議項目別集計」Y軸=ClassO 稟議項目③Id2「部署集計」Y軸=ClassB 該当部署)。いずれもCrosstabNotShowZeroRows: true合計0の行は非表示

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

  • ガイド文GridGuide/EditorGuideには「このテーブルはISOと役員しか閲覧することはできません」と明記されているが、2章のPermissions設定Dept:1,21Group:13,19,41User:460が実際にISO部門・役員のみに対応しているかは、環境側のDept/Groupマスタと突き合わせないと確認できない。ガイド文と実権限のズレがないか要確認。
  • 多くの項目ClassA〜ClassJ、NumA、NumB、Class100に付与されている「読み取り専用」スタイルcode-readonly2はCSSのpointer-events:noneによる見た目上の制御に過ぎず、PermissionForUpdating等の正式なフィールド権限は設定されていない5章。API直接呼び出しやHTML改変により、本来手動編集させたくない値自動転記された決裁額・按分額等が書き換えられてしまう余地がある。運用上重要なテーブルであるため、必要であればフィールド単位権限による正式な制御への切り替えを検討する余地がある。
  • ClassP稟議の原因が参照するSiteId 319019は、今回ドキュメント対象として提示された10サイト一覧に含まれていない。全体のサイト関連図を作成する際には、319019についても存在を把握しておく必要がある。
  • サイト名が「部署担当者別稟議集計」であるにもかかわらず、本サイト自体のLinks/ServerScriptsには他サイトの値を自動集計する仕組みが見当たらない。按分決裁額NumA/NumBがどのように本サイトへ書き込まれているかおそらく319016側のServerScript等からのレコード作成は、本サイト単体の設定からは追跡できない。全体像を把握する際は319016【ISO】稟議管理側のServerScriptsを合わせて確認することを推奨する。
  • 秘密情報APIキー・Webhook URL等は本サイトのScripts/ServerScripts/Stylesいずれにも見つからなかったScripts/ServerScriptsは0件、Stylesの内容もCSSのみ