Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 2c0706f7

Von Sven Schöling vor 11 Monaten hinzugefügt

  • ID 2c0706f72a96f041990a67864d2932703d9bdd12
  • Vorgänger 38018893
  • Nachfolger 5f82335a

IR: 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/ir.pl
198 198
          $form->{acc_trans}{$key}->[$i - 1]->{exchangerate};
199 199
        $form->{"source_$i"} = $form->{acc_trans}{$key}->[$i - 1]->{source};
200 200
        $form->{"memo_$i"}   = $form->{acc_trans}{$key}->[$i - 1]->{memo};
201
        $form->{"defaultcurrency_paid_$i"}   = $form->{acc_trans}{$key}->[$i - 1]->{defaultcurrency_paid};
202
        $form->{"fx_transaction_$i"}   = $form->{acc_trans}{$key}->[$i - 1]->{fx_transaction};
201 203

  
202 204
        $form->{paidaccounts} = $i;
203 205
        # hook for calc of of defaultcurrency_paid and check if banktransaction has a record exchangerate
204
        if ($form->{"exchangerate_$i"}) {
206
        if ($form->{"exchangerate_$i"} && $form->{"acc_trans_id_$i"}) {
205 207
          my $bt_acc_trans = SL::DB::Manager::BankTransactionAccTrans->find_by(acc_trans_id => $form->{"acc_trans_id_$i"});
206 208
          if ($bt_acc_trans) {
207 209
            if ($bt_acc_trans->bank_transaction->exchangerate > 0) {
......
210 212
              $form->{"record_forex_$i"} = 1;
211 213
            }
212 214
          }
213
          $form->{"defaultcurrency_paid_$i"} = $form->{"paid_$i"} * $form->{"exchangerate_$i"};
215
          if (!$form->{"fx_transaction_$i"}) {
216
            # this is a banktransaction that was paid in internal currency. revert paid/defaultcurrency_paid
217
            $form->{"defaultcurrency_paid_$i"} = $form->{"paid_$i"};
218
            $form->{"paid_$i"} /= $form->{"exchangerate_$i"};
219
          }
220
          $form->{"defaultcurrency_paid_$i"} //= $form->{"paid_$i"} * $form->{"exchangerate_$i"};
214 221
          $form->{"defaultcurrency_totalpaid"} +=  $form->{"defaultcurrency_paid_$i"};
215 222
        } # end hook defaultcurrency_paid
216 223
      }

Auch abrufbar als: Unified diff