X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/cc685942e4d6a9d20ba534433986e2c3209da615..d22f2fe4829e8334eb28a17c8b45c19a3357d5f2:/SL/DB/Invoice.pm diff --git a/SL/DB/Invoice.pm b/SL/DB/Invoice.pm index d6ec6c853..6f8438f1c 100644 --- a/SL/DB/Invoice.pm +++ b/SL/DB/Invoice.pm @@ -184,9 +184,16 @@ sub new_from { $args{payment_id} = ( $terms ? $terms->id : $source->payment_id); - if ($source->type =~ /_order$/) { + if ($source->type =~ /_delivery_order$/) { + $args{deliverydate} = $source->reqdate; + if (my $order = SL::DB::Manager::Order->find_by(ordnumber => $source->ordnumber)) { + $args{orddate} = $order->transdate; + } + + } elsif ($source->type =~ /_order$/) { $args{deliverydate} = $source->reqdate; $args{orddate} = $source->transdate; + } else { $args{quodate} = $source->transdate; } @@ -296,14 +303,16 @@ sub _post_add_acctrans { $chart_link = SL::DB::Manager::Chart->find_by(id => $chart_id)->{'link'}; $chart_link ||= ''; - SL::DB::AccTransaction->new(trans_id => $self->id, - chart_id => $chart_id, - amount => $spec->{amount}, - tax_id => $spec->{tax_id}, - taxkey => $spec->{taxkey}, - project_id => $self->globalproject_id, - transdate => $self->transdate, - chart_link => $chart_link)->save; + if ($spec->{amount} != 0) { + SL::DB::AccTransaction->new(trans_id => $self->id, + chart_id => $chart_id, + amount => $spec->{amount}, + tax_id => $spec->{tax_id}, + taxkey => $spec->{taxkey}, + project_id => $self->globalproject_id, + transdate => $self->transdate, + chart_link => $chart_link)->save; + } } } @@ -355,6 +364,7 @@ sub add_ar_amount_row { chart_id => $params{chart}->id, chart_link => $params{chart}->link, transdate => $self->transdate, + gldate => $self->gldate, taxkey => $tax->taxkey, tax_id => $tax->id, project_id => $params{project_id}, @@ -369,6 +379,7 @@ sub add_ar_amount_row { chart_id => $tax->chart_id, chart_link => $tax->chart->link, transdate => $self->transdate, + gldate => $self->gldate, taxkey => $tax->taxkey, tax_id => $tax->id, );