2013年4月4日 星期四

GnuCash 小技巧:調整同日交易順序

GnuCash 內部是以秒為單位來儲存交易日期。也就是說,假設有兩筆同一天的交易:

其實程式內部是
2013/4/4 00:00:00 A
2013/4/4 00:00:00 B
只是使用者看不到 00:00:00 的部分。

從 GnuCash 2.4 開始,有個功能可以調整同日交易的次序。但由於做得不夠好,開發人員就先把它隱藏起來。

打開試用的方法:
  1. 找到系統上的 gnc-plugin-page-register-ui.xml,Windows XP 的話在 C:\Program Files\gnucash\share\gnucash\ui
  2. 用一般的文字編輯軟體打開這個檔案,把
    <!--menuitem name="ShiftTransactionForward" action="ShiftTransactionForwardAction"/-->
    改成
    <menuitem action="ShiftTransactionForward" action="ShiftTransactionForwardAction"/>
    (有兩次)
存檔之後重開 GnuCash,在交易選單中會多出一個「將交易向下移」

在交易 A 上面使用這功能,程式內部會將該交易的時間加一秒。按了之後不會馬上更新順序。要做某些動作(譬如關掉該 tab 再開)讓 GnuCash 覺得該重新計算順序,才會看到效果。可以看到交易的順序的換過來了:

2013/4/4 00:00:00 B
2013/4/4 00:00:01 A
這功能最大的問題在於看不到內部的秒數,有時多按幾次自己都忘了各個交易加了幾秒了。不過在完整的功能出現之前就湊合著用吧。