生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>
42 KiB
サイト仕様書:新・稟議申請書(SiteId: 319015)
- 取得元データ: site-319015_latest.json
- 取得日時: 2026-06-08T18:07:33(サイト更新日時)/設定バージョン
Ver: 38(SiteSettings.Version: 1.017)
1. サイト基本情報
| 項目 | 値 |
|---|---|
| TenantId | 1 |
| Title | 新・稟議申請書 |
| ReferenceType | Results |
| ParentId | 319014(新・稟議申請) |
| InheritPermission | 319015(自サイト=権限継承なし) |
| Publish | false |
| DisableCrossSearch | false |
| Creator / Updator | 460 / 460 |
| CreatedTime | 2025-03-02T19:15:06 |
| SiteSettings.Version | 1.017 |
このサイトは ParentId: 319014 を持ち、他サイト一覧にある「319014: 新・稟議申請」の子サイトとして位置付けられている。ReferenceType が Results(通常サイト)であるため、稟議申請の実務データを直接保持するメインテーブルと考えられる。
2. アクセス権限(Permissions)
| 種別 | 対象ID | 権限値 |
|---|---|---|
| Dept | 1 | 1 |
| Dept | 21 | 37 |
| Group | 13 | 1 |
| Group | 19 | 511 |
| Group | 27 | 2 |
| Group | 61 | 5 |
| User | 459 | 1 |
| User | 460 | 511 |
| User | 463 | 1 |
| User | 670 | 1 |
※権限値はビットフラグの加算方式(閲覧・編集・削除等の権限ビットを合算した値)のため、正確な意味は環境のロール定義(Group/Dept/Userのマスタ設定)に依存する。511はほぼ全権限、1は閲覧のみに近い値と推測される。
3. 画面構成
3.1 一覧画面(GridColumns)
| 順番 | 項目名(内部) | 表示ラベル |
|---|---|---|
| 1 | ResultId | ID(標準ラベル) |
| 2 | Status | ステータス |
| 3 | ClassA | 稟議コード |
| 4 | ClassB | エリア |
| 5 | ClassC | 稟議分類 |
| 6 | ClassG | 稟議件名 |
| 7 | Class001 | 申請部署(グリッド表示ラベル: 申請者) |
| 8 | Class011 | マスターシート |
| 9 | Class012 | 契約コード |
| 10 | Class004 | 上長(一次承認者)(グリッド表示ラベル: 承認者) |
| 11 | Class037 | 次の処理者 |
| 12 | Date033 | 最終決裁日 |
| 13 | UpdatedTime | 更新日時(標準ラベル) |
FilterColumns(絞り込み対象列): Status(ステータス)、ClassB(エリア)、ClassC(稟議分類)、ClassR(該当物件有無)、Class012(契約コード)、Class002(申請者)、Class037(次の処理者)
3.2 編集画面レイアウト(EditorColumnHash / Sections)
タブは4つ(GeneralTabLabelText: 「稟議申請書」+以下)。
| タブキー | タブ名 |
|---|---|
| General | 稟議申請書 |
| _Tab-1 | 事故報告書 |
| _Tab-2 | WF承認状況 |
| _Tab-3 | 経理処理 |
| _Tab-6 | リンク |
General タブ
| 順番 | 項目名(内部名) | ラベル名 |
|---|---|---|
| 1 | ResultId | ID(標準ラベル・非表示) |
| 2 | Ver | Ver(標準ラベル・非表示) |
| 3 | Title | タイトル(標準ラベル) |
| 4 | Comments | 質疑応答 |
| 5 | Status | ステータス |
| 6 | DateA | 申請日 |
| 7 | CheckA | ―(ラベル未設定・非表示) |
| 8 | ClassL | 稟議コードリンク |
| 9 | ClassA | 稟議コード |
| 10 | ClassB | エリア |
| 11 | ClassC | 稟議分類 |
| 12 | ClassD | 事前稟議 |
| 13 | _Section-1 | ―(セクション「申請者」開始) |
| 14 | Class001 | 申請部署 |
| 15 | Class002 | 申請者 |
| 16 | Class003 | 社員番号 |
| 17 | Class004 | 上長(一次承認者) |
| 18 | Class005 | 役員(二次承認者) |
| 19 | Class009 | 関係者 |
| 20 | _Section-2 | ―(セクション「マスターシート」開始) |
| 21 | ClassR | 該当物件有無 |
| 22 | _Section-4 | ―(セクション「(ラベル未設定)」開始) |
| 23 | Class011 | マスターシート |
| 24 | Class012 | 契約コード |
| 25 | Class013 | 派生コード(非表示) |
| 26 | Class014 | 工事名 |
| 27 | Class015 | 主担当営業 |
| 28 | Class016 | 担当IC |
| 29 | Class017 | 担当設計 |
| 30 | Class018 | 担当監督 |
| 31 | Class019 | 所属長 |
| 32 | Class020 | 担当役員 |
| 33 | Class021 | 工務エリア担当 |
| 34 | _Section-3 | ―(セクション「稟議内容」開始) |
| 35 | ClassG | 稟議件名 |
| 36 | DescriptionA | 稟議内容 |
| 37 | AttachmentsA | 補足資料 |
| 38 | _Section-18 | ―(セクション「稟議金額」開始) |
| 39 | ClassZ | 消費税 |
| 40 | NumA | 原価 |
| 41 | NumZ | 販売/購入額 |
| 42 | NumB | 危険負担費(元)(非表示) |
| 43 | NumC | 今回使用額(非表示) |
| 44 | NumD | 危険負担費(残金)(非表示) |
| 45 | NumE | 実損額 |
| 46 | _Section-19 | ―(セクション「※返金稟議の場合は、下記に返金額のみ記入」開始) |
| 47 | NumF | 今回支払額 |
| 48 | _Section-5 | ―(セクション「購入・支払先」開始) |
| 49 | DescriptionX | ―(ラベル未設定・非表示。支払先明細テーブルのJSONデータ格納用) |
| 50 | ClassV | 支払先チェック |
| 51 | NumM | 支払合計 |
_Tab-1 タブ(事故報告書)
| 順番 | 項目名(内部名) | ラベル名 |
|---|---|---|
| 1 | _Section-8 | ―(セクション「事故報告書(赤稟議の場合必須)」開始) |
| 2 | DescriptionB | 事故内容・原因 |
| 3 | DescriptionC | 損害状況 |
| 4 | DescriptionD | 再発防止策 |
| 5 | _Section-7 | ―(セクション「追記」開始) |
| 6 | DescriptionF | 補足 |
| 7 | AttachmentsB | 事故補足資料 |
_Tab-3 タブ(経理処理)
| 順番 | 項目名(内部名) | ラベル名 |
|---|---|---|
| 1 | _Section-14 | ―(セクション「経理処理欄」開始) |
| 2 | DateP | 経理処理日 |
| 3 | ClassN | 経理処理者 |
| 4 | ClassO | 経理確認 |
| 5 | ClassP | 科目 |
| 6 | ClassQ | 摘要 |
| 7 | DescriptionP | 備考 |
| 8 | Class100 | 役員(非表示) |
| 9 | Class101 | 経理(非表示) |
| 10 | _Section-17 | ―(セクション「保険」開始) |
| 11 | Class102 | 保険担当 |
_Tab-2 タブ(WF承認状況)
| 順番 | 項目名(内部名) | ラベル名 |
|---|---|---|
| 1 | DateK | 期限 |
| 2 | Class037 | 次の処理者 |
| 3 | _Section-11 | ―(セクション「承認状況」開始) |
| 4 | Class031 | 一次承認者 |
| 5 | Date031 | 一次承認日 |
| 6 | Class051 | 一次承認コメント |
| 7 | Description051 | 一次承認コメント履歴 |
| 8 | Class032 | 二次承認者 |
| 9 | Date032 | 二次承認日 |
| 10 | Class052 | 二次承認コメント |
| 11 | Description052 | 二次承認コメント履歴 |
| 12 | Class033 | 最終決裁者 |
| 13 | Date033 | 最終決裁日 |
| 14 | Class053 | 決裁コメント |
| 15 | Description053 | 決裁コメント履歴 |
| 16 | _Section-16 | ―(セクション「却下」開始) |
| 17 | Class040 | 却下処理者 |
| 18 | Date040 | 却下処理日 |
| 19 | Class054 | 却下コメント |
| 20 | Description054 | 却下コメント履歴 |
| 21 | _Section-13 | ―(セクション「差戻し」開始) |
| 22 | Class041 | 差戻し者 |
| 23 | Date041 | 差戻し日 |
| 24 | Class055 | 差戻しコメント |
| 25 | Description055 | 差戻しコメント履歴 |
| 26 | _Section-15 | ―(セクション「取消・保留」開始) |
| 27 | Date042 | 取消日 |
| 28 | Date043 | 保留日 |
| 29 | Date044 | 再開日 |
| 30 | _Section-12 | ―(セクション「決裁完了通知先」開始) |
| 31 | Class071 | 役員(非表示) |
| 32 | Class072 | 経理担当(非表示) |
| 33 | Class073 | 工務担当(非表示) |
| 34 | Class074 | アフター担当(非表示) |
| 35 | Class075 | アシスタント(非表示) |
| 36 | Class076 | ISO担当(非表示) |
| 37 | Class080 | 差戻し権限者(非表示) |
| 38 | Class081 | 豊藏社長(非表示) |
_Tab-6 タブ(リンク)
| 順番 | 項目名(内部名) | 内容 |
|---|---|---|
| 1 | _Links-160926 | サイト連携表示項目。SiteId 160926(稟議コード管理)を参照するリンク先レコード一覧をインライン表示する特殊項目 |
| 2 | _Links-189112 | サイト連携表示項目。SiteId 189112(マスターシート、10サイト一覧には含まれない別サイト)を参照するリンク先レコード一覧をインライン表示する特殊項目 |
Sections 一覧
| Id | ラベル | AllowExpand | Expand |
|---|---|---|---|
| 1 | 申請者 | false | true |
| 2 | マスターシート | false | true |
| 4 | (ラベル未設定) | false | true |
| 3 | 稟議内容 | false | true |
| 18 | 稟議金額 | false | true |
| 19 | ※返金稟議の場合は、下記に返金額のみ記入 | false | true |
| 5 | 購入・支払先 | false | true |
| 8 | 事故報告書(赤稟議の場合必須) | false | true |
| 7 | 追記 | false | true |
| 14 | 経理処理欄 | false | true |
| 17 | 保険 | false | true |
| 11 | 承認状況 | false | true |
| 16 | 却下 | false | true |
| 13 | 差戻し | false | true |
| 15 | 取消・保留 | false | true |
| 12 | 決裁完了通知先 | false | true |
3.3 タイトル表示(TitleColumns / TitleSeparator)
TitleColumns: ClassA(稟議コード) + ClassB(エリア) + ClassC(稟議分類) + Class002(申請者)
TitleSeparator: ■
表示式: 稟議コード ■ エリア ■ 稟議分類 ■ 申請者
4. 項目定義(Columns)
| 列名(内部) | 種別 | 表示ラベル | 説明・入力ガイド | 備考 |
|---|---|---|---|---|
| ResultId | 自動採番ID | (標準)ID | - | Hide |
| Ver | システム項目(バージョン) | (標準)Ver | - | Hide |
| ClassA | 文字列(分類) | 稟議コード | - | NoWrap, ExtendedControlCss(code-readonly2), ValidateRequired, NoDuplication |
| ClassB | 文字列(分類) | エリア | 選択肢: 東京/愛知/千葉/熊本/静岡/特建事業部/不動産事業部/デザイノ/その他 | Radio, NoWrap, ExtendedHtmlAfterControlあり |
| ClassC | 文字列(分類) | 稟議分類 | 選択肢: 白稟議/赤稟議/駐車場稟議/赤稟議(5万以下)/事前稟議/お客様返金稟議/社用車事故報告/自家用車事故報告 | Radio, ExtendedHtmlAfterControlあり |
| Class001 | 文字列(拡張分類) | 申請部署 | 部署選択(Depts), 初期値Self | GridLabelText:申請者, ExtendedControlCss |
| Class002 | 文字列(拡張分類) | 申請者 | ユーザー選択, 初期値Self | UseSearch, ExtendedControlCss |
| Class003 | 文字列(拡張分類) | 社員番号 | - | ExtendedControlCss, ExtendedHtmlAfterControlあり(自動入力) |
| Class004 | 文字列(拡張分類) | 上長(一次承認者) | ユーザー選択 | GridLabelText:承認者, NoWrap, ExtendedHtmlAfterControlあり |
| Class005 | 文字列(拡張分類) | 役員(二次承認者) | ユーザー選択(Groups[41]でフィルタ) | UseSearch |
| Class009 | 文字列(拡張分類) | 関係者 | ユーザー選択(複数) | MultipleSelections, ExtendedHtmlAfterControlあり, FieldCss(field-wide) |
| ClassR | 文字列(分類) | 該当物件有無 | 選択肢: 有り/無し。Description:関連するマスターシートが登録済みの場合は「有り」を選択 | Radio, DefaultInput:1, ExtendedHtmlAfterControlあり(強調) |
| Class011 | ルックアップ(サイト参照) | マスターシート | SiteId 189112参照 | UseSearch, FieldCss(field-wide), ExtendedHtmlAfterControlあり |
| Class012 | 文字列(拡張分類) | 契約コード | - | NoWrap |
| Class013 | 文字列(拡張分類) | 派生コード | - | Hide |
| Class014 | 文字列(拡張分類) | 工事名 | - | FieldCss(field-wide), ExtendedHtmlAfterControlあり |
| Class015 | 文字列(拡張分類) | 主担当営業 | ユーザー選択 | UseSearch |
| Class016 | 文字列(拡張分類) | 担当IC | ユーザー選択 | UseSearch |
| Class017 | 文字列(拡張分類) | 担当設計 | ユーザー選択 | UseSearch |
| Class018 | 文字列(拡張分類) | 担当監督 | ユーザー選択 | UseSearch |
| Class019 | 文字列(拡張分類) | 所属長 | ユーザー選択 | UseSearch, NoWrap |
| Class020 | 文字列(拡張分類) | 担当役員 | ユーザー選択 | UseSearch |
| Class021 | 文字列(拡張分類) | 工務エリア担当 | ユーザー選択 | UseSearch |
| ClassG | 文字列(分類) | 稟議件名 | - | ValidateRequired, FieldCss(field-wide) |
| DescriptionA | 説明(複数行文字列) | 稟議内容 | - | ExtendedControlCss(textarea-sizing), ValidateRequired |
| AttachmentsA | 添付ファイル | 補足資料 | - | AllowDeleteAttachments:false, OverwriteSameFileName:true, ExtendedHtmlAfterControlあり |
| NumA | 数値 | 原価 | Format:N, 初期値0 | Min:0, ExtendedHtmlAfterControlあり(id:NumAcomment) |
| NumB | 数値 | 危険負担費(元) | Format:N | Hide, NoWrap, ExtendedHtmlAfterControlあり |
| NumC | 数値 | 今回使用額 | Format:N | Hide |
| NumD | 数値 | 危険負担費(残金) | Format:N | Hide, ExtendedControlCss, ExtendedHtmlAfterControlあり |
| DescriptionX | 説明(複数行文字列) | (ラベル未設定) | 支払先明細テーブル(jspreadsheet)のJSONデータ格納専用 | Hide, ExtendedHtmlAfterFieldあり |
| ClassV | 文字列(分類) | 支払先チェック | 選択肢: 未チェック/記入漏れ無し | DefaultInput:0, NoWrap |
| NumM | 数値 | 支払合計 | Format:N | Min:0, NoWrap, ExtendedHtmlAfterControlあり |
| DescriptionB | 説明(複数行文字列) | 事故内容・原因 | - | ExtendedControlCss(textarea-sizing) |
| DescriptionC | 説明(複数行文字列) | 損害状況 | - | ExtendedControlCss(textarea-sizing) |
| DescriptionD | 説明(複数行文字列) | 再発防止策 | - | ExtendedControlCss(textarea-sizing) |
| DescriptionE | 説明(複数行文字列) | 是正処置の効果測定 | - | 定義のみで編集画面レイアウトに未配置(後述「気になる点」参照) |
| DescriptionF | 説明(複数行文字列) | 補足 | InputGuide: 上長・役員からの補足 | ExtendedControlCss(textarea-sizing) |
| AttachmentsB | 添付ファイル | 事故補足資料 | - | AllowDeleteAttachments:false, NotDeleteExistHistory:true, OverwriteSameFileName:true |
| ClassD | ルックアップ(サイト参照) | 事前稟議 | SiteId 319027参照(ClassB=[4]でフィルタ、DateA降順) | UseSearch, FieldCss(field-wide), ExtendedHtmlAfterControlあり |
| UpdatedTime | 日時(標準) | (標準)更新日時 | - | GridDesign設定あり |
| Status | 状態 | ステータス | 選択肢13種(下記8.参照) | ExtendedControlCss |
| DateA | 日付 | 申請日 | Ymdhms形式 | EditorReadOnly |
| Class031 | 文字列(拡張分類) | 一次承認者 | ユーザー選択 | ExtendedControlCss |
| Date031 | 日付 | 一次承認日 | Ymdhms形式 | ExtendedControlCss |
| Class032 | 文字列(拡張分類) | 二次承認者 | ユーザー選択 | ExtendedControlCss |
| Date032 | 日付 | 二次承認日 | Ymdhms形式 | ExtendedControlCss |
| Class071 | 文字列(拡張分類) | 役員 | ユーザー選択(複数) | Hide, MultipleSelections, ExtendedControlCss, FieldCss(field-wide) |
| Class072 | 文字列(拡張分類) | 経理担当 | ユーザー選択(複数) | Hide, MultipleSelections, ExtendedControlCss, FieldCss(field-wide) |
| Class073 | 文字列(拡張分類) | 工務担当 | ユーザー選択(複数) | Hide, MultipleSelections, ExtendedControlCss, FieldCss(field-wide) |
| Class074 | 文字列(拡張分類) | アフター担当 | ユーザー選択(複数) | Hide, MultipleSelections, ExtendedControlCss, FieldCss(field-wide) |
| Class075 | 文字列(拡張分類) | アシスタント | ユーザー選択(複数) | Hide, MultipleSelections, ExtendedControlCss, FieldCss(field-wide) |
| Class076 | 文字列(拡張分類) | ISO担当 | ユーザー選択(複数) | Hide, MultipleSelections, ExtendedControlCss, FieldCss(field-wide) |
| Class033 | 文字列(拡張分類) | 最終決裁者 | ユーザー選択 | ExtendedControlCss |
| Date033 | 日付 | 最終決裁日 | Ymdhms形式 | ExtendedControlCss |
| Comments | コメント欄 | 質疑応答 | - | 標準コメント機能 |
| Class041 | 文字列(拡張分類) | 差戻し者 | ユーザー選択 | ExtendedControlCss |
| Date041 | 日付 | 差戻し日 | Ymdhms形式 | ExtendedControlCss |
| ClassP | 文字列(分類) | 科目 | - | FieldCss(field-wide) |
| ClassQ | 文字列(分類) | 摘要 | - | FieldCss(field-wide) |
| DateP | 日付 | 経理処理日 | Ymdhms形式 | ExtendedControlCss |
| DescriptionP | 説明(複数行文字列) | 備考 | - | - |
| ClassL | ルックアップ(サイト参照) | 稟議コードリンク | SiteId 160926参照。Lookups: ClassC→ClassA, ClassA→ClassB, ClassB→ClassC, ClassF→ClassG | ExtendedFieldCss, FieldCss(field-wide) |
| CheckA | チェックボックス | (ラベル未設定) | 新規作成時に稟議コード発行済みかを示すシステム内部フラグ | Hide, NoWrap, ValidateRequired |
| Class100 | 文字列(拡張分類) | 役員 | ユーザー選択(複数), 初期値に9名の固定User IDを設定 | Hide, ExtendedControlCss, FieldCss(field-wide) |
| Class101 | 文字列(拡張分類) | 経理 | ユーザー選択(複数), 初期値に5名の固定User IDを設定 | Hide, ExtendedControlCss, FieldCss(field-wide) |
| Class081 | 文字列(拡張分類) | 豊藏社長 | ユーザー選択, 初期値421 | Hide, ExtendedControlCss |
| DateK | 日付 | 期限 | InputGuide: 申請または承認日から7日後, 初期値7(日) | ExtendedControlCss |
| Class080 | 文字列(拡張分類) | 差戻し権限者 | ユーザー選択(複数), Description: 上長、担当役員、社長 | UseSearch, ExtendedControlCss, FieldCss(field-wide) |
| NumE | 数値 | 実損額 | Format:N | ControlType:Normal, ExtendedControlCss, ExtendedHtmlAfterControl/Field(稟議金額入力ルール表) |
| Date042 | 日付 | 取消日 | Ymdhms形式 | ExtendedControlCss |
| Date043 | 日付 | 保留日 | Ymdhms形式 | NoWrap, ExtendedControlCss |
| Date044 | 日付 | 再開日 | Ymdhms形式 | NoWrap, ExtendedControlCss |
| Class040 | 文字列(拡張分類) | 却下処理者 | ユーザー選択 | ExtendedControlCss |
| Date040 | 日付 | 却下処理日 | Ymdhms形式 | ExtendedControlCss |
| Class051 | 文字列(拡張分類) | 一次承認コメント | - | ExtendedControlCss, FieldCss(field-wide) |
| Class052 | 文字列(拡張分類) | 二次承認コメント | - | ExtendedControlCss, FieldCss(field-wide) |
| Class053 | 文字列(拡張分類) | 決裁コメント | - | ExtendedControlCss, FieldCss(field-wide) |
| Class054 | 文字列(拡張分類) | 却下コメント | - | ExtendedControlCss, FieldCss(field-wide) |
| Class055 | 文字列(拡張分類) | 差戻しコメント | - | ExtendedControlCss, FieldCss(field-wide) |
| Description051 | 説明(複数行文字列) | 一次承認コメント履歴 | - | ExtendedFieldCss, ExtendedControlCss(textarea-sizing) |
| Description052 | 説明(複数行文字列) | 二次承認コメント履歴 | - | ExtendedFieldCss, ExtendedControlCss(textarea-sizing) |
| Description053 | 説明(複数行文字列) | 決裁コメント履歴 | - | ExtendedFieldCss, ExtendedControlCss(textarea-sizing) |
| Description054 | 説明(複数行文字列) | 却下コメント履歴 | - | ExtendedFieldCss, ExtendedControlCss(textarea-sizing) |
| Description055 | 説明(複数行文字列) | 差戻しコメント履歴 | - | ExtendedFieldCss, ExtendedControlCss(textarea-sizing) |
| Class037 | 文字列(拡張分類) | 次の処理者 | ユーザー選択 | ExtendedControlCss, GridDesign(次の処理者/期限を併記) |
| ClassO | 文字列(分類) | 経理確認 | 選択肢: 未確認/確認済み | Radio, DefaultInput:0, NoWrap |
| ClassN | 文字列(拡張分類) | 経理処理者 | ユーザー選択 | ExtendedControlCss |
| NumZ | 数値 | 販売/購入額 | Format:N | Min:0, ExtendedHtmlAfterControlあり(id:NumZcomment) |
| Class102 | 文字列(拡張分類) | 保険担当 | ユーザー選択(複数) | MultipleSelections, ExtendedFieldCss, ExtendedControlCss, FieldCss(field-wide) |
| ClassZ | 文字列(分類) | 消費税 | 選択肢: 税別/税込 | Radio, DefaultInput:0, NoWrap, ExtendedHtmlAfterControlあり |
| NumF | 数値 | 今回支払額 | Format:N | Min:0, NoWrap, ExtendedHtmlAfterControlあり |
Status(ステータス)選択肢一覧:
| コード | ラベル |
|---|---|
| 100 | 新規作成 |
| 101 | 新規登録 |
| 110 | 差戻し |
| 120 | 再開 |
| 150 | 稟議申請 |
| 200 | 一次承認 |
| 300 | 二次承認 |
| 900 | 最終決裁完了 |
| 910 | 保留 |
| 920 | 却下 |
| 930 | 取消 |
| 940 | ISO修正 |
| 990 | 経理確認済み |
4.1 項目ごとの補足HTML(ExtendedHtmlAfterControl)
| 列名 | 色・見た目 | 内容 |
|---|---|---|
| ClassB | 赤字 | ※変更不可※ |
| ClassC | 赤字 | ※変更不可※ |
| Class003 | 水色 | ※自動入力 |
| Class004 | 赤字・小 | ※申請者が部門長の場合は自身を設定 |
| Class009 | 青字・左寄せ | ※決裁完了通知先 ※物件関係者・閲覧可能 ※随時追加可能 |
| ClassR | 赤字・大・背景黄色 | ※該当物件のマスターシートがある場合は、必ず選択すること/※選択漏れがあった場合は承認者は差戻してください |
| Class011 | 赤字 | ※関連するマスターシートを選択 |
| Class014 | 赤字・小 | ※下記の関係者に本稟議は共有されません。物件関係者に共有したい場合は「関係者」欄に対象を追加 |
| AttachmentsA | 緑・小 | ※補足資料、見積書、請求書、写真など。同名ファイルは上書きされる。申請後も追加可だが削除不可 |
| NumA | 赤字(税込選択時は青字に変化) | ※税別(スクリプトにより「※税込」に動的変化) |
| NumB | 赤字・小 | ※MSSから転記、または手入力 |
| NumD | 赤字・小 | ※決裁後にMSSに反映 |
| DescriptionX(ExtendedHtmlAfterField) | 赤字・左寄せ | 支払いに関する注意書き(支払タイミング、支払先情報の入力ルール等) |
| NumM | 赤字・大・右寄せ | ※『今回支払額』と相違が無いように入力 |
| AttachmentsB | 緑・小 | ※写真などの補足資料。同名ファイルは上書きされる。申請後も追加可だが削除不可 |
| ClassD | 赤字・小 | ※関連する事前稟議がある場合は必ず選択してください。赤稟議の場合、事前稟議がないと却下される要因となります |
| NumE(ExtendedHtmlAfterControl) | 赤字 | ※原価 - 今回使用額 ※自動計算 |
| NumE(ExtendedHtmlAfterField) | 表形式 | 「稟議金額入力ルール」表(稟議分類ごとに原価/販売購入額/実損額/今回支払額のどれを入力すべきかを示す一覧) |
| NumZ | 赤字(税込選択時は青字に変化) | ※税別・利益込み(動的に「※税込・利益込み」に変化) |
| NumF | 赤字 | ※実損額または販売額から転記。または返金稟議。 |
| ClassZ | 赤字・小 | ※原則として税別にて申請。物品購入等の場合は税込み申請可。 |
5. 作成・更新権限(フィールド単位)
PermissionForCreating
| 列名 | 権限値 |
|---|---|
| Class002 | 5 |
| Class004 | 5 |
| Class005 | 5 |
| Class009 | 1 |
| Class037 | 5 |
| Class102 | 31 |
PermissionForUpdating
| 列名 | 権限値 |
|---|---|
| Class002 | 5 |
| Class004 | 5 |
| Class005 | 5 |
| Class009 | 1 |
| Class072 | 5 |
| Class073 | 1 |
| Class074 | 1 |
| Class075 | 1 |
| Class076 | 1 |
| Class037 | 5 |
| Class102 | 1 |
フィールド単位のグループ限定アクセス制御(CreateColumnAccessControls / ReadColumnAccessControls / UpdateColumnAccessControls)
以下の6項目(経理処理欄)は、いずれもGroup 61(経理グループ)にのみ作成・閲覧・更新が許可されている。
| 列名 | ラベル | 許可Group |
|---|---|---|
| ClassP | 科目 | 61 |
| ClassQ | 摘要 | 61 |
| DateP | 経理処理日 | 61 |
| DescriptionP | 備考 | 61 |
| ClassO | 経理確認 | 61 |
| ClassN | 経理処理者 | 61 |
6. 集計設定(Aggregations)
| Id | GroupBy | Type | Target |
|---|---|---|---|
| 1 | ClassB(エリア) | 0(件数集計と推測) | (空) |
| 2 | ClassC(稟議分類) | 0(件数集計と推測) | (空) |
7. 他サイト連携(Links / ルックアップ)
明示的なLinks設定
| 起点列 | 参照先SiteId | 参照先の値→自コピー先 | JsonFormat |
|---|---|---|---|
| Class011(マスターシート) | 189112 | SearchFormat: [Title] - [ClassF] - [ClassG](10サイト一覧外の別サイト) |
true |
| ClassL(稟議コードリンク) | 160926(稟議コード管理) | ClassC→ClassA, ClassA→ClassB, ClassB→ClassC, ClassF→ClassG | true |
| Class005(役員(二次承認者)) | Users(TableName=Users, SiteId 0) | Groups[41]でフィルタしたユーザー一覧を選択肢に使用 | true |
| ClassD(事前稟議) | 319027(事前稟議一覧) | SearchFormat: [Title] - [ClassF](ClassB=[4]でフィルタ、DateA降順) |
true |
- 「稟議コード管理(160926)」の該当レコードから、稟議分類・稟議コード・エリアなどの値を、このサイトの
ClassA(稟議コード)・ClassB(エリア)・ClassC(稟議分類)に自動反映する(ClassL経由のルックアップ)。 - 「マスターシート(189112、10サイト一覧には含まれない別システムのサイト)」を選択すると、契約コード・工事名・担当者情報などがクライアントスクリプトを通じて自動反映される(詳細は下記「暗黙的な参照」参照)。
- 「事前稟議一覧(319027)」から関連する事前稟議レコードを選択できる。
暗黙的なテーブル参照(ServerScripts / Scripts内のハードコード)
正式なLinks設定には現れないが、クライアントスクリプト内でSiteIdを直接指定して他サイトのAPIを呼び出している箇所が2つ存在する。
| 起点スクリプト | 参照先SiteId | 参照方法 | 目的(推測) |
|---|---|---|---|
scripts/1_1.新・稟議申請書.js(関数 getTuuchiData) |
319021(稟議通知管理) | $p.apiGet で ClassA にエリアコードを指定し検索 |
新規作成時、選択したエリア・稟議分類に応じた通知先担当者(役員・経理担当・工務担当・アフター担当・アシスタント・ISO担当=Class071〜Class076)を自動補完する |
scripts/2_2.稟議申請_作成時処理など.js(関数 uploadISOdata) |
319016(【ISO】稟議管理) | fetch/$.ajax で /pleasanter/api/items/319016/upsert に直接POST |
赤稟議(ClassC=1または3)が最終決裁されたタイミングで、稟議データのサマリをISO管理サイトへ複写・計上する |
また scripts/1_1.新・稟議申請書.js(関数 getMSSData)は Class011 に選択されたレコードID(SiteId 189112)に対して $p.apiGet で直接データを取得しており、こちらはLinks設定と整合した参照。同スクリプトの updateMSSdata は決裁時にMSSサイト(189112)の危険負担費残金(Num081)を $p.apiUpdate で直接更新している(Links設定には現れない書き込み方向の連携)。
サーバースクリプト serverscripts/1_プロセス14 事故報告書チェックボタンの非表示.js 内の items.Sum(319015, ...) は自サイト(319015)自身を対象とした集計であり、他サイト参照ではない(同一契約コードの赤稟議申請金額合計をチェックに利用)。
8. プロセス設定(Processes)
定義ファイル: configs/site-319015_新・稟議申請書/processes.json
| Id | Name / DisplayName | 実行条件(CurrentStatus→ChangedStatus) | 動作(OnClick等) | 成功メッセージ |
|---|---|---|---|---|
| 1 | 稟議申請 / 稟議申請 | (任意)→150(稟議申請)。View: 自分の申請(Class002=Own)かつStatus∈[101,120] | $p.ex.processScript('1')。Class004・Class005・ClassV必須バリデーション |
稟議を申請しました。 |
| 2 | 一次承認 / 一次承認 | 150(稟議申請)→200(一次承認)。View: Class004=Own(上長本人) | $p.ex.processScript('2') |
稟議を承認しました。 |
| 3 | 二次承認A / 二次承認 | 200(一次承認)→300(二次承認)。View: Class005=Own(役員本人)かつClassC∈[白,赤,事前,返金] | $p.ex.processScript('3') |
稟議を承認しました。 |
| 4 | 二次承認B / 二次承認(決裁) | 200(一次承認)→900(最終決裁完了)。View: Class005=Own かつClassC∈[駐車場,赤5万以下,社用車事故,自家用車事故] | $p.ex.processScript('4') |
稟議を決裁しました。 |
| 5 | 最終決裁 / 最終決裁 | 300(二次承認)→900(最終決裁完了)。Users:[421]限定。View: ClassC∈[白,赤,事前,返金]かつClass037=Own | $p.ex.processScript('5') |
稟議を決裁しました。 |
| 6 | 差戻し / 差戻し | (任意)→110(差戻し)。View: Status∈[150,200,300]かつClass037=Own | $p.ex.processScript('6') |
稟議申請を差戻しました。 |
| 7 | 再申請 / 再申請 | 110(差戻し)→150(稟議申請)。View: Class002=Own | $p.ex.processScript('7')。Class004・Class005・ClassV必須バリデーション |
稟議申請を再申請しました。 |
| 8 | 取消 / 取消 | (任意)→930(取消)。View: Class002=OwnかつStatus∈[101,110,120,910] | $p.ex.processScript('8') |
稟議申請を取り消しました。 |
| 9 | 却下 / 却下 | (任意)→920(却下)。View: Status∈[150,200,300]かつClass037=Own | $p.ex.processScript('9') |
稟議申請を却下しました。 |
| 10 | 保留 / 保留 | (任意)→910(保留)。View: Class002=OwnかつStatus∈[101,110,120] | $p.ex.processScript('10') |
稟議申請を保留しました。 |
| 11 | 再開 / 再開 | 910(保留)→120(再開)。View: Class002=Own | $p.ex.processScript('11') |
稟議申請を再開しました。 |
| 12 | 新規登録 / 新規登録 | 100(新規作成)→101(新規登録)。ExecutionType:10(自動実行系と推測) | OnClickなし(自動処理) | 稟議申請書が新規登録されました。 |
| 13 | 経理処理 / 経理処理 | 900(最終決裁完了)→990(経理確認済み)。Groups:[61]限定 | $p.ex.processScript('13')。ClassO必須バリデーション |
経理処理を行いました。 |
| 14 | 事故報告書チェック / 事故報告書チェック | (任意)→(変更なし)。ActionType:90(ステータス変更を伴わない検証専用アクション) | OnClickなし(ringiCheck関数内から$p.execProcessで内部的に呼び出し) |
(SuccessMessageなし) |
| 15 | 最終決裁B / 二次(最終)決裁 | 200(一次承認)→900(最終決裁完了)。Users:[421]限定。View: ClassC∈[白,赤,事前,返金]かつClass037=Own | $p.ex.processScript('15') |
稟議を決裁しました。 |
| 16 | ISO稟議修正 / ISO稟議修正 | 900(最終決裁完了)→940(ISO修正)。Groups:[13,19]限定 | OnClickなし。ConfirmationMessageあり | 稟議書を修正できる状態に変更しました。速やかに修正し、再承認を行ってください。 |
| 17 | ISO稟議承認 / ISO稟議承認 | 940(ISO修正)→900(最終決裁完了)。Groups:[13,19]限定 | $p.ex.processScript('17')。ConfirmationMessageあり |
稟議は最終決裁状態へ差し戻されました。修正した内容については、関係者へ通知してください。 |
| 18 | 取消(システム・総務) / 取消(システム・総務) | (任意)→930(取消)。Groups:[19]かつUsers:[463]限定 | $p.ex.processScript('18') |
稟議申請を取り消しました。 |
補足:
- Id4(二次承認(決裁))とId15(二次(最終)決裁)はともに「200→900」の同一遷移だが、Id4はView条件が
Class005=Own(担当役員本人)でClassC限定、Id15はUsers:[421](特定ユーザー、社長)限定でClassC条件は同一。少額カテゴリ(駐車場・赤5万以下等)を担当役員が直接決裁する経路(Id4)と、社長が同カテゴリを直接決裁できる経路(Id15)が並存している。 - ステータス値とラベルの対応は4.のStatus選択肢一覧を参照。
StatusControls(ステータス別の項目読取り専用制御)
| Id | Name | 対象Status | 概要 |
|---|---|---|---|
| 1 | 全項目読取り専用 | 150,200,300,910,920,930,990 | 稟議申請以降・保留/却下/取消/経理確認済みの状態で主要項目(金額・分類・担当者・説明等)を読取り専用化 |
| 2 | 決裁完了 | 900 | 決裁完了後、主要項目を読取り専用化(経理処理欄は対象外) |
| 3 | 経理確認済み | 990 | 経理確認済み後、添付ファイルを含む全項目を読取り専用化 |
9. スタイル(Styles)
| Id | Title | 適用範囲 | ファイル |
|---|---|---|---|
| 1 | 1.読み取り専用 | New, Edit | styles/1_1.読み取り専用.css |
| 2 | 2.基本スタイル調整 | New, Edit | styles/2_2.基本スタイル調整.css |
| 4 | 3.支払先テーブルの調整 | New, Edit | styles/4_3.支払先テーブルの調整.css |
| 5 | 4.ボタンスタイル | New, Edit | styles/5_4.ボタンスタイル.css |
| 6 | 5.ガイド欄 | All | styles/6_5.ガイド欄.css |
| 7 | 6.金額ルールテーブル | New, Edit | styles/7_6.金額ルールテーブル.css |
概要:code-readonly/code-readonly2 クラスによる疑似読取り専用表示、稟議コード・金額欄の大きな文字表示、支払先テーブル(jspreadsheet)の余白調整、プロセスボタンの色分け(申請・承認系=青、差戻し=黄、取消・却下=赤、保留・再開=灰、経理処理=緑)、ガイド欄の強調表示、NumE項目内の「稟議金額入力ルール」表の配色を定義している。
10. スクリプト(Scripts)/サーバースクリプト(ServerScripts)
| Id | Title | 適用画面 | ファイル |
|---|---|---|---|
| 1 | 1.新・稟議申請書 | New, Edit | scripts/1_1.新・稟議申請書.js |
| 2 | 2.稟議申請_作成時処理など | New, Edit | scripts/2_2.稟議申請_作成時処理など.js |
概要(Script Id1): jExcel/jSuitesライブラリをCDNから読み込み、支払先明細のスプレッドシート風テーブル(工種・材料/取引先/客出し金額/原価/銀行口座情報等)を生成・編集させる。関連案件有無ラジオボタンの表示切替、マスターシート選択時のAPI連携によるデータ自動反映(工事名・担当者・危険負担費)、危険負担費の自動計算、稟議通知先の自動補完、社用車事故報告テンプレートの自動挿入、消費税表示切替、既存項目の読取り専用制御などを行う。
概要(Script Id2): 各プロセス(稟議申請/承認/決裁/差戻し/取消/却下/経理処理等)実行時の確認ダイアログ・入力チェック(ringiCheck:マスターシート選択チェック、金額整合性チェック、赤稟議の事故報告書必須チェック、赤稟議5万円上限チェック等)・コメント履歴の追記処理を行う。決裁完了時には稟議コード管理サイト(160926)のステータス更新、ISO稟議管理サイト(319016)へのデータ複写、マスターシート(189112)の危険負担費残金更新をAPI経由で実行する。
| Id | Title | 適用タイミング | ファイル |
|---|---|---|---|
| 1 | プロセス14 事故報告書チェックボタンの非表示 | BeforeOpeningPage | [serverscripts/1_プロセス14 事故報告書チェックボタンの非表示.js](../configs/site-319015_新・稟議申請書/serverscripts/1_プロセス14 事故報告書チェックボタンの非表示.js) |
概要: 編集・新規作成画面表示前に、内部専用プロセス「事故報告書チェック(Id14)」ボタンを非表示化し、更新ボタンのラベルを「一時保存」に変更する。また同一契約コード(Class012)かつ赤稟議系(ClassC=1,3)で申請中〜完了済みのレコードを対象に、原価・販売購入額・実損額・今回支払額・支払合計を items.Sum で集計し、隠しフィールド(summaryHanbaiMoney 等)として画面に埋め込む(クライアント側の「赤稟議5万円チェック」で参照される)。
セキュリティ上の注意(重要)
scripts/1_1.新・稟議申請書.js と scripts/2_2.稟議申請_作成時処理など.js の両方に、Pleasanter APIを呼び出すための APIキーがJavaScriptのソースコード内に平文でハードコードされている(let apiKey = '...' および uploadJson.ApiKey)。これらはクライアントスクリプト(ブラウザ上で実行され、画面のソースやネットワークタブから誰でも閲覧可能)であるため、ログイン可能な全ユーザーにAPIキーが事実上公開されている状態にある。値そのものは本書には転記していないが、下記「気になる点」に指摘として記載する。
11. その他設定
| 設定 | 値・有無 |
|---|---|
| NoDisplayIfReadOnly | false |
| HideLink | true |
| AllowCopy | false |
| TitleSeparator | ■ |
| SectionLatestId | 19 |
| TabLatestId | 6 |
| GuideAllowExpand / GuideExpand | true / "1" |
| GridGuide | 設定あり(システム概要・注意事項を[md]形式で記載) |
| EditorGuide | 設定あり(GridGuideに加え、赤稟議の必須項目・承認ルールを記載) |
| CalendarGuide等その他Guide | 未設定 |
| Comments(サイト直下) | "[]"(コメント初期値なし。項目Commentsとは別のサイトメタ情報) |
Comments項目(質疑応答)は稟議申請書上で使用されており、コメント追加時に通知(下記)が発火する設定になっている。
サイト直下の通知(Notifications、Process外)
| 内容 |
|---|
| 質疑応答コメント(Comments列)追加時に、申請者・更新者へ宛てて通知メールを送信。件名「稟議申請にて質疑応答コメントが追加されました」 |
リマインダー(Reminders)
| 内容 |
|---|
DateK(期限)を基準に、期限が近いレコードについて Class037(次の処理者)とsystemadmin宛にリマインドメールを送信 |
エクスポート設定(Exports)
| 内容 |
|---|
| 「稟議集計用CSV」という名前でエクスポート定義あり(ResultId, Title, Status, および主要ClassX/NumX/DateX項目、計60列) |
カスタムビュー(Views)
| Id | Name | 概要 |
|---|---|---|
| 1 | 自分の申請 | Class002(申請者)=Own の絞り込み |
| 2 | 自分の処理 | Class037(次の処理者)=Own の絞り込み。カレンダー/クロス集計表示設定あり |
| 3 | 件名・内容 | GridColumnsを差し替えた一覧(DescriptionA=稟議内容を含む) |
気になる点(レビュー観点)
- 【重大・セキュリティ】 クライアントスクリプト(
scripts/1_1.新・稟議申請書.js、scripts/2_2.稟議申請_作成時処理など.js)内にPleasanter APIキーが平文でハードコードされている。クライアントスクリプトはブラウザで実行されるためソースが全ユーザーに公開されており、閲覧可能な全ユーザーがこのAPIキーを取得できてしまう状態にある。APIキーが強い権限(他サイトへの直接更新権限を含む)を持つ場合、情報漏洩・不正操作のリスクがある。サーバースクリプト(ServerScripts)側への処理移設、またはAPIキーのローテーション・権限最小化を推奨。 DescriptionE(是正処置の効果測定)はColumns定義には存在するが、EditorColumnHashのどのタブにも配置されておらず、実質的に編集画面から入力できない「死んだ列」になっている(StatusControlsの読取り専用対象には含まれている)。過去の仕様変更の残骸である可能性があり、削除または再配置の要否を確認すべき。- Sectionsの Id 4 は
LabelTextが空文字のままセクション区切りとして使われている(見出しなしセクション)。意図的な余白区切りなのか設定漏れなのか確認が必要。 - CheckA列はラベル未設定・非表示のまま、新規作成時に稟議コード発行済みかどうかを判定するシステム内部フラグとして使われている。ラベルがないため仕様書上は用途がスクリプトを読まないと分からない。
- Class100(役員)・Class101(経理)にはユーザーIDが配列でハードコードされた初期値が設定されている。人事異動があった場合にサイト設定の手動更新が必要になる構造であり、運用上のメンテナンス漏れリスクがある。
- Id4(二次承認(決裁))とId15(二次(最終)決裁)はステータス遷移が同一(200→900)で対象ClassCも同一だが、実行可能ユーザーの条件(担当役員 vs 特定ユーザー421)が異なる。UIボタンスタイル設定(Styles Id5)では
#Process_15のみが承認系の青ボタンスタイル対象に含まれ#Process_4は含まれていない点で表示上の扱いに差異があり、意図した設計か確認が推奨される。 - Class011(マスターシート)が参照するSiteId 189112は、本システムの10サイト一覧(319014/319020/319021/319027/335730/319017/319015/319022/319016/160926)には含まれない外部サイトである。全体関連図を作成する際は、この189112を「システム外部の連携先」として区別して扱う必要がある。