X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=inline;f=SL%2FOE.pm;h=1e6a47c6207b4f422663360b5d014db89195eecf;hb=f6132edeac1ec4247e126c3ec5902b6fcce165b3;hp=ceca51a4f7e6d7e22cc5fb88e59bada8dbe1341b;hpb=c2eb03d45b1602b75a2a3074d5baaf650f1eb631;p=kivitendo-erp.git diff --git a/SL/OE.pm b/SL/OE.pm index ceca51a4f..1e6a47c62 100644 --- a/SL/OE.pm +++ b/SL/OE.pm @@ -535,14 +535,18 @@ sub save { $pricegroup_id *= 1; $pricegroup_id = undef if !$pricegroup_id; - if ( $::instance_conf->get_order_always_project && !$form->{"globalproject_id"} && ( $form->{type} eq 'sales_order' ) ) { + # force new project, if not set yet + if ($::instance_conf->get_order_always_project && !$form->{"globalproject_id"} && ($form->{type} eq 'sales_order')) { + require SL::DB::Customer; + my $customer = SL::DB::Manager::Customer->find_by(id => $form->{customer_id}); + die "Can't find customer" unless $customer; my $new_project = SL::DB::Project->new( - projectnumber => $form->{ordnumber}, - description => $form->{customer}, - active => 1, - project_type_id => $::instance_conf->get_project_type_id, + projectnumber => $form->{ordnumber}, + description => $customer->name, + customer_id => $customer->id, + active => 1, + project_type_id => $::instance_conf->get_project_type_id, project_status_id => $::instance_conf->get_project_status_id, - # id => $form->{globalproject_id} ); $new_project->save; $form->{"globalproject_id"} = $new_project->id; @@ -640,7 +644,7 @@ SQL my $tax = 0; map { $tax += $form->round_amount($taxaccounts{$_}, 2) } keys %taxaccounts; - $amount = $form->round_amount($netamount + $tax, 2); + $amount = $form->round_amount($netamount + $tax, 2, 1); $netamount = $form->round_amount($netamount, 2); if ($form->{currency} eq $form->{defaultcurrency}) { @@ -901,7 +905,9 @@ sub retrieve { (SELECT c.accno FROM chart c WHERE d.income_accno_id = c.id) AS income_accno, (SELECT c.accno FROM chart c WHERE d.expense_accno_id = c.id) AS expense_accno, (SELECT c.accno FROM chart c WHERE d.fxgain_accno_id = c.id) AS fxgain_accno, - (SELECT c.accno FROM chart c WHERE d.fxloss_accno_id = c.id) AS fxloss_accno + (SELECT c.accno FROM chart c WHERE d.fxloss_accno_id = c.id) AS fxloss_accno, + (SELECT c.accno FROM chart c WHERE d.rndgain_accno_id = c.id) AS rndgain_accno, + (SELECT c.accno FROM chart c WHERE d.rndloss_accno_id = c.id) AS rndloss_accno $query_add FROM defaults d|; my $ref = selectfirst_hashref_query($form, $dbh, $query);