Anpassung der CH-Erfolgsrechnung für nicht CH-Ausgabeformate
[kivitendo-erp.git] / SL / DO.pm
index 0e14319..b51fc0f 100644 (file)
--- a/SL/DO.pm
+++ b/SL/DO.pm
@@ -25,7 +25,8 @@
 # GNU General Public License for more details.
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+# MA 02110-1335, USA.
 #======================================================================
 #
 # Delivery Order entry module
@@ -578,7 +579,8 @@ sub mark_orders_if_delivered {
     foreach my $oe_id (keys %ship) {
         do_query($form, $dbh,"UPDATE oe SET delivered = ".($ship{$oe_id}->{delivered}?"TRUE":"FALSE")." WHERE id = ?", $oe_id);
     }
-  });
+    1;
+  }) or do { die SL::DB->client->error };
 
   $main::lxdebug->leave_sub();
 }
@@ -605,7 +607,8 @@ sub close_orders {
     my $query    = qq|UPDATE delivery_orders SET closed = TRUE WHERE id IN (| . join(', ', ('?') x scalar(@{ $params{ids} })) . qq|)|;
 
     do_query($form, $dbh, $query, map { conv_i($_) } @{ $params{ids} });
-  });
+    1;
+  }) or die { SL::DB->client->error };
 
   $form->new_lastmtime('delivery_orders');
 
@@ -743,15 +746,14 @@ sub retrieve {
     $sth   = prepare_execute_query($form, $dbh, $query, $form->{id});
 
     $ref   = $sth->fetchrow_hashref("NAME_lc");
-    delete $ref->{id};
-    map { $form->{$_} = $ref->{$_} } keys %$ref;
+    $form->{$_} = $ref->{$_} for grep { m{^shipto(?!_id$)} } keys %$ref;
     $sth->finish();
 
-    if ($form->{shipto_id}) {
+    if ($ref->{shipto_id}) {
       my $cvars = CVar->get_custom_variables(
         dbh      => $dbh,
         module   => 'ShipTo',
-        trans_id => $form->{shipto_id},
+        trans_id => $ref->{shipto_id},
       );
       $form->{"shiptocvar_$_->{name}"} = $_->{value} for @{ $cvars };
     }
@@ -777,7 +779,7 @@ sub retrieve {
   # stuff different from the whole will not be overwritten, but saved with a suffix.
   $query =
     qq|SELECT doi.id AS delivery_order_items_id,
-         p.partnumber, p.assembly, p.listprice, doi.description, doi.qty,
+         p.partnumber, p.part_type, p.listprice, doi.description, doi.qty,
          doi.sellprice, doi.parts_id AS id, doi.unit, doi.discount, p.notes AS partnotes,
          doi.reqdate, doi.project_id, doi.serialnumber, doi.lastcost,
          doi.ordnumber, doi.transdate, doi.cusordnumber, doi.longdescription,
@@ -1300,7 +1302,7 @@ sub get_shipped_qty {
     my @dolinks  = RecordLinks->get_links('dbh'       => $dbh,
                                        'from_table' => 'oe',
                                        'to_table'   => 'delivery_orders',
-                                       'from_id'    => @oe_ids);
+                                       'from_id'    => \@oe_ids);
 
     my @do_ids = map { $_->{to_id} }  @dolinks ;
     if (scalar (@do_ids) == 0) {