'.
'';
if ($section->{header_generator}) {
$OUT .= &{$section->{header_generator}}();
} else {
$OUT .= 'Ref | '.
'Description | '.
( $unitprices
? 'Unit Price | '.
'Quantity | '
: ''
).
'Amount | ';
}
'
';
my $lastref = 0;
foreach my $line (
grep { ( scalar(@sections) > 1
? $section->{'description'} eq $_->{'section'}->{'description'}
: 1
) }
@detail_items )
{
$OUT .=
''.
''.
( $line->{'ref'} ne $lastref ? $line->{'ref'} : '' ). ' | '.
''. $line->{'description'}. ' | '.
( $unitprices
? ''. $line->{'unit_amount'}. ' | '.
''. $line->{'quantity'}. ' | '
: ''
).
''. $line->{'amount'}. ' | ';
}
$OUT .= '
';
$lastref = $line->{'ref'};
if ( @{$line->{'ext_description'} } ) {
$OUT .= ' | ' : '>';
$OUT .= '';
foreach my $ext_desc ( @{$line->{'ext_description'} } ) {
$OUT .=
''.
'/i ? '' : 'colspan=99' ). '>'.
' '. $ext_desc.
' | '.
' '
}
$OUT .= ' | |
';
}
}
if (scalar(@sections) > 1) {
my $style = 'border-top: 3px solid #000000;'.
'border-bottom: 3px solid #000000;';
$OUT .=
''.
qq( | );
if ($section->{total_generator}) {
$OUT .= &{$section->{total_generator}}($section);
} else {
$OUT .= qq(' : '>' ).
$section->{'description'}. ' Total | '.
qq().
$section->{'subtotal'}. ' | ';
}
$OUT .= '
';
}
}
if ($section->{'posttotal'}) {
$OUT .= '';
$OUT .=
' '. $section->{'posttotal'}.
''.
' ';
$OUT .= ' |
';
}
}
my $style = 'border-top: 3px solid #000000;';
my $linenum = 0;
foreach my $line ( @total_items ) {
$style .= 'border-bottom: 3px solid #000000;'
if ++$linenum == scalar(@total_items);
$OUT .=
'';
if ($section->{total_line_generator}) {
$OUT .= &{$section->{total_line_generator}}($line);
} else {
$OUT .= qq( | ).
qq(' : '>' ).
$line->{'total_item'}. ' | '.
qq().
$line->{'total_amount'}. ' | ';
}
$OUT .= '
';
$style='';
}
%>