ken_nogi/Pleasanter/営業積算システム/docs/新・営業積算システム仕様書_分割/027_新・営業積算システム仕様書_第10章 スクリプト(Scripts)/サーバースクリプト(ServerScripts)全文について(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

6.8 KiB
Raw Blame History

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

10.1 335410 Scripts2ファイル

Id Title 適用範囲 概要
1 01_基本スクリプト New/Edit 施主名・重複チェックキー管理、マスターシート/エリア/契約ブランド/契約営業所の自動転記、案件状況(ClassS)自動判定、担当者一覧マージ、readonly項目のTab移動除外、ボタン名称変更・表示制御
2 02_プロセス処理スクリプト New/Edit プロセスボタン共通ディスパッチャ(processScript)、確認ダイアログ制御、必須エラー項目の集約表示

scripts/1_01_基本スクリプト.js.js

→ 別記資料スクリプトへ移動(本文からは省略。別記資料ファイル参照)

(本ファイルClassYのchangeハンドラ内で「案件状況ClassSを契約コードClassZの転記結果に応じて自動判定」する$p.judgeClassS()呼び出しは、2026-08-03の改修modify/2026-08-03T1520_案件状況自動判定/で追加されたもの。判定はClassY変更時のみ発火するため、判定後の手動変更は次回ClassY操作まで保持される。

scripts/2_02_プロセス処理スクリプト.js.js

→ 別記資料スクリプトへ移動(本文からは省略。別記資料ファイル参照)

10.2 335410 ServerScripts1ファイル

Id Title 実行タイミング 概要
1 マスターデータ取得 (BeforeOpeningPage想定) エリア(210699)・契約ブランド(109100)・契約営業所(96243)マスタを全件取得しHiddenへJSON格納。クライアント側の逆引き転記(10.1節)で使用

serverscripts/1_マスターデータ取得.js

→ 別記資料スクリプトへ移動(本文からは省略。別記資料ファイル参照)

10.3 335411 Scripts4ファイル

Id Title 適用範囲 概要
1 01_基本スクリプト New/Edit 営業積算課/積算発注課判定によるタブ表示制御、①からのリンク経由チェック、祝日計算初期化、各種ボタン生成呼び出し、進捗表示切替、Status⇔Class062同期、依頼内容・ログ類の自動マージ処理、問合せ種別(Class007)による表示・必須・DescriptionCマージ切替、UserId→氏名解決(resolveUserName、2026-08-09追加。ServerScript「Dept25所属者取得スクリプト」がHidden格納したDept25Membersから動的読込、2026-08-09変更)、部署/ユーザー/ブランドのハードコードコードは全てファイル先頭のグローバル変数へ集約(2026-08-09)
2 02_添付ファイルDL New/Edit 添付ファイル項目へのチェックボックス・一括/選択ダウンロードボタン追加、JSZip+axiosによるZIP一括DL
3 03_質疑応答スクリプト New/Edit 質疑・回答メッセージの送受信・履歴表示・削除、各種操作ボタン(質疑送信/回答送信/営業積算確認/受付/外部見積待ちへ/社内確認中へ/一部回答/見積回答/問い合わせ不要/差戻し/遅延連絡)の動的生成、営業日計算。見積回答ファイル一括DLボタンはAttachments101が1件も無い場合は非表示2026-08-09
4 04_プロセス処理スクリプト New/Edit 全19プロセスの共通ディスパッチャ(processScript)、プロセスごとの確認ダイアログ・入力チェック・付随処理の振り分け、問合せ種別必須チェック、日付・ユーザー設定(setTodayAndUser、2026-08-09追加)

scripts/1_01_基本スクリプト.js.js

→ 別記資料スクリプトへ移動(本文からは省略。別記資料ファイル参照)

scripts/2_02_添付ファイルDL.js.js

→ 別記資料スクリプトへ移動(本文からは省略。別記資料ファイル参照)

scripts/3_03_質疑応答スクリプト.js.js

→ 別記資料スクリプトへ移動(本文からは省略。別記資料ファイル参照)

scripts/4_04_プロセス処理スクリプト.js.js

→ 別記資料スクリプトへ移動(本文からは省略。別記資料ファイル参照)

10.4 335411 ServerScripts3ファイル

Id Title 実行タイミング 概要
0 子番自動保存スクリプト 新規作成直後(サーバー側) ClassX(自動採番)確定後に子番ClassBを算出しDB保存。クライアント側$p.setSubNumberと同一ロジックをサーバー側にも実装編集画面を開かないとClassBが保存されない不具合対策
1 祝日リスト取得スクリプト (BeforeOpeningPage想定) 祝日テーブル(SiteId 192267)から本日-30日〜+60日分を取得しHidden格納。あわせて独自ボタンで代替済みの標準プロセスボタン6件を非表示化
2 Dept25所属者取得スクリプト BeforeOpeningPage depts.Get('25').GetMembers()でDept25(営業積算課)所属者のUserId→氏名マップを取得しHidden項目Dept25Membersへ格納。クライアント側resolveUserNameが読み込み参照従来の固定ハードコードマップを置換、2026-08-09新規追加

serverscripts/0_子番自動保存スクリプト.js.js

→ 別記資料スクリプトへ移動(本文からは省略。別記資料ファイル参照)

serverscripts/1_祝日リスト取得スクリプト.js.js

→ 別記資料スクリプトへ移動(本文からは省略。別記資料ファイル参照)

serverscripts/2_Dept25所属者取得スクリプト.js.js

→ 別記資料スクリプトへ移動(本文からは省略。別記資料ファイル参照)