X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Far.pl;h=8d49a5051751860ed17e6c8f21385e99ab17dd75;hb=cf96c5880f1ba0694298d7541fedce47c8c99051;hp=bace426071b4353576583a17ea1d4e7134c3aa51;hpb=7a04a7c3406b3dfbdbe3db734753b5cbe07840cf;p=kivitendo-erp.git diff --git a/bin/mozilla/ar.pl b/bin/mozilla/ar.pl index bace42607..8d49a5051 100644 --- a/bin/mozilla/ar.pl +++ b/bin/mozilla/ar.pl @@ -387,8 +387,7 @@ sub form_header { "old_id" => \@old_project_ids }, "charts" => { "key" => "ALL_CHARTS", "transdate" => $form->{transdate} }, - "taxcharts" => { "key" => "ALL_TAXCHARTS", - "module" => "AR" },); + ); $form->{ALL_DEPARTMENTS} = SL::DB::Manager::Department->get_all_sorted; @@ -413,11 +412,14 @@ sub form_header { my $follow_up_trans_info = "$form->{invnumber} ($follow_up_vc)"; $::request->layout->add_javascripts("autocomplete_chart.js", "show_vc_details.js", "show_history.js", "follow_up.js", "kivi.Draft.js", "kivi.GL.js", "kivi.File.js", "kivi.RecordTemplate.js", "kivi.AR.js", "kivi.CustomerVendor.js", "kivi.Validator.js"); - - my $transdate = $::form->{transdate} ? DateTime->from_kivitendo($::form->{transdate}) : DateTime->today_local; + # get the correct date for tax + my $transdate = $::form->{transdate} ? DateTime->from_kivitendo($::form->{transdate}) : DateTime->today_local; + my $deliverydate = $::form->{deliverydate} ? DateTime->from_kivitendo($::form->{deliverydate}) : undef; + my $taxdate = $deliverydate ? $deliverydate : $transdate; + # helpers for loop my $first_taxchart; - my @transactions; + for my $i (1 .. $form->{rowcount}) { my $transaction = { amount => $form->{"amount_$i"}, @@ -428,7 +430,11 @@ sub form_header { my (%taxchart_labels, @taxchart_values, $default_taxchart, $taxchart_to_use); my $amount_chart_id = $form->{"AR_amount_chart_id_$i"} // $default_ar_amount_chart_id; - foreach my $item ( GL->get_active_taxes_for_chart($amount_chart_id, $transdate) ) { + my $used_tax_id; + if ( $form->{"taxchart_$i"} ) { + ($used_tax_id) = split(/--/, $form->{"taxchart_$i"}); + } + foreach my $item ( GL->get_active_taxes_for_chart($amount_chart_id, $taxdate, $used_tax_id) ) { my $key = $item->id . "--" . $item->rate; $first_taxchart //= $item; $default_taxchart = $item if $item->{is_default}; @@ -598,7 +604,7 @@ sub update { map { $form->{$_} = $form->parse_amount(\%myconfig, $form->{$_}) } qw(exchangerate creditlimit creditremaining); - my @flds = qw(amount AR_amount projectnumber oldprojectnumber project_id); + my @flds = qw(amount AR_amount_chart_id projectnumber oldprojectnumber project_id taxchart tax); my $count = 0; my @a = ();