Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 3fbb200b

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

  • ID 3fbb200bd32ab4824f63a6fde1e0853dfe877b67
  • Vorgänger 4268b3d5
  • Nachfolger bc524b0d

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.

Unterschiede anzeigen:

SL/Controller/CsvImport/Part.pm
234 234
sub handle_prices {
235 235
  my ($self, $entry) = @_;
236 236

  
237
  foreach my $column (qw(sellprice listprice lastcost)) {
238
    next unless $self->controller->headers->{used}->{ $column };
239

  
237
  foreach my $column (qw(sellprice)) {
238
    my $object     = $entry->{object_to_save} || $entry->{object};
240 239
    my $adjustment = $self->settings->{sellprice_adjustment};
241
    my $value      = $entry->{object}->$column;
240
    my $value      = $object->$column;
242 241

  
243 242
    $value = $self->settings->{sellprice_adjustment_type} eq 'percent' ? $value * (100 + $adjustment) / 100 : $value + $adjustment;
244
    $entry->{object}->$column($::form->round_amount($value, $self->settings->{sellprice_places}));
243
    $object->$column($::form->round_amount($value, $self->settings->{sellprice_places}));
245 244
  }
246 245
}
247 246

  

Auch abrufbar als: Unified diff