Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision a1f10532

Von Kivitendo Admin vor mehr als 8 Jahren hinzugefügt

  • ID a1f105327081e1bf4b139f531a158136d55b1f8c
  • Vorgänger 2d8e82ac
  • Nachfolger 58e48c01

AR/AP.pm - Währungskonten prüfen

Vor dem Buchen von Zahlungen mit Wechselkursen auf die Standardkonten
von Wechselkurserträgen und Wechselkursaufwendungen prüfen. Abbrechen
wenn keine definiert, ansonsten geht sowieso die SQL-Abfrage kaputt.

Unterschiede anzeigen:

SL/AP.pm
319 319
                             $form->{"exchangerate_$i"}), 2);
320 320

  
321 321
      if ($amount != 0) {
322
        # fetch fxgain and fxloss chart info from defaults if charts aren't already filled in form
323
        if ( !$form->{fxgain_accno} && $::instance_conf->get_fxgain_accno_id ) {
324
          $form->{fxgain_accno} = SL::DB::Manager::Chart->find_by(id => $::instance_conf->get_fxgain_accno_id)->accno;
325
        };
326
        if ( !$form->{fxloss_accno} && $::instance_conf->get_fxloss_accno_id ) {
327
          $form->{fxloss_accno} = SL::DB::Manager::Chart->find_by(id => $::instance_conf->get_fxloss_accno_id)->accno;
328
        };
329
        die "fxloss_accno missing" if $amount < 0 and not $form->{fxloss_accno};
330
        die "fxgain_accno missing" if $amount > 0 and not $form->{fxgain_accno};
322 331
        $query =
323 332
          qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, fx_transaction, cleared, project_id, taxkey, tax_id, chart_link) | .
324 333
          qq|VALUES (?, (SELECT id FROM chart WHERE accno = ?), ?, ?, 't', 'f', ?, | .
SL/AR.pm
275 275
        $amount = $form->round_amount( $form->{"paid_$i"} * ($form->{exchangerate} - $form->{"exchangerate_$i"}) * -1, 2);
276 276

  
277 277
        if ($amount != 0) {
278
          # fetch fxgain and fxloss chart info from defaults if charts aren't already filled in form
279
          if ( !$form->{fxgain_accno} && $::instance_conf->get_fxgain_accno_id ) {
280
            $form->{fxgain_accno} = SL::DB::Manager::Chart->find_by(id => $::instance_conf->get_fxgain_accno_id)->accno;
281
          };
282
          if ( !$form->{fxloss_accno} && $::instance_conf->get_fxloss_accno_id ) {
283
            $form->{fxloss_accno} = SL::DB::Manager::Chart->find_by(id => $::instance_conf->get_fxloss_accno_id)->accno;
284
          };
285
          die "fxloss_accno missing" if $amount < 0 and not $form->{fxloss_accno};
286
          die "fxgain_accno missing" if $amount > 0 and not $form->{fxgain_accno};
278 287
          my $accno = ($amount > 0) ? $form->{fxgain_accno} : $form->{fxloss_accno};
279 288
          $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, fx_transaction, cleared, project_id, taxkey, tax_id, chart_link)
280 289
                       VALUES (?, (SELECT id FROM chart WHERE accno = ?), ?, ?, 't', 'f', ?, (SELECT taxkey_id FROM chart WHERE accno = ?),

Auch abrufbar als: Unified diff