From: Sven Schöling Date: Tue, 7 Jan 2014 09:53:37 +0000 (+0100) Subject: Warenimport: Preisaktualisierungen X-Git-Tag: release-3.1.0beta1~22^2~39 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=3fbb200bd32ab4824f63a6fde1e0853dfe877b67;p=kivitendo-erp.git Warenimport: Preisaktualisierungen 3 Punkte: - Preisupdates wurden auf dem falschen Objekt gemacht wenn die Ware schon vorhanden war. Dadurch wurden die neuen Preise nicht zurückgespeichert. Das ist jetzt behoben. - Preisupdates wurden nicht vorgenommen, wenn der Name des Preises (z.B. sellprice) nicht im Header vorhanden war. Wenn er vorhanden war, wurde aber der neue absolute Preis gesetzt was prozentuale Updates kaputt macht. - Preisupdates wurden potenziell auf alles drei Preisen vorgenommen, was nach dem zweiten Fix keinen Sinn macht. Jetzt nur noch Verkaufspreis. --- diff --git a/SL/Controller/CsvImport/Part.pm b/SL/Controller/CsvImport/Part.pm index 2ca12300a..0cb132f34 100644 --- a/SL/Controller/CsvImport/Part.pm +++ b/SL/Controller/CsvImport/Part.pm @@ -234,14 +234,13 @@ sub check_existing { sub handle_prices { my ($self, $entry) = @_; - foreach my $column (qw(sellprice listprice lastcost)) { - next unless $self->controller->headers->{used}->{ $column }; - + foreach my $column (qw(sellprice)) { + my $object = $entry->{object_to_save} || $entry->{object}; my $adjustment = $self->settings->{sellprice_adjustment}; - my $value = $entry->{object}->$column; + my $value = $object->$column; $value = $self->settings->{sellprice_adjustment_type} eq 'percent' ? $value * (100 + $adjustment) / 100 : $value + $adjustment; - $entry->{object}->$column($::form->round_amount($value, $self->settings->{sellprice_places})); + $object->$column($::form->round_amount($value, $self->settings->{sellprice_places})); } }