Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 3b31a829

Von Sven Schöling vor etwa 9 Jahren hinzugefügt

  • ID 3b31a829befaac03cfaee61c8a267b2593143569
  • Vorgänger 67588d37
  • Nachfolger 3a01b9ca

Einkaufsrechnungen: Neu buchen SQL Fehler behoben

Fehler trat auf, wenn Aufwandsmethode eingestellt war, und eine
Einkaufsrechnung, für die bereits eine Verkaufsrechnung existierte
geändert wurde. Dann wurde fälschlicherweise beim Umkehren der Rechnung
versucht die Warenbestandsbuchungen zu ändern.

Ohne Verkaufsrechnung existieren die allocated < 0 Positionen nicht.

Unterschiede anzeigen:

SL/IR.pm
873 873
        #adjust allocated
874 874
        $form->update_balance($dbh, "invoice", "allocated", qq|id = $pthref->{id}|, $qty);
875 875

  
876
        $form->update_balance($dbh, "acc_trans", "amount",
877
                              qq|    (trans_id = $pthref->{trans_id})
878
                                 AND (chart_id = $ref->{expense_accno_id})
879
                                 AND (transdate = '$pthref->{transdate}')|,
880
                              $amount);
881

  
882
        $form->update_balance($dbh, "acc_trans", "amount",
883
                              qq|    (trans_id = $pthref->{trans_id})
884
                                 AND (chart_id = $ref->{inventory_accno_id})
885
                                 AND (transdate = '$pthref->{transdate}')|,
886
                              $amount * -1);
876
        if  ( $::instance_conf->get_inventory_system eq 'perpetual' ) {
877

  
878
          $form->update_balance($dbh, "acc_trans", "amount",
879
                                qq|    (trans_id = $pthref->{trans_id})
880
                                   AND (chart_id = $ref->{expense_accno_id})
881
                                   AND (transdate = '$pthref->{transdate}')|,
882
                                $amount);
883

  
884
          $form->update_balance($dbh, "acc_trans", "amount",
885
                                qq|    (trans_id = $pthref->{trans_id})
886
                                   AND (chart_id = $ref->{inventory_accno_id})
887
                                   AND (transdate = '$pthref->{transdate}')|,
888
                                $amount * -1);
889
        }
887 890

  
888 891
        last if (($ref->{allocated} -= $qty) <= 0);
889 892
      }

Auch abrufbar als: Unified diff