Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision affafa23

Von Niclas Zimmermann vor etwa 11 Jahren hinzugefügt

  • ID affafa23d66a18e409ac424f6e27f0f1b4008725
  • Vorgänger 95795aa0
  • Nachfolger 16fffacb

Behebt Bug bei Steuerfilterung in Dialogbuchungen

Bisher kam es zu einem Fehler, wenn in Dialogbuchungen auf 'Erneuern'
geklickt hat (der Filter für die Steuerkonten wurde für das erste
Konto in der Liste aller Konten gesetzt statt dem ausgewählten).

Unterschiede anzeigen:

SL/GL.pm
}
sub get_tax_dropdown {
my ($self, $accno) = @_;
my $myconfig = \%main::myconfig;
my $form = $main::form;
my $dbh = $form->get_standard_dbh($myconfig);
my $query = qq|SELECT category FROM chart WHERE accno = ?|;
my ($category) = selectrow_query($form, $dbh, $query, $form->{accno});
my ($category) = selectrow_query($form, $dbh, $query, $accno);
$query = qq|SELECT * FROM tax WHERE chart_categories like '%$category%' order by taxkey, rate|;
my $sth = prepare_execute_query($form, $dbh, $query);
$form->{TAX_ACCOUNTS} = [];
my @tax_accounts = ();
while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
push(@{ $form->{TAX_ACCOUNTS} }, $ref);
push(@tax_accounts, $ref);
}
return @tax_accounts;
}
1;
bin/mozilla/gl.pl
$charts{$item->{accno}} = $item;
}
my %taxchart_labels = ();
my @taxchart_values = ();
my %taxcharts = ();
foreach my $item (@{ $form->{TAX_ACCOUNTS} }) {
my $key = $item->{id} . "--" . $item->{rate};
$taxchart_init = $key if ($taxchart_init == $item->{id});
push(@taxchart_values, $key);
$taxchart_labels{$key} = $item->{taxdescription} . " " . $item->{rate} * 100 . ' %';
$taxcharts{$item->{id}} = $item;
}
my ($source, $memo, $source_hidden, $memo_hidden);
for my $i (1 .. $form->{rowcount}) {
if ($form->{show_details}) {
......
my ($selected_accno, $selected_tax_id) = split(/--/, $selected_accno_full);
my ($previous_accno, $previous_tax_id) = split(/--/, $form->{"previous_accno_$i"});
my %taxchart_labels = ();
my @taxchart_values = ();
my %taxcharts = ();
my $filter_accno;
$filter_accno = $::form->{ALL_CHARTS}[0]->{accno};
$filter_accno = $selected_accno if (!$init and $i < $form->{rowcount});
foreach my $item ( GL->get_tax_dropdown($filter_accno) ) {
my $key = $item->{id} . "--" . $item->{rate};
$taxchart_init = $key if ($taxchart_init == $item->{id});
push(@taxchart_values, $key);
$taxchart_labels{$key} = $item->{taxdescription} . " " . $item->{rate} * 100 . ' %';
$taxcharts{$item->{id}} = $item;
}
if ($previous_accno &&
($previous_accno eq $selected_accno) &&
($previous_tax_id ne $selected_tax_id)) {
......
"charts" => { "key" => "ALL_CHARTS",
"transdate" => $::form->{transdate} });
$::form->{accno} = $::form->{ALL_CHARTS}[0]->{accno};
GL->get_tax_dropdown();
GL->get_chart_balances('charts' => $::form->{ALL_CHARTS});
my $title = $::form->{title};
......
}
sub get_tax_dropdown {
$main::lxdebug->enter_sub();
my $form = $main::form;
$main::lxdebug->enter_sub();
GL->get_tax_dropdown();
my @tax_accounts = GL->get_tax_dropdown($form->{accno});
foreach my $item (@{ $form->{TAX_ACCOUNTS} }) {
foreach my $item (@tax_accounts) {
$item->{taxdescription} = $::locale->{iconv_utf8}->convert($item->{taxdescription});
$item->{taxdescription} .= ' ' . $form->round_amount($item->{rate} * 100);
}
$form->{TAX_ACCOUNTS} = [ @tax_accounts ];
print $form->ajax_response_header, $form->parse_html_template("gl/update_tax_accounts");
$main::lxdebug->leave_sub();

Auch abrufbar als: Unified diff