X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/a63aaabd1fc1e72db9a746e81f62f3703d9985db..a731cd269130cd68f9c3fb5b8a2c26dc20afe82e:/SL/Form.pm diff --git a/SL/Form.pm b/SL/Form.pm index 4f4a48d0e..1912f7560 100644 --- a/SL/Form.pm +++ b/SL/Form.pm @@ -1469,7 +1469,7 @@ sub _get_printers { $key = "all_printers" unless ($key); - my $query = qq|SELECT id, printer_description, printer_command FROM printers|; + my $query = qq|SELECT id, printer_description, printer_command, template_code FROM printers|; $self->{$key} = selectall_hashref_query($self, $dbh, $query); @@ -1538,6 +1538,20 @@ sub _get_business_types { $main::lxdebug->leave_sub(); } +sub _get_languages { + $main::lxdebug->enter_sub(); + + my ($self, $dbh, $key) = @_; + + $key = "all_languages" unless ($key); + + my $query = qq|SELECT * FROM language ORDER BY id|; + + $self->{$key} = selectall_hashref_query($self, $dbh, $query); + + $main::lxdebug->leave_sub(); +} + sub get_lists { $main::lxdebug->enter_sub(); @@ -1568,6 +1582,10 @@ sub get_lists { $self->_get_printers($dbh, $params{"printers"}); } + if ($params{"languages"}) { + $self->_get_languages($dbh, $params{"languages"}); + } + if ($params{"charts"}) { $self->_get_charts($dbh, $params{"charts"}); } @@ -1822,7 +1840,7 @@ sub create_links { $sth = $dbh->prepare($query); - do_statement($form, $sth, $query, '%' . $module . '%'); + do_statement($self, $sth, $query, '%' . $module . '%'); $self->{accounts} = ""; while ($ref = $sth->fetchrow_hashref(NAME_lc)) { @@ -1847,16 +1865,16 @@ sub create_links { # get taxkeys and description $query = qq|SELECT id, taxkey, taxdescription FROM tax|; - $self->{TAXKEY} = selectall_hashref_query($form, $dbh, $query); + $self->{TAXKEY} = selectall_hashref_query($self, $dbh, $query); # get tax zones $query = qq|SELECT id, description FROM tax_zones|; - $self->{TAXZONE} = selectall_hashref_query($form, $dbh, $query); + $self->{TAXZONE} = selectall_hashref_query($self, $dbh, $query); if (($module eq "AP") || ($module eq "AR")) { # get tax rates and description $query = qq|SELECT * FROM tax|; - $self->{TAX} = selectall_hashref_query($form, $dbh, $query); + $self->{TAX} = selectall_hashref_query($self, $dbh, $query); } if ($self->{id}) { @@ -1886,17 +1904,17 @@ sub create_links { } # now get the account numbers - $query = qq| - SELECT - c.accno, c.description, c.link, c.taxkey_id, - tk.tax_id - FROM chart c - LEFT JOIN taxkeys tk ON (tk.chart_id = c.id) - WHERE (c.link LIKE ?) AND (tk.chart_id = c.id) AND NOT (c.link LIKE '%_tax%') - ORDER BY c.accno|; + $query = qq|SELECT c.accno, c.description, c.link, c.taxkey_id, tk.tax_id + FROM chart c, taxkeys tk + WHERE c.link LIKE ? + AND ( tk.chart_id = c.id OR c.link LIKE '%_tax%') + AND (NOT tk.chart_id = c.id OR NOT c.link LIKE '%_tax%') + AND (tk.id = (SELECT id FROM taxkeys WHERE taxkeys.chart_id = c.id AND startdate <= $transdate ORDER BY startdate DESC LIMIT 1) + OR c.link LIKE '%_tax%') + ORDER BY c.accno|; $sth = $dbh->prepare($query); - do_statement($form, $sth, $query, "%" . $module . "%"); + do_statement($self, $sth, $query, "%$module%"); $self->{accounts} = ""; while ($ref = $sth->fetchrow_hashref(NAME_lc)) { @@ -1941,7 +1959,7 @@ sub create_links { AND a.fx_transaction = '0' ORDER BY a.oid, a.transdate|; $sth = $dbh->prepare($query); - do_statement($form, $sth, $query, $self->{id}); + do_statement($self, $sth, $query, $self->{id}); # get exchangerate for currency $self->{exchangerate} =