$sth->execute(@query_params);
my @flows;
-my @columns;
+my @cols;
+
+my $addcols= sub {
+ my $base= shift @_;
+ foreach my $name (@_) {
+ push @cols, { Name => $name, %$base };
+ }
+};
+
if ($qa->{ShowStalls}) {
- push @columns, qw(org_name org_stallname dst_name dst_stallname);
+ $addcols->({ Text => 1 }, qw(
+ org_name org_stallname
+ dst_name dst_stallname
+ ));
} else {
- push @columns, qw(org_name dst_name);
+ $addcols->({Text => 1 }, qw(
+ org_name dst_name
+ ));
}
-my $ntextcolumns= @columns+1;
-push @columns, qw(commodname
- org_qty org_price dst_qty dst_price
- Margin unitprofit
- MaxQty MaxCapital MaxProfit);
+$addcols->({ Text => 1 }, qw(commodname));
+$addcols->({},
+ qw( org_qty org_price dst_qty dst_price
+ Margin unitprofit MaxQty
+ ));
+$addcols->({ Total => 1 }, qw(
+ MaxCapital MaxProfit
+ ));
</%perl>
die unless $found_section;
};
-push @columns, qw(OptQty OptCapital OptProfit);
+$addcols->({}, qw(
+ OptQty
+ ));
+$addcols->({ Total => 1 }, qw(
+ OptCapital OptProfit
+ ));
</%perl>
<td><input type=hidden name=R<% $flow->{UidShort} %> value="">
<input type=checkbox name=T<% $flow->{UidShort} %> value=""
<% $flow->{Suppress} ? '' : 'checked' %> >
-% foreach my $ci (0..$#columns) {
-% my $col= $columns[$ci];
-% my $v= $flow->{$col};
-% my $isnum= $ci >= $ntextcolumns;
-% $v='' if $isnum && !$v;
-<td <% $isnum ? 'align=right' : '' %>><% $v |h %>
+% foreach my $ci (0..$#cols) {
+% my $col= $cols[$ci];
+% my $v= $flow->{$col->{Name}};
+% $v='' if !$col->{Text} && !$v;
+<td <% $col->{Text} ? '' : 'align=right' %>><% $v |h %>
% }
% }
</table>