two oddnesses in new ledger

Jack ostroffjh at users.sourceforge.net
Fri Jul 1 14:49:38 BST 2022


On 7/1/22 04:34, thb--- via KMyMoney-devel wrote:
> Jack,
>
> Jack via KMyMoney-devel schrieb am 30.06.2022 18:42 (GMT +02:00):
>
>> This is compiled from git master a few days ago:
>>
>> First, on startup (multiple times) I get a pop-up: Unable to enter
>> scheduled transaction 'Patreon Podcast'  with details "Unable to add
>> transaction with invalid postdate
>> /var/tmp/portage/app-office/kmymoney-9999/work/kmymoney-9999/kmymoney/mymoney/mymoneyfile.cpp:1540."
> Hmm, that happens indeed when the postdate is invalid. So we have to figure out why that is.
> Is this caused by an auto-enter upon start of the application?
Yes, on startup, before I do anything.  I have not yet tried it today, 
but that schedule is for today.
>> Both in the ledger and the Scheduled transactions View, that schedule
>> seems to correctly show the next date as 20222-07-01, or tomorrow.
> I expect that 4th digit '2' in the date to be a typo. Then July 1st is
> in fact a valid date, but it does not seem to be setup when the transaction
> is actually created. We need to figure out where that happens. That is why
> I asked above about the auto start feature.
Yes, that was just a typo on my part.  The date was correctly 
2022-07-01.  There are also schedules for 2 July, so we have one more 
day to diagnose before creating fake data. :-)   The version I have 
currently compiled does have full debugging info, so I can run under gdb 
if you want to suggest where to set a breakpoint.
>> Second, at the bottom of the "real" entries, below the line for "Online
>> Balance" (which makes no sense for a cash account) is the line "Next
>> month" followed by four scheduled entries for the next two days, then
>> "Next week" and further future scheduled entries.  Somehow, these two
>> section titles are reversed.
> I don't think so. Next month is on the 1st (this week) and the next week
> starts on the 3rd or 4th depending on your settings. I don't see a problem
> with that.
Hmm, you are right,  It just seems very odd, even if it is correct. 
Hopefully when I run it today, "next month" will be further in the future.
> The online balance header will only be shown if there is a "lastImportedTransactionDate"
> and a "lastStatementBalance" available for the account. Can you check if
> that is the case for your cash account? Maybe some leftover from tests?
I'll check.  I may well have done a csv import in the past to add some 
recurring historic transactions.  I didn't even notice whether the  
online balance shown was anywhere  near correct.
> OnlineBalanceProxyModel::filterAcceptsRow() controls if the line will be
> shown. It calls AccountsModel::data() to retrieve the date and data() which uses
>
>      bool AccountsModelPrivate::hasOnlineBalance(const MyMoneyAccount& account)
>      {
>          return !(account.value("lastImportedTransactionDate").isEmpty()
>                   || account.value("lastStatementBalance").isEmpty());
>      }
>
> to detect if it should return the date or an empty string. The latter case
> will result in filterAcceptsRow() to return false in case it is not.
>
>
>> Both seem relatively minor.  I have no idea what causes the first, and
>> hopefully the second is easy to fix.  (I have not looked in the code
>> for this.)
> Regards
>
> Thomas

Thanks.  I'll update again later today.

Jack



More information about the KMyMoney-devel mailing list