X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/e765ebf812bd760e24aa7a78e135403505fff28a..f2991e38ef44e1d32b60a7a0182bf458a10bce47:/SL/GL.pm diff --git a/SL/GL.pm b/SL/GL.pm index 3b99238f7..6212d5b34 100644 --- a/SL/GL.pm +++ b/SL/GL.pm @@ -123,12 +123,12 @@ sub _post_transaction { $query = qq|UPDATE gl SET reference = ?, description = ?, notes = ?, - transdate = ?, deliverydate = ?, department_id = ?, taxincluded = ?, + transdate = ?, deliverydate = ?, tax_point = ?, department_id = ?, taxincluded = ?, storno = ?, storno_id = ?, ob_transaction = ?, cb_transaction = ? WHERE id = ?|; @values = ($form->{reference}, $form->{description}, $form->{notes}, - conv_date($form->{transdate}), conv_date($form->{deliverydate}), conv_i($form->{department_id}), $form->{taxincluded} ? 't' : 'f', + conv_date($form->{transdate}), conv_date($form->{deliverydate}), conv_date($form->{tax_point}), conv_i($form->{department_id}), $form->{taxincluded} ? 't' : 'f', $form->{storno} ? 't' : 'f', conv_i($form->{storno_id}), $form->{ob_transaction} ? 't' : 'f', $form->{cb_transaction} ? 't' : 'f', conv_i($form->{id})); do_query($form, $dbh, $query, @values); @@ -356,6 +356,7 @@ sub all_transactions { 'reference' => [ qw(lower_reference id) ], 'description' => [ qw(lower_description id) ], 'accno' => [ qw(accno transdate id) ], + 'department' => [ qw(department transdate id) ], ); my %lowered_columns = ( 'reference' => { 'gl' => 'g.reference', 'arap' => 'a.invnumber', }, @@ -381,11 +382,13 @@ sub all_transactions { ac.acc_trans_id, g.id, 'gl' AS type, FALSE AS invoice, g.reference, ac.taxkey, c.link, g.description, ac.transdate, ac.gldate, ac.source, ac.trans_id, ac.amount, c.accno, g.notes, t.chart_id, + d.description AS department, CASE WHEN (COALESCE(e.name, '') = '') THEN e.login ELSE e.name END AS employee $project_columns $columns_for_sorting{gl} FROM gl g - LEFT JOIN employee e ON (g.employee_id = e.id), + LEFT JOIN employee e ON (g.employee_id = e.id) + LEFT JOIN department d ON (g.department_id = d.id), acc_trans ac $project_join, chart c LEFT JOIN tax t ON (t.chart_id = c.id) WHERE $glwhere @@ -397,11 +400,13 @@ sub all_transactions { SELECT ac.acc_trans_id, a.id, 'ar' AS type, a.invoice, a.invnumber, ac.taxkey, c.link, ct.name, ac.transdate, ac.gldate, ac.source, ac.trans_id, ac.amount, c.accno, a.notes, t.chart_id, + d.description AS department, CASE WHEN (COALESCE(e.name, '') = '') THEN e.login ELSE e.name END AS employee $project_columns $columns_for_sorting{arap} FROM ar a - LEFT JOIN employee e ON (a.employee_id = e.id), + LEFT JOIN employee e ON (a.employee_id = e.id) + LEFT JOIN department d ON (a.department_id = d.id), acc_trans ac $project_join, customer ct, chart c LEFT JOIN tax t ON (t.chart_id=c.id) WHERE $arwhere @@ -414,11 +419,13 @@ sub all_transactions { SELECT ac.acc_trans_id, a.id, 'ap' AS type, a.invoice, a.invnumber, ac.taxkey, c.link, ct.name, ac.transdate, ac.gldate, ac.source, ac.trans_id, ac.amount, c.accno, a.notes, t.chart_id, + d.description AS department, CASE WHEN (COALESCE(e.name, '') = '') THEN e.login ELSE e.name END AS employee $project_columns $columns_for_sorting{arap} FROM ap a - LEFT JOIN employee e ON (a.employee_id = e.id), + LEFT JOIN employee e ON (a.employee_id = e.id) + LEFT JOIN department d ON (a.department_id = d.id), acc_trans ac $project_join, vendor ct, chart c LEFT JOIN tax t ON (t.chart_id=c.id) WHERE $apwhere @@ -637,7 +644,7 @@ sub transaction { if ($form->{id}) { $query = - qq|SELECT g.reference, g.description, g.notes, g.transdate, g.deliverydate, + qq|SELECT g.reference, g.description, g.notes, g.transdate, g.deliverydate, g.tax_point, g.storno, g.storno_id, g.department_id, d.description AS department, e.name AS employee, g.taxincluded, g.gldate, @@ -814,11 +821,12 @@ SL::GL - some useful GL functions =over 4 -=item C +=item C $transdate $tax_id -Returns a list of taxes for a certain chart and date to be used for dropdowns, -for e.g. ar/ap/gl records. +Returns a list of valid taxes for a certain chart. +If the optional param transdate exists one entry in the returning list +may get the attribute C for this specific tax-dependent date. The possible entries are filtered by the charttype of the tax, i.e. only taxes whose chart_categories match the category of the chart will be shown. @@ -828,16 +836,20 @@ dropdown anymore. If we are loading an old record and know its tax_id (from acc_trans), we can pass $tax_id as the third parameter and be sure that the original tax always appears in the dropdown. +The functions returns an array which may be used for building dropdowns in ar/ap/gl code. + =back =head1 TODO +Nothing here yet. + =head1 BUGS Nothing here yet. =head1 AUTHOR -G. Richardson Egrichardson@kivitec.de +G. Richardson Egrichardson@kivitec.deE =cut