+ $form->update_exchangerate($dbh, $form->{currency}, $form->{transdate}, $form->{exchangerate}, 0)
+ if ($form->{currency} ne $form->{defaultcurrency}) && !$form->check_exchangerate($myconfig, $form->{currency}, $form->{transdate}, 'buy');
+
+ if (!$payments_only) {
+ $query =
+ qq|UPDATE ar set
+ invnumber = ?, ordnumber = ?, transdate = ?, customer_id = ?,
+ taxincluded = ?, amount = ?, duedate = ?, deliverydate = ?, paid = ?,
+ currency_id = (SELECT id FROM currencies WHERE name = ?),
+ netamount = ?, notes = ?, department_id = ?,
+ employee_id = ?, storno = ?, storno_id = ?, globalproject_id = ?,
+ direct_debit = ?
+ WHERE id = ?|;
+ my @values = ($form->{invnumber}, $form->{ordnumber}, conv_date($form->{transdate}), conv_i($form->{customer_id}), $form->{taxincluded} ? 't' : 'f', $form->{amount},
+ conv_date($form->{duedate}), conv_date($form->{deliverydate}), $form->{paid},
+ $form->{currency},
+ $form->{netamount}, $form->{notes}, conv_i($form->{department_id}),
+ conv_i($form->{employee_id}), $form->{storno} ? 't' : 'f', $form->{storno_id},
+ conv_i($form->{globalproject_id}), $form->{direct_debit} ? 't' : 'f', conv_i($form->{id}));
+ do_query($form, $dbh, $query, @values);
+
+ # add individual transactions for AR, amount and taxes
+ for $i (1 .. $form->{rowcount}) {
+ if ($form->{"amount_$i"} != 0) {
+ my $project_id = conv_i($form->{"project_id_$i"});
+
+ # insert detail records in acc_trans
+ $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, project_id, taxkey, tax_id, chart_link)
+ VALUES (?, ?, ?, ?, ?, ?, ?, (SELECT c.link FROM chart c WHERE c.id = ?))|;
+ @values = (conv_i($form->{id}), $form->{AR_amounts}{"amount_$i"}, conv_i($form->{"amount_$i"}), conv_date($form->{transdate}), $project_id,
+ conv_i($form->{"taxkey_$i"}), conv_i($form->{"tax_id_$i"}), $form->{AR_amounts}{"amount_$i"});
+ do_query($form, $dbh, $query, @values);
+
+ if ($form->{"tax_$i"} != 0) {
+ # insert detail records in acc_trans
+ $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, project_id, taxkey, tax_id, chart_link)
+ VALUES (?, (SELECT c.id FROM chart c WHERE c.accno = ?), ?, ?, ?, ?, ?, (SELECT c.link FROM chart c WHERE c.accno = ?))|;
+ @values = (conv_i($form->{id}), $form->{AR_amounts}{"tax_$i"}, conv_i($form->{"tax_$i"}), conv_date($form->{transdate}), $project_id,
+ conv_i($form->{"taxkey_$i"}), conv_i($form->{"tax_id_$i"}), $form->{AR_amounts}{"tax_$i"});
+ do_query($form, $dbh, $query, @values);