# 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},
+ 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,
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}) {
(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);