} @{ $items };
+ @items = grep { $params{item_filter}->($_) } @items if $params{item_filter};
@items = grep { $_->qty * 1 } @items if $params{skip_items_zero_qty};
@items = grep { $_->qty >=0 } @items if $params{skip_items_negative_qty};
If trueish then items with a quantity of 0 are skipped.
+=item C<item_filter>
+
+An optional code reference that is called for each item with the item
+as its sole parameter. Items for which the code reference returns a
+falsish value will be skipped.
+
=item C<attributes>
An optional hash reference. If it exists then it is passed to C<new>
$current_invoice_item;
} @{ $items };
+ @items = grep { $params{item_filter}->($_) } @items if $params{item_filter};
@items = grep { $_->qty * 1 } @items if $params{skip_items_zero_qty};
@items = grep { $_->qty >=0 } @items if $params{skip_items_negative_qty};
If trueish then items with a quantity of 0 are skipped.
+=item C<item_filter>
+
+An optional code reference that is called for each item with the item
+as its sole parameter. Items for which the code reference returns a
+falsish value will be skipped.
+
=item C<attributes>
An optional hash reference. If it exists then it is passed to C<new>
$form->{creditremaining} -= &invoicetotal;
}
- #sk
- # if pricegroups
- if ( $form->{type} =~ (/sales_quotation/)
- or (($form->{level} =~ /Sales/) and ($form->{type} =~ /invoice/))
- or (($form->{level} eq undef) and ($form->{type} =~ /invoice/))
- or ($form->{type} =~ /sales_order/)) {
-
- }
-
&display_form;
$main::lxdebug->leave_sub();