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>
5.7 KiB
5.7 KiB
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に埋め込まれたLookup(335410)
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で対等連携。加えて両サイトとも下記の外部マスタサイトを参照: