Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision f7866adf

Von Sven Schöling vor fast 13 Jahren hinzugefügt

  • ID f7866adf1844e79ada8df88c703b0ec9a39c5657
  • Vorgänger 4805ef34
  • Nachfolger 836a204e

GuV/BWA Splitfaktor richtig coalescen.

Nach Bug 1190 werden IST Versteuerte Zahlungseingänge auf die komplette
Rechnung verteilt. Bei Hauptbuch buchungen gibt es keine Rechnung dazu und
diese buchungen fielen unter den Tisch, oder (schlimmer) erzeugen einen
Division by Zero Fehler.

Commit d934ce3611 hat ein COALESCE eingeführt um die by-Zero Fehler abzufangen,
aber der Nenner 1 führt zu utopischen Rechnungswerten.

Dieser Patch behebt das.

Unterschiede anzeigen:

SL/RP.pm
516 516
  if ($form->{method} eq 'cash') {
517 517
    $query =
518 518
      qq|
519
       SELECT SUM( ac.amount *
519
       SELECT SUM( ac.amount * CASE WHEN COALESCE((SELECT amount FROM ar WHERE id = ac.trans_id and amount != 0 ), 0) != 0 THEN
520 520
                    (SELECT SUM(acc.amount) * -1
521 521
                     FROM acc_trans acc
522 522
                     INNER JOIN chart c ON (acc.chart_id = c.id AND c.link LIKE '%AR_paid%')
523 523
                     WHERE 1=1 $inwhere AND acc.trans_id = ac.trans_id)
524
                  / COALESCE((SELECT amount FROM ar WHERE id = ac.trans_id and amount != 0 ), 1)
524
                  / (SELECT amount FROM ar WHERE id = ac.trans_id and amount != 0 ) ELSE 1 END
525 525
                ) AS amount, c.$category
526 526
       FROM acc_trans ac
527 527
       LEFT JOIN chart c ON (c.id  = ac.chart_id)

Auch abrufbar als: Unified diff