- qw(parts_id description qty sellprice discount project_id
- serialnumber pricegroup_id ordnumber transdate cusordnumber unit
- base_qty subtotal longdescription lastcost price_factor_id)),
- deliverydate => $source_item->reqdate,
- fxsellprice => $source_item->sellprice,);
- } @{ $source->items };
+ qw(parts_id description qty sellprice discount project_id serialnumber pricegroup_id transdate cusordnumber unit
+ base_qty longdescription lastcost price_factor_id), @item_columns),
+ deliverydate => $source_item->reqdate,
+ fxsellprice => $source_item->sellprice,
+ custom_variables => \@custom_variables,
+ ordnumber => ref($item_parent) eq 'SL::DB::Order' ? $item_parent->ordnumber : $source_item->ordnumber,
+ donumber => ref($item_parent) eq 'SL::DB::DeliveryOrder' ? $item_parent->donumber : $source_item->can('donumber') ? $source_item->donumber : '',
+ );
+
+ } @{ $items };
+
+ @items = grep { $_->qty * 1 } @items if $params{skip_items_zero_qty};
+ @items = grep { $_->qty >=0 } @items if $params{skip_items_negative_qty};