}
+ # Update chart.taxkey_id to the latest from taxkeys for this chart.
+ $query = <<SQL;
+ UPDATE chart
+ SET taxkey_id = (
+ SELECT taxkey_id
+ FROM taxkeys
+ WHERE taxkeys.chart_id = chart.id
+ ORDER BY startdate DESC
+ LIMIT 1
+ )
+ WHERE id = ?
+SQL
+
+ do_query($form, $dbh, $query, $form->{id});
+
# commit
my $rc = $dbh->commit;
$dbh->disconnect;
my ($self, $msg) = @_;
if (!$self->{callback}) {
-
$self->info($msg);
- ::end_of_request();
- }
-# my ($script, $argv) = split(/\?/, $self->{callback}, 2);
-# $script =~ s|.*/||;
-# $script =~ s|[^a-zA-Z0-9_\.]||g;
-# exec("perl", "$script", $argv);
+ } else {
+ print $::form->redirect_header($self->{callback});
+ }
- print $::form->redirect_header($self->{callback});
+ ::end_of_request();
$main::lxdebug->leave_sub();
}
$to_charset ||= Common::DEFAULT_CHARSET;
my $converter = _get_converter($from_charset, $to_charset);
- return $converter->convert($text);
+ $text = $converter->convert($text);
+ $text = decode("utf-8-strict", $text) if ($to_charset =~ m/^utf-?8$/i) && !Encode::is_utf8($text);
+
+ return $text;
}
sub _convert {
}
my $dpt_join;
+ my $where_dpt;
if ($form->{department}) {
my ($null, $department_id) = split /--/, $form->{department};
$dpt_join = qq| JOIN department d ON (a.department_id = d.id) |;
$where .= qq| AND (a.department_id = | . conv_i($department_id, 'NULL') . qq|)|;
+ $where_dpt = qq| AND (${arap}.department_id = | . conv_i($department_id, 'NULL') . qq|)|;
}
my $review_of_aging_list;
if ($form->{review_of_aging_list}) {
WHERE ((paid != amount) OR (datepaid > (date $todate) AND datepaid is not null))
AND NOT COALESCE (${arap}.storno, 'f')
AND (${arap}.${ct}_id = ${ct}.id)
+ $where_dpt
AND (${ct}.id = ?)
AND (transdate <= (date $todate) $fromwhere )
$review_of_aging_list
--- /dev/null
+-- @tag: chart_taxkey_id_from_taxkeys
+-- @description: chart.taxkey_id aus taxkeys aktualisieren
+-- @depends: release_2_6_2
+-- @charset: utf-8
+UPDATE chart
+SET taxkey_id = (
+ SELECT taxkey_id
+ FROM taxkeys
+ WHERE taxkeys.chart_id = chart.id
+ ORDER BY startdate DESC
+ LIMIT 1
+);