X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FAM.pm;h=7b3b7368ac8e62153eb67dcacae78bf90254d3b4;hb=015f7118b8398596eb3656a343b5cf0141929fb7;hp=22eab8bd0042962e145913e6887061fd6a563677;hpb=696aad9cd711ed3a92721db045ad0b7067bb1a17;p=kivitendo-erp.git diff --git a/SL/AM.pm b/SL/AM.pm index 22eab8bd0..7b3b7368a 100644 --- a/SL/AM.pm +++ b/SL/AM.pm @@ -230,6 +230,13 @@ sub save_account { $form->{id} = ""; } + if (!$form->{id} || $form->{id} eq "") { + $query = qq|SELECT nextval('id')|; + ($form->{"id"}) = selectrow_query($form, $dbh, $query); + $query = qq|INSERT INTO chart (id, accno) VALUES (?, ?)|; + do_query($form, $dbh, $query, $form->{"id"}, $form->{"accno"}); + } + my @values; if ($form->{id}) { @@ -262,52 +269,6 @@ sub save_account { $form->{id}, ); - } - elsif ($form->{id} && !$form->{new_chart_valid}) { - - $query = qq| - UPDATE chart - SET new_chart_id = ?, - valid_from = ? - WHERE id = ? - |; - - @values = ( - conv_i($form->{new_chart_id}), - conv_date($form->{valid_from}), - $form->{id} - ); - } - else { - - $query = qq| - INSERT INTO chart ( - accno, - description, - charttype, - category, - link, - pos_bwa, - pos_bilanz, - pos_eur, - new_chart_id, - valid_from, - datevautomatik ) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) - |; - - @values = ( - $form->{accno}, - $form->{description}, - $form->{charttype}, - $form->{category}, $form->{link}, - conv_i($form->{pos_bwa}), - conv_i($form->{pos_bilanz}), conv_i($form->{pos_eur}), - conv_i($form->{new_chart_id}), - conv_date($form->{valid_from}), - ($form->{datevautomatik} eq 'T') ? 'true':'false', - ); - } do_query($form, $dbh, $query, @values); @@ -325,6 +286,9 @@ sub save_account { # Loop control # Check if the account already exists, else cancel + + print(STDERR "Keine Taxkeys weil ID =: $form->{id}\n"); + last READTAXKEYS if ( $form->{'id'} == 0); # check if there is a startdate @@ -1506,9 +1470,12 @@ sub save_defaults { vendornumber = ?, articlenumber = ?, servicenumber = ?, + sdonumber = ?, + pdonumber = ?, yearend = ?, curr = ?, - businessnumber = ?|; + businessnumber = ?, + weightunit = ?|; my @values = ($accnos{inventory_accno}, $accnos{income_accno}, $accnos{expense_accno}, $accnos{fxgain_accno}, $accnos{fxloss_accno}, $form->{invnumber}, $form->{cnnumber}, @@ -1516,8 +1483,9 @@ sub save_defaults { $form->{sqnumber}, $form->{rfqnumber}, $form->{customernumber}, $form->{vendornumber}, $form->{articlenumber}, $form->{servicenumber}, + $form->{sdonumber}, $form->{pdonumber}, $form->{yearend}, $currency, - $form->{businessnumber}); + $form->{businessnumber}, $form->{weightunit}); do_query($form, $dbh, $query, @values); $dbh->commit(); @@ -1607,6 +1575,26 @@ sub save_preferences { return $rc; } +sub get_defaults { + $main::lxdebug->enter_sub(); + + my $self = shift; + my %params = @_; + + my $myconfig = \%main::myconfig; + my $form = $main::form; + + my $dbh = $params{dbh} || $form->get_standard_dbh($myconfig); + + my $defaults = selectfirst_hashref_query($form, $dbh, qq|SELECT * FROM defaults|) || {}; + + $defaults->{weightunit} ||= 'kg'; + + $main::lxdebug->leave_sub(); + + return $defaults; +} + sub defaultaccounts { $main::lxdebug->enter_sub(); @@ -1620,12 +1608,14 @@ sub defaultaccounts { my $sth = $dbh->prepare($query); $sth->execute || $form->dberror($query); - $form->{defaults} = $sth->fetchrow_hashref(NAME_lc); - $form->{defaults}{IC} = $form->{defaults}{inventory_accno_id}; - $form->{defaults}{IC_income} = $form->{defaults}{income_accno_id}; - $form->{defaults}{IC_expense} = $form->{defaults}{expense_accno_id}; - $form->{defaults}{FX_gain} = $form->{defaults}{fxgain_accno_id}; - $form->{defaults}{FX_loss} = $form->{defaults}{fxloss_accno_id}; + $form->{defaults} = $sth->fetchrow_hashref(NAME_lc); + $form->{defaults}{IC} = $form->{defaults}{inventory_accno_id}; + $form->{defaults}{IC_income} = $form->{defaults}{income_accno_id}; + $form->{defaults}{IC_expense} = $form->{defaults}{expense_accno_id}; + $form->{defaults}{FX_gain} = $form->{defaults}{fxgain_accno_id}; + $form->{defaults}{FX_loss} = $form->{defaults}{fxloss_accno_id}; + + $form->{defaults}{weightunit} ||= 'kg'; $sth->finish; @@ -1776,19 +1766,13 @@ sub get_base_unit { sub retrieve_units { $main::lxdebug->enter_sub(); - my ($self, $myconfig, $form, $type, $prefix) = @_; + my ($self, $myconfig, $form, $prefix) = @_; my $dbh = $form->dbconnect($myconfig); my $query = "SELECT *, base_unit AS original_base_unit FROM units"; - my @values; - if ($type) { - $query .= " WHERE (type = ?)"; - @values = ($type); - } - my $sth = $dbh->prepare($query); - $sth->execute(@values) || $form->dberror($query . " (" . join(", ", @values) . ")"); + my $sth = prepare_execute_query($form, $dbh, $query); my $units = {}; while (my $ref = $sth->fetchrow_hashref()) { @@ -2037,16 +2021,16 @@ sub sum_with_unit { sub add_unit { $main::lxdebug->enter_sub(); - my ($self, $myconfig, $form, $name, $base_unit, $factor, $type, $languages) = @_; + my ($self, $myconfig, $form, $name, $base_unit, $factor, $languages) = @_; my $dbh = $form->dbconnect_noauto($myconfig); my $query = qq|SELECT COALESCE(MAX(sortkey), 0) + 1 FROM units|; my ($sortkey) = selectrow_query($form, $dbh, $query); - $query = "INSERT INTO units (name, base_unit, factor, type, sortkey) " . - "VALUES (?, ?, ?, ?, ?)"; - do_query($form, $dbh, $query, $name, $base_unit, $factor, $type, $sortkey); + $query = "INSERT INTO units (name, base_unit, factor, sortkey) " . + "VALUES (?, ?, ?, ?)"; + do_query($form, $dbh, $query, $name, $base_unit, $factor, $sortkey); if ($languages) { $query = "INSERT INTO units_language (unit, language_id, localized, localized_plural) VALUES (?, ?, ?, ?)"; @@ -2067,7 +2051,7 @@ sub add_unit { sub save_units { $main::lxdebug->enter_sub(); - my ($self, $myconfig, $form, $type, $units, $delete_units) = @_; + my ($self, $myconfig, $form, $units, $delete_units) = @_; my $dbh = $form->dbconnect_noauto($myconfig); @@ -2125,7 +2109,7 @@ sub save_units { sub swap_units { $main::lxdebug->enter_sub(); - my ($self, $myconfig, $form, $dir, $name_1, $unit_type) = @_; + my ($self, $myconfig, $form, $dir, $name_1) = @_; my $dbh = $form->dbconnect_noauto($myconfig); @@ -2136,9 +2120,9 @@ sub swap_units { $query = qq|SELECT sortkey FROM units | . - qq|WHERE sortkey | . ($dir eq "down" ? ">" : "<") . qq| ? AND type = ? | . + qq|WHERE sortkey | . ($dir eq "down" ? ">" : "<") . qq| ? | . qq|ORDER BY sortkey | . ($dir eq "down" ? "ASC" : "DESC") . qq| LIMIT 1|; - my ($sortkey_2) = selectrow_query($form, $dbh, $query, $sortkey_1, $unit_type); + my ($sortkey_2) = selectrow_query($form, $dbh, $query, $sortkey_1); if (defined($sortkey_1)) { $query = qq|SELECT name FROM units WHERE sortkey = ${sortkey_2}|;