跳轉到

程式資訊

  • 程式 IDBOR
  • 所屬子系統:A.系統資料
  • 狀態:stable

上下位關聯(關係表)

功能簡介

「上下位關聯」是一張共用的父子(上位/下位)關係主檔,用一張單把某一筆主資料(上位)底下要掛的多筆相關資料(下位)登錄成一份清單。它依類別碼切換為六種不同用途:

  • 代理人(員工 → 員工):登錄某員工的代理人,常用於請假/簽核流程改派。
  • 下屬(員工 → 員工):登錄某主管的直接下屬,供工作流程與待辦清單判斷簽核對象。
  • 部門(部門 → 部門):登錄部門的上下位隸屬。
  • 客戶(客戶 → 客戶):登錄客戶的歸屬/集團關係。
  • 廠商(廠商 → 廠商):登錄廠商的歸屬/集團關係。
  • 工作中心(工作中心 → 工作中心):登錄工作中心的隸屬。

報表抬頭即為「關係表」。系統管理者或人資/生管在維護組織與簽核關係時會用到它;其結果會被工作流程/待辦清單等簽核機制引用(例如以「下屬」「代理人」判斷誰該收到簽核)。

一張單 = 一個上位

每張單只對應一個上位編號,下位則是明細區的多列。換句話說,「A 主管的下屬有哪些」是一張單,下面列出所有下屬。

前置需求

  • 權限:A.系統資料 → A-050 上下位關聯 的瀏覽權限;列印另需列印權限。
  • 必須先維護的主檔:上位/下位編號都是去既有主檔查值,對應主檔沒建好就查不到資料——
資料 影響什麼
員工資料(PERDATA) 類別=代理人/下屬時,上位與下位編號的查值來源
部門資料(DEPT) 類別=部門時的查值來源
客戶資料(CUDATA) 類別=客戶時的查值來源
廠商資料(SPDATA) 類別=廠商時的查值來源
工作中心(WKCENT) 類別=工作中心時的查值來源

類別碼決定查值來源

上位編號與下位編號的搜尋來源隨類別碼動態切換(見欄位連動與附加功能)。因此一定要先選類別碼,再去查上位/下位編號,否則查到的會是上一個類別的對照表。

操作步驟

  1. 從主選單開啟 A.系統資料 →「上下位關聯」。
  2. 點工具列 新增
  3. 類別碼 下拉選取要建立的關係種類(代理人/下屬/部門/客戶/廠商/工作中心)。
    • 選定後系統會把 上位編號/下位編號 的查值來源切到對應主檔。
  4. 上位編號 欄按搜尋(放大鏡)選取上位資料;選定後 上位名稱 會自動帶出。
  5. 視需要在 備註 填寫整張單的說明。
  6. 在下方明細區逐列輸入下位:
    1. 下位編號 欄查值選取下位資料,下位名稱 自動帶出。
    2. 視需要填 投入程序注意事項生效起始日生效截止日自訂欄位1/2
  7. 點工具列 儲存。系統會自動把 單號 組成「類別碼+上位編號」後寫入(見欄位連動與附加功能)。

若要修改或刪除:先用工具列查詢出該單,修改 後重選類別碼/上位編號(注意改類別碼會清空上位)或增刪明細列,再 儲存;整張單可用 刪除 移除。

若要列印,點 列印 開啟條件視窗,輸入 上位編號 起訖後出表(見列印)。

欄位說明

主檔欄位

欄位 必填 說明/格式/預設
單號 系統產生 唯讀。儲存時自動組成「類別碼+上位編號」(例:類別碼 1+上位編號 A001 → 單號 1A001),不可手動輸入。
類別碼 下拉選 1~6:1=代理人、2=下屬、3=部門、4=客戶、5=廠商、6=工作中心。決定上位/下位的查值來源。
上位編號 父節點編號,依類別碼到對應主檔查值(員工/部門/客戶/廠商/工作中心)。
上位名稱 自動 由上位編號查值帶出,唯讀顯示。
備註 整張單的文字說明,最長 50 字。

明細欄位(下位清單)

欄位 必填 說明/格式/預設
序號 明細列序號。
下位編號 子節點編號,與上位同一套查值來源(依類別碼切換)。留空的列在儲存時會被自動刪除
下位名稱 自動 由下位編號查值帶出,亦可手動修改。
投入程序 自由文字(最長 6 字)。
注意事項 該下位的備註說明,最長 60 字。
生效起始日 此關係生效起日。版面上設為唯讀顯示。
生效截止日 此關係失效日。版面上設為唯讀顯示。
自訂欄位1 自由文字(最長 30 字)。
自訂欄位2 自由文字(最長 30 字)。

生效日期欄唯讀

目前版面把 生效起始日/生效截止日 設為唯讀(ForceReadOnly),畫面上無法直接編輯。若需要使用生效區間請洽系統維護者。

欄位連動與附加功能

本節整理「輸入某欄位/按某動作後系統會做什麼」,全部來自實際程式碼。

類別碼 → 切換上位/下位查值來源

當你選取或變更 類別碼 時,系統會把上位編號與明細下位編號的搜尋設定整組切換到對應主檔:

類別碼 查值主檔 查詢條件欄 顯示名稱欄
1 代理人 員工資料(PERDATA) 員工編號 員工姓名
2 下屬 員工資料(PERDATA) 員工編號 員工姓名
3 部門 部門資料(DEPT) 部門代號 部門簡稱
4 客戶 客戶資料(CUDATA) 客戶代號 客戶簡稱
5 廠商 廠商資料(SPDATA) 廠商代號 廠商簡稱
6 工作中心 工作中心(WKCENT) 中心代號 中心說明

變更類別碼 → 清空上位編號/名稱

編輯狀態下變更類別碼時,系統會把已填的 上位編號上位名稱 一併清空,避免沿用上一個類別查到的舊值。所以:

改類別碼會清掉上位

若你在輸入到一半時改了類別碼,已選的上位編號會被清空,必須重新查值。明細列的下位不會被清空,但其查值來源也已切換,請確認下位編號仍與新類別相符。

儲存時 → 單號自動組成「類別碼+上位編號」

儲存 時,系統在寫入前會把 單號 設為 類別碼 + 上位編號(例:類別碼 1、上位編號 A001 → 單號 1A001)。因此:

  • 單號欄畫面唯讀,不需也不能手動輸入。
  • 同一類別、同一上位只能有一張單(單號會相同)。要為同一上位再加下位,請查出原單後在明細區追加,而不是另開新單。

儲存時 → 空白下位列自動刪除

儲存 時,系統會掃描明細區,把 下位編號為空白 的列自動標記為刪除。所以:

  • 不必手動清掉沒填的空列,存檔時會自動略過。
  • 要刪除某一筆下位,把該列的下位編號清空再存檔即可(等同刪列)。

列印

工具列 列印 會開啟 BorPrint 條件視窗:

  1. 開窗時系統會把目前單據的 上位編號 自動帶入起訖兩欄(起=迄=目前上位編號),等於預設只印當前這一張。
  2. 你可改成一段 上位編號 區間,列印多張關係表。
  3. 出表使用報表 A050-1「關係表」(A4、台灣區域)。

列印條件僅有上位編號

BorPrint 目前的條件面板只提供「上位編號」起訖一個篩選條件,沒有類別碼或日期篩選。

審核/工作流程(資料面)

主檔資料表保留了 工作流程審核人員審核日期已審核 等欄位,代表此單可被工作流程機制引用;但目前 Bor 維護畫面本身沒有提供簽核按鈕或工作流程操作 UI。

簽核欄位由其他機制使用

上述審核相關欄位在本維護畫面不會直接編輯,主要供工作流程設定等機制讀寫。Bor 畫面以維護上下位清單為主。

常見問題

為什麼查上位/下位編號查不到我要的人或部門?

上位/下位的查值來源隨類別碼切換。請先確認 類別碼 選對了:代理人/下屬查的是員工、部門查部門、客戶查客戶、廠商查廠商、工作中心查工作中心。選錯類別會去錯的主檔找,自然查不到。另外對應主檔(如員工、部門)也必須先建好資料。

改了類別碼,上位編號怎麼不見了?

這是設計行為。為避免沿用前一個類別的舊值,在編輯狀態變更類別碼時系統會清空上位編號與上位名稱,請重新查值選取。詳見變更類別碼 → 清空上位編號/名稱

單號欄是灰的、不能打字?

單號是系統自動產生的,唯讀。儲存時會自動組成「類別碼+上位編號」(例 1A001)。你只要選好類別碼與上位編號,存檔後單號就會出現。

明細區留了空白列,會不會存壞資料?

不會。儲存時系統會把下位編號空白的列自動刪除,不需手動清除。反過來,要刪掉某一筆下位,把該列下位編號清空再存檔即可。

生效起始日/生效截止日為什麼不能改?

目前版面把這兩欄設為唯讀(ForceReadOnly),畫面上無法直接編輯。若流程需要使用生效區間,請洽系統維護者。

同一個主管想分兩張單登錄下屬可以嗎?

不建議。單號=類別碼+上位編號,同一類別同一上位的單號會相同,等於同一張單。要為同一上位再加下位,請查出原單後在明細區追加,而不是另開新單。

相關功能


需補截圖清單

以下截圖待 runtime 驗收後補拍(放 docs/A-System/images/):

  1. bor-step1.png — 主畫面全貌(類別碼下拉+上位編號+明細區)
  2. bor-step2.png — 類別碼下拉展開(六種類別)
  3. bor-step3.png — 上位/下位編號查值視窗(示意依類別切換來源)
  4. bor-step4.png — BorPrint 列印條件視窗(上位編號起訖)