X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=conf%2Finvoice_latex;h=86fbe0ec5d5d8f688558e2c75a74184f0a5d339f;hb=61cd6f69bdd692aa08de2ab1a2f19a457c46a7bb;hp=d1b471a4bbd3c151086b76cd0ab7be188c219986;hpb=673b9a458d9138523026963df6fa3b4683e09bae;p=freeside.git diff --git a/conf/invoice_latex b/conf/invoice_latex index d1b471a4b..86fbe0ec5 100644 --- a/conf/invoice_latex +++ b/conf/invoice_latex @@ -19,7 +19,7 @@ \documentclass[letterpaper]{article} -\usepackage{fancyhdr,lastpage,ifthen,longtable,afterpage} +\usepackage{fancyhdr,lastpage,ifthen,longtable,afterpage,multirow,bigstrut} \usepackage{graphicx} % required for logo graphic \addtolength{\voffset}{-0.0cm} % top margin to top of header @@ -38,6 +38,19 @@ \renewcommand{\headrulewidth}{0pt} \renewcommand{\footrulewidth}{1pt} +\renewcommand{\footrule}{ +[@-- + $coupon ? '\ifthenelse{\equal{\thepage}{1}}' : ''; +--@] + { + } + { + \vbox to 0pt{\rule{\headwidth}{\footrulewidth}\vss} + } +} + +\newcommand{\extracouponspace}{3.6cm} + % Adjust the inset of the mailing address \newcommand{\addressinset}[1][]{\hspace{1.0cm}} @@ -45,7 +58,7 @@ \newcommand{\returninset}[1][]{\hspace{-0.25cm}} % New command for address lines i.e. skip them if blank -\newcommand{\addressline}[1]{\ifthenelse{\equal{#1}{}}{}{#1\newline}} +\newcommand{\addressline}[1]{\ifthenelse{\equal{#1}{}}{}{#1\\}} % Inserts dollar symbol \newcommand{\dollar}[1][]{\symbol{36}} @@ -60,9 +73,16 @@ \fancyfoot[C]{ \ifthenelse{\equal{\thepage}{1}} { % First page - \small{ +[@-- + if ($coupon) { + $OUT .= '\vspace{-\extracouponspace}'; + $OUT .= '\rule[0.5em]{\textwidth}{\footrulewidth}\\\\'; + $OUT .= $coupon; + } + ''; +--@] \small{ [@-- $footer --@] - } + }[@-- $coupon ? '\vspace{\extracouponspace}' : '' --@] } { % ... pages \small{ @@ -101,10 +121,10 @@ \fancyhead[R]{ \ifthenelse{\equal{\thepage}{1}} { % First page - \begin{tabular}{rcl} - Invoice date & & Invoice number \\ + \begin{tabular}{ccc} + Invoice date & Invoice \#& Customer\#\\ \vspace{0.2cm} - \textbf{[@-- $date --@]} & & \textbf{[@-- $invnum --@]} \\\hline + \textbf{[@-- $date --@]} & \textbf{[@-- $invnum --@]} & \textbf{[@-- $custnum --@]} \\\hline \rule{0pt}{5ex} &~~ \huge{\textsc{Invoice}} & \\ \vspace{-0.2cm} & & \\\hline @@ -112,9 +132,9 @@ } { % ... pages \small{ - \begin{tabular}{ll} - Invoice date & Invoice number\\ - \textbf{[@-- $date --@]} & \textbf{[@-- $invnum --@]}\\ + \begin{tabular}{lll} + Invoice date & Invoice \#& Customer\#\\ + \textbf{[@-- $date --@]} & \textbf{[@-- $invnum --@]} & \textbf{[@-- $custnum --@]}\\ \end{tabular} } } @@ -134,20 +154,38 @@ \renewcommand{\familydefault}{phv} -% Commands for freeside description... -\newcommand{\FSdesc}[3]{ +% Commands for freeside table header... +\newcommand{\FShead}{ + \hline + \rule{0pt}{2.5ex} + \makebox[1.4cm]{\textbf{Ref}} & + \makebox[2.9cm][l]{\textbf{Description}}& + \makebox[1.4cm][l]{}& + \makebox[1.4cm][l]{}& + \makebox[2.5cm][l]{}& + \makebox[2.5cm][l]{\textbf{[@-- $unitprices ? '~~Unit Price' : '' --@]}}& + \makebox[1.4cm]{\textbf{[@-- $unitprices ? '~Quantity' : '' --@]}}& + \makebox[1.6cm][r]{\textbf{Amount}} \\ + \hline +} + +% ...description... +\newcommand{\FSdesc}[5]{ \multicolumn{1}{c}{\rule{0pt}{2.5ex}\textbf{#1}} & - \textbf{#2} & - \multicolumn{1}{r}{\textbf{\dollar #3}}\\ + \multicolumn{4}{l}{\textbf{#2}} & + \multicolumn{1}{l}{\textbf{#3}} & + \multicolumn{1}{r}{\textbf{#4}} & + \multicolumn{1}{r}{\textbf{\dollar #5}}\\ } % ...extended description... \newcommand{\FSextdesc}[1]{ \multicolumn{1}{l}{\rule{0pt}{1.0ex}} & - \multicolumn{2}{l}{\small{~-~#1}}\\ +%% \multicolumn{2}{l}{\small{~-~#1}}\\ +#1\\ } % ...and total line items. \newcommand{\FStotaldesc}[2]{ - & \multicolumn{1}{l}{#1} & #2\\ + & \multicolumn{6}{l}{#1} & #2\\ } @@ -164,8 +202,8 @@ % % % -\begin{tabular}{ll} -\addressinset \rule{0cm}{0cm} & +[@-- $coupon ? '\enlargethispage{-\extracouponspace}' : '' --@] +\addressinset \rule{0.5cm}{0cm} \makebox{ \begin{minipage}[t]{5.0cm} \vspace{0.25cm} @@ -176,10 +214,22 @@ \addressline{[@-- $city --@], [@-- $state --@]~~[@-- $zip --@]} \addressline{[@-- $country --@]} \end{minipage}} -\end{tabular} \hfill \makebox{ \begin{minipage}[t]{6.4cm} +[@-- + if ($ship_enable) { + $OUT .= '\textbf{Service Address}\\\\'; + $OUT .= "\\addressline{$ship_company}"; + $OUT .= "\\addressline{$ship_address1}"; + $OUT .= "\\addressline{$ship_address2}"; + $OUT .= "\\addressline{$ship_city, $ship_state~~$ship_zip}"; + $OUT .= "\\addressline{$ship_country}"; + $OUT .= '~\\\\'; + }else{ + $OUT .= ''; + } +--@] \begin{flushright} Terms: [@-- $terms --@]\\ [@-- $po_line --@]\\ @@ -188,23 +238,13 @@ Terms: [@-- $terms --@]\\ \vspace{1.5cm} % \section*{\textsc{Charges}} -\begin{longtable}{clr} -\hline -\rule{0pt}{2.5ex} -\makebox[1.4cm]{\textbf{Ref}} & -\makebox[12.8cm][l]{\textbf{Description}} & -\makebox[2.5cm][r]{\textbf{Amount}} \\ -\hline +\begin{longtable}{cllllllr} +\FShead \endfirsthead -\multicolumn{3}{r}{\rule{0pt}{2.5ex}Continued from previous page}\\ -\hline -\rule{0pt}{2.5ex} -\makebox[1.4cm]{\textbf{Ref}} & -\makebox[12.8cm][l]{\textbf{Description}} & -\makebox[2.5cm][r]{\textbf{Amount}} \\ -\hline +\multicolumn{7}{r}{\rule{0pt}{2.5ex}Continued from previous page}\\ +\FShead \endhead -\multicolumn{3}{r}{\rule{0pt}{2.5ex}Continued on next page...}\\ +\multicolumn{7}{r}{\rule{0pt}{2.5ex}Continued on next page...}\\ \endfoot \hline [@-- @@ -227,11 +267,18 @@ Terms: [@-- $terms --@]\\ $OUT .= "\\hline\n"; $OUT .= '\FSdesc{' . $line->{'ref'} . '}{' . $line->{'description'} . '}' . + '{' . ( $unitprices ? $line->{'unit_amount'} : '' ) . '}'. + '{' . ( $unitprices ? $line->{'quantity'} : '' ) . '}' . '{' . $line->{'amount'} . "}${rowbreak}\n"; foreach my $ext_desc (@$ext_description) { - $ext_desc = substr($ext_desc, 0, 80) . '...' - if (length($ext_desc) > 80); + if ( $ext_desc !~ /[^\\]&/ ) { + $ext_desc = substr($ext_desc, 0, 80) . '...' + if (length($ext_desc) > 80); + $ext_desc = '\multicolumn{6}{l}{\small{~~~'. $ext_desc. '}}'; + }else{ + $ext_desc = "~~~$ext_desc"; + } $OUT .= '\FSextdesc{' . $ext_desc . '}' . "${rowbreak}\n"; }