GNOME Bugzilla – Bug 634678
Scheduled transaction calendar not working properly
Last modified: 2018-06-29 22:47:09 UTC
Created attachment 174321 [details] Dates not corresponding-1 I think I've found a bug in the Scheduled transaction editor. The calendar is not working right when displaying the scheduled transactions day (see attached images). If you look to the scheduled transaction details you can see that the transaction "Imposta di bollo su estratto c/c" is scheduled in the right dates (the first day of the month every 3 months). When I look to the summary calendar in the main window of scheduled transaction editor that same transaction is scheduled in the wrong dates. The images comes from win XP running GnuCash 2.3.16 (nightly build of a couple of days ago). Same happens under linux with 2.2.9 and 2.3.16 versions.
Created attachment 174322 [details] Dates not corresponding-2
The scheduled transaction (SX) calendar for sure has still quite a number of errors. One of them was with SX which had a maximum "number of occurrence" set, and the bug was that the last occurrence didn't show up. I recently fixed this in http://svn.gnucash.org/trac/changeset/19756 Another bug I've noticed is that if the number of occurrence is decreased, this change isn't applied in the respective calendar. Can you create a very simple example file with exactly the SX that isn't displayed correctly? The function or malfunction depends quite a lot on the exact details of your SX.
Created attachment 174376 [details] File to test bug 634678 As requested I attach a simple gnucash file. To reproduce the problem go to the SX tab and double click on the "Canone mensile c.c." entry in the upper pane. Then click "ok" to close the SX editor without making any change. The calendar will be updated with the right dates for this SX (8th day of any month). Now double click the "Assicurazione autista" entry anda click again "ok" without making any changes. The calendar will be updated and the previous SX named "Canone mensile c.c." is shifted to 9th day of the month in some months. Tested in both 2.2.9 and 2.3.16 under Ubuntu 10.04 64bit.
Could this be a variation of the timezone bug 137017 caused by the end of the DST - all transactions entered in the summer are shifted one day, when displayed in the winter? Do we use different functions to extract the date?
Looking in your file, I see in SX, they are defined correctly as <gdate>2009-05-08</gdate>. In <gnc:transaction> the last entry has <trn:date-posted> <ts:date>2010-11-08 00:00:00 +0100</ts:date> </trn:date-posted> That before has <trn:date-posted> <ts:date>2010-10-08 00:00:00 +0200</ts:date> </trn:date-posted> , but now you are in the timezone UTC+0100 and so, I would expect, it would be recalculated to <ts:date>2010-10-07 23:00:00 +0100</ts:date> But the second day shift, I can not explain.
Ah, this is 2011? Just an idea: If it moves one day between month 10 and 11 this year, why not also next year?
The patch from bug 652193 seems to fix this problem as well. I can't reproduce this as of trunk r20746. r20745 still shows this problem though. Can you test as well ?
I've just compiled the GC code under ubuntu 10.10 and the problem is gone. With an older version I can reproduce the steps described in comment #3. So I think that this problem is now solved. Thanks for the good work!
Thanks for the confirmation. I have backported the patch to the 2.4 branch in r20749 so it will appear in the next stable release.
GnuCash bug tracking has moved to a new Bugzilla host. This bug has been copied to https://bugs.gnucash.org/show_bug.cgi?id=634678. Please update any external references or bookmarks.