軟體系統牛寶 3Q電腦VFP 版在用 · 持續維護中 · Next.js 版規劃啟動中

新北建材業 SunERP — 沒原始碼接手,整套用 VFP 重寫

30 年老 ERP,原廠跑了、沒源碼,我們從零用 VFP 重寫上線;下一階段規劃搬到 Next.js + Postgres

客戶手上是「跑了 30 年的 EXE,沒原始碼、原廠商失聯」。我們把它逆向出業務邏輯,整套用 VFP 重新寫了一遍上線。下一階段才是搬 Web。

01

背景痛點

客戶用了 30 年的進銷存 + 生產管理系統。問題:完全沒有原始碼,原來的廠商失聯,手上只有跑著的 .EXE 跟 .DBF 資料檔。

想升級沒辦法 — 沒源碼就改不了、加不了新功能、修不了 bug;想換廠商沒辦法 — 沒人敢「黑盒接手」一套 30 年的關鍵業務系統;繼續用又怕老 EXE 哪天在新 Windows 跑不動。

14 個邏輯模組(採購、進貨、庫存、生產排程、銷售、出貨、應收、應付、報表⋯)、21 張主表、累積近 100 萬筆資料。每一個模組的業務規則都要重新搞清楚。

02

我們怎麼做

第一步:逆向業務邏輯。 從 .DBF 結構、.EXE 行為、現場員工怎麼操作,一條一條把業務規則重新整理出來。這不是技術活,是商業邏輯重建 — 每個欄位代表什麼、每個動作觸發什麼、每張報表要怎麼算。這階段花的時間最多。

第二步:用 VFP9 重寫。 為什麼還用 VFP?因為 (a) 客戶現有資料是 .DBF,VFP 原生支援,遷移無痛;(b) 員工已經熟悉 VFP 介面風格;(c) VFP 是 Windows native,速度快、部署簡單。這是務實的選擇,不是技術潔癖。

第三步:資料遷移 + 上線。 舊 .DBF 全部清理(trim、補編碼、去重)後 import 進新系統,dry-run 比對筆數確認零遺失。上線後員工繼續用,但這次系統有源碼了 — 想加什麼、改什麼,都做得到。

第四步(現在進行中):規劃 Web 版。 客戶想要更現代的東西 — 行動端、跨地遠端、跟外部系統整合。我們交付了規劃書,技術選 Next.js 15 + Prisma + Postgres + NextAuth.js v5。規劃啟動,實作待開工。

03

成果

VFP 版在用、穩定、持續維護中。客戶終於從「沒源碼的黑盒」回到「有源碼的可控系統」。

下一階段 Web 版規劃定稿,等客戶決定啟動時間。這就是『有源碼』vs『沒源碼』兩種路徑的差別 — 沒源碼的案子要分兩階段做,急不得。

想做類似的東西?

告訴我們現況。諮詢免費,依工時報價。

聯絡我們