From: Andreas Rudin Date: Fri, 24 Jun 2016 20:47:52 +0000 (+0200) Subject: Merge branch 'master' of https://github.com/kivitendo/kivitendo-erp X-Git-Tag: release-3.4.1~17 X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/commitdiff_plain/6fbc826886eed02e1cf23efd88e684e3223414fc?hp=3b9df0fd8b53a84028854586830057d47b9572b8 Merge branch 'master' of https://github.com/kivitendo/kivitendo-erp --- diff --git a/SL/DB/Helper/FlattenToForm.pm b/SL/DB/Helper/FlattenToForm.pm index a0daf4491..7a3922c99 100644 --- a/SL/DB/Helper/FlattenToForm.pm +++ b/SL/DB/Helper/FlattenToForm.pm @@ -20,8 +20,10 @@ sub flatten_to_form { if ( $vc eq 'customer' ) { $form->{customer_id} = $self->customer_id; + $form->{customer} = $self->customer->name if $self->customer; } else { - $form->{vendor_id} = $self->vendor_id; + $form->{vendor_id} = $self->vendor_id; + $form->{vendor} = $self->vendor->name if $self->vendor; }; if (_has($self, 'transdate')) { @@ -31,7 +33,7 @@ sub flatten_to_form { $form->{$transdate_idx} = $self->transdate->to_lxoffice; } - $form->{vc} = $vc if ref($self) =~ m{^SL::DB::(?:.*Invoice|Order)}; + $form->{vc} = $vc if ref($self) =~ m{^SL::DB::(?:.*Invoice|.*Order)}; my @vc_fields = (qw(account_number bank bank_code bic business city contact country creditlimit department_1 department_2 discount email fax gln homepage iban language name diff --git a/bin/mozilla/gl.pl b/bin/mozilla/gl.pl index 8a8181917..608ae75e1 100644 --- a/bin/mozilla/gl.pl +++ b/bin/mozilla/gl.pl @@ -42,7 +42,7 @@ use SL::GL; use SL::IS; use SL::PE; use SL::ReportGenerator; -use SL::DBUtils qw(selectrow_query); +use SL::DBUtils qw(selectrow_query selectall_hashref_query); require "bin/mozilla/common.pl"; require "bin/mozilla/reportgenerator.pl"; @@ -165,7 +165,7 @@ sub prepare_transaction { $form->{totalcredit} += $ref->{amount}; $form->{"credit_$i"} = $ref->{amount}; } - $form->{"taxchart_$i"} = "0--0.00"; + $form->{"taxchart_$i"} = $ref->{id}."--0.00000"; $form->{"project_id_$i"} = $ref->{project_id}; $i++; } @@ -528,6 +528,11 @@ sub update { my $creditcount = 0; my ($debitcredit, $amount); + my $dbh = $form->dbconnect_noauto(\%myconfig); + my ($notax_id) = selectrow_query($form, $dbh, "SELECT id FROM tax WHERE taxkey = 0 LIMIT 1", ); + my $zerotaxes = selectall_hashref_query($form, $dbh, "SELECT id FROM tax WHERE rate = 0", ); + $dbh->disconnect; + my @flds = qw(accno debit credit projectnumber fx_transaction source memo tax taxchart); @@ -566,10 +571,10 @@ sub update { $form->{debitlock} = 1; } if ($debitcredit && $credittax) { - $form->{"taxchart_$i"} = "0--0.00"; + $form->{"taxchart_$i"} = "$notax_id--0.00"; } if (!$debitcredit && $debittax) { - $form->{"taxchart_$i"} = "0--0.00"; + $form->{"taxchart_$i"} = "$notax_id--0.00"; } $amount = ($form->{"debit_$i"} == 0) @@ -577,11 +582,12 @@ sub update { : $form->{"debit_$i"}; my $j = $#a; if (($debitcredit && $credittax) || (!$debitcredit && $debittax)) { - $form->{"taxchart_$i"} = "0--0.00"; + $form->{"taxchart_$i"} = "$notax_id--0.00"; $form->{"tax_$i"} = 0; } my ($taxkey, $rate) = split(/--/, $form->{"taxchart_$i"}); - if ($taxkey > 1) { + my $iswithouttax = grep { $_->{id} == $taxkey } @{ $zerotaxes }; + if (!$iswithouttax) { if ($debitcredit) { $debittax = 1; } else { @@ -994,6 +1000,7 @@ sub post_transaction { my $dbh = $form->dbconnect_noauto(\%myconfig); my ($notax_id) = selectrow_query($form, $dbh, "SELECT id FROM tax WHERE taxkey = 0 LIMIT 1", ); + my $zerotaxes = selectall_hashref_query($form, $dbh, "SELECT id FROM tax WHERE rate = 0", ); $dbh->disconnect; my @flds = qw(accno debit credit projectnumber fx_transaction source memo tax taxchart); @@ -1050,7 +1057,8 @@ sub post_transaction { $form->{"tax_$i"} = 0; } my ($taxkey, $rate) = split(/--/, $form->{"taxchart_$i"}); - if ($taxkey > 1) { + my $iswithouttax = grep { $_->{id} == $taxkey } @{ $zerotaxes }; + if (!$iswithouttax) { if ($debitcredit) { $debittax = 1; } else {