use Carp;
use List::Util qw(max);
-use SL::DB::Default;
use SL::PrefixedNumber;
sub oe_scoping {
vendor => { number_column => 'vendornumber', number_range_column => 'vendornumber', },
part => { number_column => 'partnumber', number_range_column => 'articlenumber', scoping => \&parts_scoping },
service => { number_column => 'partnumber', number_range_column => 'servicenumber', scoping => \&parts_scoping },
- assembly => { number_column => 'partnumber', number_range_column => 'articlenumber', scoping => \&parts_scoping },
+ assembly => { number_column => 'partnumber', number_range_column => 'assemblynumber', scoping => \&parts_scoping },
);
sub get_next_trans_number {
my @numbers = map { $_->$number_column } @{ $self->_get_manager_class->get_all(%conditions) };
my %numbers_in_use = map { ( $_ => 1 ) } @numbers;
+ require SL::DB::Default;
my $defaults = SL::DB::Default->get;
- my $sequence = SL::PrefixedNumber->new(number => $defaults->$number_range_column);
+ $number_range_column = 'articlenumber' if $number_range_column eq 'assemblynumber' and length($defaults->$number_range_column) < 1;
+ my $sequence = SL::PrefixedNumber->new(number => ($defaults->$number_range_column || 1));
$sequence->set_to_max(@numbers) if !$fill_holes_in_range;