X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FAM.pm;h=df7d9d2c0978e6fc2f5e15c8ecc7b7bde1b4353a;hb=1e7d8e31721d592284644da88b3f03ccce98d10c;hp=d637e2a59624d6f45ef71a7ce8745a2a775895b9;hpb=a3f90d6fa23d0a8d026682511e7624bd847d532f;p=kivitendo-erp.git diff --git a/SL/AM.pm b/SL/AM.pm index d637e2a59..df7d9d2c0 100644 --- a/SL/AM.pm +++ b/SL/AM.pm @@ -39,6 +39,7 @@ package AM; use Carp; use Data::Dumper; +use Encode; use SL::DBUtils; use strict; @@ -1315,6 +1316,8 @@ sub load_template { close(TEMPLATE); } + $content = Encode::decode('utf-8-strict', $content) if $::locale->is_utf8; + $main::lxdebug->leave_sub(); return ($content, $lines); @@ -1330,6 +1333,7 @@ sub save_template { my $error = ""; if (open(TEMPLATE, ">$filename")) { + $content = Encode::encode('utf-8-strict', $content) if $::locale->is_utf8; $content =~ s/\r\n/\n/g; print(TEMPLATE $content); close(TEMPLATE); @@ -1354,7 +1358,7 @@ sub save_defaults { my $dbh = $params{dbh} || $form->get_standard_dbh($myconfig); my %accnos; - map { ($accnos{$_}) = split(m/--/, $form->{$_}) } qw(inventory_accno income_accno expense_accno fxgain_accno fxloss_accno); + map { ($accnos{$_}) = split(m/--/, $form->{$_}) } qw(inventory_accno income_accno expense_accno fxgain_accno fxloss_accno ar_paid_accno); $form->{curr} =~ s/ //g; my @currencies = grep { $_ ne '' } split m/:/, $form->{curr}; @@ -1369,6 +1373,7 @@ sub save_defaults { expense_accno_id = (SELECT c.id FROM chart c WHERE c.accno = ?), fxgain_accno_id = (SELECT c.id FROM chart c WHERE c.accno = ?), fxloss_accno_id = (SELECT c.id FROM chart c WHERE c.accno = ?), + ar_paid_accno_id = (SELECT c.id FROM chart c WHERE c.accno = ?), invnumber = ?, cnnumber = ?, sonumber = ?, @@ -1381,19 +1386,18 @@ sub save_defaults { servicenumber = ?, sdonumber = ?, pdonumber = ?, - yearend = ?, curr = ?, businessnumber = ?, weightunit = ?|; my @values = ($accnos{inventory_accno}, $accnos{income_accno}, $accnos{expense_accno}, - $accnos{fxgain_accno}, $accnos{fxloss_accno}, + $accnos{fxgain_accno}, $accnos{fxloss_accno}, $accnos{ar_paid_accno}, $form->{invnumber}, $form->{cnnumber}, $form->{sonumber}, $form->{ponumber}, $form->{sqnumber}, $form->{rfqnumber}, $form->{customernumber}, $form->{vendornumber}, $form->{articlenumber}, $form->{servicenumber}, $form->{sdonumber}, $form->{pdonumber}, - $form->{yearend}, $currency, + $currency, $form->{businessnumber}, $form->{weightunit}); do_query($form, $dbh, $query, @values); @@ -1488,6 +1492,7 @@ sub defaultaccounts { $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}{AR_paid} = $form->{defaults}{ar_paid_accno_id}; $form->{defaults}{weightunit} ||= 'kg'; @@ -1567,6 +1572,24 @@ sub defaultaccounts { if $ref->{taxnumber}; $form->{taxrates}{ $ref->{accno} }{rate} = $ref->{rate} if $ref->{rate}; } + # Abfrage für Standard Umlaufvermögenskonto + $query = + qq|SELECT id, accno, description, link | . + qq|FROM chart | . + qq|WHERE link LIKE ? |. + qq|ORDER BY accno|; + $sth = prepare_execute_query($form, $dbh, $query, '%AR%'); + $sth->execute || $form->dberror($query);# + while (my $ref = $sth->fetchrow_hashref("NAME_lc")) { + foreach my $item (split(/:/, $ref->{link})) { + if ($item eq "AR_paid") { + %{ $form->{IC}{AR_paid}{ $ref->{accno} } } = ( + id => $ref->{id}, + description => $ref->{description} + ); + } + } + } $sth->finish; $dbh->disconnect;