<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="12" style="border: 1px #c9c399 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="https://git.reviewboard.kde.org/r/128061/">https://git.reviewboard.kde.org/r/128061/</a>
     </td>
    </tr>
   </table>
   <br />





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On June 2nd, 2016, 1 p.m. UTC, <b>Allan Anderson</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">This is not a good area for me, and takes me out of my comfort zone.
However, I've been having a look at this, and there are one or two points, which may or may not be relevant.
Firstly, the file attached to https://bugs.kde.org/show_bug.cgi?id=303026 does illustrate the problem.
Secondly, the sell transaction shows a missing assignment of "ACME 0.005".
Next, I edited it to remove the fee split, to simplify things a bit. It still shows the missing assignment.
Looking now at the void MyMoneyFile::fixSplitPrecision(MyMoneyTransaction& t) const routine, and specifically at the last line,
"(<em style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">its).setValue((</em>its).value().convertDenominator(fraction).canonicalize());"
For the first split, I get "16180.520000", but with the canonicalize() removed, I get "16180.525000".
The second split gives "-16180.525000".
Whether or not this is relevant, I really don't know and an expert opinion is needed, I think.</p></pre>
 </blockquote>







</blockquote>

<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I think perhaps I should have mentioned that with MyMoneyFile::fixSplitPrecision() bypassed, this file imports correctly, and the same details may be entered manually with no error.
Also, I've just noticed that even where the transaction now shows no error, the consistency check reports that it has fixed the error.  This it does with
"if (t.splitSum().isZero()) {
            s.setShares(s.value());
    }"
Using similar code in MyMoneyFile::fixSplitPrecision() appears to resolve the problem in this bug.</p></pre>
<br />










<p>- Allan</p>


<br />
<p>On May 30th, 2016, 6:10 p.m. UTC, Thomas Baumgart wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
 <tr>
  <td>

<div>Review request for KMymoney.</div>
<div>By Thomas Baumgart.</div>


<p style="color: grey;"><i>Updated May 30, 2016, 6:10 p.m.</i></p>







<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Bugs: </b>


 <a href="http://bugs.kde.org/show_bug.cgi?id=345655">345655</a>


</div>



<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
kmymoney
</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The problem described in bug 345655 is caused by a fraction of the splits value that is larger than the fraction of the accounts currency. This leads to the effect, that values are displayed with correct value but the underlying value used for calculations is not equal to the amount displayed. This will end up in KMyMoney presenting the user strange messages like 'Unassigned value of 0.00' which do not make sense. The difference is in reality between 0 and 0.01, e.g. 0.008.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The attached patch resolves this problem by rounding the numbers to the correct fraction of the referrenced account.</p></pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Test case is part of the patch. It uses the values provided in the sample attached to the bug 345655 entry.</p></pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>kmymoney/mymoney/mymoneyfile.h <span style="color: grey">(0fd558b)</span></li>

 <li>kmymoney/mymoney/mymoneyfile.cpp <span style="color: grey">(568675c)</span></li>

 <li>kmymoney/mymoney/mymoneyfiletest.h <span style="color: grey">(657ed39)</span></li>

 <li>kmymoney/mymoney/mymoneyfiletest.cpp <span style="color: grey">(810b15f)</span></li>

</ul>

<p><a href="https://git.reviewboard.kde.org/r/128061/diff/" style="margin-left: 3em;">View Diff</a></p>






  </td>
 </tr>
</table>







  </div>
 </body>
</html>