'.
- ''.
- 'Ref | '.
- 'Description | '.
- ( $unitprices
- ? 'Unit Price | '.
- 'Quantity | '
- : ''
- ).
- 'Amount | '.
- '
';
+ '';
+
+ if ($section->{header_generator}) {
+ $OUT .= &{$section->{header_generator}}();
+ } else {
+ $OUT .= 'Ref | '.
+ 'Description | '.
+ ( $unitprices
+ ? 'Unit Price | '.
+ 'Quantity | '
+ : ''
+ ).
+ 'Amount | ';
+ }
+ $OUT .= '
';
my $lastref = 0;
foreach my $line (
@@ -134,21 +142,24 @@
@detail_items )
{
$OUT .=
- ''.
- ''.
- ( $line->{'ref'} ne $lastref ? $line->{'ref'} : '' ). ' | '.
- ''. $line->{'description'}. ' | '.
- ( $unitprices
- ? ''. $line->{'unit_amount'}. ' | '.
- ''. $line->{'quantity'}. ' | '
- : ''
- ).
-
- ''. $line->{'amount'}. ' | '.
- '
'
- ;
+ ''.
+ ''.
+ ( $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 .= ' | 1) {
+ if ($section->{'description'} || $multisection) {
my $style = 'border-top: 3px solid #000000;'.
'border-bottom: 3px solid #000000;';
$OUT .=
' |
'.
- qq( | ).
- qq(' : '>' ).
- $section->{'description'}. ' Total | '.
- qq().
- $section->{'subtotal'}. ' | '.
- '
'
- ;
+ qq( | );
+ if ($section->{total_generator}) {
+ $OUT .= &{$section->{total_generator}}($section);
+ } else {
+ $OUT .= qq(' : '>' ).
+ $section->{'description'}. ' Total | '.
+ qq().
+ $section->{'subtotal'}. ' | ';
+ }
+ $OUT .= '';
}
}
if ($section->{'posttotal'}) {
@@ -192,6 +206,8 @@
$OUT .= '';
}
+ $notfirst++;
+
}
my $style = 'border-top: 3px solid #000000;';
@@ -200,18 +216,21 @@
foreach my $line ( @total_items ) {
$style .= 'border-bottom: 3px solid #000000;'
- if ++$linenum == scalar(@total_items);
+ if ++$linenum == scalar(@total_items) - ( $balance_due_below_line ? 1 : 0 );
$OUT .=
- ''.
- qq( | ).
- qq(' : '>' ).
- $line->{'total_item'}. ' | '.
- qq().
- $line->{'total_amount'}. ' | '.
- '
'
- ;
+ '';
+ if ($section->{total_line_generator}) {
+ $OUT .= &{$section->{total_line_generator}}($line);
+ } else {
+ $OUT .= qq( | ).
+ qq(' : '>' ).
+ $line->{'total_item'}. ' | '.
+ qq().
+ $line->{'total_amount'}. ' | ';
+ }
+ $OUT .= '
';
$style='';