ken_nogi/Pleasanter/営業積算システム/docs/新・営業積算システム仕様書_分割/019_新・営業積算システム仕様書_第7章 他サイト連携(Links/ルックアップ/暗黙参照)について(1/2).md
Kenichiro NOGI ce58cb4be4 初回コミット: dev配下(NodeSrv/Pleasanter等)をGitea管理下に統合
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>
2026-09-04 15:37:06 +09:00

5.7 KiB
Raw Blame History

7. 他サイト連携Linksルックアップ暗黙参照

7.1 SiteSettings.Linksトップレベル

335410:設定なし(Links: [])。

335411

起点列 参照先SiteId 内容
Class003(エリア) 210699 エリアマスタ参照
Class004(ブランド) 109100 契約ブランドマスタ参照
Class086(遅延理由) 335450 遅延理由マスタ。ColumnSorterHash: NumA ascでソート。Lookup: マスタDescriptionA→自サイトDescription081。AutoPostBack: true, ColumnsReturnedWhenAutomaticPostback: Description081遅延理由選択と同時にDescription081へ雛形文を自動転記
ClassZ(テスト・リンク用) 335410 ①物件基本情報。15項目のLookup詳細下表
Class052(回答希望送付先) 0(Usersテーブル直接参照) TableName: Users, ColumnFilterExpressions: {UserId: "=[@Class153]"}Class153担当者・CC一覧に含まれるユーザーのみに絞込選択
Class077(質疑送付先) 0(Usersテーブル直接参照) 同上、Class153絞込
Class085(遅延送付先) 0(Usersテーブル直接参照) 同上、Class153絞込
Class095(回答送付先) 0(Usersテーブル直接参照) 同上、Class153絞込。加えてColumnFilterHash: {Disabled: "false"}(退職者等を除外)

ClassZ→335410 のLookup全15項目

①335410側(From) ②335411側(To) 内容
ClassA ClassA 管理番号→親番
Class032 ClassD 主担当営業
Date001 DateB 承認図予定日
Date002 DateC 着工予定日
Class015 Class001 施主名マージ→施主名
Class021 Class002 建上地
Class022 Class003 エリア
Class023 Class004 契約ブランド→ブランド
Class025 Class005 建物種類
Class024 Class006 防火指定
Class153 Class153 担当者・CC一覧そのまま
Class153 Class052 担当者・CC一覧→回答希望送付先の選択母集団
Class153 Class077 担当者・CC一覧→質疑送付先の選択母集団
Class153 Class085 担当者・CC一覧→遅延送付先の選択母集団
Class153 Class095 担当者・CC一覧→回答送付先の選択母集団

→ ②サイトが新規作成される際①の「新規見積依頼」ボタン経由、この15項目が①から②へ一括コピーされる。ClassZという列名は「テスト・リンク用」というラベルのままだが、実際には①→②の参照キー兼自動転記トリガーとして本番運用されているラベル名と用途の乖離、12章参照

7.2 項目のChoicesTextに埋め込まれたLookup335410

Links配列トップレベルには現れないが、各列のChoicesText内にJSON形式で個別Lookup設定を持つ。

起点列(335410) 参照先SiteId 内容
ClassY(マスターシート) 189112(★マスターシート) SearchFormat: "[ClassA] - [ClassQ] 様 ([ClassF] [ClassG])"ColumnSorterHash: ResultId desc。27項目のLookup下表
Class022(エリア) 210699 Lookup: マスタClassA→自サイトClassMエリア記号OverwriteForm: true
Class023(契約ブランド) 109100 Lookup: マスタClassA→自サイトClassNブランド記号OverwriteForm: true
Class031(契約営業所) 96243 Lookup: マスタClassK→自サイトClass038所属長OverwriteForm: true

ClassY→189112(★マスターシート) のLookup全27項目

マスターシート(From) 335410側(To)
ClassA ClassZ(契約コード)
Class001〜004 Class001〜004(施主1情報)
Class009,010,011,012 Class005,006,007,008(施主2情報)
Class017,018,019,020 Class009,010,011,012(施主3情報)
Class029 Class021(建上地)
ClassW Class022(エリア)
Class033 Class023(契約ブランド)
Class040 Class024(防火指定)
Class043 Class025(建物種類)
ClassF,G,H,I,L,K,J Class031〜037(契約営業所〜担当監督)
Date063 Date001(承認図予定日)
DateH Date002(着工予定日)

いずれもOverwrite: false転記先に既存値があれば上書きしない。実際の転記処理はサーバー側AutoPostBackではなく、10章記載のクライアントスクリプト($p.apiGetによるその場取得)で行われる。

7.3 ServerScriptがSiteIdを直接ハードコード参照している暗黙的テーブル参照

正式なLinks設定には現れない、items.Get(SiteId)による直接参照。

サイト ServerScriptファイル 参照先SiteId 目的
335410 serverscripts/1_マスターデータ取得.js 210699 エリアマスタ全件取得→hidden格納クライアント側Class022変更時の逆引き転記用
335410 serverscripts/1_マスターデータ取得.js 109100 契約ブランドマスタ全件取得→hidden格納Class023変更時の逆引き転記用
335410 serverscripts/1_マスターデータ取得.js 96243 契約営業所マスタ全件取得→hidden格納Class031変更時の逆引き転記用
335411 serverscripts/1_祝日リスト取得スクリプト.js 192267(祝日テーブル) 本日30日〜+60日の祝日一覧取得→hidden格納DateA/DateJ/Date073等の営業日計算用

7.4 サイトツリー上の位置関係

74663親サイト、詳細不明・本仕様書の対象外
├─ 335410 ①物件基本情報 Ver0.3
└─ 335411 ②問い合わせ内容管理 Ver0.3

335410↔335411は上記7.1のClassZ Linksで対等連携。加えて両サイトとも下記の外部マスタサイトを参照