跳轉到

程式資訊

  • 程式 IDCheckrec
  • 所屬子系統:O.銀行票據
  • 狀態:stable

應收票據

功能簡介

「應收票據」用來登錄、維護公司收到客戶交付的票據(支票、本票、匯票、L/C),記錄票據號碼、開票銀行、到期日、預兌日與票況的整個生命週期(庫存→託收→兌現/退票等)。它是收款側的票據主檔,對應付款側的應付票據。財務人員在收款時建立票據,並隨票據在銀行端的狀態更新票況,是票據托收、兌現與結帳作業的源頭。

本表單為單一主檔(無明細)結構,每筆即一張票據。票據單號由系統採 #R- 前置碼產生,可由銷售收款等流程帶出收款單號後關聯入帳。

前置需求

  • 權限:O.票據作業 → O-020 應收票據 的新增/修改/刪除/列印權限。
  • 基礎資料:下列主檔/參數會影響本表單的帶值與驗證——
資料 影響的結果
客戶主檔(交易對象) 交易對象 搜尋彈窗的可選客戶與帶出的對象簡稱
銀行帳戶主檔 帳戶代號 搜尋與帶出的帳戶簡稱
公司基本資料 公司代碼 預設 1,存檔時不可為空
幣別/匯率資料 幣別 預設本位幣、立帳匯率 控件帶值與本幣金額換算
票況代碼表(Cmb_C231) 票況 下拉選單的可選值(CA~CM)

操作步驟

新增票據

  1. 按工具列 新增,系統以預設值開出一張空白票據(見欄位說明的預設值)。
  2. 輸入票據號碼(必填,游標預設停在此欄)。
  3. 輸入交易對象(客戶代號),系統帶出對象簡稱
  4. 選填帳戶代號(收票存入的銀行帳戶),帶出帳戶簡稱
  5. 填寫開票銀行/開票分行/開票帳號等票面資訊。
  6. 選擇票別(支票/本票/匯票/L/C)與幣別,外幣請確認立帳匯率
  7. 輸入票據金額,系統自動算出唯讀的本幣金額
  8. 輸入收款日期/到期日/預兌日(皆為 yyyy/MM/dd)。
  9. 設定票況禁止轉讓平行線等票況資訊。
  10. 儲存。存檔前系統會檢核票據號碼、公司代碼與立帳匯率(見欄位連動與附加功能)。

修改與刪除

  1. 用工具列翻頁鈕或快速搜尋框定位票據(搜尋框輸入票據號碼,系統自動補 #R- 前置碼;輸入 .123 可直接依 PKID 跳轉)。
  2. 修改 進入編輯,調整票況、預兌日、備註等欄位後 儲存
  3. 確需作廢時按 刪除

注意

票據單號/票據類別/傳票號碼/本幣金額 為系統產生或唯讀欄位,畫面上以系統色標示,不可手動修改。已產生傳票或已托收/兌現的票據請依公司內控流程處理,勿直接刪除。

查詢

  • 快速搜尋框輸入票據號碼即可定位;. + 數字依 PKID 跳轉。

列印

  1. 定位到要列印的票據。
  2. 按工具列 列印,選擇報表 應收票據一覽表(報表編號 O020-1)。

核對總帳

按延伸功能(對應 VFP 的 核對總帳)會開啟總帳傳票視窗,供核對該票據對應的傳票;關閉後自動重新整理本表單資料。詳見欄位連動與附加功能

欄位說明

欄位 必填 說明/格式/預設
票據單號 系統產生 主鍵,採 #R- 前置碼;唯讀
公司代碼 新增預設 1;存檔時不可為 0
票據號碼 票面號碼;存檔必填,不可為空或 +++
票據類別 系統設定 新增預設 2.應收(AR);唯讀、系統色
收款單號 關聯的收款單號
交易對象 客戶代號;帶出對象簡稱
對象簡稱 由交易對象帶出,唯讀
帳戶代號 收票存入的銀行帳戶;帶出帳戶簡稱
帳戶簡稱 由帳戶代號帶出,唯讀
開票銀行/開票分行/開票帳號 票面開票行庫資訊
票別 1.支票2.本票3.匯票4.L/C;新增預設 1.支票
幣別 新增時若為空,預設帶入本位幣(Context.Env.LocalCurrency
立帳匯率 新增預設 1;存檔時必須 > 0
收款日期/到期日/預兌日 格式 yyyy/MM/dd
票據金額 原幣金額,依幣別小數位顯示
本幣金額 系統計算 =票據金額 × 立帳匯率(四捨五入遠離零至本幣小數位 Context.Env.LocalDecimal);唯讀、系統色
禁止轉讓 Y/N;新增預設 Y
平行線 Y/N;新增預設 Y
票況 新增預設 CA(收票庫存);可選 CA~CM(見下)
異動日期 票況異動日期,格式 yyyy/MM/dd
票據備註/自定欄位 自由文字
傳票號碼 系統產生 轉立傳票後帶入;唯讀、可超連結點開傳票

票況代碼(票況下拉)

票況來源是資料庫代碼表 Cmb_C231,常見值如下:

代碼 說明 代碼 說明
CA 收票庫存(預設) CH 收票未兌退票
CB 收票託收 CI 收票換票
CC 收票質押 CJ 收票抽票
CD 收票票貼 CK 質押到期
CE 收票兌現 CL 票貼兌現
CF 收票延期 CM 票貼退票
CG 收票已兌退票

備註

新增票據的票況刻意維持現行的 CA(收票庫存),與 VFP 舊版的 B2 不同,這是本系統的設定差異而非錯誤,請勿改回 VFP 值。

欄位連動與附加功能

這一節整理「輸入某欄位後系統會做什麼」「按某動作會發生什麼」,皆來自實際程式碼(C# ViewModel/SaveBll 與 VFP .prg 欄位事件)。

新增時的預設值(SetNewData)

當你按 新增 開出空白票據時,系統自動帶入:

  • 公司代碼1
  • 票況CA(收票庫存)
  • 票據類別2.應收(AR)
  • 票別1.支票
  • 立帳匯率1
  • 禁止轉讓Y平行線Y
  • 幣別 = 若原本為空,帶入本位幣(Context.Env.LocalCurrency

本幣金額自動換算

  • 當你輸入或修改票據金額立帳匯率時,系統即時重算本幣金額四捨五入遠離零(票據金額 × 立帳匯率,本幣小數位)。本幣金額是 Source 上的唯讀計算屬性,票據金額立帳匯率 的 setter 會觸發它重新計算。
  • 本幣金額為唯讀,不能手動覆寫;要改金額請改票據金額或匯率。
  • 幣別TsCurrency 控件選擇;外幣請自行於立帳匯率填入正確匯率(本表單未自動把幣別對應的匯率帶進立帳匯率)。

交易對象帶出對象簡稱

  • 交易對象 欄位為搜尋型欄位TsSearchTextBox + VendorSearch 樣式):輸入客戶代號或按搜尋鈕從彈窗挑選後,控件即把選中的對象簡稱帶入右側唯讀欄(Description 綁定 對象簡稱)。
  • 帶出的對象簡稱 為唯讀,由搜尋控件填入,不需手動輸入。

與 VFP 的差異

VFP 舊版在 交易對象.Valid 會主動查客戶主檔,查無代號時清空對象簡稱、跳「查無此客戶代號」並擋下輸入。新版改由搜尋控件(TsSearchTextBox)負責帶值與挑選,表單本身不再硬編這段查核訊息。

帳戶代號帶出帳戶簡稱

  • 帳戶代號 同為搜尋型欄位(TsSearchTextBox + BankSearch 樣式):輸入或從彈窗選銀行帳戶後,帶出帳戶簡稱(唯讀)。資料來源為應收票據資料庫檢視(Twork_chk_vw_checkrec)JOIN 帶出,並非表單程式逐筆填入。

預兌日自動帶值(VFP 到期日.LostFocus / 預兌日.GotFocus)

VFP 舊版針對特定公司(鈞寶)在離開到期日時,若預兌日為空會自動推算預兌日(外幣=到期日/收款日 +14 天、本幣=收款日 +3 天)。新系統保留的對應行為集中在存檔前處理

  • 存檔時:若預兌日為空、而到期日有值,系統自動把預兌日補成到期日(HandleDataBeforeEndEdit)。
  • 因此就算你沒填預兌日,只要有到期日,存檔後預兌日不會是空白。

存檔前檢核(AllowSave)

儲存 時,下列任一條件不符會擋下並提示:

  1. 票據號碼 為空或等於 +++ → 提示請輸入票據號碼。
  2. 公司代碼 為 0 → 提示請先輸入公司資訊。
  3. 立帳匯率 ≤ 0 → 提示請輸入正確匯率。

快速搜尋前置碼(SearchPreText #R-

  • 快速搜尋框預設前置碼為 #R-:輸入票據號碼時系統自動補上前置碼比對。
  • 輸入 . + 數字(如 .123)可改以 PKID 直接跳轉到指定票據(對應 VFP SEEK1.Valid)。

傳票號碼超連結

  • 傳票號碼 欄位為唯讀且為超連結(系統色);點擊可直接導向對應的總帳傳票NavigateProgramClass = SLIY)。

核對總帳(ExtendedFunction1)

  • 觸發延伸功能(對應 VFP 核對總帳 按鈕、原 DO FORM ACCNR)時,系統開啟總帳傳票視窗(Sliy1ViewModel),供你核對該票據相關的傳票。
  • 視窗關閉後系統會自動重新整理本表單資料(DataNavigateHelper.Renew),確保看到最新狀態。

列印(GetReports / IPrintSource)

  • 本表單實作 IPrintSource,提供報表 應收票據一覽表(報表編號 O020-1,A4,TW 區域,資料來源 rpt_o030_checkrec_report1)。
  • 按工具列 列印 即可選用此報表輸出。

常見問題

存檔時一直跳「請輸入票據號碼」?

票據號碼 為必填,且不可為空或等於 +++。請在「基本資料」區的票據號碼欄填入實際票面號碼後再存檔。

本幣金額是 0 或沒更新?

本幣金額是系統算出來的唯讀欄位=票據金額 × 立帳匯率。請確認票據金額已輸入、且立帳匯率大於 0(外幣尤其要確認匯率)。改金額或匯率後本幣金額會即時重算。

存檔被擋,提示立帳匯率不正確?

立帳匯率 必須大於 0。新增時預設為 1;若被清空或填成 0/負數會被擋下,請填入正確匯率。

交易對象填了代號卻帶不出對象簡稱?

交易對象 是搜尋型欄位,建議用搜尋鈕從彈窗挑選客戶,控件會自動把對象簡稱帶到右側唯讀欄。若直接輸入代號卻沒帶出簡稱,請確認該客戶代號存在於客戶主檔。

新增的票況為什麼是「收票庫存(CA)」而不是 VFP 的 B2?

這是本系統刻意保留的預設值設定(CA 收票庫存),與 VFP 舊版的 B2 不同,屬正常設計差異,請勿改回 VFP 值。

沒填預兌日,存檔後卻有值?

存檔前系統會在預兌日為空、到期日有值時,自動把預兌日補成到期日。若不希望被帶值,請手動填寫正確的預兌日。

相關功能


需補截圖清單

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

  1. checkrec-step1.png — 新增票據的整體畫面(基本資料/金額匯率/交易資訊/票況四區)
  2. checkrec-step2.png — 交易對象帶出對象簡稱、帳戶代號帶出帳戶簡稱的效果
  3. checkrec-step3.png — 票況下拉選單(CA~CM)
  4. checkrec-step4.png — 列印「應收票據一覽表」報表選擇畫面