GitHub(nextgroup2706/ken_nogi)は今後使わず自社Gitea運用に切替え。 NodeSrvは旧リポジトリの履歴を破棄しファイルのみ統合(Dokploy用サービスアカウントは 別途mygit-admin/NodeSrv.gitに履歴あり)。notepmエクスポート(12GB)とPleasanter インストーラzip(208MB)はサイズが大きいため.gitignoreで除外。 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
7.2 KiB
サイト定義書_営業積算_20260803.xlsx 更新記録
- 対象:
docs/サイト定義書_営業積算_20260803.xlsx - 作成日時: 2026-08-03
- バックアップ:
docs/サイト定義書_営業積算_backup_2026-08-03T1337.xlsx等(作業段階ごとに複数保存) - 対象サイト: 335410(①物件基本情報)・335411(②問い合わせ内容管理)
やったこと
8/3に実施したサイト改修(プロセス定義刷新・必須入力整理・重複チェック再設計・マスターシート等連携の全面刷新・Tab移動抑制)を踏まえ、サイト定義書へ8シートを追加・更新した。
1. 仕様書(新規作成、2枚)
site-335410_①物件基本情報_仕様書 / site-335411_②問い合わせ内容管理_仕様書
pleasanter-site-specの仕様書構成(サイト基本情報/権限/画面構成/項目定義/作成更新権限/集計設定/他サイト連携/プロセス設定/スタイル/スクリプト/その他設定)に沿って、変更過程を含まない現状仕様のみを記載。Excel本来の表形式(複数セル列挙)で作成。
- 項目定義・プロセス・メール文面は簡略版のみ記載し、詳細は各専用シートを参照する形に統一
- スクリプトは関数名と概要のみ記載(実装詳細は割愛)
- 重要な設計判断(重複チェックキーから主担当営業・契約営業所を除外した理由、AutoPostBack全廃の理由等)のみ簡潔に注記
2. 項目定義書(既存シートを最新化、2枚)
site-335410_①物件基本情報_項目 / site-335411_②問い合わせ内容管理_項目
335410側は8/2版から以下を追記・修正:
- Class003・Class004・Class022の「編集不可(ロック項目)」欄に〇追加(登録完了後ロック対象)
- ClassY・Class022・Class023・Class031の備考欄「自動ポストバック」表記を、AutoPostBack全廃・クライアントスクリプト化の実態に合わせて更新
- Class154(依頼者・担当者・CC一覧)・Class199(重複許容)を新規記入(従来は未使用テンプレート行のまま空欄だった)
335411側はサイト設定自体に変更がないため、突き合わせ差分0件(属性不一致なし)を確認のうえ変更なし。
3. プロセス定義(既存シートを更新・新規作成、2枚)
site-335411_②問い合わせ内容管理_プロセス定義(既存): No15の名称誤り「取消」を実データに合わせ「依頼取消」へ修正。
site-335410_①物件基本情報_プロセス定義(新規): Status定義5件、プロセス定義一覧5件(登録完了/依頼受付終了/物件保留/物件取消/登録完了へ戻す)を実データから記入。
4. メール文面(新規作成、2枚)
site-335411_②問い合わせ内容管理_メール文面(既存のプロセス1参考データを元に拡張): 通知ありの10プロセス分(Id 1,3,4,5,9,10,12,14,15,18)の件名・宛先・CC・本文を実データから転記。既存シートのヘッダーに誤り(列見出し19が実際は10であるべき)があったため合わせて修正。
site-335410_①物件基本情報_メール文面(新規): 5プロセス全部の通知内容を転記。
技術メモ
- Excel COM経由でセル単位に書き込む方式を使用(SheetJS直接書き込みはテーブル定義破壊のリスクがあるため不使用、[7/27の教訓]参照)
- 書き込み時、実際のシートのデータ開始位置(A1ではなくA2起点、テーブル範囲がB列開始等)を誤認し、初回書き込みで内容が1行分ズレる不具合が2回発生。都度検証・修正した
- 8章のプロセス遷移元表記で、
CurrentStatus=-1のプロセスを一律「*(制限なし)」と表示していたが、実際にはView.ColumnFilterHash.StatusでStatus範囲が限定されているケースが大半だった(335411で13件該当)。実データのStatus範囲を反映するよう修正
保留・見送り事項
なし。全対象シート、突き合わせ差分ゼロ(既知の誤検知3件を除く)まで確認済み。
検証
各シート更新後、extract-excel-def.js / extract-site-columns-flat.js / diff-excel-vs-site.js で実サイト設定との突き合わせを実施し、意図した差分のみであることを確認。最終的にファイルをZIP展開し、テーブル定義(table1〜6.xml)・sharedStrings・印刷設定が保持されていることも確認済み。
追記(案件状況=ClassS 自動判定機能の追加、site-335410)
サイト側に以下のスクリプト機能を実装・反映(modify/2026-08-03T1520_案件状況自動判定/):
- マスターシート(ClassY)未選択時 → 案件状況(ClassS)は「未契約」
- ClassY選択時、転記された契約コード(ClassZ)が
9999AAABBなら「未契約」、それ以外は「契約済み」と自動判定 - 判定はClassY変更時のみ発火。ClassS自体は通常項目のため、判定後も手入力で変更可能
Excel側は以下2箇所を追記:
site-335410_①物件基本情報_項目K25(ClassS備考):旧来の「code-readonly3・未反映」表記を、実装済みの自動判定ロジック説明に置き換えsite-335410_①物件基本情報_仕様書A198(気になる点、新規行追加):自動判定の設計要点を追記
反映方法は既存パターンと同じくExcel COM経由。書き込み後、シート参照範囲(!ref)とZIP内テーブル定義・sharedStringsの健全性を再確認済み。
追記(仕様書シートのレイアウト刷新、見出し階層=列オフセット化)
site-335410_①物件基本情報_仕様書 / site-335411_②問い合わせ内容管理_仕様書 の2枚を、以下のルールで全面再構成した。
- 見出し階層と列位置を対応させる:H1見出し(例「1. サイト基本情報」)→A列、H2見出し(例「3.1 一覧画面」)→B列(H3を使う場合はC列)
- 見出し以外の項目(表を含む)は、直近の見出しの列の1つ右から開始(H1直下の本文→B列、H2直下の本文→C列)。複数セルの表もこの開始列を起点にそのまま右へ並べる
- フォントサイズ:本文は基本11のまま。見出しはH1=17/H2=15/H3=13、見出しはすべて太字(本文は太字なし)
- 実装:
spec-335410-rows.json/spec-335411-rows.json(従来の行データ、案件状況ClassS注記を追加分含め198/150行)をbuild-spec-layout.jsで見出し判定(^\d+\.\s=H1、^\d+\.\d+\s=H2、「気になる点(レビュー観点)」は特例でH1扱い)→列・フォント情報付きのspec-*-layout.jsonに変換→write-spec-layout.ps1でシートをCells.Clear()後に全面書き直し - 検証:書き込み後、H1(A5, size17/bold)・H2(B29, size15/bold)・本文(B7/C7, size11/bold無し)をCOM経由で読み戻し、意図通りの列・フォントが適用されていることを確認。ZIP構造(tables/sharedStrings)にも異常なし