程式資訊
- 程式 ID:
CUDATA - 所屬子系統:E.營業收款
- 狀態:stable
客戶基本資料¶
功能簡介¶
「客戶基本資料」(CUDATA,俗稱客戶主檔)是維護所有往來客戶的中央資料庫。它把一個客戶的基本識別、交易與付款條件、地址、聯絡人、財務與銀行帳戶、代理商、麥頭、自定義分類等資料集中保存,並提供統計、應收帳款、客戶報價、訂單、出貨等即時查詢頁籤。
這支主檔是整個銷售流程的源頭:建立銷售訂單、開客戶報價、做出貨與開立發票時帶出的幣別、稅別、收付款條件、業務員、收貨/請款地址等預設值,全都來自這裡。負責維護的通常是業務助理或業務主管。
與「客戶信用額度」是兩支程式
本頁只負責客戶的基本資料。客戶的信用額度與帳款上限另有獨立程式 客戶信用額度(CUDATAM) 維護;本頁雖然保留了一個「信用額度」查詢頁籤的程式骨架,但目前並未掛上工具列,請以 CUDATAM 為準。
前置需求¶
- 權限:
E-010 客戶基本資料的瀏覽/新增/修改/刪除權限。部分頁籤另需對應程式的瀏覽權限才會顯示(見下表)。 - 基礎資料:欄位的下拉與帶值依賴下列主檔/參數,建議先維護——
| 資料 | 影響什麼 |
|---|---|
| 系統小代碼(SMEMS:等級 C283、類別 C262、區域 C21582、交易類別 C273、交易條件 C202、付款方式 C203、運送方式 C201) | 對應下拉選單的可選值;沒設這些代碼,下拉會是空的 |
| 收付款條件(PAYTERM) | 收付條件號的下拉與說明 |
| 稅別(TAXTYPE) | 稅別的下拉與名稱 |
| 業務員主檔 | 業務員1/業務員2的姓名帶值 |
| 客戶群組(GRPM) | 群組代號的群組說明,以及「自定義分類」要套用的分類項目 |
| 幣別主檔 | 幣別/資本額幣別控件;新增時預設帶本位幣 |
| 系統參數 5002(倉儲別預設) | 新增客戶時自動帶入的倉儲別 |
與頁籤顯示有關的權限
財務頁籤需有本程式的檢視價格權限;應收帳款頁需有 RECEIVE、客戶報價頁需有 CUPDMA、訂單頁需有 ORMAST、出貨頁需有 TRSAMA 瀏覽權限,否則該頁籤不會出現。
操作步驟¶
新增客戶¶
- 從主選單開啟 E 銷售訂單 → 客戶基本資料。
- 點選工具列
新增。系統會自動帶入下列預設值(見欄位連動與附加功能):- 建檔日期=今天(唯讀)
- 幣別=公司本位幣
- 倉儲別=系統參數 5002 設定值
- 在基本資料頁籤輸入 客戶代號(最多 10 碼)、客戶簡稱、客戶名稱。
- 依需要填寫統一編號、集團代號、群組代號等。
- 切到交易與付款條件區,設定 等級、類別、區域、交易類別、收付條件號、稅別、付款方式、運送方式等。
- 切到地址資訊填寫公司/請款/送貨地址,必要時按
複製到付款資訊把公司地點複製成請款地點。 - 切到其它頁籤(財務/其他)補齊銀行帳戶、代理商、麥頭、備註等資料。
-
點選工具列
儲存。小技巧
可用 Ctrl+S 快速儲存。
修改客戶¶
- 用工具列的搜尋(放大鏡)或上下筆瀏覽找到要修改的客戶。
- 點選
修改,調整欄位後儲存。
刪除客戶¶
- 瀏覽到要刪除的客戶。
-
點選
刪除並確認。注意
若該客戶已被訂單、出貨、發票或應收帳款引用,刪除會被資料庫關聯擋下。建議改用停用(把「停用」設為「是」)讓客戶不再被選用,而非實際刪除。
列印¶
- 瀏覽到目標客戶。
- 點選工具列
列印,選擇Print Customer報表。系統會以目前客戶代號作為列印條件帶入(單一客戶)。
統計與帳款查詢¶
切換到右側的頁籤即可查看該客戶的衍生資料,全部以目前瀏覽的客戶為對象(見欄位連動與附加功能):
- 統計資料:銷售統計(特別查詢)。
- 應收帳款:未收/已收帳款明細與合計。
- 客戶報價/訂單/出貨:嵌入對應主檔的查詢,預設鎖定本客戶。
欄位說明¶
基本資料頁¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 客戶代號 | 是 | 最多 10 碼,主鍵,新增後即為識別碼 |
| 客戶簡稱 | 是 | 最多 40 字;輸入後自動產生速查碼 |
| 客戶名稱 | 是 | 完整公司名稱 |
| 速查碼 | — | 系統依客戶簡稱自動產生(唯讀) |
| 建檔日期 | — | 新增時自動帶今天(唯讀) |
| 停用 | — | 是/否;停用後不再被單據選用 |
| 幣別 | — | 新增時預設本位幣;之後可改,會帶到訂單/報價 |
| 統一編號 | — | 客戶統編 |
| 集團代號 | — | 透過客戶查詢選取,帶出集團簡稱 |
| 群組代號 | — | 透過群組查詢(SK_GRPM2)選取,帶出群組說明 |
交易與付款條件¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 等級 | — | 下拉 C283 |
| 類別(客戶類別) | — | 下拉 C262 |
| 區域(區域代碼) | — | 下拉 C21582 |
| 交易類別 | — | 下拉 C273 |
| 收付條件號 | — | PAYTERM 查詢,帶出說明 |
| 稅別 | — | TAXTYPE 查詢,帶出名稱 |
| 交易條件 | — | 下拉 C202 |
| 付款方式碼 | — | 下拉 C203 |
| 運送方式碼 | — | 下拉 C201 |
| 收付款代號 | — | 另一客戶代號,作為帳務歸戶對象;帶出收付款簡稱 |
地址資訊¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 發票抬頭 | — | 最多 50 字 |
| 公司地點/公司郵遞號 | — | 公司地址 |
| 請款地點/發票郵遞號 | — | 請款(發票)地址,可由公司地點一鍵複製 |
| 送貨地點/送貨郵遞號 | — | 出貨地址 |
聯絡資訊¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| — | 公司 Email | |
| 電話/傳真 | — | 公司電話、公司傳真 |
| Website | — | 公司網址 |
| 聯絡人1/聯絡1電話 | — | 主要聯絡人 |
銷售與帳款¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 業務員1/業務員2 | — | 業務員主檔查詢,帶出姓名 |
| 帳款起始日 | — | 數字,帳款計算的起算日設定 |
| 付款天數 | — | 數字天數 |
| 發票方式 | — | 「隨貨」(空白)或「月結」(M) |
| 附回郵/附對帳單 | — | 是/否 |
財務頁¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 銀行名稱/帳號/支存帳號/活存帳號 | — | 收款銀行資訊(帳號類欄位多為唯讀顯示) |
| 資本額幣別/登記資本額/年營業額 | — | 公司財務概況 |
| Leadtime(Stock)/Leadtime(Trans) | — | 庫存/調撥前置天數 |
| 扣庫存 | — | 兩位小數比例 |
| 自行帶料 | — | 是/否 |
其他頁¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 自訂欄位 | — | 自由文字 |
| 包裝規範 | — | 檔案路徑(可帶附件路徑) |
| 代理商1/代理商2 + 生效/截止日 | — | 客戶查詢選取代理商,帶出簡稱 |
| 頁尾備註/產品說明/注意事項 | — | 多行文字 |
| 麥頭種類/麥頭 | — | 麥頭種類下拉(空白/三角/菱形/其他),麥頭為多行文字 |
員工聯絡人明細(基本資料頁下方)¶
| 欄位 | 說明 |
|---|---|
| 序號/人員別 | 系統維護(唯讀) |
| 員工編號/姓名/部門/職稱/職務內容 | 該客戶的窗口人員 |
| 電話/傳真/手機/Email/郵遞區號/地址 | 聯絡方式 |
| 代理人/代理人電話/備註 | 代理窗口 |
明細的刪除判定
員工聯絡人這一列若姓名為空白即視為空列、儲存時自動略過;自定義分類那一列若分類為空白也同理。
欄位連動與附加功能¶
這是本頁最重要的一節。以下行為皆來自實際程式碼(ViewModel/Source/XAML)。
新增時自動帶入的預設值¶
當你按 新增,系統在 AfterAddNew 會對新客戶做:
- 建檔日期 ← 今天(
TodayYYYYMMDD,唯讀,不可改)。 - 幣別 ← 公司本位幣(
Context.Env.LocalCurrency)。 - 倉儲別 ← 系統參數 5002(VFP addagain 的
U_PRGPAR(5002))。 - 同時呼叫
GetDescription(),補上代理商1/2、收付款對象的簡稱顯示。
客戶簡稱 → 速查碼自動產生¶
當你在客戶簡稱欄位輸入並離開(LostFocus),系統會以客戶簡稱去查詢產生速查碼並填入(客戶簡稱Binding 的 setter 呼叫 GetQuickFindCode)。速查碼欄位本身唯讀,不需手動維護。
集團/群組/代理商/收付款 → 帶出簡稱¶
- 集團代號(CustomerSearch)選取後帶出集團簡稱。
- 群組代號(GroupSearch,別名 SK_GRPM2)選取後帶出群組說明。
- 收付款代號(客戶搜尋)輸入後帶出收付款簡稱。
- 代理商1/代理商2(客戶搜尋)輸入後帶出代理簡稱1/2。
- 切換客戶(上下筆瀏覽)後,
AfterMoverRecord會重新以DescriptionHelper補算集團簡稱、收付款簡稱,確保顯示同步。
收付條件號/稅別 → 帶出說明名稱¶
- 收付條件號(PaymentTermSearch)帶出條件說明。
- 稅別(TaxTypeSearch)帶出稅別名稱。
- 這些欄位旁的標籤是可點的超連結(
TsNavigateLabel),點下去會跳到對應的代碼/條件設定畫面。
複製到付款資訊按鈕¶
地址資訊區的 複製到付款資訊 按鈕(CopyAddressToBillCommand):當你按下時,系統把公司地點直接複製到請款地點。只有在編輯狀態下(非瀏覽)才會作用。
自定義分類(設定按鈕)¶
基本資料頁右側的「自定義」區,設定 按鈕(SelfDefinedCommand)依群組代號載入該群組定義的自定義分類項目:
- 按下後,系統先把現有分類列標記刪除,再依群組(
GrpmBll.GetSelfDefined)重新產生分類列,每列帶一組可選的分類內容下拉清單,預設選第一項。 - 進入修改狀態(Edit)時,系統也會自動把每列的分類內容下拉重新對應到群組設定,確保選項是最新的。
折扣率欄位需特別權限
若使用者權限備註含 EditDiscountRate,編輯狀態下折扣率才可改;否則折扣率欄位維持唯讀。
儲存時的自動補值與檢核¶
按 儲存 時,系統在 HandleDataBeforeEndEdit 會先做幾個自動補值(皆為實作行為):
- 公司地點空白時,自動把送貨地點設成公司地點。
- 請款地點空白時,自動補成公司地點。
- 幣別空白時補成公司本位幣(
Context.Env.LocalCurrency)。 - 客戶代號以
CR開頭時,客戶類別自動設為CONSUMER。
同時 AllowSave 會擋下不合規的存檔:
- 客戶代號未輸入(或為佔位字
+++)→ 不可儲存並提示輸入。 - 收付款代號空白時,自動補成客戶代號本身(自己歸戶)。
工具列擴充功能(ExtensionFunction)¶
本頁提供多個擴充功能按鈕,對應 CudataBll:
- 擴充1(GroupCopyToExcel):把客戶的「購買群組」(vwseek_cudata_group)資料匯出 Excel,完成後重新整理畫面。
- 擴充2(GetCredit):查目前客戶的信用概況(首次交易日 Sold Since、最近交易日 Date Last Sale、最高信用 High Credit),以訊息視窗顯示。需先有選定客戶。
- 擴充3(CreditHoldCopyToExcel):信用凍結清單匯出(目前程式內容已停用,屬保留功能)。
- 擴充4(CreditToExcel):把目前客戶的信用狀態(customer_creditstatus)匯出 Excel。
列印條件(IPrintCondition)¶
列印 Print Customer 報表時,系統自動以目前客戶代號組出一筆查詢條件(符號 G,套到「客戶代號」欄),因此列印的就是當前這一個客戶,不需手動輸入條件。
頁籤即時查詢與啟用控制¶
- 切到統計資料/應收帳款/客戶報價/訂單/出貨任一頁籤時,系統才即時去查(
ITabQuery.Query),且每筆只查一次(換客戶後會重置再查)。 - 應收帳款頁查出明細後,自動合計原幣金額、本幣金額、未收原幣、未收本幣,以及只計超過 90 天列的超過 90 天原幣、超過 90 天金額;超過 90 天的列會特別標示。
- 進入編輯/新增狀態時,這些「衍生查詢」頁籤會被停用,且若當下停在其中一個頁籤,會自動切回基本資料頁,避免一邊改主檔一邊看舊查詢結果。
常見問題¶
新增客戶時幣別、倉儲別是空的?
幣別預設取公司本位幣(Context.Env.LocalCurrency),倉儲別預設取系統參數 5002。若帶不出來,請確認本位幣已在環境設定中、且系統參數 5002 有設值;否則這兩欄會留白需手動選。
輸入客戶簡稱後速查碼沒有自動帶?
速查碼是在離開(LostFocus)客戶簡稱欄位時才產生的。請輸入完客戶簡稱後按 Tab 或點到其他欄位;只在輸入框內打字、游標還停著時不會即時產生。
看不到「財務」「應收帳款」「客戶報價」等頁籤?
這些頁籤依權限顯示:財務需檢視價格權限;應收帳款需 RECEIVE、客戶報價需 CUPDMA、訂單需 ORMAST、出貨需 TRSAMA 的瀏覽權限。請向系統管理員確認權限設定。
客戶刪不掉?
若客戶已被訂單、出貨、發票、應收帳款等單據引用,資料庫關聯會擋下刪除。建議把停用設為「是」讓它不再被選用,而非實際刪除。
改了代理商/群組/收付款代號,旁邊的簡稱沒更新?
簡稱是經由查詢控件帶出或在切換客戶時由 DescriptionHelper 補算。請用欄位旁的查詢(放大鏡)正確選取代碼;若仍未更新,切換到別筆客戶再切回即會重新帶算。
「自定義分類」按了設定後分類內容是空的?
自定義分類的項目來自該客戶群組代號對應的群組設定(GRPM)。請先填好群組代號,再按 設定;若群組未定義分類,清單自然是空的。
相關功能¶
需補截圖清單
以下截圖待功能 runtime 驗收後補拍(放 docs/E-SalesOrder/images/):
cudata-step1.png— 基本資料頁全貌(含基本資料/交易付款/地址/聯絡/銷售帳款五個群組與右側自定義分類)cudata-step2.png— 財務頁(銀行帳戶/財務資訊/帳款物流設定)cudata-step3.png— 其他頁(基本規範/代理商/備註說明/麥頭)cudata-step4.png— 統計資料/應收帳款查詢頁籤cudata-step5.png— 員工聯絡人明細 grid 與「複製到付款資訊」「自定義設定」按鈕