[GNC-dev] Two steps forward (Maybe three back)
Christopher Lam
christopher.lck at gmail.com
Mon Jan 21 02:20:26 EST 2019
Thank you
This confirms my suspicion that guile is not the culprit.
Excerpt
[pass] line:647, test: dual amount column, with original currency headers
[pass] line:651, test: dual amount column, grand totals available
[pass] line:654, test: dual amount column, first transaction correct
d0.1102 t1.868: ('date -46860 'qof-print-date 12/31/70)
d0.0005 t1.868: ('date -46860 'qof-print-date 12/31/70)
d0.0005 t1.869: ('date 39540 'qof-print-date 01/01/70)
d0.0005 t1.869: ('date 2717940 'qof-print-date 02/01/70)
d0.0005 t1.870: ('date 3495540 'qof-print-date 02/10/70)
Etc
The dates are correct; -46860 is a relatively small number of seconds
before 1/1/70 yet qof-print-date reports 31/12/70.
Back to jralls for root cause analysis!
On Mon., 21 Jan. 2019, 14:50 Stephen M. Butler <kg7je at arrl.net wrote:
> On 1/20/19 8:07 PM, Christopher Lam wrote:
> > There's no reason why the dates can't be changed.
> >
> > The reason dates straggling 1.1.1970 was chosen was because 1.1.1970
> > corresponds to time 0 in time64, and I felt that having a few negative
> > time64 numbers would be interesting to test sorting.
> >
> > However this is a weird weirdness -- the test output shows that the
> > transactions were sorted correctly - 31/12/69, 31/12/69, 01/01/70,
> > 02/01/70, 02/10/70 (in d/m/y); it's just the display that is incorrect.
> >
> > Moreover the display has to go through qof_print_date which takes a
> > time64 and returns a string.
> >
> > I'd be keen to know Stephen's build and try debug this.
> >
> > Stephen can you modify transaction.scm as follows and let us know the
> > test output? (Beware the parentheses!)
> >
> > modified gnucash/report/standard-reports/transaction.scm
> > @@ -1119,7 +1119,8 @@ be excluded from periodic reporting.")
> > (if transaction-row?
> > (gnc:make-html-table-cell/markup
> > "date-cell"
> > - (qof-print-date
> > (xaccTransGetDate (xaccSplitGetParent split))))
> > + (let ((date (xaccTransGetDate
> > (xaccSplitGetParent split))))
> > + (gnc:pk 'date date
> > 'qof-print-date (qof-print-date date))))
> > ""))))
> >
> > (add-if (column-uses? 'reconciled-date)
>
> My apologies for the long delay in getting back to you. The wife
> indicated that we'd better spend some time in the hot tub watching the
> lunar eclipse. So I leaned back and gazed up into the dark gray
> featureless sky at where the moon should be. Nadda. Good soak though
> and the spine is thankful.
>
> The other problem is that my 1119 doesn't match up. At first when I
> went back to the maint branch the changes stayed in the directory. I
> had to be sure I had the real file from git. So, here is the code block
> with line 1119 marked.
>
>
> (add-if (column-uses? 'num)
>
> (vector (if (and BOOK-SPLIT-ACTION
> (opt-val gnc:pagename-display
> (N_ "Trans Number")))
> (_ "Num/T-Num")
> (_ "Num"))
> (lambda (split transaction-row?)
> (let* ((trans (xaccSplitGetParent split))
> (num (gnc-get-num-action trans
> split))
> (t-num (if (and BOOK-SPLIT-ACTION
> (opt-val
> gnc:pagename-display (N_ "Trans Number")))
> (gnc-get-num-action
> trans #f)
> ""))
> (num-string (if (string-null?
> t-num)
> num
> (string-append
> num "/" t-num))))
> (if transaction-row?
> (gnc:make-html-table-cell/markup
> "text-cell" num-string)
> "")))))
> 1119
> (add-if (column-uses? 'description)
> (vector (_ "Description")
> (lambda (split transaction-row?)
> (define trans (xaccSplitGetParent split))
> (if transaction-row?
> (gnc:make-html-table-cell/markup
> "text-cell"
> (xaccTransGetDescription trans))
> ""))))
>
>
> I think the line you want changed is above at 1083-1090:
>
> 1083 (add-if (column-uses? 'date)
> (vector (_ "Date")
> (lambda (split transaction-row?)
> (if transaction-row?
> (gnc:make-html-table-cell/markup
> "date-cell"
> (qof-print-date (xaccTransGetDate
> (xaccSplitGetParent split))))
> 1090 ""))))
>
> Changed:
>
> (add-if (column-uses? 'date)
> (vector (_ "Date")
> (lambda (split transaction-row?)
> (if transaction-row?
> (gnc:make-html-table-cell/markup
> "date-cell"
> (let ((date (xaccTransGetDate
> (xaccSplitGetParent split))))
> (gnc:pk 'date date
> 'qof-print-date (qof-print-date date))))
> ""))))
> Copy paste worked to keep from having to count the parenthesis!
>
> 108/115 Test #108: test-charts ..................................
> Passed 1.91 sec
> Start 109: test-transaction
> 109/115 Test #109: test-transaction
> .............................***Failed 3.88 sec
> Start 110: test-balsheet-pnl
> 110/115 Test #110: test-balsheet-pnl ............................
> Passed 2.57 sec
> Start 111: test-income-gst
>
> ......
>
> d0.0005 t1.869: ('date 2717940 'qof-print-date 02/01/70)
> d0.0005 t1.870: ('date 3495540 'qof-print-date 02/10/70)
> [fail] line:678, test: dates are sorted
> transaction.scm/sorting options
> -> expected: ("12/31/69" "12/31/69" "01/01/70" "02/01/70" "02/10/70")
> -> obtained: ("12/31/70" "12/31/70" "01/01/70" "02/01/70" "02/10/70")
> d0.0163 t1.886: ('date 39540 'qof-print-date 01/01/70)
>
> .......
>
> 109/115 Testing: test-transaction
> 109/115 Test: test-transaction
> Command: "/usr/bin/cmake" "-E" "env" "/usr/bin/guile" "--debug" "-l"
>
> "/home/steve/Projects/GnuCash/gnucash/gnucash/report/standard-reports/test/test-transaction.scm"
> "-c" "(exit (run-test))"
> Directory:
>
> /home/steve/Projects/GnuCash/gnucash/.build/gnucash/report/standard-reports/test
> "test-transaction" start time: Jan 20 22:33 PST
> Output:
> ----------------------------------------------------------
> * 22:33:20 WARN <gnc.gui> [gnc_configure_reverse_balance()] no reversed
> account preference set, using none
> [pass] line:130, test: null-test
> d0.7194 t0.719: ('date 1546513140 'qof-print-date 01/03/19)
>
> I did a tar -czf testfiles.ztar *.txt *.log on the files in
> ./.build/Testing/Temporary and attached
>
> Hope I made the desired change.
>
> --Steve
>
>
> --
> Stephen M Butler, PMP, PSM
> Stephen.M.Butler51 at gmail.com
> kg7je at arrl.net
> 253-350-0166
> -------------------------------------------
> GnuPG Fingerprint: 8A25 9726 D439 758D D846 E5D4 282A 5477 0385 81D8
>
> _______________________________________________
> gnucash-devel mailing list
> gnucash-devel at gnucash.org
> https://lists.gnucash.org/mailman/listinfo/gnucash-devel
>
More information about the gnucash-devel
mailing list