X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FWH.pm;h=52e174ff0bfe3c4ed6a3e564d6b54fc312e5af7b;hb=2b2a37fd95a5cae44a8c6862e79f86d2cbc2a189;hp=c2e562b5cc81f1c65070c89c0b3cb9ed2dde6740;hpb=3193bd4a57817d4ad38397f3cf4c84647cf16051;p=kivitendo-erp.git diff --git a/SL/WH.pm b/SL/WH.pm index c2e562b5c..52e174ff0 100644 --- a/SL/WH.pm +++ b/SL/WH.pm @@ -61,7 +61,7 @@ sub transfer { require SL::DB::Part; require SL::DB::Employee; - my $employee = SL::DB::Manager::Employee->find_by(login => $::myconfig{login}); + my $employee = SL::DB::Manager::Employee->current; my ($now) = selectrow_query($::form, $::form->get_standard_dbh, qq|SELECT current_date|); my @directions = (undef, qw(out in transfer)); @@ -306,6 +306,18 @@ sub get_warehouse_journal { my $where_clause = @filter_ary ? join(" AND ", @filter_ary) . " AND " : ''; + my ($cvar_where, @cvar_values) = CVar->build_filter_query( + module => 'IC', + trans_id_field => 'p.id', + filter => $form, + sub_module => undef, + ); + + if ($cvar_where) { + $where_clause .= qq| ($cvar_where) AND |; + push @filter_vars, @cvar_values; + } + $select_tokens{'trans'} = { "parts_id" => "i1.parts_id", "qty" => "ABS(SUM(i1.qty))", @@ -542,6 +554,11 @@ sub get_warehouse_report { push @filter_vars, $filter{partsid}; } + if ($filter{partsgroup_id}) { + push @filter_ary, "p.partsgroup_id = ?"; + push @filter_vars, $filter{partsgroup_id}; + } + if ($filter{chargenumber}) { push @filter_ary, "i.chargenumber ILIKE ?"; push @filter_vars, like($filter{chargenumber}); @@ -642,6 +659,18 @@ sub get_warehouse_report { ( grep( { !/qty/ and !/^l_cvar/ and /^l_/ and $form->{$_} eq 'Y' } keys %$form), qw(l_parts_id l_qty l_partunit) ); + my ($cvar_where, @cvar_values) = CVar->build_filter_query( + module => 'IC', + trans_id_field => 'p.id', + filter => $form, + sub_module => undef, + ); + + if ($cvar_where) { + $where_clause .= qq| AND ($cvar_where)|; + push @filter_vars, @cvar_values; + } + my $query = qq|SELECT * FROM ( SELECT $select_clause FROM inventory i