程式資訊
- 程式 ID:
Sliybrowd - 所屬子系統:N.總帳管理
- 狀態:stable
傳票查詢¶
功能簡介¶
「傳票查詢」是總帳模組的跨傳票明細瀏覽工具:依日期區間、傳票種類、科目、是否關係人等條件,把符合條件的傳票明細逐列攤平成一張「會計日記帳」,含原幣/本幣/功能幣/集團幣四套金額。會計人員、財務主管常用它來核對某科目在某段期間的所有借貸發生額、追查某張傳票的關連單號,或直接列印日記帳、部門費用統計表,也可把結果丟進樞紐分析做多維度彙總。
它是唯讀查詢為主的程式:資料來源是傳票主檔/明細的合併檢視(View),不是用來開立或過帳傳票的入口。要新增、修改傳票本身請走總帳傳票。
前置需求¶
- 權限:N.總帳 →
N-070 傳票查詢的瀏覽權限;要列印需另開列印權限。 - 基礎資料:查詢結果的完整度取決於下列主檔的維護狀況——
| 資料 | 影響的結果 |
|---|---|
| 傳票(總帳傳票/各模組轉入的傳票) | 查得到的明細列本身;沒有傳票就查無資料 |
| 會計科目(accl) | 科目名稱、英文科目名稱;勾「全部科目」列印時的科目清單 |
| 部門主檔(dept) | 部門簡稱;勾「全部科目」列印時與科目交叉展開的部門清單 |
| 項目/專案/客廠/員工主檔 | 各對應的簡稱/名稱欄位(項目名稱、專案簡稱、客廠簡稱、員工姓名) |
| 幣別與匯率設定 | 本幣/功能幣/集團幣各欄金額與匯率欄的顯示位數 |
操作步驟¶
本程式採「條件面板 → 查詢 → 結果格線」的查詢報表流程,主畫面就是一張寬表格線(會計日記帳),沒有主從明細。
步驟一 設定查詢條件¶
在條件面板輸入下列條件(各欄預設值見欄位說明):
- 設定日期起訖區間:比對傳票的傳票日期。預設帶「本月一日 ~ 今天」。
- 輸入傳票種類:以單一字串列舉要查的種類代碼,預設
012(同時涵蓋種類 0、1、2)。系統用CHARINDEX比對,輸入012表示傳票種類落在這三碼內的都會抓出來。 - 選擇關係人(是/否/不限):控制只看關係人傳票、只看非關係人傳票,或全部。預設不限。
- 視需要輸入科目代號:可留空(查全部科目),或輸入單一科目、逗號分隔的多個科目、以
~表示的科目區間(詳見欄位連動與附加功能)。
步驟二 執行查詢¶
按工具列的 查詢,系統呼叫總帳查詢 SP,把符合條件的傳票明細依傳票日期由舊到新排序,列在「會計日記帳」格線中。

步驟三 檢視與彙總結果¶
- 在格線中檢視各列明細:每一列是一筆傳票分錄,含科目、四套幣別金額、項目/部門/客廠/專案/員工等維度與三組關連單別單號。
- 需要多維度小計時,切到樞紐分析頁,把欄位拖到列/欄/值區自由交叉彙總(資料來源同此查詢結果,詳見欄位連動與附加功能)。
- 要轉成檔案時,於格線上按右鍵可匯出 Excel。
步驟四 列印¶
- 按工具列
列印,於列印設定面板選報表(共四張,見欄位說明)。 - 列印「部門費用統計表」前,可勾選報表是否需要全部科目:勾選時系統會把所有科目 × 所有部門都補成空列一起列出,未發生的科目部門也會出現(金額為 0)。
- 確認後輸出或預覽。

小技巧
改完條件後直接再按一次 查詢 即可重抓;樞紐分析與列印都以「目前查詢結果」為基礎,不必重新查資料庫。
欄位說明¶
查詢條件¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 日期(起/訖) | ✔ | 比對傳票日期。預設起=本月一日、訖=今天 |
| 傳票種類 | ✔ | 列舉要查的種類代碼字串,以 CHARINDEX 比對;預設 012 |
| 關係人 | — | 是/否/不限。是=只看關係人傳票;否=只看非關係人或空白;預設不限(空白) |
| 科目代號 | — | 留空=全部科目;可填單一科目、逗號分隔多科目、~ 區間;預設空白 |
傳票種類 012 的意思
傳票種類欄不是「只能選一個」,而是用字串列舉。預設 012 代表把種類代碼為 0、1、2 的傳票一起查出來;若只想看某一種,改成單一字元(如 1)即可。
結果格線(會計日記帳)¶
格線為唯讀寬表,主要欄位如下(完整欄位以畫面為準):
| 欄位 | 說明 |
|---|---|
| 傳票號碼/傳票日期/序號 | 該分錄所屬傳票的單號、日期與明細序號 |
| 科目代號/科目名稱 | 分錄科目與其名稱(名稱取自會計科目主檔) |
| 幣別 | 原幣幣別 |
| 原幣借方/原幣貸方 | 原幣金額(依幣別小數位) |
| 匯率 | 原幣對本位幣匯率 |
| 本幣借方/本幣貸方 | 換算本位幣後的借貸金額 |
| 功能幣匯率/功能幣借方/功能幣貸方 | 換算功能幣後的金額 |
| 集團幣匯率/集團幣借方/集團幣貸方 | 換算集團幣後的金額 |
| 摘要 | 分錄摘要(此欄可編輯,見下節) |
| 項目代號/項目名稱 | 會計項目與名稱 |
| 部門代號/部門簡稱 | 分錄部門 |
| 客廠代號/客廠簡稱 | 關連客戶或廠商 |
| 員工代號/員工姓名 | 關連員工 |
| 專案代號/專案簡稱 | 關連專案 |
| 分類索引 1~4 | 四組自訂分類索引(此欄可編輯,見下節) |
| 單別1/單號1 ~ 單別2/單號2 | 來源單據的關連單別單號 |
| 是否過帳/過帳備註/轉入備註 | 過帳狀態與備註 |
| 內外關連號 | 內外帳關連碼 |
| 是否關係人(關係人傳票)/已審核/審核人員/審核日期 | 關係人標記與審核資訊 |
| 工作流程/聯絡單id | 簽核流程與關連聯絡單 |
| 帳別/傳票種類 | 內外帳別與傳票種類 |
結果報表¶
工具列列印提供四張報表:
| 報表編號 | 報表抬頭 | 內容 |
|---|---|---|
| N070-1 | 會計日記帳-中文 | 逐列明細(中文科目名稱):傳票日期、號碼、科目、摘要、本幣借貸、部門、分類索引1、客廠 |
| N070-2 | 會計日記帳-英文 | 同上但帶英文科目名稱 |
| N070-3 | 整批付款單 | 以日記帳明細為來源的整批付款格式 |
| N070-4 | 部門費用統計表 | 依「科目+部門」分組,把當年度本幣淨額(借−貸)攤成 1~12 月份,附月平均與年度加總 |
報表只取查詢年度當年
部門費用統計表(N070-4)依起始日期的年份取資料:只把該年度的傳票納入 1~12 月攤算。跨年區間查詢時,列印此表仍只統計起始日年份那一年。
欄位連動與附加功能¶
這一節整理「輸入某欄位/按某按鈕後,系統實際會做什麼」,全部依程式碼行為描述。
科目代號的多種輸入語法¶
條件面板的科目代號欄支援三種寫法,由查詢 BLL 解析(欄位的工具提示也標示「輸入單一科目或是區間」):
- 留空:不加科目條件,查全部科目。
- 單一科目(如
1101):系統以CHARINDEX(科目代號, '1101') > 0比對,相當於「科目代號是1101開頭/包含於」的明細。 - 逗號分隔多科目(如
1101,1102,2201):每段各自以CHARINDEX比對後用or串接,任一符合即列出。 ~區間(如1101~1199):解析成科目代號 >= '1101' AND 科目代號 <= '1199zzz'(結尾補zzz以涵蓋該前置碼下所有子科目)。- 逗號與區間可混用(如
1101,1201~1299,2201):各條件以or並聯。
科目以字串比對,不是精確等於
單科目與多科目走的是 CHARINDEX 包含比對,區間走字串大小比較。因此輸入 11 可能連帶撈出 1101、1110、2110 等「字串中含 11」的科目。要鎖定特定科目層級時,建議用 ~ 區間並補滿位數。
關係人篩選的三態¶
關係人欄帶三種狀態,對應不同 SQL 條件:
- 是(Y):只取「關係人傳票=Y」的分錄。
- 否(N):取「關係人傳票=N 或為空白」的分錄。
- 不限(空白,預設):不加關係人條件。
摘要與分類索引可就地修改(有限度編輯)¶
本程式雖以查詢為主,但格線中的 摘要 與 分類索引1~4 欄位允許就地編輯,並可回存(其餘欄位皆唯讀):
- 按工具列
修改進入編輯狀態後,格線解除唯讀、清掉各列的變更旗標,即可直接在儲存格修改 摘要 與 分類索引1~4 等欄位。 - 按
儲存時,系統只挑出有變更的列,把每列的專案代號、摘要、分類索引1、部門代號寫進共用的中繼資料表(_tmp_metadata,以傳票號碼與分錄 pkid 對應),存完後格線恢復唯讀。 - 按
取消會放棄編輯、恢復唯讀並重新查詢,畫面回到資料庫最新值。
分類索引 2~4 不會被回存
格線雖允許編輯 分類索引1~4,但 儲存 實際只把 分類索引1(連同摘要、專案代號、部門代號)寫入中繼資料表。改了 分類索引2/3/4 的內容不會保留,重新查詢後會回到原值。
這裡改的是「附註資料」,不是傳票本身的過帳金額
此處的修改寫入的是與分錄關連的中繼資料(供瀏覽、分類用途),不會改動傳票主檔的金額或過帳結果。要更正傳票金額、借貸、科目,請回總帳傳票維護。
樞紐分析(多維度彙總)¶
切到樞紐分析頁時,系統會把目前的查詢結果寫入暫存資料庫供樞紐分析使用:
- 若列印面板有勾報表是否需要全部科目,系統會在樞紐資料中額外補上「所有科目 × 所有部門」的空白基底列(科目、部門齊全但金額為 0、傳票日期掛在當年 1/1),讓樞紐表即使某科目部門沒發生也能呈現完整骨架。
- 沒勾時,樞紐資料就是查詢出來的實際明細。
樞紐分析使用的資料表名為 TWORK_BD_SLIYBROWD。

列印「全部科目」的補列邏輯¶
勾選報表是否需要全部科目後,列印與樞紐都會把 accl(會計科目)與 dept(部門)做交叉(CROSS JOIN)展開,補成空列併入結果——因此部門費用統計表會列出所有科目部門組合,未發生者顯示 0,方便看「該編的科目有沒有漏發生」。不勾則只呈現實際有資料的科目部門。
部門費用統計表的月份攤算¶
列印 N070-4 時,系統依「科目代號+部門代號」分組,逐列把本幣借方 − 本幣貸方的淨額按傳票日期的月份累加到 1~12 月欄;報表另自動算出月平均(年度加總 ÷ 12,四捨五入)與年度加總。
匯出 Excel¶
結果格線支援格線右鍵匯出 Excel,欄位即為畫面上的會計日記帳欄位,便於另存或二次加工。
常見問題¶
查詢後一筆資料都沒有?
請依序確認:(1) 日期區間是否涵蓋傳票日期(預設只查本月);(2) 傳票種類字串是否包含該傳票的種類碼(預設 012,若傳票種類是其他碼會被排除);(3) 若有填科目代號,比對語法是否正確(科目走包含比對,區間記得用 ~);(4) 關係人是否誤設成「是/否」而排除了目標傳票。
為什麼某些科目沒出現?我明明知道有發生額。
科目代號是字串包含/區間比對而非精確等於。若你只填了部分位數或用了會被其他科目字串包含的值,結果可能與預期不同。建議改用 ~ 區間(如 5101~5101zzz 的概念,系統會自動補 zzz)鎖定範圍,或直接留空查全部再用樞紐/排序篩選。
傳票種類欄要怎麼填?填一個數字查不到。
傳票種類是「列舉字串」而非單選。預設 012 代表同時查種類 0、1、2。若只想看某一種就填該單碼;想多查幾種就把代碼接在一起(如 13)。系統用 CHARINDEX 判斷,只要傳票種類落在你列的字串內就會出現。
我在格線改了金額卻沒生效?
本程式的金額、借貸、科目等欄位皆為唯讀,只有摘要與分類索引1~4可就地編輯並回存(且存的是關連中繼資料,不動傳票過帳金額)。要修改傳票本身的金額請到總帳傳票。
部門費用統計表為什麼只算到某一年?跨年查詢的另一年不見了。
部門費用統計表(N070-4)固定以起始日期的年份為統計年度,把該年度傳票攤成 1~12 月。跨年區間查詢時,此表只反映起始日所在年份;要看另一年請以該年度區間重查再列印。
勾了「報表是否需要全部科目」會發生什麼?
系統會把所有會計科目與所有部門交叉展開、補成空白列一起呈現(金額為 0)。好處是能看出「應該有的科目部門組合是否漏發生」;缺點是清單會變長、含大量 0 列。一般核帳不需要時可不勾。