程式資訊
- 程式 ID:
CODATA - 所屬子系統:A.系統資料
- 狀態:stable
公司基本資料¶
功能簡介¶
「公司基本資料」(CODATA, A-020)是整套系統的公司主檔,用兩碼公司代碼識別一家公司,登錄該公司的抬頭、統一編號、稅籍號碼、負責人、各式地址(公司/工廠/發票/出貨/請款)、聯絡資訊、銀行帳戶、申報人與兩張 Logo 圖檔。
這份主檔是全系統共用的公司抬頭來源:發票、報表、出貨單、請款單等列印時要印的公司名稱、統編、地址、Logo,都取自這裡。系統支援多公司——每一筆即一家公司,靠公司代碼區分。由系統管理員或會計於導入階段先行建立,日後公司資訊(如換地址、換負責人、換 Logo)異動時再進來維護。
前置需求¶
- 權限:A.系統資料 →
A-020 公司基本資料的瀏覽/新增/修改/刪除/列印權限(依操作而定)。 - 建檔順序:本表是最上游的主檔之一,沒有強制的前置主檔,但下列資料的維護會影響本表欄位的可用性與正確性——
| 資料 | 影響的結果 |
|---|---|
| 幣別主檔(含本位幣設定) | 新增 時自動帶入的 幣別=系統本位幣;幣別欄會驗證輸入值須為已建檔幣別 |
| Logo 圖檔(實體檔案) | 圖檔名稱/圖檔名稱1 指向的影像會即時預覽並印在報表上;找不到檔案則預覽空白 |
| 申報人 / EDI 帳號(外部申請取得) | 申報人姓名/身分證字號/電話、TWork Edi 帳號 供電子申報與 EDI 交換用,需先向主管機關或平台申請 |
小技巧
第一次導入時,建議先把本位幣設定好再來新增公司,這樣 新增 帶出的幣別才會正確;否則幣別會帶成空值,需手動補。
操作步驟¶
公司基本資料是單表單主檔(無明細),操作集中在工具列。
新增一家公司¶
- 從主選單開啟 A.系統資料 →
公司基本資料。 - 點工具列
新增。系統會自動把 幣別 帶成本位幣(見欄位連動與附加功能)。 - 在 公司代碼 輸入兩碼代碼(必填、最長 2 碼,作為主鍵)。
- 依序填入 公司簡稱、統一編號、稅籍號碼、負責人、登記資本額、公司名稱、公司英文名。
- 填寫 公司地點(完整中文地址)。輸入後若發票地點或工廠地點尚為空白,系統會自動以公司地點帶入(見欄位連動)。需要時再逐一修正工廠/發票地點與各郵遞號。
- 補上聯絡資訊:聯絡人/職稱、公司電話/傳真、工廠電話/傳真、Email、Website、主要產品。
- 填寫銀行資訊:Bank、Swift、帳戶名稱、帳號。
- 填寫申報資訊:申報人姓名/身分證字號/電話、TWork Edi 帳號。
- 需要列印出貨/請款單的公司,填寫右側 出貨 區塊(出貨 id/名稱/地址1,2/城市/州/郵遞號/國家)。
- 透過
圖檔名稱與圖檔名稱1兩個路徑欄選擇 Logo 圖檔,下方會即時預覽。 - 點
儲存。
修改 / 刪除 / 查詢¶
- 用工具列的筆數切換/查詢功能定位到要維護的公司。
- 直接在欄位上修改,改完按
儲存。 - 要刪除整筆公司主檔,按
刪除。
注意
公司主檔被全系統的抬頭、發票、報表引用。刪除或變更公司代碼前請確認沒有單據仍在使用該公司,否則列印與申報的抬頭會抓不到資料。
列印公司表¶
- 按工具列
列印,系統開啟 公司表列印 條件頁。 - 輸入要列印的公司代碼起訖範圍(
BeginningDocumentNo ~ EndingDocumentNo)。 - 確認後出表,套用報表
A020-1 公司表(A4、TW 區域)。
欄位說明¶
下表「預設」欄標示的是程式碼中的初始值。除 幣別 由 新增 動作帶入本位幣外,其餘字串欄位在新建時皆初始化為空字串。
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 公司代碼 | ✔ | 主鍵;數值,輸入最長 2 碼 |
| 公司簡稱 | — | 最長 20 字;報表常用的短抬頭 |
| 統一編號 | — | 最長 8 碼 |
| 稅籍號碼 | — | 最長 10 碼 |
| 負責人 | — | 最長 30 字 |
| 幣別 | — | 3 碼幣別碼;新增 時自動帶本位幣,須為已建檔幣別 |
| 登記資本額 | — | 整數;顯示格式 PlaceEnum=Zero(補零) |
| 公司名稱 | — | 最長 100 字;正式中文抬頭 |
| 公司英文名 | — | 最長 80 字 |
| 英文地點 | — | 最長 80 字;對外英文地址 |
| 聯絡人/聯絡人職稱 | — | 各最長 30 字 |
| 公司地點 | — | 最長 200 字;完整中文地址,輸入後會連動帶入發票/工廠地點(見下節) |
| 工廠地點/發票地點 | — | 各最長 200 字;空白時由公司地點自動帶入 |
| 公司/工廠/發票郵遞號 | — | 各最長 10 碼 |
| 公司電話/傳真、工廠電話/傳真 | — | 各最長 16 字 |
| — | 最長 60 字 | |
| Website | — | 最長 60 字 |
| 主要產品 | — | 最長 60 字 |
| Bank | — | 最長 100 字;銀行名稱 |
| Swift | — | 最長 10 字 |
| 帳戶名稱(acname) | — | 最長 30 字 |
| 帳號(acno) | — | 最長 20 字 |
| 申報人姓名 | — | 最長 12 字 |
| 申報人身分證字號 | — | 最長 10 字 |
| 申報人電話 | — | 最長 20 字 |
| TWork Edi 帳號(ediid) | — | 最長 20 字;EDI 交換平台帳號 |
| 出貨 id/名稱/地址1,2/城市/州/郵遞號/國家 | — | 出貨抬頭區塊,供出貨單列印 |
| 圖檔名稱/圖檔名稱1 | — | 各最長 45 字;兩張 Logo 的檔名,選檔後即時預覽 |
資料表的隱藏欄位
主檔背後另有 資產總值、員工人數、營業額、外銷金額、行業別、顯示順序、請款 區塊(請款 id/名稱/地址等)與審核欄位(工作流程、審核人員、審核日期、已審核)。這些欄位存在於資料表與報表 POCO,但目前的維護畫面未配置輸入元件,屬於資料層保留欄位。
欄位連動與附加功能¶
這一節說明「輸入某欄位/按某按鈕後,系統會做什麼」,全部來自實際程式碼。
新增時自動帶本位幣¶
- 當你按
新增,CodataViewModel.AfterAddNew()會把第一筆資料的 幣別 設為Context.Env.LocalCurrency(系統本位幣)。 - 因此新公司預設就是本位幣,不必手動選;若該公司要以其他幣別記錄,再自行改幣別欄。
公司地點 → 自動帶入發票地點 / 工廠地點¶
- 畫面上的「公司地點」欄綁定的是輔助屬性
公司地點Binding(離開欄位LostFocus時寫回)。 - 當你輸入公司地點並離開欄位時,系統會檢查:
- 若 發票地點 目前為空白 → 自動填上剛輸入的公司地點。
- 若 工廠地點 目前為空白 → 自動填上剛輸入的公司地點。
- 也就是「公司、工廠、發票同址」是預設假設;三者不同址時,先填公司地點,再去覆寫工廠/發票地點即可。已有值的欄位不會被覆蓋。
小技巧
若工廠或發票地點被自動帶成跟公司一樣、但實際不同,直接在該欄改寫即可;改過之後再修公司地點,就不會再覆蓋它。
Logo 圖檔:選檔即時預覽¶
- 圖檔名稱 欄綁定輔助屬性
圖檔名稱Binding,圖檔名稱1 綁定圖檔名稱1Binding。 - 選好檔名後,系統透過
Context.ERPIO.GetFullPath()解析出完整路徑(圖檔完整路徑Binding/圖檔完整路徑1Binding),下方的影像元件用FileImageConverter載入並即時顯示。 - 設定值變更時才觸發重算(屬性內有「值未變不重算」的保護),避免重複載圖。
- 預覽框最大尺寸 550 × 150;圖檔同時用於 公司表列印(報表 POCO 帶
Logo1Path/Logo2Path)。
圖檔路徑機制
存的是檔名而非絕對路徑,實際位置由系統的 ERPIO 目錄設定組出。換機器或搬目錄時,只要把圖檔放進對應目錄、檔名不變,預覽與列印就能正常顯示。
列印(IPrintSource / GetReports)¶
CodataViewModel實作IPrintSource,工具列列印會帶出報表清單,目前提供一張:- 報表編號
A020-1、報表抬頭公司表、尺寸 A4、區域 TW、對應 sqliterpt_a020_codata_report1。
- 報表編號
- 列印頁 公司表列印(
CodataPrintViewModel)以公司代碼起訖(BeginningDocumentNo ~ EndingDocumentNo)為過濾條件,預設條件為「依單號(公司代碼)」。
尚未提供的進階列印選項
目前列印頁只開放公司代碼起訖範圍。其他篩選方式在程式中尚未配置,屬規劃保留。
常見問題¶
新增公司後幣別是空的?
幣別由 新增 動作自動帶入系統本位幣(Context.Env.LocalCurrency)。若帶出來是空的,多半是本位幣尚未設定。請先確認幣別主檔與本位幣設定完成後,再重新 新增,或手動於幣別欄選擇正確幣別。
填了公司地點,工廠地點 / 發票地點卻自動跟著變?
這是設計行為:輸入公司地點並離開欄位時,只要工廠地點或發票地點原本是空白,系統會自動以公司地點帶入,方便同址的公司一次填好。三者不同址時,把對應欄位改寫即可,已有值的欄位不會被覆蓋。詳見欄位連動與附加功能。
選了 Logo 檔名,預覽卻是空白?
主檔存的是檔名,不是完整路徑;實際路徑由系統的 ERPIO 目錄組出。預覽空白通常是:該檔名在對應目錄找不到實體檔、或路徑設定不對。請確認圖檔已放到正確目錄、且檔名與輸入一致。
Email、Website、Bank、Swift、帳號這些欄位為什麼是英文小寫的綁定名稱?
這些欄位(email、website、bank、swift、acname、acno、ediid)在資料表沿用原始英文欄名,畫面標籤已是中文(Email/Website/Bank/Swift/帳戶名稱/帳號/TWork Edi 帳號),功能不受影響,正常填寫即可。
資產總值、員工人數、營業額這些欄位在哪裡填?
這些欄位存在於資料表與報表 POCO,但目前維護畫面未配置輸入元件(屬資料層保留欄位),因此無法在本畫面輸入。
刪不掉某家公司 / 改公司代碼後報表抬頭跑掉?
公司主檔被全系統的抬頭、發票、報表引用。刪除或變更公司代碼前,請確認沒有單據仍引用該公司;否則相關列印與申報的抬頭會抓不到資料。
相關功能¶
需補截圖清單
以下截圖待功能 runtime 驗收後補拍(放 docs/A-System/images/):
codata-step1.png— 公司基本資料主畫面全貌(左側基本/聯絡/銀行區、右側出貨區、下方雙 Logo 預覽)codata-step2.png—新增後幣別自動帶本位幣的狀態codata-step3.png— 輸入公司地點後自動帶入工廠/發票地點的連動效果codata-step4.png—列印公司代碼起訖條件頁與輸出的公司表