Conflicts:
bin/mozilla/ar.pl
$form->{defaultcurrency} = $form->get_default_currency(\%myconfig);
$form->{defaultcurrency} = $form->get_default_currency(\%myconfig);
+ my $invdate = $form->datetonum($form->{transdate}, \%myconfig);
+
for my $i (1 .. $form->{paidaccounts}) {
if ($form->parse_amount(\%myconfig, $form->{"paid_$i"})) {
my $datepaid = $form->datetonum($form->{"datepaid_$i"}, \%myconfig);
for my $i (1 .. $form->{paidaccounts}) {
if ($form->parse_amount(\%myconfig, $form->{"paid_$i"})) {
my $datepaid = $form->datetonum($form->{"datepaid_$i"}, \%myconfig);
if ($form->{defaultcurrency} && ($form->{currency} ne $form->{defaultcurrency})) {
$form->{"exchangerate_$i"} = $form->{exchangerate}
if ($form->{defaultcurrency} && ($form->{currency} ne $form->{defaultcurrency})) {
$form->{"exchangerate_$i"} = $form->{exchangerate}
- if ($form->{transdate} == $datepaid);
+ if ($invdate == $datepaid);
$form->isblank("exchangerate_$i",
$locale->text('Exchangerate for payment missing!'));
}
$form->isblank("exchangerate_$i",
$locale->text('Exchangerate for payment missing!'));
}
$form->{defaultcurrency} = $form->get_default_currency(\%myconfig);
$form->{defaultcurrency} = $form->get_default_currency(\%myconfig);
+ my $invdate = $form->datetonum($form->{transdate}, \%myconfig);
+
for my $i (1 .. $form->{paidaccounts}) {
if ($form->parse_amount(\%myconfig, $form->{"paid_$i"})) {
for my $i (1 .. $form->{paidaccounts}) {
if ($form->parse_amount(\%myconfig, $form->{"paid_$i"})) {
$form->{script} = "licenses.pl";
$form->{script} = "licenses.pl";
map { $form->{$_} = $form->{"old_$_"} } qw(partnumber description);
map { $form->{$_} = $form->escape($form->{$_}, 1) }
qw(partnumber description);
$form->{callback} =
map { $form->{$_} = $form->{"old_$_"} } qw(partnumber description);
map { $form->{$_} = $form->escape($form->{$_}, 1) }
qw(partnumber description);
$form->{callback} =
- qq|$form->{script}?action=add&vc=$form->{db}&$form->{db}_id=$form->{id}&$form->{db}=$name&type=$form->{type}&customer=$customer&partnumber=$form->{partnumber}&description=$form->{description}&previousform="$previousform"&initial=1|;
+ qq|$form->{script}?action=add&vc=$form->{db}&$form->{db}_id=$form->{id}&$form->{db}=$form->{name}&type=$form->{type}&customer=$customer&partnumber=$form->{partnumber}&description=$form->{description}&previousform="$previousform"&initial=1|;
$form->redirect;
$main::lxdebug->leave_sub();
$form->redirect;
$main::lxdebug->leave_sub();
$main::auth->assert('invoice_edit');
$main::auth->assert('invoice_edit');
my @custom_hiddens;
$form->{employee_id} = $form->{old_employee_id} if $form->{old_employee_id};
my @custom_hiddens;
$form->{employee_id} = $form->{old_employee_id} if $form->{old_employee_id};
$main::auth->assert('invoice_edit');
$main::auth->assert('invoice_edit');
+ my $invdate = $form->datetonum($form->{invdate}, \%myconfig);
$form->{defaultcurrency} = $form->get_default_currency(\%myconfig);
for my $i (1 .. $form->{paidaccounts}) {
$form->{defaultcurrency} = $form->get_default_currency(\%myconfig);
for my $i (1 .. $form->{paidaccounts}) {
$form->{title} = $locale->text('Add Credit Note');
$form->{script} = 'is.pl';
$form->{title} = $locale->text('Add Credit Note');
$form->{script} = 'is.pl';
- our $script = "is";
- our $buysell = 'buy';
# bo creates the id, reset it
# bo creates the id, reset it
&invoice_links;
$form->{currency} = $currency;
&invoice_links;
$form->{currency} = $currency;
- $form->{forex} = $form->check_exchangerate( \%myconfig, $form->{currency}, $form->{invdate}, $buysell);
+ $form->{forex} = $form->check_exchangerate( \%myconfig, $form->{currency}, $form->{invdate}, 'buy');
$form->{exchangerate} = $form->{forex} || '';
$form->{creditremaining} -= ($form->{oldinvtotal} - $form->{ordtotal});
$form->{exchangerate} = $form->{forex} || '';
$form->{creditremaining} -= ($form->{oldinvtotal} - $form->{ordtotal});
'balance_sheet' => 'report',
};
'balance_sheet' => 'report',
};
-# subs use these pretty freely, so declare them here
-our (%column_data, @column_index);
-our ($subtotalnetamount, $subtotaltax, $subtotal);
-
sub check_rp_access {
my $form = $main::form;
sub check_rp_access {
my $form = $main::form;
my $descvar = "$form->{accno}_description";
my $description = $form->escape($form->{$descvar});
my $ratevar = "$form->{accno}_rate";
my $descvar = "$form->{accno}_description";
my $description = $form->escape($form->{$descvar});
my $ratevar = "$form->{accno}_rate";
- our $taxrate; # most likely error
+ my ($subtotalnetamount, $subtotaltax, $subtotal) = (0, 0, 0);
my $department = $form->escape($form->{department});
# construct href
my $href =
my $department = $form->escape($form->{department});
# construct href
my $href =
- "$form->{script}?&action=generate_tax_report&fromdate=$form->{fromdate}&todate=$form->{todate}&db=$form->{db}&method=$form->{method}&accno=$form->{accno}&$descvar=$description&department=$department&$ratevar=$taxrate&report=$form->{report}";
+ "$form->{script}?&action=generate_tax_report&fromdate=$form->{fromdate}&todate=$form->{todate}&db=$form->{db}&method=$form->{method}&accno=$form->{accno}&$descvar=$description&department=$department&report=$form->{report}";
# construct callback
$description = $form->escape($form->{$descvar}, 1);
$department = $form->escape($form->{department}, 1);
my $callback =
# construct callback
$description = $form->escape($form->{$descvar}, 1);
$department = $form->escape($form->{department}, 1);
my $callback =
- "$form->{script}?&action=generate_tax_report&fromdate=$form->{fromdate}&todate=$form->{todate}&db=$form->{db}&method=$form->{method}&accno=$form->{accno}&$descvar=$description&department=$department&$ratevar=$taxrate&report=$form->{report}";
+ "$form->{script}?&action=generate_tax_report&fromdate=$form->{fromdate}&todate=$form->{todate}&db=$form->{db}&method=$form->{method}&accno=$form->{accno}&$descvar=$description&department=$department&report=$form->{report}";
my $title = $form->escape($form->{title});
$href .= "&title=$title";
my $title = $form->escape($form->{title});
$href .= "&title=$title";
my @columns =
$form->sort_columns(qw(id transdate invnumber name netamount tax amount));
my @columns =
$form->sort_columns(qw(id transdate invnumber name netamount tax amount));
foreach my $item (@columns) {
if ($form->{"l_$item"} eq "Y") {
foreach my $item (@columns) {
if ($form->{"l_$item"} eq "Y") {
if ($form->{l_subtotal} eq 'Y') {
if ($sameitem ne $ref->{ $form->{sort} }) {
if ($form->{l_subtotal} eq 'Y') {
if ($sameitem ne $ref->{ $form->{sort} }) {
+ tax_subtotal(\@column_index, \$subtotalnetamount, \$subtotaltax, \$subtotal);
$sameitem = $ref->{ $form->{sort} };
}
}
$sameitem = $ref->{ $form->{sort} };
}
}
$ref->{$_} = $form->format_amount(\%myconfig, $ref->{$_}, 2, " ");
} qw(netamount tax amount);
$ref->{$_} = $form->format_amount(\%myconfig, $ref->{$_}, 2, " ");
} qw(netamount tax amount);
$column_data{id} = qq|<td>$ref->{id}</td>|;
$column_data{invnumber} =
qq|<td><a href=$module?action=edit&id=$ref->{id}&callback=$callback>$ref->{invnumber}</a></td>|;
$column_data{id} = qq|<td>$ref->{id}</td>|;
$column_data{invnumber} =
qq|<td><a href=$module?action=edit&id=$ref->{id}&callback=$callback>$ref->{invnumber}</a></td>|;
}
if ($form->{l_subtotal} eq 'Y') {
}
if ($form->{l_subtotal} eq 'Y') {
+ tax_subtotal(\@column_index, \$subtotalnetamount, \$subtotaltax, \$subtotal);
map { $column_data{$_} = qq|<th> </th>| } @column_index;
print qq|
map { $column_data{$_} = qq|<th> </th>| } @column_index;
print qq|
sub tax_subtotal {
$main::lxdebug->enter_sub();
sub tax_subtotal {
$main::lxdebug->enter_sub();
+ my ($column_index, $subtotalnetamount, $subtotaltax, $subtotal) = @_;
+
my $form = $main::form;
my %myconfig = %main::myconfig;
my $locale = $main::locale;
my $form = $main::form;
my %myconfig = %main::myconfig;
my $locale = $main::locale;
- map { $column_data{$_} = "<td> </td>" } @column_index;
+ my %column_data;
+ map { $column_data{$_} = "<td> </td>" } @{ $column_index };
- $subtotalnetamount = $form->format_amount(\%myconfig, $subtotalnetamount, 2, " ");
- $subtotaltax = $form->format_amount(\%myconfig, $subtotaltax, 2, " ");
- $subtotal = $form->format_amount(\%myconfig, $subtotalnetamount + $subtotaltax, 2, " ");
+ $$subtotalnetamount = $form->format_amount(\%myconfig, $$subtotalnetamount, 2, " ");
+ $$subtotaltax = $form->format_amount(\%myconfig, $$subtotaltax, 2, " ");
+ $$subtotal = $form->format_amount(\%myconfig, $$subtotalnetamount + $$subtotaltax, 2, " ");
- $column_data{netamount} = "<th class=listsubtotal align=right>$subtotalnetamount</th>";
- $column_data{tax} = "<th class=listsubtotal align=right>$subtotaltax</th>";
- $column_data{amount} = "<th class=listsubtotal align=right>$subtotal</th>";
+ $column_data{netamount} = "<th class=listsubtotal align=right>$$subtotalnetamount</th>";
+ $column_data{tax} = "<th class=listsubtotal align=right>$$subtotaltax</th>";
+ $column_data{amount} = "<th class=listsubtotal align=right>$$subtotal</th>";
- $subtotalnetamount = 0;
- $subtotaltax = 0;
+ $$subtotalnetamount = 0;
+ $$subtotaltax = 0;
print qq|
<tr class=listsubtotal>
|;
print qq|
<tr class=listsubtotal>
|;
- map { print "\n$column_data{$_}" } @column_index;
+ map { print "\n$column_data{$_}" } @{ $column_index };