From: G. Richardson Date: Tue, 21 Dec 2010 12:04:14 +0000 (+0100) Subject: Merge branch 'master' of ssh://git-grichardson@lx-office.linet-services.de/~/lx-offic... X-Git-Tag: release-2.6.2beta1~69 X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/commitdiff_plain/1e7d8e31721d592284644da88b3f03ccce98d10c?hp=c69c1871d7fbb9fccf96463d9a133714ae244873 Merge branch 'master' of ssh://git-grichardson@lx-office.linet-services.de/~/lx-office-erp --- diff --git a/SL/AM.pm b/SL/AM.pm index 12a4ad7d3..df7d9d2c0 100644 --- a/SL/AM.pm +++ b/SL/AM.pm @@ -1358,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}; @@ -1373,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 = ?, @@ -1385,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); @@ -1492,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'; @@ -1571,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; diff --git a/SL/Form.pm b/SL/Form.pm index f3fe6e5d9..f02c25abe 100644 --- a/SL/Form.pm +++ b/SL/Form.pm @@ -42,6 +42,7 @@ use Data::Dumper; use CGI; use CGI::Ajax; use Cwd; +use Encode; use IO::File; use SL::Auth; use SL::Auth::DB; @@ -379,6 +380,7 @@ sub escape { my ($self, $str) = @_; + $str = Encode::encode('utf-8-strict', $str) if $::locale->is_utf8; $str =~ s/([^a-zA-Z0-9_.-])/sprintf("%%%02x", ord($1))/ge; $main::lxdebug->leave_sub(2); diff --git a/SL/IS.pm b/SL/IS.pm index 8e7dcc9f1..590923361 100644 --- a/SL/IS.pm +++ b/SL/IS.pm @@ -2159,4 +2159,21 @@ sub is_storno { return $result; } +sub get_standard_accno_current_assets { + $main::lxdebug->enter_sub(); + + my ($self, $myconfig, $form) = @_; + + my $dbh = $form->dbconnect($myconfig); + + my $query = qq| SELECT accno FROM chart WHERE id = (SELECT ar_paid_accno_id FROM defaults)|; + my ($result) = selectrow_query($form, $dbh, $query); + + $dbh->disconnect(); + + $main::lxdebug->leave_sub(); + + return $result; +} + 1; diff --git a/SL/Template/LaTeX.pm b/SL/Template/LaTeX.pm index 7b89aa4ab..4bfef01f7 100644 --- a/SL/Template/LaTeX.pm +++ b/SL/Template/LaTeX.pm @@ -275,7 +275,7 @@ sub _parse_config_lines { while ($i < $num_lines) { my $line = $lines->[$i]; - if ($line !~ m/^${comment_start}\s*config\s*:(.*)${comment_end}$/i) { + if ($line !~ m/^${comment_start}\s*config\s*:(.*?)${comment_end}$/i) { $i++; next; } diff --git a/bin/mozilla/cp.pl b/bin/mozilla/cp.pl index b3efdec57..721a4a8cf 100644 --- a/bin/mozilla/cp.pl +++ b/bin/mozilla/cp.pl @@ -78,15 +78,21 @@ sub payment { CP->paymentaccounts(\%myconfig, \%$form); + # Standard Konto für Umlaufvermögen + my $accno_arap = IS->get_standard_accno_current_assets(\%myconfig, \%$form); + $form->{selectaccount} = ""; $form->{"select$form->{ARAP}"} = ""; - map { $form->{selectaccount} .= ""; } next unless $form->{acc_trans}{$key}; @@ -393,9 +393,17 @@ sub form_footer { $form->{paidaccounts}++ if ($form->{"paid_$form->{paidaccounts}"}); $form->{paid_indices} = [ 1 .. $form->{paidaccounts} ]; + # Standard Konto für Umlaufvermögen + my $accno_arap = IS->get_standard_accno_current_assets(\%myconfig, \%$form); + for my $i (1 .. $form->{paidaccounts}) { $form->{"selectAP_paid_$i"} = $form->{selectAP_paid}; - $form->{"selectAP_paid_$i"} =~ s/option>\Q$form->{"AP_paid_$i"}\E/option selected>$form->{"AP_paid_$i"}/; + if (!$form->{"AP_paid_$i"}) { + $form->{"selectAP_paid_$i"} =~ s/option>$accno_arap--(.*?)>/option selected>$accno_arap--$1>/; + } else { + $form->{"selectAP_paid_$i"} =~ s/option>\Q$form->{"AP_paid_$i"}\E/option selected>$form->{"AP_paid_$i"}/; + } + $totalpaid += $form->{"paid_$i"}; } diff --git a/locale/de/special_chars b/locale/de/special_chars index 56fe32ad7..982d93b89 100644 --- a/locale/de/special_chars +++ b/locale/de/special_chars @@ -33,7 +33,7 @@ order=< > \n \n=
[Template/LaTeX] -order=\\ & \n \r " $ % _ # ^ { } < > £ ± \xe1 ² ³ +order=\\ & \n \r " $ % _ # ^ { } < > £ ± \xe1 ² ³ ° \\=\\textbackslash\s = "='' @@ -54,6 +54,7 @@ _=\\_ ^=\\^\\\s ²=$^2$ ³=$^3$ +°=$^\\circ$ [Template/OpenDocument] order=& < > " ' \x80 \n \r diff --git a/sql/Pg-upgrade2/add_ar_paid_defaults.sql b/sql/Pg-upgrade2/add_ar_paid_defaults.sql new file mode 100644 index 000000000..43b257e6a --- /dev/null +++ b/sql/Pg-upgrade2/add_ar_paid_defaults.sql @@ -0,0 +1,5 @@ +-- @tag: add_ar_paid_defaults +-- @description: Standardkonto für ar_paid (Umlaufvermögenskonto == Bank) in der Tabelle defaults hinzugefügt +-- @depends: release_2_6_1 +-- @charset: utf-8 +ALTER TABLE defaults ADD COLUMN ar_paid_accno_id integer; diff --git a/templates/webpages/am/edit_defaults.html b/templates/webpages/am/edit_defaults.html index 315673b03..d346b893f 100644 --- a/templates/webpages/am/edit_defaults.html +++ b/templates/webpages/am/edit_defaults.html @@ -116,6 +116,16 @@ + + [% 'Current assets account' | $T8 %] + + + + [% 'Miscellaneous' | $T8 %] diff --git a/templates/webpages/ir/_payments.html b/templates/webpages/ir/_payments.html index 179e65d5e..c3c7ca2d3 100644 --- a/templates/webpages/ir/_payments.html +++ b/templates/webpages/ir/_payments.html @@ -4,7 +4,7 @@ -[% IF is_type_credit_note %] +[% IF is_type_credit_note || vc == 'vendor' %] [% ELSE %]
[% 'Payments' | $T8 %][% 'Incoming Payments' | $T8 %]