From: Moritz Bunkus Date: Wed, 25 Jun 2008 16:09:06 +0000 (+0000) Subject: Lagerbericht: Bei der Auswahl der Keys aus $form, die für die Auswahl der aus den... X-Git-Tag: release-2.6.0beta1~107 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=4895d0c67367abacd4961ba8ed3f3baf8b16a036;p=kivitendo-erp.git Lagerbericht: Bei der Auswahl der Keys aus $form, die für die Auswahl der aus den Tabellen auszulesenden Spalten verwantwortlich sind, strenger sein. Der Key muss mit "l_" beginnen. Wird "l_" auch in der Mitte zugelassen, so schlägt dies fehl, wenn per ReportGenerator exportiert wird. Grund ist, dass diese Variablen auch nochmal mit dem Präfix "report_generator_hidden_*" in $form vorhanden sind. Dadurch würden Spalten selektiert, die es in der Datenbank nicht gibt. --- diff --git a/SL/WH.pm b/SL/WH.pm index 00220f245..66bf3feab 100644 --- a/SL/WH.pm +++ b/SL/WH.pm @@ -240,12 +240,12 @@ sub get_warehouse_journal { # build the select clauses. # take all the requested ones from the first hash and overwrite them from the out/in hashes if present. for my $i ('trans', 'out', 'in') { - $select{$i} = join ', ', map { +/l_/; ($select_tokens{$i}{"$'"} || $select_tokens{'trans'}{"$'"}) . " AS r_$'" } - ( grep( { !/qty$/ and /l_/ and $form->{$_} eq 'Y' } keys %$form), qw(l_parts_id l_qty l_partunit l_itime) ); + $select{$i} = join ', ', map { +/^l_/; ($select_tokens{$i}{"$'"} || $select_tokens{'trans'}{"$'"}) . " AS r_$'" } + ( grep( { !/qty$/ and /^l_/ and $form->{$_} eq 'Y' } keys %$form), qw(l_parts_id l_qty l_partunit l_itime) ); } my $group_clause = join ", ", map { +/^l_/; "r_$'" } - ( grep( { !/qty$/ and /l_/ and $form->{$_} eq 'Y' } keys %$form), qw(l_parts_id l_partunit l_itime) ); + ( grep( { !/qty$/ and /^l_/ and $form->{$_} eq 'Y' } keys %$form), qw(l_parts_id l_partunit l_itime) ); my $query = qq|SELECT DISTINCT $select{trans} @@ -434,12 +434,12 @@ sub get_warehouse_report { "warehousedescription" => "w.description", "partunit" => "p.unit", ); - my $select_clause = join ', ', map { +/l_/; "$select_tokens{$'} AS $'" } - ( grep( { !/qty/ and /l_/ and $form->{$_} eq 'Y' } keys %$form), + my $select_clause = join ', ', map { +/^l_/; "$select_tokens{$'} AS $'" } + ( grep( { !/qty/ and /^l_/ and $form->{$_} eq 'Y' } keys %$form), qw(l_parts_id l_qty l_partunit) ); my $group_clause = join ", ", map { +/^l_/; "$'" } - ( grep( { !/qty/ and /l_/ and $form->{$_} eq 'Y' } keys %$form), + ( grep( { !/qty/ and /^l_/ and $form->{$_} eq 'Y' } keys %$form), qw(l_parts_id l_partunit) ); my $query =