use SL::IO;
use SL::MoreCommon;
+use Data::Dumper;
+
use strict;
sub post_transaction {
$main::lxdebug->enter_sub();
my ($self, $myconfig, $form, $provided_dbh, $payments_only) = @_;
-
+ my $rc = 0; # return code auf false setzen
# connect to database
my $dbh = $provided_dbh ? $provided_dbh : $form->dbconnect_noauto($myconfig);
my $exchangerate = 0;
$form->{defaultcurrency} = $form->get_default_currency($myconfig);
+ delete $form->{currency} unless $form->{defaultcurrency};
($null, $form->{department_id}) = split(/--/, $form->{department});
$form->{department_id} *= 1;
(split(/--/, $form->{"AP_amount_$i"}))[0];
}
($form->{AP_amounts}{payables}) = split(/--/, $form->{APselected});
- ($form->{AP}{payables}) = split(/--/, $form->{APselected});
+ ($form->{AP_payables}) = split(/--/, $form->{APselected});
# reverse and parse amounts
for my $i (1 .. $form->{rowcount}) {
# get paid account
- ($form->{AP}{"paid_$i"}) = split(/--/, $form->{"AP_paid_$i"});
+ ($form->{"AP_paid_account_$i"}) = split(/--/, $form->{"AP_paid_$i"});
$form->{"datepaid_$i"} = $form->{transdate}
unless ($form->{"datepaid_$i"});
qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, project_id, taxkey) | .
qq|VALUES (?, (SELECT id FROM chart WHERE accno = ?), ?, ?, ?, | .
qq| (SELECT taxkey_id FROM chart WHERE accno = ?))|;
- @values = ($form->{id}, $form->{AP}{payables}, $amount,
+ @values = ($form->{id}, $form->{AP_payables}, $amount,
conv_date($form->{"datepaid_$i"}), $project_id,
- $form->{AP}{payables});
+ $form->{AP_payables});
do_query($form, $dbh, $query, @values);
}
$form->{payables} = $amount;
qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, source, memo, project_id, taxkey) | .
qq|VALUES (?, (SELECT id FROM chart WHERE accno = ?), ?, ?, ?, ?, ?, | .
qq| (SELECT taxkey_id FROM chart WHERE accno = ?))|;
- @values = ($form->{id}, $form->{AP}{"paid_$i"}, $form->{"paid_$i"},
+ @values = ($form->{id}, $form->{"AP_paid_account_$i"}, $form->{"paid_$i"},
conv_date($form->{"datepaid_$i"}), $form->{"source_$i"},
- $form->{"memo_$i"}, $project_id, $form->{AP}{"paid_$i"});
+ $form->{"memo_$i"}, $project_id, $form->{"AP_paid_account_$i"});
do_query($form, $dbh, $query, @values);
# add exchange rate difference
qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, fx_transaction, cleared, project_id, taxkey) | .
qq|VALUES (?, (SELECT id FROM chart WHERE accno = ?), ?, ?, 't', 'f', ?, | .
qq| (SELECT taxkey_id FROM chart WHERE accno = ?))|;
- @values = ($form->{id}, $form->{AP}{"paid_$i"}, $amount,
+ @values = ($form->{id}, $form->{"AP_paid_account_$i"}, $amount,
conv_date($form->{"datepaid_$i"}), $project_id,
- $form->{AP}{"paid_$i"});
+ $form->{"AP_paid_account_$i"});
do_query($form, $dbh, $query, @values);
}
IO->set_datepaid(table => 'ap', id => $form->{id}, dbh => $dbh);
- my $rc = 1;
if (!$provided_dbh) {
$dbh->commit();
$dbh->disconnect();
}
+ $rc = 1; # Den return-code auf true setzen, aber nur falls beim commit alles i.O. ist
+
$main::lxdebug->leave_sub();
return $rc;
$self->setup_form($form);
- ($form->{defaultcurrency}) = selectrow_query($form, $dbh, qq|SELECT curr FROM defaults|);
- $form->{defaultcurrency} = (split m/:/, $form->{defaultcurrency})[0];
- $form->{currency} = $form->{defaultcurrency} if ($form->{defaultcurrency} && ($form->{currency} =~ m/^\s*$/));
-
- $form->{exchangerate} = $form->format_amount($myconfig, $form->{exchangerate});
+ $form->{exchangerate} = $form->format_amount($myconfig, $form->{exchangerate});
+ $form->{defaultcurrency} = $form->get_default_currency($myconfig);
+ delete $form->{currency} unless $form->{defaultcurrency};
# Get the AP accno.
$query =