Artikelstammdaten: Verkaufspreisänderungen nicht mehr an Erzeugnisse propagieren
authorMoritz Bunkus <m.bunkus@linet-services.de>
Wed, 8 Jun 2016 12:47:42 +0000 (14:47 +0200)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Wed, 8 Jun 2016 12:47:59 +0000 (14:47 +0200)
SL/IC.pm
doc/changelog

index 8f26502..0b5db7e 100644 (file)
--- a/SL/IC.pm
+++ b/SL/IC.pm
@@ -262,16 +262,8 @@ sub save {
     }
 
     # get old price
-    $query = qq|SELECT sellprice, weight FROM parts WHERE id = ?|;
-    my ($sellprice, $weight) = selectrow_query($form, $dbh, $query, conv_i($form->{id}));
-
-    # if item is part of an assembly adjust all assemblies
-    $query = qq|SELECT id, qty FROM assembly WHERE parts_id = ?|;
-    $sth = prepare_execute_query($form, $dbh, $query, conv_i($form->{id}));
-    while (my ($id, $qty) = $sth->fetchrow_array) {
-      &update_assembly($dbh, $form, $id, $qty, $sellprice * 1, $weight * 1);
-    }
-    $sth->finish;
+    $query = qq|SELECT sellprice FROM parts WHERE id = ?|;
+    my ($sellprice) = selectrow_query($form, $dbh, $query, conv_i($form->{id}));
 
     # delete makemodel records
     do_query($form, $dbh, qq|DELETE FROM makemodel WHERE parts_id = ?|, conv_i($form->{id}));
@@ -553,31 +545,6 @@ SQL
   return $rc;
 }
 
-sub update_assembly {
-  $main::lxdebug->enter_sub();
-
-  my ($dbh, $form, $id, $qty, $sellprice, $weight) = @_;
-
-  my $query = qq|SELECT id, qty FROM assembly WHERE parts_id = ?|;
-  my $sth = prepare_execute_query($form, $dbh, $query, conv_i($id));
-
-  while (my ($pid, $aqty) = $sth->fetchrow_array) {
-    &update_assembly($dbh, $form, $pid, $aqty * $qty, $sellprice, $weight);
-  }
-  $sth->finish;
-
-  $query =
-    qq|UPDATE parts SET sellprice = sellprice + ?, weight = weight + ?
-       WHERE id = ?|;
-  my @values = ($qty * ($form->{sellprice} - $sellprice),
-             $qty * ($form->{weight} - $weight), conv_i($id));
-  do_query($form, $dbh, $query, @values);
-
-  $form->new_lastmtime('parts') if $id == $form->{id};
-
-  $main::lxdebug->leave_sub();
-}
-
 sub retrieve_assemblies {
   $main::lxdebug->enter_sub();
 
index 0d20add..3864465 100644 (file)
@@ -24,6 +24,9 @@ kleinere neue Features und Detailverbesserungen:
   - Wird in der Konfiguration [mail_devlivery]/method auf einen leeren Wert
     gesetzt wird jetzt Mailversand komplett ausgeschaltet, vorher wurde bei
     Werten die nicht 'sendmail' oder 'smtp' sind SMTP als Vorauswahl benutzt.
+  - Änderungen des Verkaufspreises von Artikeln, die Bestandteile von
+    Erzeugnissen sind, haben nun keine Auswirkungen auf die
+    Verkaufspreise der Erzeugnisse mehr.
 
 Brieffunktion:
   - Beim Speichern und Drucken von Briefen werden diese im