X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/1e542cc70c846448b75be1f36becd61601a4b3d3..ea8e8a6295c01df6520af9f48af61642b7c2895b:/SL/OE.pm diff --git a/SL/OE.pm b/SL/OE.pm index ae3ff0807..3d92746b5 100644 --- a/SL/OE.pm +++ b/SL/OE.pm @@ -46,6 +46,7 @@ use SL::DB::Status; use SL::DB::Tax; use SL::DBUtils; use SL::IC; +use SL::TransNumber; use strict; @@ -314,6 +315,10 @@ sub save { my $ml = ($form->{type} eq 'sales_order') ? 1 : -1; + my $number_field = $form->{type} =~ m{order} ? 'ordnumber' : 'quonumber'; + my $trans_number = SL::TransNumber->new(type => $form->{type}, dbh => $dbh, number => $form->{$number_field}, id => $form->{id}); + $form->{$number_field} ||= $trans_number->create_unique; + if ($form->{id}) { $query = qq|DELETE FROM custom_variables WHERE (config_id IN (SELECT id FROM custom_variable_configs WHERE module = 'IC')) @@ -1070,10 +1075,10 @@ sub order_details { %projects_by_id = map { $_->id => $_ } @$projects; } - $form->{globalprojectnumber} = $projects_by_id{$form->{"globalproject_id"}}->projectnumber; - $form->{globalprojectdescription} = $projects_by_id{$form->{"globalproject_id"}}->description; - if ($projects_by_id{$form->{"globalproject_id"}}) { + $form->{globalprojectnumber} = $projects_by_id{$form->{"globalproject_id"}}->projectnumber; + $form->{globalprojectdescription} = $projects_by_id{$form->{"globalproject_id"}}->description; + for (@{ $projects_by_id{$form->{"globalproject_id"}}->cvars_by_config }) { $form->{"project_cvar_" . $_->config->name} = $_->value_as_text; }