Patch : editing "Posted" time of transactions.

John Ralls jralls at
Thu May 28 18:28:30 EDT 2015

> On May 28, 2015, at 1:46 PM, gLETTERyYuMEANSj LETTERyOt <gletteryyumeansjletteryot at> wrote:
> Thank you very much to discuss with me.
>> That changes the way the database is interpreted
> I disagree.
> If the user loads a .gnucash file then edits it and saves it, the date field of
> a preexisting transaction only changes if:
> - the date field used another timezone than +0000 (gnucash-2.4), in which case
>  it is now in the +0000 timezone (that happens even without my patch).
> - the user explicitely modified it.
> - the transaction is dated 1200Z (current patch) and of less than two days old,
>  and the user updated another field of that transaction.

Right. Just like the change from 2.4, where the posted date was normalized to midnight in the local TZ to 2.6 where it’s normalized to midnight UTC. Your change makes it Noon UTC, so it has to go to the next major version, not into 2.6.

>>                                                  so it disqualifies this
>> patch from going into stable.
> I think that the coding and debugging style, the TZ environment variable and
> the lack of patch to are better reasons to disqualify it.

Those are all fixable. Once they’re fixed, the patch can be considered for master, though as Geert pointed out there’s pressure in the other direction to remove times entirely from Entered Date. We have to decide which way to go.
>> gnc_time(NULL) - gnc_timeutc(NULL).
> Thanks, I've bookmarked them. I'll try them next time I work on that.
>> Multiple invocations of --debug and --extra have no effect, but neither of
>> them turn on debug logging. They turn on info logging for selected domains.
>> To get debug logging in qof use --log qof=debug.
> From gnucash --help:
> --debug     Enable debugging mode: increasing logging to provide deep detail.
> --extra     Enable extra/development/debugging features.
> --log       Log level overrides, of the form
> "log.ger.path={debug,info,warn,crit,error}"
> Now that I understood what you just explained, I suggest something like:
> --debug     Enable troubleshooting mode: provide deep details in logging.
>            Implies "--log qof=info".
> --extra     Enable development/troubleshooting/other features.
> --log       Log level overrides, of the form "modulename={debug,info,
>            warn,crit,error}"
>> A PINFO call would only prevent compilation if you called it the wrong way,
>> and only where you called it.
> PINFO was marked by gcc as an undefined keyword. I am sure I had to add a
> header line, but I did not know which one.


Failing to include the header counts as calling it the wrong way.

>> If you enter the transactions in the correct order then they won't, absent
>> entries in the Num field. If you don't, no big deal, so long as everything
>> balances out at the end of the day.
> Modifying the order of transactions or inserting transaction is difficult.
> See

> I also use gnucash for official accounting. To be able to follow the order
> printed by the bank on paper, I had before this patch to move transaction by
> touching them in the right order (or to misuse the num field). Now it is much
> more easier.

Don’t do that. You are keeping your own books, not mimicking the bank’s. I think that we’ve told you that before. Meanwhile that FAQ is a bit out of date, so I’ll work on it a bit.

>> A clarifications as well: You're running a VNC client on the Android tablet,
>> but GnuCash is running on a different computer on one of the supported
>> operating systems. VNC just lets you see and interact with that other
>> computer's GUI from the tablet.
> In my case, gnucash-2.6.5 is running on the same android tablet. See
> or, better than my case,

Wow. That’s pretty cool. But GnuCash is running under Gentoo, not Android.

More information about the gnucash-devel mailing list