]> wagnertech.de Git - mfinanz.git/blobdiff - bin/mozilla/io.pl
Aufräumarbeiten verknüpfte Positionen
[mfinanz.git] / bin / mozilla / io.pl
index 0b0d7723d249e194cb0e58b626cb2d1d73296398..e411fb552f6b950d796bb9905329578ed969acbb 100644 (file)
@@ -436,14 +436,13 @@ sub display_row {
     my @hidden_vars;
     # add hidden ids for persistent (item|invoice)_ids and previous (converted_from*) ids
     if ($is_quotation) {
-      push @hidden_vars, qw(orderitems_id);
+      push @hidden_vars, qw(orderitems_id converted_from_orderitems_id);
     }
     if ($is_s_p_order) {
-      push @hidden_vars, qw(orderitems_id converted_from_quotation_orderitems_id);
+      push @hidden_vars, qw(orderitems_id converted_from_orderitems_id converted_from_invoice_id);
     }
     if ($is_invoice) {
-      push @hidden_vars, qw(invoice_id converted_from_quotation_orderitems_id converted_from_order_orderitems_id
-                            converted_from_delivery_order_items_id);
+      push @hidden_vars, qw(invoice_id converted_from_orderitems_id converted_from_delivery_order_items_id);
     }
     if ($::form->{type} =~ /credit_note/) {
       push @hidden_vars, qw(invoice_id converted_from_invoice_id);
@@ -452,7 +451,7 @@ sub display_row {
       map { $form->{"${_}_${i}"} = $form->format_amount(\%myconfig, $form->{"${_}_${i}"}) } qw(sellprice discount lastcost);
       push @hidden_vars, grep { defined $form->{"${_}_${i}"} } qw(sellprice discount not_discountable price_factor_id lastcost);
       push @hidden_vars, "stock_${stock_in_out}_sum_qty", "stock_${stock_in_out}";
-      push @hidden_vars, qw(delivery_order_items_id converted_from_order_orderitems_id);
+      push @hidden_vars, qw(delivery_order_items_id converted_from_orderitems_id);
     }
 
     my @HIDDENS = map { value => $_}, (
@@ -743,8 +742,8 @@ sub remove_emptied_rows {
                 marge_price_factor lastcost price_factor_id partnotes
                 stock_out stock_in has_sernumber reqdate orderitems_id
                 active_price_source active_discount_source delivery_order_items_id
-                invoice_id converted_from_quotation_orderitems_id
-                converted_from_order_orderitems_id converted_from_delivery_order_items_id);
+                invoice_id converted_from_orderitems_id
+                converted_from_delivery_order_items_id converted_from_invoice_id);
 
   my $ic_cvar_configs = CVar->get_configs(module => 'IC');
   push @flds, map { "ic_cvar_$_->{name}" } @{ $ic_cvar_configs };
@@ -884,6 +883,7 @@ sub order {
     map({ $form->{"${_}_${i}"} = $form->parse_amount(\%myconfig, $form->{"${_}_${i}"})
             if ($form->{"${_}_${i}"}) }
         qw(ship qty sellprice listprice basefactor discount));
+    $form->{"converted_from_invoice_id_$i"} = delete $form->{"invoice_id_$i"};
   }
 
   &prepare_order;
@@ -904,7 +904,7 @@ sub quotation {
   # we are coming from *_order and convert to quotation
   # it seems that quotation is only called if we have a existing order
   if ($form->{type} =~  /(sales|purchase)_order/) {
-    delete $form->{"orderitems_id_$_"} for 1 .. $form->{"rowcount"};
+    $form->{"converted_from_orderitems_id_$_"} = delete $form->{"orderitems_id_$_"} for 1 .. $form->{"rowcount"};
   }
   if ($form->{second_run}) {
     $form->{print_and_post} = 0;