Merge branch 'rb-wiederkehrende-rechnungen' into 263
authorMoritz Bunkus <m.bunkus@linet-services.de>
Fri, 28 Jan 2011 12:15:19 +0000 (13:15 +0100)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Fri, 28 Jan 2011 12:15:19 +0000 (13:15 +0100)
1  2 
SL/DB/Helper/PriceTaxCalculator.pm

@@@ -109,8 -109,12 +109,12 @@@ sub _calculate_item 
      $tax_amount = $linetotal * $tax_rate;
    }
  
-   $data->{taxes}->{ $taxkey->tax->chart_id } ||= 0;
-   $data->{taxes}->{ $taxkey->tax->chart_id }  += $tax_amount;
+   if ($taxkey->tax->chart_id) {
+     $data->{taxes}->{ $taxkey->tax->chart_id } ||= 0;
+     $data->{taxes}->{ $taxkey->tax->chart_id }  += $tax_amount;
+   } elsif ($tax_amount) {
+     die "tax_amount != 0 but no chart_id for taxkey " . $taxkey->id . " tax " . $taxkey->tax->id;
+   }
  
    $self->netamount($self->netamount + $sellprice * $item->qty / $item->price_factor);
  
@@@ -163,7 -167,7 +167,7 @@@ sub _calculate_amounts 
  sub _calculate_assembly_item {
    my ($self, $data, $part, $total_qty, $base_factor) = @_;
  
 -  return 0 if $::eur || !$data->{is_invoice};
 +  return 0 if $::lx_office_conf{system}->{eur} || !$data->{is_invoice};
  
    foreach my $assembly_entry (@{ $part->assemblies }) {
      push @{ $data->{assembly_items}->[-1] }, { part      => $assembly_entry->part,
@@@ -184,7 -188,7 +188,7 @@@ sub _calculate_part_item 
  
    _dbg("cpsi tq " . $total_qty);
  
 -  return 0 if $::eur || !$data->{is_invoice} || !$total_qty;
 +  return 0 if $::lx_office_conf{system}->{eur} || !$data->{is_invoice} || !$total_qty;
  
    my ($entry);
    $base_factor           ||= 1;