]> wagnertech.de Git - mfinanz.git/blobdiff - SL/OE.pm
booking roundings to new standard-accounts
[mfinanz.git] / SL / OE.pm
index 355ccc793cd3b5259019fc46cf92bf0c03ded91a..07484f9da3fa869d0c77cddfc14ac48a60700809 100644 (file)
--- a/SL/OE.pm
+++ b/SL/OE.pm
@@ -625,7 +625,7 @@ SQL
   my $tax = 0;
   map { $tax += $form->round_amount($taxaccounts{$_}, 2) } keys %taxaccounts;
 
-  $amount = $form->round_amount($netamount + $tax, 2);
+  $amount = $form->round_amount($netamount + $tax + $form->{invtotal}, 2, 1);
   $netamount = $form->round_amount($netamount, 2);
 
   if ($form->{currency} eq $form->{defaultcurrency}) {
@@ -891,7 +891,9 @@ sub retrieve {
                      (SELECT c.accno FROM chart c WHERE d.income_accno_id    = c.id) AS income_accno,
                      (SELECT c.accno FROM chart c WHERE d.expense_accno_id   = c.id) AS expense_accno,
                      (SELECT c.accno FROM chart c WHERE d.fxgain_accno_id    = c.id) AS fxgain_accno,
-                     (SELECT c.accno FROM chart c WHERE d.fxloss_accno_id    = c.id) AS fxloss_accno
+                     (SELECT c.accno FROM chart c WHERE d.fxloss_accno_id    = c.id) AS fxloss_accno,
+                     (SELECT c.accno FROM chart c WHERE d.rndgain_accno_id    = c.id) AS rndgain_accno,
+                     (SELECT c.accno FROM chart c WHERE d.rndloss_accno_id    = c.id) AS rndloss_accno
               $query_add
               FROM defaults d|;
   my $ref = selectfirst_hashref_query($form, $dbh, $query);
@@ -947,7 +949,7 @@ sub retrieve {
         map { $form->{$_} = '' if ($ref->{$_} ne $form->{$_}) } keys %$ref;
       }
     }
-    $form->{mtime} = $form->{itime} if ! $form->{mtime};
+    $form->{mtime}   ||= $form->{itime};
     $form->{lastmtime} = $form->{mtime};
 
     # if not given, fill transdate with current_date