| . $locale->text('Vendor') . qq| |
- $vendor |
+ $vendor |
@@ -533,9 +457,6 @@ sub form_header {
$jsscript
-
-
-
{rowcount}>
@@ -565,15 +486,44 @@ $jsscript
$form->{"amount_$i"} =
$form->format_amount(\%myconfig, $form->{"amount_$i"}, 2);
$form->{"tax_$i"} = $form->format_amount(\%myconfig, $form->{"tax_$i"}, 2);
- $selectAP_amount = $selectAP_amount_unquoted;
- $re_amount = quotemeta($form->{"AP_amount_$i"});
- $selectAP_amount =~
- s/option value=\"${re_amount}\"/option value=\"$form->{"AP_amount_$i"}\" selected/;
- $tax = $taxchart;
- $tax_selected = $form->{"taxchart_$i"};
- $tax =~ s/value=\"$tax_selected\"/value=\"$tax_selected\" selected/;
- $tax =
- qq| | | |;
+
+ my $selected_accno_full;
+ my ($accno_row) = split(/--/, $form->{"AP_amount_$i"});
+ my $item = $charts{$accno_row};
+ $selected_accno_full = "$item->{accno}--$item->{tax_id}";
+
+ my $selected_taxchart = $form->{"taxchart_$i"};
+ my ($selected_accno, $selected_tax_id) = split(/--/, $selected_accno_full);
+ my ($previous_accno, $previous_tax_id) = split(/--/, $form->{"previous_AP_amount_$i"});
+
+ if ($previous_accno &&
+ ($previous_accno eq $selected_accno) &&
+ ($previous_tax_id ne $selected_tax_id)) {
+ my $item = $taxcharts{$selected_tax_id};
+ $selected_taxchart = "$item->{id}--$item->{rate}";
+ }
+
+ $selected_taxchart = $taxchart_init unless ($form->{"taxchart_$i"});
+
+ $selectAP_amount =
+ NTI($cgi->popup_menu('-name' => "AP_amount_$i",
+ '-id' => "AP_amount_$i",
+ '-style' => 'width:400px',
+ '-onChange' => "setTaxkey(this, $i)",
+ '-values' => \@AP_amount_values,
+ '-labels' => \%AP_amount_labels,
+ '-default' => $selected_accno_full))
+ . $cgi->hidden('-name' => "previous_AP_amount_$i",
+ '-default' => $selected_accno_full);
+
+ $tax = qq|| .
+ NTI($cgi->popup_menu('-name' => "taxchart_$i",
+ '-id' => "taxchart_$i",
+ '-style' => 'width:200px',
+ '-values' => \@taxchart_values,
+ '-labels' => \%taxchart_labels,
+ '-default' => $selected_taxchart))
+ . qq| | |;
my $korrektur = $form->{"korrektur_$i"} ? 'checked' : '';
@@ -585,7 +535,7 @@ $jsscript
print qq|
- |
+ $selectAP_amount |
{"amount_$i"}> |
{"tax_$i"}> |
|
@@ -602,8 +552,14 @@ $jsscript
? $locale->text('Tax Included')
: $locale->text('Tax');
+ $form->{invtotal_unformatted} = $form->{invtotal};
$form->{invtotal} = $form->format_amount(\%myconfig, $form->{invtotal}, 2);
+ $APselected =
+ NTI($cgi->popup_menu('-name' => "APselected", '-id' => "APselected",
+ '-style' => 'width:400px',
+ '-values' => \@AP_values, '-labels' => \%AP_labels,
+ '-default' => $form->{APselected}));
print qq|
@@ -611,8 +567,7 @@ $jsscript
|
- |
-
+ ${APselected} |
$form->{invtotal} |
{oldinvtotal}>
@@ -667,16 +622,23 @@ $jsscript
";
- my @triggers = ();
+ my @triggers = ();
+ my $totalpaid = 0;
+
$form->{paidaccounts}++ if ($form->{"paid_$form->{paidaccounts}"});
for $i (1 .. $form->{paidaccounts}) {
print "
";
- $form->{"selectAP_paid_$i"} = $form->{selectAP_paid};
- $form->{"selectAP_paid_$i"} =~
- s/option value=\"$form->{"AP_paid_$i"}\">/option value=\"$form->{"AP_paid_$i"}\" selected>/;
+ $selectAP_paid =
+ NTI($cgi->popup_menu('-name' => "AP_paid_$i",
+ '-id' => "AP_paid_$i",
+ '-values' => \@AP_paid_values,
+ '-labels' => \%AP_paid_labels,
+ '-default' => $form->{"AP_paid_$i"}));
+
+ $totalpaid += $form->{"paid_$i"};
# format amounts
if ($form->{"paid_$i"}) {
@@ -702,12 +664,12 @@ $jsscript
|;
$column_data{"paid_$i"} =
- qq|{"paid_$i"}> | |;
+ qq| | |;
$column_data{"AP_paid_$i"} =
- qq| | |;
+ qq|${selectAP_paid} | |;
$column_data{"exchangerate_$i"} = qq|$exchangerate | |;
$column_data{"datepaid_$i"} =
- qq|{"datepaid_$i"}>
+ qq| |
| |;
$column_data{"source_$i"} =
qq| | |;
@@ -728,11 +690,25 @@ $jsscript
";
push(@triggers, "datepaid_$i", "BL", "trigger_datepaid_$i");
}
- map { $form->{$_} =~ s/\"/"/g } qw(selectAP_paid);
- print $form->write_trigger(\%myconfig, scalar(@triggers) / 3, @triggers) .
+
+ my $paid_missing = $form->{invtotal_unformatted} - $totalpaid;
+
+ print qq|
+
+ |
+ |
+ | . $locale->text('Total') . qq| |
+ | . H($form->format_amount(\%myconfig, $totalpaid, 2)) . qq| |
+
+
+ |
+ |
+ | . $locale->text('Missing amount') . qq| |
+ | . H($form->format_amount(\%myconfig, $paid_missing, 2)) . qq| |
+
+| . $form->write_trigger(\%myconfig, scalar(@triggers) / 3, @triggers) .
qq|
{paidaccounts}>
-
@@ -754,51 +730,52 @@ sub form_footer {