Bugfix für Bug 1770 (zweiter Teil):
authorBernd Blessmann <bibi@online.de>
Tue, 10 Jan 2012 10:50:59 +0000 (11:50 +0100)
committerWulf <wulf@coulmann.de>
Tue, 10 Jan 2012 16:09:13 +0000 (17:09 +0100)
Preisgruppen überleben jetzt Workflow über Lieferschein.

SL/DO.pm
bin/mozilla/do.pl
bin/mozilla/io.pl
bin/mozilla/oe.pl
doc/changelog
sql/Pg-upgrade2/delivery_order_items_add_pricegroup_id.sql [new file with mode: 0644]

index f241cdf..8e41361 100644 (file)
--- a/SL/DO.pm
+++ b/SL/DO.pm
@@ -252,9 +252,9 @@ sub save {
          id, delivery_order_id, parts_id, description, longdescription, qty, base_qty,
          sellprice, discount, unit, reqdate, project_id, serialnumber,
          ordnumber, transdate, cusordnumber,
-         lastcost, price_factor_id, price_factor, marge_price_factor)
+         lastcost, price_factor_id, price_factor, marge_price_factor, pricegroup_id)
        VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
-         (SELECT factor FROM price_factors WHERE id = ?), ?)|;
+         (SELECT factor FROM price_factors WHERE id = ?), ?, ?)|;
   my $h_item = prepare_query($form, $dbh, $q_item);
 
   my $q_item_stock =
@@ -301,7 +301,8 @@ sub save {
                $form->{"cusordnumber_$i"},
                $form->{"lastcost_$i"},
                conv_i($form->{"price_factor_id_$i"}), conv_i($form->{"price_factor_id_$i"}),
-               conv_i($form->{"marge_price_factor_$i"}));
+               conv_i($form->{"marge_price_factor_$i"}),
+               conv_i($form->{"pricegroup_id_$i"}));
     do_statement($form, $h_item, $q_item, @values);
 
     my $stock_info = DO->unpack_stock_information('packed' => $form->{"stock_${in_out}_$i"});
@@ -670,7 +671,7 @@ sub retrieve {
          doi.sellprice, doi.parts_id AS id, doi.unit, doi.discount, p.bin, p.notes AS partnotes,
          doi.reqdate, doi.project_id, doi.serialnumber, doi.lastcost,
          doi.ordnumber, doi.transdate, doi.cusordnumber, doi.longdescription,
-         doi.price_factor_id, doi.price_factor, doi.marge_price_factor,
+         doi.price_factor_id, doi.price_factor, doi.marge_price_factor, doi.pricegroup_id,
          pr.projectnumber, dord.transdate AS dord_transdate,
          pg.partsgroup
        FROM delivery_order_items doi
index cc04f57..2079533 100644 (file)
@@ -818,6 +818,13 @@ sub invoice {
 
   }
 
+  #  show pricegroup in newly loaded invoice when creating invoice from delivery order
+  for my $i (1 .. $form->{rowcount}) {
+    $form->{"sellprice_pg_$i"} = join /--/, $form->{"sellprice_$i"}, $form->{"pricegroup_id_$i"};
+  }
+  IS->get_pricegroups_for_parts(\%myconfig, \%$form);
+  set_pricegroup($_) for 1 .. $form->{rowcount};
+
   display_form();
 
   $main::lxdebug->leave_sub();
@@ -916,6 +923,14 @@ sub invoice_multi {
 
   invoice_links();
   prepare_invoice();
+
+  #  show pricegroup in newly loaded invoice when creating invoice from delivery order
+  for my $i (1 .. $form->{rowcount}) {
+    $form->{"sellprice_pg_$i"} = join /--/, $form->{"sellprice_$i"}, $form->{"pricegroup_id_$i"};
+  }
+  IS->get_pricegroups_for_parts(\%myconfig, \%$form);
+  set_pricegroup($_) for 1 .. $form->{rowcount};
+
   display_form();
 
   $main::lxdebug->leave_sub();
index 7627da1..dbefff3 100644 (file)
@@ -400,7 +400,7 @@ sub display_row {
 
     if ($is_delivery_order) {
       map { $form->{"${_}_${i}"} = $form->format_amount(\%myconfig, $form->{"${_}_${i}"}) } qw(sellprice discount lastcost);
-      push @hidden_vars, qw(sellprice discount not_discountable price_factor_id lastcost);
+      push @hidden_vars, qw(sellprice discount not_discountable price_factor_id lastcost pricegroup_id);
       push @hidden_vars, "stock_${stock_in_out}_sum_qty", "stock_${stock_in_out}";
     }
 
index 29012eb..dd1d8e2 100644 (file)
@@ -1849,6 +1849,9 @@ sub delivery_order {
 
   map { $form->{$_} = $old_values{$_} if ($old_values{$_}) } keys %old_values;
 
+  for my $i (1 .. $form->{rowcount}) {
+    (my $dummy, $form->{"pricegroup_id_$i"}) = split /--/, $form->{"sellprice_pg_$i"};
+  }
   update();
 
   $main::lxdebug->leave_sub();
index 78df107..479c59e 100644 (file)
@@ -76,6 +76,7 @@
   - Bugfix 1738:  Entwürfe können nicht gelöscht werden
   - Bugfix 1759: Währung bei Kunden / Lieferanten vorbelegen
   - Bugfix 1770: Währung / currency überlebt Workflow über Lieferschein nicht
+  - Bugfix 1770: (zweiter Teil) Preisgruppen überleben Workflow nicht
   - Bugfix 1773: SQL Fehler bei Anzeige von Angeboten
   - Bugfix 1725: In Mahnungen steht currency nicht als Variable zur Verfügung?
   - Bugfix 1771: Zahlungsausgang: Lieferant wird nicht ausgewählt, wenn Name 2 Leerzeichen hintereinander enthält
diff --git a/sql/Pg-upgrade2/delivery_order_items_add_pricegroup_id.sql b/sql/Pg-upgrade2/delivery_order_items_add_pricegroup_id.sql
new file mode 100644 (file)
index 0000000..4d896d1
--- /dev/null
@@ -0,0 +1,5 @@
+-- @tag: delivery_order_items_add_pricegroup_id
+-- @description: Spalten für Preisgruppen-Id für Lieferscheine
+-- @depends: release_2_6_3
+-- @charset: utf-8
+ALTER TABLE delivery_order_items ADD COLUMN pricegroup_id integer;