]> wagnertech.de Git - mfinanz.git/blobdiff - bin/mozilla/oe.pl
orderitems persistent teil III
[mfinanz.git] / bin / mozilla / oe.pl
index 59b5c6206fa301423290671066c61110d829baec..ad5406c90699d7e252bd5ddcea0e46fdb971492e 100644 (file)
@@ -1344,9 +1344,14 @@ sub delete {
   if (OE->delete(\%myconfig, \%$form)){
     # saving the history
     if(!exists $form->{addition}) {
-      $form->{snumbers} = qq|ordnumber_| . $form->{ordnumber};
-      $form->{addition} = "DELETED";
-      $form->save_history;
+      if ( $form->{formname} eq 'sales_quotation' or  $form->{formname} eq 'request_quotation' ) {
+          $form->{snumbers} = qq|quonumber_| . $form->{quonumber};
+      } elsif ( $form->{formname} eq 'sales_order' or $form->{formname} eq 'purchase_order') {
+          $form->{snumbers} = qq|ordnumber_| . $form->{ordnumber};
+      };
+        $form->{what_done} = $form->{formname};
+        $form->{addition} = "DELETED";
+        $form->save_history;
     }
     # /saving the history
     $form->info($msg);
@@ -1612,6 +1617,7 @@ sub save_as_new {
 
   $form->{saveasnew} = 1;
   map { delete $form->{$_} } qw(printed emailed queued delivered closed);
+  delete $form->{"orderitems_id_$_"} for 1 .. $form->{"rowcount"};
 
   # Let kivitendo assign a new order number if the user hasn't changed the
   # previous one. If it has been changed manually then use it as-is.
@@ -1810,6 +1816,7 @@ sub poso {
 
   # reset
   map { delete $form->{$_} } qw(id subject message cc bcc printed emailed queued customer vendor creditlimit creditremaining discount tradediscount oldinvtotal delivered ordnumber);
+  delete $form->{"orderitems_id_$_"} for 1 .. $form->{"rowcount"};  # always reset orderitems_id
 
   # if purchase_order was generated from sales_order, use  lastcost_$i as sellprice_$i
   # also reset discounts
@@ -2101,8 +2108,8 @@ sub check_transport_cost_reminder_article_number {
   $main::lxdebug->leave_sub();
 }
 sub dispatcher {
-  foreach my $action (qw(delete delivery_order e_mail invoice print purchase_order purchase_order quotation
-                         request_for_quotation sales_order sales_order save save_and_close save_as_new ship_to update)) {
+  foreach my $action (qw(delete delivery_order e_mail invoice print purchase_order quotation
+                         request_for_quotation sales_order save save_and_close save_as_new ship_to update)) {
     if ($::form->{"action_${action}"}) {
       call_sub($action);
       return;