Merge von 684, 686-689 aus unstable: Sammelauftraege
authorStephan Köhler <s.koehler@linet-services.de>
Mon, 12 Dec 2005 16:04:55 +0000 (16:04 +0000)
committerStephan Köhler <s.koehler@linet-services.de>
Mon, 12 Dec 2005 16:04:55 +0000 (16:04 +0000)
r684 - Umwandeln eines Sammelauftrags in eine Rechnung ignoriert Nachkommastellen
r686 - Sammelbestellungen koennen nur aus Auftraegen generiert werden
r687 - Noch ein paar Formatierungsfehler bei Umwandlung von Sammelbestellung in Rechnung
r688 - Bereitstellen der Variablen transdate_$i und ordnumber_$i von Sammelbestellungen fuer die Druckausgabe
r689 - Variablen fuer Druck bei Sammelrechnungen umbenannt von ordnumber und transdate nach ordnumber_oe und transdate_oe wg. Namenskollision

SL/IS.pm
SL/OE.pm
bin/mozilla/io.pl
bin/mozilla/oe.pl

index 8643eae..6043323 100644 (file)
--- a/SL/IS.pm
+++ b/SL/IS.pm
@@ -110,6 +110,8 @@ sub invoice_details {
       push(@{ $form->{deliverydate} }, qq|$form->{"deliverydate_$i"}|);
 
       push(@{ $form->{sellprice} }, $form->{"sellprice_$i"});
+      push(@{ $form->{ordnumber_oe} }, qq|$form->{"ordnumber_$i"}|);
+      push(@{ $form->{transdate_oe} }, qq|$form->{"transdate_$i"}|);
 
       if ($form->{lizenzen}) {
         if ($form->{"licensenumber_$i"}) {
index 4c65c05..4abdac0 100644 (file)
--- a/SL/OE.pm
+++ b/SL/OE.pm
@@ -467,6 +467,25 @@ sub close_orders {
 
   my ($self, $myconfig ,$form) = @_;
 
+  for my $i (1 .. $form->{rowcount}) {
+
+    map {
+      $form->{"${_}_$i"} = $form->parse_amount($myconfig, $form->{"${_}_$i"})
+    } qw(qty ship);
+    if ($delete_oe_id) {
+      $form->{"orderitems_id_$i"} = "";
+    }
+
+    if ($form->{"qty_$i"}) {
+
+      # set values to 0 if nothing entered
+      $form->{"discount_$i"} =
+        $form->parse_amount($myconfig, $form->{"discount_$i"});
+
+      $form->{"sellprice_$i"} =
+        $form->parse_amount($myconfig, $form->{"sellprice_$i"});
+    }
+  }
   # get ids from $form
   map { push @ids, $form->{"ordnumber_$_"} if $form->{"ordnumber_$_"} } (1 .. $form->{rowcount});
   
index d4eabdf..1a2a9c3 100644 (file)
@@ -1546,7 +1546,8 @@ sub print_form {
     push @a,
       ("partnumber_$i", "description_$i",
        "partsgroup_$i", "serialnumber_$i",
-       "bin_$i",        "unit_$i");
+       "bin_$i",        "unit_$i",
+       "transdate_$i",  "ordnumber_$i");
   }
   map { push @a, "${_}_description" } split / /, $form->{taxaccounts};
 
index dbb74a9..b4760b2 100644 (file)
@@ -1833,10 +1833,10 @@ sub invoice {
   # close orders/quotations
   $form->{closed} = 1;
 
-  # save order iff one ordnumber has been given 
+  # save order if one ordnumber has been given 
   # if not it's most likely a collective order, which can't be saved back
   # so they just have to be closed
-  if ($form->{ordnumber} ne '') {
+  if (($form->{ordnumber} ne '') || ($form->{quonumber} ne '')) {
     OE->save(\%myconfig, \%$form);
   } else {
     OE->close_orders(\%myconfig, \%$form);