From: Moritz Bunkus Date: Mon, 11 Dec 2006 15:06:40 +0000 (+0000) Subject: Beim Datenbankupgrade fuer Buchungsgruppen muss bei aktivierter EUR der Vergleich... X-Git-Tag: release-2.4.0^2~87 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=5772b02ec63ecad6ba778e8ed78a190c5ce243c0;p=kivitendo-erp.git Beim Datenbankupgrade fuer Buchungsgruppen muss bei aktivierter EUR der Vergleich mit den Buchungsgruppen ohne das Bestandskonto erfolgen. Das Bestandskonto wird dann für die Artikel immer überschrieben. --- diff --git a/sql/Pg-upgrade/Pg-upgrade-2.2.0.33-2.2.0.34.pl b/sql/Pg-upgrade/Pg-upgrade-2.2.0.33-2.2.0.34.pl index 9387b0e1d..89f42cf7c 100644 --- a/sql/Pg-upgrade/Pg-upgrade-2.2.0.33-2.2.0.34.pl +++ b/sql/Pg-upgrade/Pg-upgrade-2.2.0.33-2.2.0.34.pl @@ -154,16 +154,21 @@ sub update_known_buchungsgruppen { my $sth = $dbh->prepare($query); $sth->execute() || mydberror($query); - my $query_update = "UPDATE parts SET buchungsgruppen_id = ? WHERE id = ?"; + my $query_update = "UPDATE parts SET buchungsgruppen_id = ?"; + $query_update .= ", inventory_accno_id = ?" if ($main::eur); + $query_update .= " WHERE id = ?"; my $sth_update = $dbh->prepare($query_update); while (my $ref = $sth->fetchrow_hashref()) { foreach my $bg (@{$buchungsgruppen}) { - if (($ref->{"inventory_accno_id"} == $bg->{"inventory_accno_id"}) && + if (($main::eur || + ($ref->{"inventory_accno_id"} == $bg->{"inventory_accno_id"})) && ($ref->{"income_accno_id"} == $bg->{"income_accno_id_0"}) && ($ref->{"expense_accno_id"} == $bg->{"expense_accno_id_0"})) { - $sth_update->execute($bg->{"id"}, $ref->{"id"}) || - mydberror($query_update . " ($bg->{id}, $ref->{id})"); + my @values = ($bg->{"id"}, $ref->{"id"}); + splice(@values, 1, 0, $bg->{"inventory_accno_id"}) if ($main::eur); + $sth_update->execute(@values) || + mydberror($query_update . " (" . join(", ", @values) . ")"); last; } }