sub items { goto &invoiceitems; }
sub add_items { goto &add_invoiceitems; }
+sub record_number { goto &invnumber; };
sub is_sales {
# For compatibility with Order, DeliveryOrder
$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};
return t8('Invoice');
}
+sub displayable_name {
+ join ' ', grep $_, map $_[0]->$_, qw(displayable_type record_number);
+};
+
sub abbreviation {
my ($self) = @_;
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>