Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 6aefd19d

Von Moritz Bunkus vor fast 18 Jahren hinzugefügt

  • ID 6aefd19def6a7d2f205e5401451e4c0bf3cebc46
  • Vorgänger a104b890
  • Nachfolger d18a84df

Dialogbuchen, Debitorenbuchungen: Wird das transdate verändert, so wird eventuell auch der Steuerschlüssel geändert. Auch in diesem Fall müssen die ausgewählten Konten beibehalten werden. Die Steuerkonten werden in so einem Fall aber auf das mit dem ausgewählten Konto verknüpften Steuerkonto gesetzt. Fix für Bug 577.

Unterschiede anzeigen:

bin/mozilla/ar.pl
428 428
  my (%AR_amount_labels, @AR_amount_values);
429 429
  my (%AR_labels, @AR_values);
430 430
  my (%AR_paid_labels, @AR_paid_values);
431
  my %charts;
431 432
  my $taxchart_init;
432 433

  
433 434
  foreach my $item (@{ $form->{ALL_CHARTS} }) {
......
447 448
      $AR_paid_labels{$item->{accno}} =
448 449
        "$item->{accno}--$item->{description}";
449 450
    }
451

  
452
    $charts{$item->{accno}} = $item;
450 453
  }
451 454

  
452 455
  my %taxchart_labels = ();
453 456
  my @taxchart_values = ();
457
  my %taxcharts = ();
454 458
  foreach my $item (@{ $form->{ALL_TAXCHARTS} }) {
455 459
    my $key = "$item->{id}--$item->{rate}";
456 460
    $taxchart_init = $key if ($taxchart_init eq $item->{id});
457 461
    push(@taxchart_values, $key);
458 462
    $taxchart_labels{$key} =
459 463
      "$item->{taxdescription} " . ($item->{rate} * 100) . ' %';
464
    $taxcharts{$item->{id}} = $item;
460 465
  }
461 466

  
462 467
  $form->{fokus} = "arledger.customer";
......
610 615
      $form->format_amount(\%myconfig, $form->{"amount_$i"}, 2);
611 616
    $form->{"tax_$i"} = $form->format_amount(\%myconfig, $form->{"tax_$i"}, 2);
612 617

  
618
    my $selected_accno_full;
619
    my ($accno_row) = split(/--/, $form->{"AR_amount_$i"});
620
    my $item = $charts{$accno_row};
621
    $selected_accno_full = "$item->{accno}--$item->{tax_id}";
622

  
623
    my $selected_taxchart = $form->{"taxchart_$i"};
624
    my ($selected_accno, $selected_tax_id) = split(/--/, $selected_accno_full);
625
    my ($previous_accno, $previous_tax_id) = split(/--/, $form->{"previous_AR_amount_$i"});
626

  
627
    if ($previous_accno &&
628
        ($previous_accno eq $selected_accno) &&
629
        ($previous_tax_id ne $selected_tax_id)) {
630
      $lxdebug->message(0, "yeah");
631
      my $item = $taxcharts{$selected_tax_id};
632
      $selected_taxchart = "$item->{id}--$item->{rate}";
633
    }
634

  
635
    $selected_taxchart = $taxchart_init unless ($form->{"taxchart_$i"});
636

  
613 637
    $selectAR_amount =
614 638
      NTI($cgi->popup_menu('-name' => "AR_amount_$i",
615 639
                           '-id' => "AR_amount_$i",
......
617 641
                           '-onChange' => "setTaxkey(this, $i)",
618 642
                           '-values' => \@AR_amount_values,
619 643
                           '-labels' => \%AR_amount_labels,
620
                           '-default' => $form->{"AR_amount_$i"}));
644
                           '-default' => $selected_accno_full))
645
      . $cgi->hidden('-name' => "previous_AR_amount_$i",
646
                     '-default' => $selected_accno_full);
621 647

  
622 648
    $tax = qq|<td>| .
623 649
      NTI($cgi->popup_menu('-name' => "taxchart_$i",
......
625 651
                           '-style' => 'width:200px',
626 652
                           '-values' => \@taxchart_values,
627 653
                           '-labels' => \%taxchart_labels,
628
                           '-default' => $form->{"taxchart_$i"} eq "" ?
629
                           $taxchart_init : $form->{"taxchart_$i"}))
654
                           '-default' => $selected_taxchart))
630 655
      . qq|</td>|;
631 656

  
632 657
    $korrektur_checked = ($form->{"korrektur_$i"} ? 'checked' : '');

Auch abrufbar als: Unified diff