跳轉到

程式資訊

  • 程式 IDCUDATAM
  • 所屬子系統:E.營業收款
  • 狀態:stable

客戶信用額度設定

功能簡介

「客戶信用額度設定」用一張生效日期單,一次維護多個客戶的信用額度(Credit Limit)。每張單代表一個生效日期,單身逐列記錄各客戶在該日期起適用的額度與備註。額度資料會被歸戶到客戶身上,供客戶資料表的「Credit limit」查詢頁、應收帳齡與授信相關報表引用。

適合財會/授信主管或業務助理在客戶條件變動(例如年度重新核給、提高/調降額度)時,建立一張新生效日期單調整一批客戶的額度,並保留歷史軌跡(單身會顯示最新額度前次額度,方便核對調整幅度)。

與「客戶資料表」的關係

本表單與客戶資料表(CUDATA)是兩支獨立程式:客戶資料表維護客戶的基本主檔,本表單則專責維護信用額度這一項目。在客戶資料表內可透過「Credit limit」特殊查詢頁,直接查到某客戶目前的信用額度資料,但新增與修改額度一律在本表單進行

前置需求

  • 權限:E.銷售訂單 → E-020 客戶信用額度設定 的瀏覽(檢視)與修改(新增/儲存/刪除)權限。
  • 基礎資料:單身的客戶代號以 Seek 欄位挑選,需先維護好客戶主檔——
資料 影響什麼
客戶資料表(CUDATA) 單身客戶代號只能挑已建檔的客戶;挑選後自動帶出客戶簡稱(Customer Name)

操作步驟

本表單為主檔+單身結構:上方是一張生效日期單(主檔),下方格線逐列輸入各客戶的額度(單身)。

新增一張信用額度單

  1. 從主選單開啟 E.銷售訂單 → 客戶信用額度設定
  2. 點工具列 新增。系統自動帶入兩個日期(見欄位連動與附加功能):
    • 建立日期(Created Date)=今天,唯讀。
    • 生效日期(Effective Date)=今天,可改。
  3. 視需要修改生效日期為這批額度真正開始適用的日期,並填備註(Notes)。
  4. 在下方格線逐列輸入客戶與額度:
    1. 客戶代號欄按 Seek(放大鏡)挑客戶,系統自動帶出客戶簡稱
    2. 輸入信用額度金額。
    3. 視需要填單身備註
  5. 重複步驟 4 加入更多客戶(每張單可放多個客戶,但同一客戶不可重複)。
  6. 儲存

    小技巧

    可用 Ctrl+S 快速儲存。

修改/刪除

  1. 用上方工具列查詢叫出既有的信用額度單。
  2. 直接在格線修改信用額度備註儲存
  3. 要移除某客戶的額度列,選取該列後刪除,再 儲存單身整列若客戶代號為空,會被視為空列並在儲存時自動略過、不會存成一筆資料(見欄位連動與附加功能)。

尚未提供列印/轉拋

本表單目前的程式碼只實作新增/修改/刪除(IAdd),沒有列印報表、簽核流程、Excel 匯入匯出或轉拋其他單據的功能。額度資料是由其他單據與報表反向引用,而非從本表單推送出去。

欄位說明

主檔(上方生效日期單)

欄位 必填 說明/格式/預設
單號(Document No) 識別此額度單的單號
生效日期(Effective Date) 這批額度開始適用的日期;新增時預設今天,可修改。空白不可儲存
建立日期(Created Date) 系統欄位,唯讀;新增時自動帶今天
備註(Notes) 主檔層自由輸入(最長 500 字)

單身(下方客戶額度格線)

欄位 必填 說明/格式/預設
客戶代號(Customer Code) Seek 欄位,只能挑客戶資料表已建檔的客戶;同一張單內不可重複
客戶簡稱(Customer Name) 挑客戶後自動帶出,唯讀
信用額度(Credit Limit) 數值(19,4),本幣金額;此即要設定的額度
備註(Notes) 單身層自由輸入(最長 500 字)
最新額度(Latest Credit Limit) 唯讀,供核對用,由查詢帶出
前次額度(Previous Credit Limit) 唯讀,供核對用,由查詢帶出

畫面文字目前為英文

本表單 XAML 的標題與欄位 Header(Document No、Effective Date、Credit Limit…)目前仍是英文字串、尚未套用中文多語系。實際操作時請依上表的中文對照辨識欄位。

欄位連動與附加功能

這一節把「輸入某欄位後系統會做什麼」「按某動作會發生什麼」逐條列出,全部來自實際程式碼。

新增時的預設帶值

  • 當你按 新增,系統會在主檔自動帶值(AfterAddNew):
    • 建立日期=今天(TodayYYYYMMDD),且此欄唯讀,無法手動改。
    • 生效日期=今天,但允許你改成實際生效日

單身客戶 Seek 的連動

  • 客戶代號是 Seek 欄位(TsCustomerSeekGridViewColumn)。當你挑定一個客戶後,系統會自動把該客戶的簡稱帶到唯讀的客戶簡稱欄;此欄不可手動輸入。

儲存前的檢核(AllowSave

儲存 時,除了系統共通檢核外,本表單會額外擋下三種情況:

  1. 找不到主檔資料 → 顯示系統錯誤訊息,不允許儲存。
  2. 生效日期空白 → 提示「請輸入 生效日期」,不允許儲存。生效日期是必填。
  3. 同一客戶在單身重複 → 系統會把單身中未被刪除、且客戶代號非空的列依客戶代號分組,只要有任一客戶出現超過一次,就提示「資料重複:客戶代號」,不允許儲存。

空列自動略過(不會被存成一筆資料)

  • 單身若整列的客戶代號為空白,系統會把該列判定為「需刪除」(Twork_ord_vw_cudatalimitdSource.NeedDeleteFunction 回傳 客戶代號.IsNullOrWhiteSpace())。上傳時這種列會被當成刪除/略過處理,不會被存成一筆新資料。因此你可以放心留著沒填完的空白列,儲存時它不會變成一筆空的額度紀錄。

額度資料被誰引用(往下游的連動)

本表單存好的信用額度,會被下列地方讀取(單向引用,本表單不主動推送):

  • 客戶資料表(CUDATA) 的「Credit limit」查詢頁:在客戶資料表選定某客戶後,該頁會以目前客戶代號為條件,呼叫查詢取回該客戶的信用額度明細(含最新/前次額度),讓你不必離開客戶主檔即可檢視額度。
  • 授信/集團資料、應收帳齡相關報表:信用額度欄位也被集團資料查詢、應收帳齡(ArAge)等處引用,作為授信判斷與報表呈現的依據。

銷售訂單的額度檢查目前為停用狀態

程式碼中銷售訂單(ORMAST)存檔時原本有一段「信用不足 / 額度為 0 即擋單」的檢查,目前在新版中是註解停用的。也就是說,現階段建立訂單不會自動依本表單的額度即時擋單;本表單的額度主要供查詢與報表參考。如需恢復即時擋單,須由開發端啟用該段檢查。

常見問題

按儲存出現「請輸入 生效日期」?

主檔的生效日期為必填,新增時雖預設今天,但若被清空就會擋存。請在上方填入這批額度的生效日期後再儲存。

按儲存出現「資料重複:客戶代號」?

同一張信用額度單裡同一個客戶只能出現一次。請檢查單身是否把同一客戶輸入了兩列;若要改該客戶的額度,直接改原本那一列即可,不要再新增一列。

在客戶資料表查不到某客戶的信用額度?

信用額度是在本表單(客戶信用額度設定)建立的,不是在客戶資料表建立。請先在本表單為該客戶建立一張含其額度的生效日期單並儲存,客戶資料表的「Credit limit」頁才查得到。

客戶簡稱欄空白?

客戶簡稱由客戶代號 Seek 挑選後自動帶出。若空白,多半是該列尚未以 Seek 正確挑到已建檔的客戶;請重新從 Seek 欄挑選客戶。

設了額度,為什麼下訂單時沒有擋單?

現階段銷售訂單存檔時的信用額度檢查在程式中為停用(註解)狀態,所以不會即時依額度擋單。本表單的額度目前主要供查詢與授信/帳齡報表參考。

相關功能


需補截圖清單

以下截圖待功能 runtime 驗收後補拍(放 docs/E-SalesOrder/images/):

  1. cudatam-step1.png — 新增後的主檔(自動帶入建立日期/生效日期)
  2. cudatam-step2.png — 單身格線:客戶 Seek 挑選 + 信用額度/最新/前次額度欄
  3. cudatam-step3.png — 儲存檢核訊息(生效日期空白 / 客戶代號重複)示意