\newcommand{\returninset}[1][]{\hspace{-0.25cm}}\r
\r
% New command for address lines i.e. skip them if blank\r
-\newcommand{\addressline}[1]{\ifthenelse{\equal{#1}{}}{}{#1\newline}}\r
+\newcommand{\addressline}[1]{\ifthenelse{\equal{#1}{}}{}{#1\\}}\r
\r
% Inserts dollar symbol\r
\newcommand{\dollar}[1][]{\symbol{36}}\r
\r
\r
% Commands for freeside description...\r
-\newcommand{\FSdesc}[3]{\r
+\newcommand{\FSdesc}[5]{\r
\multicolumn{1}{c}{\rule{0pt}{2.5ex}\textbf{#1}} &\r
- \multicolumn{6}{l}{\textbf{#2}} &\r
- \multicolumn{1}{r}{\textbf{\dollar #3}}\\\r
+ \multicolumn{4}{l}{\textbf{#2}} &\r
+ \multicolumn{1}{l}{\textbf{#3}} &\r
+ \multicolumn{1}{r}{\textbf{#4}} &\r
+ \multicolumn{1}{r}{\textbf{\dollar #5}}\\\r
}\r
% ...extended description...\r
\newcommand{\FSextdesc}[1]{\r
\multicolumn{1}{l}{\rule{0pt}{1.0ex}} &\r
%% \multicolumn{2}{l}{\small{~-~#1}}\\\r
- ~-~#1\\\r
+#1\\\r
}\r
% ...and total line items.\r
\newcommand{\FStotaldesc}[2]{\r
%\r
%\r
[@-- $coupon ? '\enlargethispage{-\extracouponspace}' : '' --@]\r
-\begin{tabular}{ll}\r
-\addressinset \rule{0cm}{0cm} &\r
+\addressinset \rule{0.5cm}{0cm} \r
\makebox{\r
\begin{minipage}[t]{5.0cm}\r
\vspace{0.25cm}\r
\addressline{[@-- $city --@], [@-- $state --@]~~[@-- $zip --@]}\r
\addressline{[@-- $country --@]}\r
\end{minipage}}\r
-\end{tabular}\r
\hfill\r
\makebox{\r
\begin{minipage}[t]{6.4cm}\r
+[@--\r
+ if ($ship_enable) {\r
+ $OUT .= '\textbf{Service Address}\\\\';\r
+ $OUT .= "\\addressline{$ship_company}";\r
+ $OUT .= "\\addressline{$ship_address1}";\r
+ $OUT .= "\\addressline{$ship_address2}";\r
+ $OUT .= "\\addressline{$ship_city, $ship_state~~$ship_zip}";\r
+ $OUT .= "\\addressline{$ship_country}";\r
+ $OUT .= '~\\\\';\r
+ $OUT .= "\\textbf{ID:}~~$agent_custid\\\\" if $agent_custid;\r
+ $OUT .= "\\textbf{Fax:}~~$ship_fax\\\\" if $ship_fax;\r
+ $OUT .= '~\\\\' if ($ship_fax or $agent_custid);\r
+ }else{\r
+ $OUT .= '';\r
+ }\r
+--@]\r
\begin{flushright}\r
Terms: [@-- $terms --@]\\\r
[@-- $po_line --@]\\\r
$OUT .= '\large\textsc{'. $section->{'pretotal'}. '}\\\\';\r
$OUT .= '\\end{flushright}';\r
}\r
+ $OUT .= '\pagebreak' if $section{'post_total'};\r
$OUT .= '\captionsetup{singlelinecheck=false,justification=raggedright,font={Large,sc,bf}}';\r
$OUT .= '\begin{longtable}{cllllllr}';\r
$OUT .= '\caption*{ ';\r
$OUT .= '\hline';\r
$OUT .= '\rule{0pt}{2.5ex}';\r
$OUT .= '\makebox[1.4cm]{\textbf{Ref}} & ';\r
- $OUT .= '\multicolumn{6}{l}{\makebox[12.8cm][l]{\textbf{Description}}} & ';\r
- $OUT .= '\makebox[2.5cm][r]{\textbf{Amount}} \\\\';\r
+ $OUT .= '\makebox[2.0cm][l]{\textbf{Description}}& ';\r
+ $OUT .= '\makebox[2.0cm][l]{}& ';\r
+ $OUT .= '\makebox[2.0cm][l]{}& ';\r
+ $OUT .= '\makebox[2.0cm][l]{}& ';\r
+ $OUT .= '\makebox[2.0cm][l]{\textbf{'. ($unitprices ? '~~Unit Price' : ''). '}}&';\r
+ $OUT .= '\makebox[2.0cm]{\textbf{'. ($unitprices ? '~Quantity' : ''). '}}&';\r
+ $OUT .= '\makebox[2.0cm][r]{\textbf{Amount}} \\\\';\r
$OUT .= '\hline';\r
$OUT .= '\endfirsthead';\r
$OUT .= '\multicolumn{7}{r}{\rule{0pt}{2.5ex}Continued from previous page}\\\\';\r
$OUT .= '\hline';\r
$OUT .= '\rule{0pt}{2.5ex}';\r
$OUT .= '\makebox[1.4cm]{\textbf{Ref}} & ';\r
- $OUT .= '\multicolumn{6}{l}{\makebox[12.8cm][l]{\textbf{Description}}} & ';\r
- $OUT .= '\makebox[2.5cm][r]{\textbf{Amount}} \\\\';\r
+ $OUT .= '\makebox[2.0cm][l]{\textbf{Description}}& ';\r
+ $OUT .= '\makebox[2.0cm][l]{}& ';\r
+ $OUT .= '\makebox[2.0cm][l]{}& ';\r
+ $OUT .= '\makebox[2.0cm][l]{}& ';\r
+ $OUT .= '\makebox[2.0cm][l]{\textbf{'. ($unitprices ? '~~Unit Price' : ''). '}}&';\r
+ $OUT .= '\makebox[2.0cm]{\textbf{'. ($unitprices ? '~Quantity' : ''). '}}&';\r
+ $OUT .= '\makebox[2.0cm][r]{\textbf{Amount}} \\\\';\r
$OUT .= '\hline';\r
$OUT .= '\endhead';\r
$OUT .= '\multicolumn{7}{r}{\rule{0pt}{2.5ex}Continued on next page...}\\\\';\r
$OUT .= '\hline';\r
$OUT .= '\endlastfoot';\r
\r
+ my $lastref = 0;\r
foreach my $line (\r
grep { ( scalar( @sections ) > 1 \r
? $section->{'description'} eq $_->{'section'}->{'description'}\r
# Don't break-up small packages.\r
my $rowbreak = @$ext_description < 5 ? '*' : '';\r
\r
- $OUT .= "\\hline\n";\r
- $OUT .= '\FSdesc{' . $line->{'ref'} . '}{' . $line->{'description'} . '}' .\r
+ $OUT .= "\\hline\n" if ($line->{'ref'} && $line->{'ref'} ne $lastref);\r
+ $OUT .= '\FSdesc'.\r
+ '{' . ( $line->{'ref'} ne $lastref ? $line->{'ref'} : '' ) . '}'.\r
+ '{' . $line->{'description'} . '}' .\r
+ '{' . ( $unitprices ? $line->{'unit_amount'} : '' ) . '}'.\r
+ '{' . ( $unitprices ? $line->{'quantity'} : '' ) . '}' .\r
'{' . $line->{'amount'} . "}${rowbreak}\n";\r
+ $lastref = $line->{'ref'};\r
\r
foreach my $ext_desc (@$ext_description) {\r
if ( $ext_desc !~ /[^\\]&/ ) {\r
$ext_desc = substr($ext_desc, 0, 80) . '...'\r
if (length($ext_desc) > 80);\r
- $ext_desc = '\small{'. $ext_desc. '}';\r
+ $ext_desc = '\multicolumn{6}{l}{\small{~~~'. $ext_desc. '}}';\r
+ }else{\r
+ $ext_desc = "~~~$ext_desc";\r
}\r
$OUT .= '\FSextdesc{' . $ext_desc . '}' . "${rowbreak}\n";\r
}\r