程式資訊
- 程式 ID:
TRITEM - 所屬子系統:A.系統資料
- 狀態:stable
交易事項設定¶
功能簡介¶
「交易事項設定」(TRITEM)是系統層級的單據抬頭主檔。系統裡每一種會異動庫存的單據(庫存進出、雜項進出、調撥等),都要先在這裡登錄一筆「交易事項」,告訴系統:
- 這張單屬於哪個單據別(程式)、用哪個序號前置碼開單號;
- 開單時要顯示什麼交易單抬頭、預設帶哪個倉庫與交易別;
- 這個前置碼底下允許使用哪幾個交易別(
交易別選項)。
它由系統管理員維護,是「先有設定、單據才開得出來」的源頭主檔。實際開單畫面上的序號前置碼下拉清單、交易別下拉清單、預設倉庫/預設交易別都是直接讀這張表來填的,因此這支設定的正確與否,會直接影響各庫存模組單據能不能正常開立。
與「交易別設定」的分工
本頁設定的是「某前置碼可用哪些交易別」,而交易別本身的定義(交易別碼、加減別、轉入/轉出部門)維護在另一支主檔交易別設定(TRITEM1)。交易別選項 欄位填的就是 TRITEM1 裡的交易別碼。兩者要搭配使用。
前置需求¶
- 權限:A.系統設定 →
A-080 交易事項設定的對應權限(瀏覽/新增/修改/刪除)。 - 基礎資料:本表的欄位會引用到下列主檔代碼,填寫前請先確認它們已維護——
| 資料 | 影響什麼 |
|---|---|
| 交易別設定(TRITEM1) | 預設交易別、交易別選項 填的交易別碼必須已存在,否則開單時的交易別下拉會抓不到事項名稱 |
| 倉庫主檔 | 預設倉庫 填的倉庫代碼必須存在,開單才能正確帶倉並判斷倉同儲 |
| 單據別(程式)對應 | 單據別 必須對應到一支真實的庫存單據程式(如 TRINOUT、GINVENT),下拉清單才會在該程式中出現 |
注意
本表屬於系統基礎設定,異動後會影響所有引用該前置碼的單據開立行為。請在了解各欄位用途後再修改,避免造成現有單據無法開立或帶錯預設值。
操作步驟¶
本表單為單檔主檔維護畫面(無明細),以工具列的標準動作操作。
新增一筆交易事項¶
- 按工具列
新增,畫面進入新增狀態,游標停在 單號 欄位(焦點自動定位)。 - 輸入 單號(主鍵,必填,最長 20 碼)——作為這筆設定的唯一識別。
- 輸入 排列順序:決定同一單據別下,這筆抬頭在開單下拉清單中的排序(兩碼,由小到大)。
- 填入 資料表名稱:此設定對應的資料表。
- 填入 單據別:對應到哪一支單據程式(程式代碼)。
- 依序輸入 交易單事項、交易單抬頭:抬頭即開單時序號前置碼下拉所顯示的文字。
- 輸入 序號前置碼(兩碼):單號開頭,例如庫存進出常見的
PC/SS。 - 視需要填 屬性代碼、客體代碼、預設倉庫、預設交易別。
- 填入 交易別選項:以半形逗號
,分隔的交易別碼清單(例如A1,A2,B1),決定此前置碼開單時交易別下拉可選哪幾項。 - 在 說明 欄填入備註(多行,最長 100 字)。
- 按
儲存寫回資料庫。
修改¶
- 用工具列查詢/清單定位到要修改的單號。
- 按
修改,調整欄位內容後儲存。單號(主鍵)一般不開放變更。
刪除¶
- 定位到該筆設定,按
刪除並確認。
刪除前先確認沒有單據在用
若已有單據使用此前置碼開立,刪除設定後該前置碼將從開單下拉中消失、新單無法再以此前置碼開立。請先確認沒有作業需要它,再執行刪除。
查詢¶
- 用工具列
查詢或清單面板依單號/單據別檢視既有設定。
欄位說明¶
| 欄位 | 必填 | 說明 / 格式 / 預設 |
|---|---|---|
| 單號 | ✔ | 主鍵,最長 20 碼。一筆交易事項設定的唯一識別。新增時為必填且不可重複。 |
| 排列順序 | — | 兩碼。同一單據別下,於開單序號前置碼下拉清單中的排序(由小到大)。 |
| 資料表名稱 | — | 最長 20 碼。此設定對應的資料表名稱。 |
| 單據別 | — | 最長 20 碼。對應的單據程式代碼,決定這筆抬頭會在哪一支單據的下拉中出現。 |
| 交易單事項 | — | 最長 20 碼。交易事項說明文字。 |
| 交易單抬頭 | — | 最長 30 碼。開單時序號前置碼下拉所顯示的抬頭文字(會依使用者語言再做顯示轉換)。 |
| 序號前置碼 | — | 兩碼。單號開頭前置字串(庫存進出常見 PC/SS)。 |
| 屬性代碼 | — | 一碼。單據屬性分類碼。 |
| 客體代碼 | — | 最長 6 碼。客體(對象)分類代碼。 |
| 預設倉庫 | — | 最長 10 碼。以此前置碼開單時預設帶入的隸屬倉庫。 |
| 預設交易別 | — | 兩碼。以此前置碼開單時預設帶入的交易別碼。 |
| 交易別選項 | — | 最長 59 碼。以半形逗號 , 分隔的交易別碼清單,限定此前置碼可選用的交易別。 |
| 說明 | — | 多行文字,最長 100 字。備註用途。 |
預設值
新增一筆時,除 增刪修 內部狀態預設為 A(新增)外,所有文字欄位的初始值皆為空字串,沒有自動帶入的業務預設值——各欄需由維護人員自行填寫。
欄位連動與附加功能¶
本節說明「這張設定表填了之後,在別的地方(實際開單畫面)會發生什麼」。TRITEM 本身是純設定畫面,欄位之間沒有即時重算;它的威力來自被各庫存單據在開單時讀取。
序號前置碼下拉是讀本表填出來的¶
當你在庫存類單據(如雜項進出 TRINOUT、暫存倉進出 GTRINOUT 等)按新增時,畫面上的序號前置碼下拉清單就是用本表產生的:
- 系統依該單據的單據別,撈出本表中
單據別相符的所有列,按 排列順序 排序後填入下拉。 - 下拉每一項顯示的文字就是該列的 交易單抬頭(並會依使用者語言再轉換顯示名稱)。
技術細節
對應 ComboBoxItemsSource.GetDocumentPrefix(programClass):以 ProgramClass(即本表 單據別)過濾、OrderBy(DisplayOrder),值=DocumentPrefix、顯示=DocumentTitle。部分單據(如 TRINOUT)會再以前置碼含 PC/SS 進一步篩選。
交易別下拉=交易別選項展開¶
選定前置碼後,畫面的交易別下拉清單內容,就是該列 交易別選項 用逗號拆開後的每一個交易別碼:
- 系統把
交易別選項以,切成多個交易別碼。 - 每個碼再去交易別設定(TRITEM1)查出對應的交易事項名稱顯示給使用者。
- 若某個碼在 TRITEM1 找不到,該項就不會出現在下拉中。
因此:交易別選項漏填或填錯碼,使用者開單時就選不到交易別。
開單時自動帶入「預設交易別」¶
當庫存單據設定好序號前置碼後,存檔流程會以該前置碼回查本表,把 預設交易別 帶為單據的預設值。
技術細節
對應 InventorySave(TRINOUT)/ GinventorySave(GINVENT):預設交易別 = GetLclItem(documentPrefix)?.DefaultTransactionType。GetLclItem 以序號前置碼為鍵查回本表該列。
預設倉庫供開單與調撥帶倉¶
預設倉庫 會在相關作業(如領用轉調撥 GtrapplyToGtrlima)被當作隸屬倉庫/待轉入倉的來源帶入單據明細。維護正確的預設倉庫可減少開單時的重複輸入。
屬性代碼 / 客體代碼 / 資料表名稱¶
這三個欄位屬於分類與對應設定,供系統內部判斷單據屬性與資料歸屬之用,本身在設定畫面不會觸發即時連動。請依既有單據的設定慣例填寫。
本表無列印 / 轉傳票 / 簽核 / 匯入匯出
程式碼中本支 ViewModel(TritemViewModel)僅繼承標準維護流程,沒有額外的 ExtensionFunction、報表、轉傳票或 Excel 匯入匯出邏輯。若工具列出現列印鈕,列印的是標準清單,本設定主檔沒有專屬報表。
常見問題¶
開某張庫存單時,序號前置碼下拉是空的?
序號前置碼下拉是讀本表、依單據別過濾出來的。請確認本表中有 單據別 對應到該單據程式、且有填 序號前置碼 與 交易單抬頭 的列。詳見序號前置碼下拉是讀本表填出來的。
開單時交易別下拉選不到想要的交易別?
交易別下拉是把 交易別選項 用逗號拆開、再到交易別設定(TRITEM1)查名稱顯示的。請檢查兩點:(1) 該交易別碼有沒有寫進這筆的 交易別選項;(2) 該碼在 TRITEM1 是否已建立。任一缺一就不會出現。
交易別選項要怎麼填?
填的是 TRITEM1 的交易別碼,多個之間用半形逗號 , 分隔(例如 A1,A2,B1),中間不要加空白。每個碼都要先在交易別設定建好。
為什麼新增的設定開單時沒帶預設倉庫/預設交易別?
開單帶入的預設值是以序號前置碼回查本表該列的 預設倉庫 / 預設交易別。請確認該列這兩欄有填,且填的代碼在倉庫主檔 / TRITEM1 中存在。
刪不掉某筆設定,或刪了之後單據開不出來?
這是系統基礎設定,被現有單據引用中。刪除前請先確認沒有作業仍需要該前置碼;若已誤刪,重新依原內容新增同一筆即可恢復下拉選項。
相關功能¶
- 交易別設定(TRITEM1) — 維護交易別碼/加減別/轉入轉出部門,是本表
交易別選項、預設交易別的來源 - 庫存模組 — 各庫存進出單據在開單時引用本設定
- 系統設定模組 — 其他系統層級設定
- 回到欄位連動與附加功能
需補截圖清單
以下截圖待功能 runtime 驗收後補拍(放 docs/A-System/images/):
tritem-step1.png— 新增狀態的交易事項設定主畫面(含單號、單據別、序號前置碼等欄位)tritem-step2.png— 填好「交易別選項」的範例(逗號分隔多個交易別碼)tritem-step3.png— 庫存單據開單時,序號前置碼/交易別下拉讀取本設定的效果對照