Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 5f82335a

Von Sven Schöling vor 11 Monaten hinzugefügt

  • ID 5f82335a6a15813d8a886af6942c44191fe599c5
  • Vorgänger 2c0706f7
  • Nachfolger 977d7264

IS: fx_transaction payments

Es wird jetzt das fx_transaction flag durchgereicht, wenn die Zahlung im
FGrontend angelegt wurde, oder in Fremdwährung in der Datenbank gefunden
wurde.

Interne Währungszahlungen werden initial ohne fx_transaction geladen,
dann aber wie "normale" Fremdbuchungen durchgereicht

Im Gegensatz zu AP/AR wird hier direkt create_links aufgerufen.

Unterschiede anzeigen:

bin/mozilla/is.pl
256 256
        $form->{"forex_$i"}        = $form->{"exchangerate_$i"};
257 257
        $form->{"source_$i"}       = $form->{acc_trans}{$key}->[$i - 1]->{source};
258 258
        $form->{"memo_$i"}         = $form->{acc_trans}{$key}->[$i - 1]->{memo};
259
        $form->{"defaultcurrency_paid_$i"} = $form->{acc_trans}{$key}->[$i - 1]->{defaultcurrency_paid};
260
        $form->{"fx_transaction_$i"}  = $form->{acc_trans}{$key}->[$i - 1]->{fx_transaction};
261

  
259 262

  
260 263
        $form->{paidaccounts} = $i;
261 264
        # hook for calc of of defaultcurrency_paid and check if banktransaction has a record exchangerate
262
        if ($form->{"exchangerate_$i"}) {
265
        if ($form->{"exchangerate_$i"} && $form->{"acc_trans_id_$i"}) {
263 266
          my $bt_acc_trans = SL::DB::Manager::BankTransactionAccTrans->find_by(acc_trans_id => $form->{"acc_trans_id_$i"});
264 267
          if ($bt_acc_trans) {
265 268
            if ($bt_acc_trans->bank_transaction->exchangerate > 0) {
......
268 271
              $form->{"record_forex_$i"} = 1;
269 272
            }
270 273
          }
271
          $form->{"defaultcurrency_paid_$i"} = $form->{"paid_$i"} * $form->{"exchangerate_$i"};
274
          if (!$form->{"fx_transaction_$i"}) {
275
            # this is a banktransaction that was paid in internal currency. revert paid/defaultcurrency_paid
276
            $form->{"defaultcurrency_paid_$i"} = $form->{"paid_$i"};
277
            $form->{"paid_$i"} /= $form->{"exchangerate_$i"};
278
          }
279
          $form->{"defaultcurrency_paid_$i"} //= $form->{"paid_$i"} * $form->{"exchangerate_$i"};
272 280
          $form->{"defaultcurrency_totalpaid"} +=  $form->{"defaultcurrency_paid_$i"};
273 281
        } # end hook defaultcurrency_paid
274 282

  

Auch abrufbar als: Unified diff