> On Juli 20, 2016, 7:55 vorm., Thomas Baumgart wrote:
> > Your patch in general seems OK if you only have OFX accounts. It will 
> > interfere though with other online transaction downloads e.g. HBCI.
> > 
> > Since the problem and the solution are very OFX specific, I suggest to move 
> > the logic into the OFX plugin. I would move the calculation of the 
> > **startDate** into **bool OfxImporterPlugin::import(const QString& 
> > filename)** and the filter logic at the end of **int 
> > OfxImporterPlugin::ofxTransactionCallback(struct OfxTransactionData data, 
> > void * pv)** where unhandled transaction types are already eliminated.
> 
> Jack Ostroff wrote:
>     Thomas:  do any of the other import types use the concept of a requested 
> start date for transactions?  (I know csv does not, and have very limited 
> experience with anything except OFX.)  Also, I think this only applies to OFX 
> direct connect, not to OFX file import, in case that affects the 
> implementation.
> 
> Thomas Baumgart wrote:
>     In fact, KBanking supports this concept from day one and does so pretty 
> well. The German bank servers obey the options in the request (I have not 
> heard otherwise) whereas the Citibank server seems to be ignoring them 
> completely. Your hint about import vs. online download is valid. One could 
> catch this if the calculation for **startDate** is moved to **bool 
> OfxImporterPlugin::updateAccount(const MyMoneyAccount& acc, bool 
> moreAccounts)** which is only called for online updates AFAICS and leave it 
> at 1.1.1900 for all other paths.
>     The KBanking logic btw. can be found in **bool 
> KBankingPlugin::updateAccount(const MyMoneyAccount& acc, bool moreAccounts)**.
> 
> Jack Ostroff wrote:
>     Just because there is only one current example of a server not honoring 
> the start date, and it happens to be OFX, would it hurt to have ALL online 
> imports drop transactions prior to the requested start date?
> 
> Thomas Baumgart wrote:
>     The KBanking plugin e.g. goes back two or three more days than the last 
> download date. This is because sometimes transactions get delivered on a 
> later date. Having a general filter would eliminate these transactions as 
> well.
>     ```C++
>       // get last statement request date from application account object
>       // and start from a few days before if the date is valid
>       QDate lastUpdate = 
> QDate::fromString(acc.value("lastImportedTransactionDate"), Qt::ISODate);
>       if (lastUpdate.isValid())
>         lastUpdate = lastUpdate.addDays(-3);
>     ```
>     In general, I think, each solution to a specific problem should stay as 
> close to the source of the problem. So this OFX specific thing should be 
> handled in the OFX specific part. Plus you mention that it only applies to 
> OFX download not the file import. There we have the first exception to the 
> rule. The MyMoneyStatementReader does not differentiate between file import 
> or online download (AFAIR).
> 
> Jeff Lundblad wrote:
>     Moved the logic to ofximporterplugin. Date filter only applies in 
> updateAccount(), so "File->Import->OFX" files are not affected.
>     
>     Regarding the lastUpdate.addDays(-3), it has occurred to me before that 
> having a "last update minus X days" in the "Import Details" choices would be 
> nice. Like the current "Today minus X days". X=0 would provide current 
> functionality. I think I occasionally miss investment transactions if I 
> update "just right" between the trade date and the settlement date (I'm not 
> real sure on this).

The changes look good to me, but since I am not an OFX user, I cannot comment 
on the overall functionality.


- Thomas


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/128478/#review97637
-----------------------------------------------------------


On Okt. 25, 2016, 11:44 nachm., Jeff Lundblad wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/128478/
> -----------------------------------------------------------
> 
> (Updated Okt. 25, 2016, 11:44 nachm.)
> 
> 
> Review request for KMymoney.
> 
> 
> Bugs: 365818
>     http://bugs.kde.org/show_bug.cgi?id=365818
> 
> 
> Repository: kmymoney
> 
> 
> Description
> -------
> 
> Only import transactions that are newer than or equal to the "Start date of 
> import" in the account's online settings
> 
> 
> Diffs
> -----
> 
>   kmymoney/plugins/ofximport/ofximporterplugin.cpp 46842ee 
> 
> Diff: https://git.reviewboard.kde.org/r/128478/diff/
> 
> 
> Testing
> -------
> 
> Tested on Citi credit card OFX downloads which nearly always download 2 years 
> worth of transactions regardless of the date range that the OFX request 
> requests.
> 
> 
> File Attachments
> ----------------
> 
> ofx-update-date.patch
>   
> https://git.reviewboard.kde.org/media/uploaded/files/2016/10/25/7838204d-f10b-41cd-8774-044e17b9e98e__ofx-update-date.patch
> 
> 
> Thanks,
> 
> Jeff Lundblad
> 
>

Reply via email to