X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FAM.pm;h=3dbff77ff357babea98408521159a240224fb9d1;hb=6d06b178d7e1b488396a91ce337a0801ed5893c8;hp=fc15f19af1b83e1f50e54a73fb777c4e00e7b5b6;hpb=c9c4734626e355fc52d91cb0e375b1864a49ccf6;p=kivitendo-erp.git diff --git a/SL/AM.pm b/SL/AM.pm index fc15f19af..3dbff77ff 100644 --- a/SL/AM.pm +++ b/SL/AM.pm @@ -213,8 +213,8 @@ sub save_account { qw(AR_amount AR_tax AR_paid AP_amount AP_tax AP_paid IC_sale IC_cogs IC_taxpart IC_income IC_expense IC_taxservice); } - if ($form->{AR_include_in_dropdown}) { - $form->{$form->{AR_include_in_dropdown}} = $form->{AR_include_in_dropdown}; + for (qw(AR_include_in_dropdown AP_include_in_dropdown)) { + $form->{$form->{$_}} = $form->{$_} if $form->{$_}; } $form->{link} = ""; @@ -1084,6 +1084,7 @@ sub save_defaults { vendornumber = ?, articlenumber = ?, servicenumber = ?, + assemblynumber = ?, sdonumber = ?, pdonumber = ?, curr = ?, @@ -1097,6 +1098,7 @@ sub save_defaults { $form->{sqnumber}, $form->{rfqnumber}, $form->{customernumber}, $form->{vendornumber}, $form->{articlenumber}, $form->{servicenumber}, + $form->{assemblynumber}, $form->{sdonumber}, $form->{pdonumber}, $currency, $form->{businessnumber}, $form->{weightunit}, @@ -1284,6 +1286,28 @@ sub defaultaccounts { } $sth->finish; + + #Get currencies: + $query = qq|SELECT curr FROM currencies ORDER BY id|; + + $form->{CURRENCIES} = []; + + $sth = prepare_execute_query($form, $dbh, $query); + $sth->execute || $form->dberror($query); + while (my $ref = $sth->fetchrow_hashref("NAME_lc")) { + push @{ $form->{ CURRENCIES } } , $ref; + } + $sth->finish; + + #Which of them is the default currency? + $query = qq|SELECT curr AS defaultcurrency FROM currencies WHERE id = (SELECT curr FROM defaults LIMIT 1);|; + $sth = $dbh->prepare($query); + $sth->execute || $form->dberror($query); + + $form->{defaultcurrency} = ($sth->fetchrow_hashref("NAME_lc"))->{defaultcurrency}; + + $sth->finish; + $dbh->disconnect; $main::lxdebug->leave_sub(); @@ -1715,7 +1739,7 @@ sub taxes { (SELECT accno FROM chart WHERE id = chart_id) AS taxnumber, (SELECT description FROM chart WHERE id = chart_id) AS account_description FROM tax t - ORDER BY taxkey|; + ORDER BY taxkey, rate|; my $sth = $dbh->prepare($query); $sth->execute || $form->dberror($query); @@ -1775,6 +1799,7 @@ sub get_tax { taxdescription, round(rate * 100, 2) AS rate, chart_id, + chart_categories, (id IN (SELECT tax_id FROM acc_trans)) AS tax_already_used FROM tax @@ -1832,14 +1857,23 @@ sub save_tax { $form->{rate} = $form->{rate} / 100; - my @values = ($form->{taxkey}, $form->{taxdescription}, $form->{rate}, $form->{chart_id}, $form->{chart_id} ); + my $chart_categories = ''; + $chart_categories .= 'A' if $form->{asset}; + $chart_categories .= 'L' if $form->{liability}; + $chart_categories .= 'Q' if $form->{equity}; + $chart_categories .= 'I' if $form->{revenue}; + $chart_categories .= 'E' if $form->{expense}; + $chart_categories .= 'C' if $form->{costs}; + + my @values = ($form->{taxkey}, $form->{taxdescription}, $form->{rate}, $form->{chart_id}, $form->{chart_id}, $chart_categories); if ($form->{id} ne "") { $query = qq|UPDATE tax SET taxkey = ?, taxdescription = ?, rate = ?, chart_id = ?, - taxnumber = (SELECT accno FROM chart WHERE id= ? ) + taxnumber = (SELECT accno FROM chart WHERE id= ? ), + chart_categories = ? WHERE id = ?|; push(@values, $form->{id}); @@ -1850,9 +1884,10 @@ sub save_tax { taxdescription, rate, chart_id, - taxnumber + taxnumber, + chart_categories ) - VALUES (?, ?, ?, ?, (SELECT accno FROM chart WHERE id = ?) )|; + VALUES (?, ?, ?, ?, (SELECT accno FROM chart WHERE id = ?), ? )|; } do_query($form, $dbh, $query, @values);