X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDB%2FHelper%2FTransNumberGenerator.pm;h=f7c77930568d0e2a02ea9eea6e85d758a9331dc6;hb=69a44d3b470358fcd7e473d38fb5dfd5c62c8b50;hp=0505268410af8cd379555ef0730a18af353f9f64;hpb=fb99b68ae1fff41a0b05666ceb772a2b3d4acb64;p=kivitendo-erp.git diff --git a/SL/DB/Helper/TransNumberGenerator.pm b/SL/DB/Helper/TransNumberGenerator.pm index 050526841..f7c779305 100644 --- a/SL/DB/Helper/TransNumberGenerator.pm +++ b/SL/DB/Helper/TransNumberGenerator.pm @@ -10,21 +10,30 @@ use List::Util qw(max); use SL::DB::Default; -my $oe_scoping = sub { +sub oe_scoping { SL::DB::Manager::Order->type_filter($_[0]); -}; +} -my $do_scoping = sub { +sub do_scoping { SL::DB::Manager::DeliveryOrder->type_filter($_[0]); -}; - -my %specs = ( ar => { number_column => 'invnumber', fill_holes_in_range => 1 }, - sales_quotation => { number_column => 'quonumber', number_range_column => 'sqnumber', scoping => $oe_scoping, }, - sales_order => { number_column => 'ordnumber', number_range_column => 'sonumber', scoping => $oe_scoping, }, - request_quotation => { number_column => 'quonumber', number_range_column => 'rfqnumber', scoping => $oe_scoping, }, - purchase_order => { number_column => 'ordnumber', number_range_column => 'ponumber', scoping => $oe_scoping, }, - sales_delivery_order => { number_column => 'donumber', number_range_column => 'sdonumber', scoping => $do_scoping, fill_holes_in_range => 1 }, - purchase_delivery_order => { number_column => 'donumber', number_range_column => 'pdonumber', scoping => $do_scoping, fill_holes_in_range => 1 }, +} + +sub parts_scoping { + SL::DB::Manager::Part->type_filter($_[0]); +} + +my %specs = ( ar => { number_column => 'invnumber', fill_holes_in_range => 1 }, + sales_quotation => { number_column => 'quonumber', number_range_column => 'sqnumber', scoping => \&oe_scoping, }, + sales_order => { number_column => 'ordnumber', number_range_column => 'sonumber', scoping => \&oe_scoping, }, + request_quotation => { number_column => 'quonumber', number_range_column => 'rfqnumber', scoping => \&oe_scoping, }, + purchase_order => { number_column => 'ordnumber', number_range_column => 'ponumber', scoping => \&oe_scoping, }, + sales_delivery_order => { number_column => 'donumber', number_range_column => 'sdonumber', scoping => \&do_scoping, fill_holes_in_range => 1 }, + purchase_delivery_order => { number_column => 'donumber', number_range_column => 'pdonumber', scoping => \&do_scoping, fill_holes_in_range => 1 }, + customer => { number_column => 'customernumber', number_range_column => 'customernumber', }, + 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 }, ); sub get_next_trans_number {