程式資訊
- 程式 ID:
CMPLAIN - 所屬子系統:E.營業收款
- 狀態:stable
抱怨單¶
功能簡介¶
「抱怨單」(CMPLAIN,選單代碼 E-210)用來登記客戶提出的抱怨/客訴事件,以「年度月份」為單位彙整同一個月內的多筆抱怨明細,並逐筆記錄客戶、聯絡人、抱怨事項、責任單位與處理情形,最後以完成與否追蹤每件客訴是否已結案。
此單據通常由業務、客服或品保人員維護:每個月為一張單,月內的每一件客訴登一列明細。它是一份純記錄性質的主明細單據(一張主檔對多筆明細),不涉及金額、稅額或庫存異動,也沒有審核流程;在售後服務流程中與索賠單(CLAIM)互補——索賠單管的是保固卡的金額索賠,抱怨單管的是客訴事件本身的記錄與追蹤。
前置需求¶
- 權限:E.銷售訂單 →
E-210 抱怨單的瀏覽/修改權限。 - 基礎資料:明細的客戶相關欄位靠下列主檔自動帶入,請先維護妥當——
| 資料 | 影響的結果 |
|---|---|
| 客戶基本資料(cudata) | 明細輸入客戶代號或對照碼後自動帶出客戶簡稱/聯絡人1/聯絡1電話;查無資料會擋住帶值 |
| 公司代碼(C101 公司別代碼) | 主檔公司代碼下拉的清單來源,也是單號前置碼的第 1 碼 |
不需要審核
抱怨單沒有「已審核/審核人員/審核日期」欄位,存檔後即生效,沒有送審或核准的步驟。
操作步驟¶
新增一張抱怨單¶
- 從主選單開啟 E.銷售訂單 → 抱怨單。
- 點選工具列
新增。 - 選擇主檔的公司代碼(下拉清單,必填)。
- 輸入年度月份,格式
yyyy/MM(例2026/06)。這一欄決定整張單的歸屬月份,存檔時系統會用它與公司代碼組出單號。 -
在下方明細格線逐列登記每一件抱怨:
- 在日期輸入該件抱怨的發生日期,格式
yyyy/MM/dd(例2026/06/13)。 - 在客戶代號輸入客戶代號或對照碼,離開欄位後系統自動帶出客戶簡稱與聯絡資訊(見欄位連動與附加功能)。
- 填寫單號資料(相關單據號)、抱怨事項、責任單位、處理情形。
- 客訴已處理完成時勾選完成與否。
- 在日期輸入該件抱怨的發生日期,格式
-
點選
儲存。系統會做存檔前檢核(公司代碼、年度月份、明細日期),通過後寫入並產生單號。
明細日期要跟著年度月份
每一列明細的日期前 7 碼(yyyy/MM)必須等於主檔的年度月份,否則存檔會被擋下。換句話說,一張單只放同一個月的抱怨。
修改既有抱怨單¶
- 用工具列的查詢/瀏覽功能找到要修改的單。
- 點選
修改。 - 調整明細內容或新增/刪除明細列。單號與備註為唯讀,不能直接改。
- 點選
儲存。
刪除明細¶
- 在明細列把日期與抱怨事項同時清空,存檔時該列會被自動標記刪除(見欄位連動與附加功能),等同於移除這筆客訴記錄。
列印尚未提供
VFP 舊版的抱怨單報表(CMPLAIN_P)在新版尚未移植,目前無法列印。資料可改以格線右鍵匯出 Excel 的方式輸出。
欄位說明¶
主檔¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 單號 | 系統產生 | 唯讀。存檔時由「公司代碼第 1 碼+年度月份」組成前置碼,server 端再補流水號(編碼方式 4)。新增時為空白 |
| 公司代碼 | 是 | 公司別下拉(C101),未選會擋存 |
| 年度月份 | 是 | 格式 yyyy/MM,須為合法年月,否則擋存 |
| Key ID(pkid) | 系統產生 | 唯讀,資料列內部主鍵 |
| 備註 | 否 | 唯讀欄位,不可在本表單直接編輯 |
明細¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 序號 | 系統產生 | 唯讀,明細列序號 |
| 日期 | 是* | 格式 yyyy/MM/dd;前 7 碼須等於主檔年度月份 |
| 客戶代號 | — | 可輸入客戶代號或對照碼;離開欄位後自動帶出客戶簡稱/聯絡資訊 |
| 客戶簡稱 | — | 由客戶代號自動帶入 |
| 聯絡人1 | — | 由客戶代號自動帶入 |
| 聯絡1電話 | — | 由客戶代號自動帶入 |
| 單號資料 | — | 相關單據號或自由文字 |
| 抱怨事項 | 是* | 客訴內容描述(最長 80 字) |
| 責任單位 | — | 負責處理的單位 |
| 處理情形 | — | 處理過程/結果描述(最長 200 字) |
| 完成與否 | — | 勾選=已完成(Y);未勾=空白(未完成) |
「日期」「抱怨事項」的必填是條件式的
* 表示:一列明細若日期與抱怨事項兩者皆空白,存檔時會被視為空列自動刪除;只要這列要保留,至少日期要填、且日期月份要對。詳見欄位連動與附加功能。
欄位連動與附加功能¶
輸入「客戶代號」自動帶客戶資料¶
當你在明細的客戶代號輸入內容並離開欄位(LostFocus)時,系統會:
- 先判斷輸入值是否含
?、[、]——若有,視為查詢字串,不做任何帶值處理(保留你輸入的查詢樣式)。 - 否則用輸入值同時比對客戶主檔(cudata)的客戶代號與對照碼(
客戶代號 = 輸入值 OR 對照碼 = 輸入值)。 - 查到資料時,自動把該列的客戶代號/客戶簡稱/聯絡人1/聯絡1電話一次帶齊。
- 查不到時,跳出提示「查無客戶代號 !!!」,不帶任何值。
可以用對照碼輸入
客戶代號欄位接受對照碼——若客戶在主檔設了對照碼,直接打對照碼也能帶出同一筆客戶,不必記正式代號。
存檔時的「單號」自動產生¶
抱怨單沒有手動輸入單號。存檔前系統會把公司代碼的第 1 碼接上年度月份組成前置碼(例:公司代碼 1+年度月份 2026/06 → 12026/06),再由 server 端依編碼規則補上流水號,形成完整單號。
公司代碼只取第 1 碼
單號前置碼取的是公司代碼字串的第 1 個字元(VFP STR(公司代碼,1))。公司代碼在 C101 為單碼代碼,實務上等價;若公司代碼為兩碼以上,前置碼只會用到第 1 碼。
存檔前的三道檢核(擋存條件)¶
按 儲存 時,系統依序檢查,任一不過就中止存檔並提示:
- 公司代碼未選(為 0)→ 提示要求先輸入公司代碼。
- 年度月份不合法(
年度月份/01無法解析成合法日期)→ 提示「請先輸入正確之年度月份 !!!」。 - 明細日期與年度月份不符——只要有任一未刪除的明細列,其日期非空白、但前 7 碼(
yyyy/MM)不等於主檔年度月份 → 提示「明細資料日期輸入錯誤 !!!」。
空白明細列自動刪除¶
存檔時,凡是日期空白且抱怨事項也空白的明細列,會被自動標記為刪除(不寫入資料庫)。因此你不必特地清理多打出來的空列——直接存檔即可,系統會略過它們。
完成與否的勾選對應¶
明細的完成與否在畫面上是核取方塊,底層存的是 Y(已勾=完成)或空白(未勾=未完成)。用它來追蹤每件客訴的結案狀態。
新增時沒有預設帶值
抱怨單在新增(含連續新增)時不帶任何欄位預設值——所有欄位都是空白,需逐一輸入。這與部分有 SetNewData 預設值的單據不同。
常見問題¶
按儲存沒反應,跳出「請先輸入公司代碼 !!!」?
主檔公司代碼還沒選。請從下拉清單選一個公司別後再存。公司代碼也是單號前置碼的來源,不能留空。
存檔時提示「明細資料日期輸入錯誤 !!!」?
某一列明細的日期月份跟主檔年度月份對不上。系統規定一張單只放同一個月的客訴——請把每列明細日期的年月(前 7 碼 yyyy/MM)改成跟主檔年度月份一致,或把不屬於這個月的那列清空(日期與抱怨事項都清空即會被自動刪除)。
輸入客戶代號後,客戶簡稱/聯絡人沒有自動帶出來?
可能原因:(1) 跳出「查無客戶代號 !!!」——代號或對照碼在客戶基本資料裡查不到,請確認客戶已建檔;(2) 輸入值含 ?、[、] 等符號,系統會當成查詢字串而不帶值;(3) 尚未離開欄位(帶值在離開欄位時才觸發)。
為什麼找不到列印按鈕?
抱怨單的報表(VFP 的 CMPLAIN_P)在新版尚未移植,目前沒有提供列印。若需要輸出,可在明細格線上按右鍵匯出 Excel。
我多打了幾列空白明細,需要手動刪掉嗎?
不用。存檔時日期與抱怨事項同時為空的列會被自動忽略(標記刪除),不會寫進資料庫。
單號欄位是空的,可以自己打嗎?
不行,單號為系統產生且唯讀。存檔時會由「公司代碼第 1 碼+年度月份」加 server 流水號自動組出,新增階段顯示空白屬正常。
相關功能¶
需補截圖清單
以下截圖待功能 runtime 驗收後補拍(放 docs/E-SalesOrder/images/):
cmplain-step1.png— 主檔區(公司代碼/年度月份/單號/備註)全貌cmplain-step2.png— 明細格線(含客戶代號帶值後的客戶簡稱/聯絡資訊與完成與否核取方塊)cmplain-step3.png— 存檔成功、單號自動產生後的畫面