程式資訊
- 程式 ID:
TICKA_VOID - 所屬子系統:P.發票管理
- 狀態:stable
存證作廢發票¶
此功能尚在規劃,目前未提供
「存證作廢發票」(P-100)在新版 TsERP 中尚未實作:目前只有舊版 VFP 原始碼(scx_tick.vcx 的 ticka_void 類別)與一個 C# 資料來源殼(Twork_inv_vw_ticka_voidSource),沒有任何畫面(XAML)、ViewModel 或商業邏輯(BLL)。本頁依 VFP 原版類別與「存證作廢發票_V」檢視表,整理此功能規劃中的用途與欄位,供未來移植與使用者預覽參考。下方「操作步驟」描述的是規劃中的流程,現階段在系統中無法操作。
功能簡介¶
「存證作廢發票」用來留存一張作廢/註銷發票的存證資料——記錄被作廢發票的買賣雙方抬頭、發票號碼與日期、作廢日期與作廢原因。它屬於銷項發票模組(P-Invoice)下的存證類單據,與一般開立、折讓、退回不同:它不產生稅額或金額,只是把「這張發票已作廢」這件事連同雙方資料留底備查。
主要使用者為開立發票的會計/開單人員,在發票確定作廢後建立一筆對應的存證記錄,作為日後查核(例如國稅局申報、帳務勾稽)的依據。
與「存證作廢折讓」是兩支不同程式
本頁的「存證作廢發票」(ticka_void,P-100)與存證作廢折讓(ticka_voidrp,P-120)名稱相近但是不同單據:前者作廢的是發票、後者作廢的是折讓單。兩者在 VFP 為各自獨立的類別;新版中折讓那支已有完整 C# 程式(ViewModel/XAML),發票這支則尚未移植,僅有資料來源殼。請勿混淆。
前置需求¶
- 權限(規劃):P.銷項發票 →
P-100 存證作廢發票的瀏覽/修改權限。 - 基礎資料:作廢存證會自動帶入買賣雙方抬頭,下列主檔需先維護完整,帶出的欄位才會正確——
| 資料 | 影響的結果 |
|---|---|
| 公司資料(CODATA) | 選定公司代碼後自動帶出賣方統編/賣方名稱/賣方地址/賣方電話 |
| 客戶資料(CUDATA) | 輸入買方代號後自動帶出買方統編/買方名稱/買方地址 |
操作步驟¶
以下為規劃中的流程
本節描述 VFP 原版的操作方式,作為未來 C# 移植的對照。目前新版尚未提供此畫面,無法實際操作。
- 從主選單開啟 P.銷項發票 → 存證作廢發票 視窗。
- 點選
新增。系統會把作廢日期預設為目前的系統日期時間。 - 選擇公司代碼:選定後系統自動回填賣方(即開立公司)的統編/名稱/地址/電話,不需手動輸入。
- 輸入買方代號:離開欄位後系統自動回填買方的統編/名稱/地址。
- 填寫被作廢發票的識別資料:發票作業別、發票號碼、發票日期。
- 輸入作廢原因(必填),如有核准文號可一併填入核准文號。
- 點選
儲存。系統會檢核作廢日期、公司代碼、買方代號、作廢原因皆已填寫(見欄位連動與附加功能)。 - 視需要點選
列印輸出存證單,或以修改/刪除維護既有記錄。

欄位說明¶
下表合併 VFP 原版「存證作廢發票_V」檢視表的欄位(含輸入遮罩 InputMask)與新版資料來源 Twork_inv_vw_ticka_voidSource 的屬性與長度(TsStringLength),作為未來新版畫面的規劃藍本。
| 欄位 | 必填 | 說明 / 格式 / 預設 |
|---|---|---|
| 單號 | 是 | 系統單號(最長 20 碼);新增時由系統產生,唯讀 |
| 作廢日期 | 是 | 格式 yyyy/MM/dd HH:mm:ss(長度 19);新增時預設帶入目前系統日期時間 |
| 公司代碼 | 是 | 下拉選取(賣方/開立公司,數值代碼);連動帶出賣方抬頭 |
| 賣方代號 | — | 最長 10 碼;賣方(開立公司)對應代號 |
| 賣方統編 | — | 8 碼;由公司代碼自動帶入 |
| 賣方名稱 | — | 最長 60 字;由公司代碼自動帶入 |
| 賣方地址 | — | 最長 100 字;由公司代碼自動帶入 |
| 賣方電話 | — | 最長 26 字;由公司代碼自動帶入 |
| 發票作業別 | — | 最長 10 碼;被作廢發票的作業別 |
| 發票號碼 | — | 格式 XX99999999(2 碼字軌+8 碼號碼,長度 10) |
| 發票日期 | — | 格式 yyyy/MM/dd;被作廢發票的開立日期 |
| 買方代號 | 是 | 客戶代號(最長 10 碼);連動帶出買方抬頭 |
| 買方統編 | — | 8 碼;由買方代號自動帶入 |
| 買方名稱 | — | 最長 60 字;由買方代號自動帶入 |
| 買方地址 | — | 最長 100 字;由買方代號自動帶入 |
| 作廢原因 | 是 | 最長 20 字 |
| 核准文號 | — | 最長 60 字;作廢的核准文號(如有) |
本單據沒有金額/稅額欄位
存證作廢發票純粹是「作廢事實+雙方抬頭」的存證,不含數量、單價、稅額等金額欄位,也不會轉傳票或沖帳。其餘 SysEntryDate/SysEntryUser/SysEntryMachine/SysRowStatus 等為系統稽核欄位,由系統自動寫入、使用者不需填寫。
欄位連動與附加功能¶
以下行為來自 VFP 原版 ticka_void 類別(scx_tick.vcx),是此功能規劃中的連動邏輯(新版尚未實作)。每條都標出對應的 VFP 程序,供未來 C# 移植對照。
新增時的預設值(addagain)¶
- 當你按
新增,系統會在執行完父類別預設動作後,把作廢日期自動填成目前的系統日期時間。 - 對應 VFP:
THIS.PF.Page1.作廢日期.VALUE = TTOC(DATETIME())。其餘欄位空白,等待輸入。
公司代碼 → 自動帶出賣方抬頭(公司代碼.COMBO1.LostFocus)¶
- 當你選定公司代碼(離開下拉欄位)時,系統會以該代碼查詢公司資料(CODATA),自動回填:
- 賣方統編 ← 公司的統一編號
- 賣方名稱 ← 公司名稱
- 賣方地址 ← 公司地點
- 賣方電話 ← 公司電話
- 對應 VFP:以
LOG_SYS_EXEC(...,'DARB_GETDATA4','codata',...)用「公司代碼=目前值」查codata,取回欄位公司代碼,公司名稱,公司電話,公司地點,統一編號,再寫回賣方四欄。若查不到該公司(SQLRESULT無資料),賣方欄位不會被覆寫。
買方代號 → 自動帶出買方抬頭(買方代號.LostFocus)¶
- 當你輸入買方代號並離開欄位時,系統會以該代號查詢客戶資料(CUDATA),自動回填:
- 買方統編 ← 客戶的統一編號
- 買方名稱 ← 客戶名稱
- 買方地址 ← 公司地點(客戶地址)
- 對應 VFP:以
LOG_SYS_EXEC(...,'DARB_GETDATA4','cudata',...)用「客戶代號=目前值」查cudata,取回欄位客戶代號,客戶名稱,公司電話,公司地點,統一編號,再寫回買方三欄。若該客戶主檔未維護對應欄位,帶出的欄位會是空白。
買方代號/公司代碼是專用查詢控件
VFP 原版的買方代號使用客戶查詢控件(sql_cuno)、公司代碼使用公司下拉控件(sqlct_codata 的 COMBO1),輸入時可由控件本身協助挑選與檢核,再觸發上述連動帶值。
儲存前檢核(allowsave)¶
- 按
儲存時,系統會依序檢核,任何一項未通過都會擋下存檔並跳出提示(U_MSG):- 作廢日期為空(或空白字串)→ 提示「請輸入作廢日期!!!」
- 公司代碼為空或等於 0 → 提示「請輸入公司代碼!!!」
- 買方代號為空 → 提示「請輸入買方代號!!!」
- 作廢原因為空 → 提示「請輸入作廢原因!!!」
未涵蓋於原版的功能
VFP 原版(ticka_void)未提供轉傳票、沖帳、簽核、托收、附件或 Excel 匯入匯出等延伸功能;此單據只有基本的新增/修改/刪除/列印與上述帶值、檢核。新版移植時若需擴充,屬另行規劃範圍,本頁不描述為可用功能。
常見問題¶
為什麼在系統選單裡找不到、或開不了這個畫面?
因為「存證作廢發票」(P-100)在新版 TsERP 中尚未實作:目前只有舊版 VFP 原始碼與一個資料來源殼(Twork_inv_vw_ticka_voidSource),沒有 C# 畫面(XAML)與 ViewModel。本頁僅供規劃預覽,待功能移植上線後才能實際操作。
選了公司代碼,賣方統編/名稱卻沒帶出來?
賣方抬頭來自公司資料(CODATA)。請確認該公司代碼在公司資料主檔中已維護統一編號、公司名稱、地點、電話;查不到對應公司時,賣方欄位不會自動填入(見公司代碼連動)。
輸入買方代號後買方資料空白?
買方抬頭來自客戶資料(CUDATA)。請確認該客戶代號存在且已維護統編、名稱、地址;若客戶主檔缺欄位,帶出的對應欄位也會是空白。
按儲存被擋下來,提示「請輸入…」?
存證作廢發票要求作廢日期、公司代碼、買方代號、作廢原因四項皆不可為空(公司代碼還不可為 0)。請補齊提示對應的欄位後再存檔,詳見儲存前檢核。
這支和「存證作廢折讓」是同一張單嗎?
不是。兩者是不同單據:本頁作廢的是發票(P-100,尚未移植),存證作廢折讓(P-120)作廢的是折讓單且已有新版程式。名稱相近但請勿混用。
相關功能¶
- 存證作廢折讓(P-120,作廢折讓單,已有新版程式)
- 銷項發票模組首頁
- 公司基本資料(CODATA)
- 客戶基本資料(CUDATA)
需補截圖清單
本功能尚未實作,下列截圖待 C# 移植完成、runtime 驗收後再補拍(放 docs/P-Invoice/images/):
ticka_void-step1.png— 存證作廢發票新增/編輯主畫面(含公司代碼、買賣雙方抬頭、發票識別與作廢原因)