Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 731991d4

Von G. Richardson vor mehr als 4 Jahren hinzugefügt

  • ID 731991d49695123cea7a6de1d7c8b0e649d2dba2
  • Vorgänger e765ebf8
  • Nachfolger 0d6ff79f

Deb-/Kred-/Dialogbuchungen - get_active_taxes_for_chart mit tax_id

Durch die Konfiguration bei den Steuern, für welche Konten welche
Steuerfälle in den Dropdowns bei Debitoren-, Kreditoren- und
Dialogbuchungen auftauchen, kann es passieren, daß für bereits gebuchte
Belege beim erneuten Öffnen die Steuer nicht mehr zur Verfügung steht
und dadurch falsch angezeigt wird. Indem man die aktuelle tax_id an
get_active_taxes_for_chart mit übergibt kann man sicherstellen, daß die
ausgewählte Steuer immer im Dropdown auftaucht.

Da der Code für die Erstellung der jeweiligen Dropdowns so umständlich
ist, und mehrmals wiederholt wird, war es einfacher, dies als neuen
Parameter in get_active_taxes_for_chart zu implementieren.

Unterschiede anzeigen:

bin/mozilla/ap.pl
480 480
    $form->{"tax_$i"} = $form->format_amount(\%myconfig, $form->{"tax_$i"}, 2);
481 481

  
482 482
    my ($default_taxchart, $taxchart_to_use);
483
    my $used_tax_id;
484
    if ( $form->{"taxchart_$i"} ) {
485
      ($used_tax_id) = split(/--/, $form->{"taxchart_$i"});
486
    }
483 487
    my $amount_chart_id = $form->{"AP_amount_chart_id_$i"} || $default_ap_amount_chart_id;
484
    my @taxcharts       = GL->get_active_taxes_for_chart($amount_chart_id, $transdate);
485 488

  
489
    my @taxcharts       = GL->get_active_taxes_for_chart($amount_chart_id, $transdate, $used_tax_id);
486 490
    foreach my $item (@taxcharts) {
487 491
      my $key             = $item->id . "--" . $item->rate;
488 492
      $first_taxchart   //= $item;
bin/mozilla/ar.pl
428 428
    my (%taxchart_labels, @taxchart_values, $default_taxchart, $taxchart_to_use);
429 429
    my $amount_chart_id = $form->{"AR_amount_chart_id_$i"} // $default_ar_amount_chart_id;
430 430

  
431
    foreach my $item ( GL->get_active_taxes_for_chart($amount_chart_id, $transdate) ) {
431
    my $used_tax_id;
432
    if ( $form->{"taxchart_$i"} ) {
433
      ($used_tax_id) = split(/--/, $form->{"taxchart_$i"});
434
    }
435
    foreach my $item ( GL->get_active_taxes_for_chart($amount_chart_id, $transdate, $used_tax_id) ) {
432 436
      my $key             = $item->id . "--" . $item->rate;
433 437
      $first_taxchart   //= $item;
434 438
      $default_taxchart   = $item if $item->{is_default};
bin/mozilla/gl.pl
826 826
    $accno_id    = $chart->{id};
827 827
    my ($first_taxchart, $default_taxchart, $taxchart_to_use);
828 828

  
829
    my $used_tax_id;
830
    if ( $form->{"taxchart_$i"} ) {
831
      ($used_tax_id) = split(/--/, $form->{"taxchart_$i"});
832
    }
829 833

  
830 834
    my $taxdate = $deliverydate ? $deliverydate : $transdate;
831
    foreach my $item ( GL->get_active_taxes_for_chart($accno_id, $taxdate) ) {
835
    foreach my $item ( GL->get_active_taxes_for_chart($accno_id, $taxdate, $used_tax_id) ) {
832 836
      my $key             = $item->id . "--" . $item->rate;
833 837
      $first_taxchart   //= $item;
834 838
      $default_taxchart   = $item if $item->{is_default};

Auch abrufbar als: Unified diff