DeliveryOrder: fix array conversion in calculate_stock_in_out
authorSven Schöling <s.schoeling@googlemail.com>
Sat, 13 Nov 2021 17:03:00 +0000 (18:03 +0100)
committerJan Büren <jan@kivitendo.de>
Mon, 14 Feb 2022 14:02:19 +0000 (15:02 +0100)
SL/Controller/DeliveryOrder.pm

index de8247e..547e3e2 100644 (file)
@@ -2005,12 +2005,14 @@ sub store_pdf_to_webdav_and_filemanagement {
 sub calculate_stock_in_out {
   my ($self, $item) = @_;
 
-  return "" if !$item->part || !$item->part->unit;
+  return "" if !$item->part || !$item->part->unit || !$item->unit;
 
   my $in_out   = $self->type_data->properties("transfer");
 
   my $do_qty   = $item->qty;
-  my $sum      = sum0 map { $_->unit_obj->convert_to($_->qty, $item->unit_obj) } @{ $item->delivery_order_stock_entries };
+  my $sum      = sum0 map {
+    $_->unit_obj->convert_to($_->qty, $item->unit_obj)
+  } $item->delivery_order_stock_entries;
 
   my $matches  = $do_qty == $sum;
   my $content  = _format_number_units($sum, 2, $item->unit_obj, $item->part->unit_obj);