I have not yet. I moved last week and am still unpacking. I will try to take a peek this weekend. On Dec 5, 2013 3:54 AM, "Allan" <agande...@gmail.com> wrote:
> Hi Chris > > Just wondering if you've been able to do any tests for my query, below. > > <snip> > >> Another bug found when importing from OFX direct connect. The reader >> trying to create splits cannot find the brokerage account for a split using >> statementTransactionUnderImport so all the imported transactions are >> broken. This is likely because the transaction doesn't know the account >> name, but m_account does. A patch: >> >> *** mymoneystatementreader.cpp.orig 2013-11-24 17:27:39.959812598 >> -0800 >> --- mymoneystatementreader.cpp 2013-11-24 20:01:40.339204121 -0800 >> *************** >> *** 565,570 **** >> --- 565,573 ---- >> if (brokerageactid.isEmpty()) { >> brokerageactid = file->nameToAccount( >> statementTransactionUnderImport.m_strBrokerageAccount); >> } >> + if (brokerageactid.isEmpty()) { >> + brokerageactid = file->nameToAccount( >> thisaccount.brokerageName()); >> + } >> >> // find the security transacted, UNLESS this transaction didn't >> // involve any security. >> > > -- >> >> Chris >> > ____________________________________________________________________ > Hi Chris > > Thanks for this patch, too. I've found here, though, that > brokerageactid gets over-written a bit later, circa line 1086 in > mymoneystatementreader.cpp - > > // Add the 'account' split if it's needed > if (! transfervalue.isZero()) { > // in case the transaction has a reference to the brokerage > account, we use it > >> if (!statementTransactionUnderImport.m_strBrokerageAccount.isEmpty() >>>> && brokerageactid.isEmpty()) {<<< >>>> >>> brokerageactid = > file->nameToAccount(statementTransactionUnderImpor > t.m_strBrokerageAccount); > } > if (brokerageactid.isEmpty()) { > brokerageactid = > file->accountByName(statementTransactionUnderImpor > t.m_strBrokerageAccount).id(); > } > // There is no BrokerageAccount so have to nowhere to put this split. > if (!brokerageactid.isEmpty()) { > > and I needed to make the change on the line indicated by >>>....<<<, to > avoid that happening. > > I'm importing via CSV and there is no mapping of OFX source to an > account for the brokerage/checking account so the user gets asked to > enter this. If he specifies an existing account, all is well. If, > however, because he makes a mistake or abbreviates a long name, the > transfer will go to the investment account's associated brokerage > account. Generally, personally, I don't use these brokerage accounts > because for me, they are not real and I would then have to make a manual > transfer. > > It might be interesting to know what happens with your OFX transfers > if/when they reach this code. > > Allan >
_______________________________________________ KMyMoney-devel mailing list KMyMoney-devel@kde.org https://mail.kde.org/mailman/listinfo/kmymoney-devel