column_map => { id => 'cp_cv_id' },
manager_args => { sort_by => 'lower(contacts.cp_name)' },
},
- business => {
- type => 'one to one',
- class => 'SL::DB::Business',
- column_map => { business_id => 'id' },
- },
);
__PACKAGE__->meta->initialize;
taxzone_id => { type => 'integer', default => '0', not_null => 1 },
greeting => { type => 'text' },
ustid => { type => 'text' },
+ direct_debit => { type => 'boolean', default => 'false' },
iban => { type => 'varchar', length => 100 },
bic => { type => 'varchar', length => 100 },
- direct_debit => { type => 'boolean', default => 'false' },
+ curr => { type => 'character', length => 3 },
],
primary_key_columns => [ 'id' ],
- allow_inline_column_values => 1,
+ foreign_keys => [
+ business => {
+ class => 'SL::DB::Business',
+ key_columns => { business_id => 'id' },
+ },
+
+ language_obj => {
+ class => 'SL::DB::Language',
+ key_columns => { language_id => 'id' },
+ },
+
+ payment => {
+ class => 'SL::DB::PaymentTerm',
+ key_columns => { payment_id => 'id' },
+ },
+ ],
);
1;
class => 'SL::DB::Buchungsgruppe',
key_columns => { buchungsgruppen_id => 'id' },
},
+
+ unit_obj => {
+ class => 'SL::DB::Unit',
+ key_columns => { unit => 'name' },
+ },
],
);
direct_debit => { type => 'boolean', default => 'false' },
iban => { type => 'varchar', length => 100 },
bic => { type => 'varchar', length => 100 },
+ curr => { type => 'character', length => 3 },
],
primary_key_columns => [ 'id' ],
);
__PACKAGE__->meta->add_relationships(
- unit_obj => {
- type => 'one to one',
- class => 'SL::DB::Unit',
- column_map => { unit => 'name' },
- },
assemblies => {
type => 'one to many',
class => 'SL::DB::Assembly',
conv_i($form->{salesman_id}), conv_i($form->{cp_id}),
$form->{transaction_description},
$form->{type} =~ /^sales/ ? 't' : 'f',
- conv_i($form->{taxzone_id}), $form->{taxincluded} ? 't' : 'f', conv_i($form->{terms}), $form->{curr},
+ conv_i($form->{taxzone_id}), $form->{taxincluded} ? 't' : 'f', conv_i($form->{terms}), substr($form->{currency}, 0, 3),
conv_i($form->{id}));
do_query($form, $dbh, $query, @values);
d.description AS department, dord.language_id,
dord.shipto_id,
dord.globalproject_id, dord.delivered, dord.transaction_description,
- dord.taxzone_id, dord.taxincluded, dord.terms, dord.curr
+ dord.taxzone_id, dord.taxincluded, dord.terms, dord.curr AS currency
FROM delivery_orders dord
JOIN ${vc} cv ON (dord.${vc}_id = cv.id)
LEFT JOIN employee e ON (dord.employee_id = e.id)
}
$sth->finish();
+ # remove any trailing whitespace
+ $form->{currency} =~ s/\s*$//;
+
$form->{donumber_array} =~ s/\s*$//g;
$form->{saved_donumber} = $form->{donumber};
# OUT is used for the media, screen, printer, email
# for postscript we store a copy in a temporary file
- my $fileid = time;
- my $prepend_userspath;
-
- if (!$self->{tmpfile}) {
- $self->{tmpfile} = "${fileid}.$self->{IN}";
- $prepend_userspath = 1;
- }
-
- $prepend_userspath = 1 if substr($self->{tmpfile}, 0, length $userspath) eq $userspath;
-
- $self->{tmpfile} =~ s|.*/||;
- $self->{tmpfile} =~ s/[^a-zA-Z0-9\._\ \-]//g;
- $self->{tmpfile} = "$userspath/$self->{tmpfile}" if $prepend_userspath;
+ my ($temp_fh, $suffix);
+ $suffix = $self->{IN};
+ $suffix =~ s/.*\.//;
+ ($temp_fh, $self->{tmpfile}) = File::Temp::tempfile(
+ 'lx-office-printXXXXXX',
+ SUFFIX => '.' . ($suffix || 'tex'),
+ DIR => $userspath,
+ UNLINK => 1,
+ );
+ close $temp_fh;
if ($template->uses_temp_file() || $self->{media} eq 'email') {
$out = $self->{OUT};
$mail->{charset} = $::lx_office_conf{system}->{dbcharset} || Common::DEFAULT_CHARSET;
$mail->{to} = $self->{EMAIL_RECIPIENT} ? $self->{EMAIL_RECIPIENT} : $self->{email};
$mail->{from} = qq|"$myconfig->{name}" <$myconfig->{email}>|;
- $mail->{fileid} = "$fileid.";
+ $mail->{fileid} = time() . '.' . $$ . '.';
$myconfig->{signature} =~ s/\r//g;
# if we send html or plain text inline
$table = $table eq "customer" ? "customer" : "vendor";
- my $query = qq|SELECT count(*) FROM $table|;
+ my $query = qq|SELECT count(*) FROM $table WHERE NOT obsolete|;
my ($count) = selectrow_query($self, $dbh, $query);
# build selection list
if ($self->{"$self->{vc}_id"}) {
# only setup currency
- ($self->{currency}) = split(/:/, $self->{currencies});
+ ($self->{currency}) = split(/:/, $self->{currencies}) if !$self->{currency};
} else {
}
# insert makemodel records
- unless ($form->{item} eq 'service') {
my $lastupdate = '';
my $value = 0;
for my $i (1 .. $form->{makemodel_rows}) {
do_query($form, $dbh, $query, @values);
}
}
- }
# insert taxes
foreach my $item (split(/ /, $form->{taxaccounts})) {
do_query($form, $dbh, qq|UPDATE ar SET storno = 'f', paid = 0 WHERE id = ?|, $invoice_id);
}
- # delete AR record
- do_query($form, $dbh, qq|DELETE FROM ar WHERE id = ?|, @values);
-
# delete spool files
my @spoolfiles = selectall_array_query($form, $dbh, qq|SELECT spoolfile FROM status WHERE trans_id = ?|, @values);
- # delete status entries
- do_query($form, $dbh, qq|DELETE FROM status WHERE trans_id = ?|, @values);
+ my @queries = (
+ qq|DELETE FROM status WHERE trans_id = ?|,
+ qq|DELETE FROM periodic_invoices WHERE ar_id = ?|,
+ qq|DELETE FROM ar WHERE id = ?|,
+ );
+
+ map { do_query($form, $dbh, $_, @values) } @queries;
my $rc = $dbh->commit;
$form->{"__odd__"} = (($i + 1) % 2) == 1;
$form->{"__counter__"} = $i + 1;
- if ( ref $description_array eq 'ARRAY'
- && scalar @{$description_array} == scalar @{$ary}
- && $self->{"chars_per_line"} != 0)
- {
- my $lines = int(length($description_array->[$i]) / $self->{"chars_per_line"});
- my $lpp;
-
- $description_array->[$i] =~ s/(\\newline\s?)*$//;
- $lines++ while ($description_array->[$i] =~ m/\\newline/g);
- $lines++;
-
- if ($current_page == 1) {
- $lpp = $self->{"lines_on_first_page"};
- } else {
- $lpp = $self->{"lines_on_second_page"};
- }
-
- # Yes we need a manual page break -- or the user has forced one
- if ( (($current_line + $lines) > $lpp)
- || ($description_array->[$i] =~ /<pagebreak>/)
- || ( ref $longdescription_array eq 'ARRAY'
- && $longdescription_array->[$i] =~ /<pagebreak>/)) {
- my $pb = $self->{"pagebreak_block"};
-
- # replace the special variables <%sumcarriedforward%>
- # and <%lastpage%>
-
- my $psum = $form->format_amount($self->{"myconfig"}, $sum, 2);
- $pb =~ s/$self->{tag_start_qm}sumcarriedforward$self->{tag_end_qm}/$psum/g;
- $pb =~ s/$self->{tag_start_qm}lastpage$self->{tag_end_qm}/$current_page/g;
-
- my $new_text = $self->parse_block($pb, (@indices, $i));
- return undef unless (defined($new_text));
- $new_contents .= $new_text;
-
- $current_page++;
- $current_line = 0;
- }
- $current_line += $lines;
- }
-
if ( ref $linetotal_array eq 'ARRAY'
&& $i < scalar(@{$linetotal_array})) {
$sum += $form->parse_amount($self->{"myconfig"}, $linetotal_array->[$i]);
my $contents = join("", @lines);
- # detect pagebreak block and its parameters
- if ($contents =~ /$self->{tag_start_qm}pagebreak\s+(\d+)\s+(\d+)\s+(\d+)\s*$self->{tag_end_qm}(.*?)$self->{tag_start_qm}end(\s*pagebreak)?$self->{tag_end_qm}/s) {
- $self->{"chars_per_line"} = $1;
- $self->{"lines_on_first_page"} = $2;
- $self->{"lines_on_second_page"} = $3;
- $self->{"pagebreak_block"} = $4;
-
- substr($contents, length($`), length($&)) = "";
- }
-
- $self->{"forced_pagebreaks"} = [];
-
my $new_contents = $self->parse_block($contents);
if (!defined($new_contents)) {
$main::lxdebug->leave_sub();
my @dir = grep(!/(^\.\.?$|\..*)/, readdir(DIR));
foreach my $dir (@dir) {
- next unless open(FH, "locale/$dir/LANGUAGE");
- @language = <FH>;
- close FH;
+ next unless open(my $fh, '<:encoding(UTF-8)', "locale/$dir/LANGUAGE");
+ @language = <$fh>;
+ close $fh;
$cc{$dir} = "@language";
}
# Stornierte Rechnungen und Stornorechnungen in invoice rausfiltern
$where .= " AND ar.storno is not true ";
+ # Bestandteile von Erzeugnissen herausfiltern
+ $where .= " AND i.assemblyitem is not true ";
+
my $sortorder = "cus.name,i.parts_id,ar.transdate";
if ($form->{sortby} eq 'artikelsort') {
$sortorder = "i.parts_id,cus.name,ar.transdate";
use strict;
+# parserhappy(R):
+
+# $locale->text('periodic')
+# $locale->text('income')
+# $locale->text('perpetual')
+# $locale->text('balance')
+
our $cgi;
our $form;
our $locale;
my $numrows = ++$form->{rowcount};
my $subroutine = "display_row";
- if ($form->{item} eq 'part') {
-
+ if ($form->{item} =~ /(part|service)/) {
#set preisgruppenanzahl
$numrows = $form->{price_rows};
$subroutine = "price_row";
$numrows = ++$form->{assembly_rows};
$subroutine = "assembly_row";
}
- if ($form->{item} eq 'service') {
- $numrows = $form->{price_rows};
- $subroutine = "price_row";
-
- &{$subroutine}($numrows);
-
- $numrows = 0;
- }
# create rows
&{$subroutine}($numrows) if $numrows;
$form->{"marge_percent_$i"} = 0;
my $marge_color;
- my $real_sellprice = $linetotal;
+ my $real_sellprice;
+ if ( $form->{taxincluded} and $form->{"qty_$i"} * 1 and $form->{$form->{"taxaccounts_$i"} . "_rate"} * 1) {
+ # if we use taxincluded we need to calculate the marge from the net_value
+ # all the marge calculations are based on linetotal which we need to
+ # convert to net first
+
+ # there is no direct form value for the tax_rate of the item, but
+ # form->{taxaccounts_$i} gives the tax account (e.g. 3806) and 3806_rate
+ # gives the tax percentage (e.g. 0.19)
+ $real_sellprice = $linetotal / (1 + $form->{$form->{"taxaccounts_$i"} . "_rate"});
+ } else {
+ $real_sellprice = $linetotal;
+ };
my $real_lastcost = $form->{"lastcost_$i"} * $form->{"qty_$i"} / ( $form->{"marge_price_factor_$i"} || 1 );
my $marge_percent_warn = $myconfig{marge_percent_warn} * 1 || 15;
my $marge_adjust_credit_note = $form->{type} eq 'credit_note' ? -1 : 1;
}
}
- my ($payment_id, $language_id, $taxzone_id);
+ my ($payment_id, $language_id, $taxzone_id, $currency);
if ($form->{payment_id}) {
$payment_id = $form->{payment_id};
}
if ($form->{taxzone_id}) {
$taxzone_id = $form->{taxzone_id};
}
+ if ($form->{currency}) {
+ $currency = $form->{currency};
+ }
my $cp_id = $form->{cp_id};
IR->get_vendor(\%myconfig, \%$form);
if ($taxzone_id) {
$form->{taxzone_id} = $taxzone_id;
}
+ if ($currency) {
+ $form->{currency} = $currency;
+ }
my @curr = split(/:/, $form->{currencies}); #seems to be missing
map { $form->{selectcurrency} .= "<option>$_\n" } @curr;
my $editing = $form->{id};
- $form->backup_vars(qw(payment_id language_id taxzone_id salesman_id taxincluded cp_id intnotes id shipto_id));
+ $form->backup_vars(qw(payment_id language_id taxzone_id salesman_id taxincluded currency cp_id intnotes id shipto_id));
IS->get_customer(\%myconfig, \%$form);
$form->restore_vars(qw(id));
IS->retrieve_invoice(\%myconfig, \%$form);
- $form->restore_vars(qw(payment_id language_id taxzone_id intnotes cp_id shipto_id));
+ $form->restore_vars(qw(payment_id language_id taxzone_id currency intnotes cp_id shipto_id));
$form->restore_vars(qw(taxincluded)) if $form->{id};
$form->restore_vars(qw(salesman_id)) if $editing;
#file suffix
$file .= '.xml';
$file =~ s|.*/||;
- $form->{tmpfile} = "$::lx_office_conf{paths}{userspath}/$file";
$form->{attachment_filename} = $file;
# Define serveral filenames
$form->{IN} = 'taxbird.txb';
- $form->{attachment_filename} = "USTVA-" . $form->{period}
- . sprintf("%02d", $form->{year} % 100) . ".txb";
+ $form->{attachment_filename} = "USTVA-" . ($form->{period} * 1) . sprintf("%02d", $form->{year} % 100) . ".txb";
$form->{attachment_filename} =~ s|.*/||;
- $form->{tmpfile} = "$::lx_office_conf{paths}{userspath}/" . $form->{attachment_filename};
# TODO: set Output to UTF-8 or system Preference
#$form->{"iconv"} = Text::Iconv->new($myconfig{dbcharset}, "UTF-8");
Der eingebaute Vorlageneditor zeigt alle *.tex-Dateien an und lässt
sie bearbeiten.
+- Der alte, manuelle Mechanismus "pagebreak-Block", um in
+ LaTeX-Vorlagen Zwischensummen zu berechnen und den Seitenumbruch
+ manuell zu kontrollieren, wurde entfernt.
+
- Zahlungen bei Debitoren-, Kreditorenbuchungen, Verkaufs- und
Einkaufsrechnungen lassen sich entweder immer, gar nicht oder
am selben Tag noch ändern. Dies ist lx_office.conf einstellbar.
eingestellt werden, die als Voreinstellung in den Ver- und Einkaufs-
Masken dient.
+ - Das XUL-/XML-Menü, das nur mit Firefox funktionierte, wurde wegen
+ Sicherheitsproblemen und eingestellter Unterstützung für XUL
+ seitens der Firefox-Entwickler entfernt.
+
Liste gefixter Bugs aus dem Bugtracker:
- Bugfix 1753: Benutzerdefinierte Variable f. Waren: bearbeitbar nicht auswählbar
- Bugfix 1738: Entwürfe können nicht gelöscht werden
- Bugfix 1759: Währung bei Kunden / Lieferanten vorbelegen
+ - Bugfix 1770: Währung / currency überlebt Workflow über Lieferschein nicht
- Bugfix 1773: SQL Fehler bei Anzeige von Angeboten
- Bugfix 1771: Zahlungsausgang: Lieferant wird nicht ausgewählt, wenn Name 2 Leerzeichen hintereinander enthält
<li><a href="dokumentenvorlagen-und-variablen.html#bloecke_foreach">
Die <code>foreach</code>-Schleife</a></li>
-
- <li><a href="dokumentenvorlagen-und-variablen.html#bloecke_pagebreak">
- Der <code>pagebreak</code>-Block</a></li>
</ol>
</li>
<td><code>subtotal[_nofmt]</code></td>
<td>Zwischensumme aller Posten ohne Steuern</td>
</tr>
- <tr>
- <td><code>sumcarriedforward</code></td>
- <td>Zwischensumme aller bisher ausgegebenen Posten. Sollte nur in einem
- <a href="dokumentenvorlagen-und-variablen.html#bloecke_pagebreak">
- <code>pagebreak</code></a>-Block verwendet werden.</td>
- </tr>
<tr>
<td><code>total</code></td>
<td>Restsumme der Rechnung (Summe abzüglich bereits bezahlter Posten)</td>
zwischen <code><%foreach%></code> und <code><%end%></code>
wiederholt, nicht aber die komplette Zeile, in der er steht.</p>
- <h3><a name="bloecke_pagebreak">Der <code>pagebreak</code>-Block</a></h3>
-
- <p class="blue"><code><%pagebreak ZpZ ZeS ZzS%><br>
- ...<br>
- <%end%></code></p>
-
- <p>Dieser Block existiert nur in LaTeX-Vorlagen.</p>
-
- <p>Dieser Block legt das Verhalten beim manuellen Einfügen eines
- Seitenumbruchs fest. Normalerweise bricht LaTeX die Seiten selber um. Beim
- Rechnungsdruck ist das oft nicht gewünscht, oder man möchte im
- Falle eines Seitenumbruchs den Übertrag etc. mit ausgeben. Deswegen
- versucht der Parser, manuell Seitenumbrüche einzufügen,
- während er einen <code>foreach</code>-Block auswertet, weil hier die
- manuellen Seitenumbrüche erforderlich werden. Dafür benötigt
- der Parser aber drei Informationen:</p>
-
- <p>
- <ol>
- <li>Wieviele Zeichen passen bei der Variablen "description" pro Posten
- in eine Zeile? Das ist der Parameter "ZpZ" (Zeichen pro Zeile).</li>
- <li>Wieviele Zeilen/Posten passen auf die erste Seite? Das
- ist der Parameter "ZeS" (Zeilen erste Seite).</li>
- <li>Wieviele Zeilen/Posten passen auf die zweite und alle nachfolgenden
- Seiten? Das ist der Parameter "ZzS" (Zeilen zweite Seite).</li>
- </ol>
- </p>
-
- <p>Diese Parameter sind drei Zahlen, die manuell durch Verwendung von langen
- Warenbezeichnungen und Rechnungen mit vielen Posten bestimmt werden
- müssen.</p>
-
- <p>Üblicherweise wird in diesem Block zuerst die aktuelle Tabelle
- geschlossen, eventuell Text eingefügt (z.B. "Fortsetzung auf der
- nächsten Seite"), dann ein Seitenumbruch erzwungen, eventuell Text
- eingefügt (z.B. "Übertrag von der vorherigen Seite:
- <%sumcarriedforward%> EUR") und die Tabelle wieder geöffnet.</p>
-
- <p>Wird kein manueller Seitenumbruch gewüscht, so kann dieser Block
- komplett entfallen.</p>
-
<small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
zum Inhaltsverzeichnis</a></small><br>
<hr>
<p>Eine Besonderheit ist der Befehl <code><pagebreak></code>,
der nur in LaTeX-Vorlagen funktioniert und in anderen Vorlagen
- einfach gelöscht wird. Dieser erzwingt unabhängig von der
- im <a
- href="dokumentenvorlagen-und-variablen.html#bloecke_pagebreak">pagebreak-Block</a>
- voreingestellten Werte einen Seitenumbruch nach der aktuellen
- Rechnungsposition. Dementsprechend funktioniert er nur innerhalb von
+ einfach gelöscht wird. Dieser erzwingt einen Seitenumbruch nach
+ der aktuellen Rechnungsposition. Dementsprechend funktioniert er nur
+ innerhalb von
<code><%foreach...%></code>-Schleifen. Weiterhin benötigt
er kein Endtag.</p>
benötigt und kann aus der Konfigurationsdatei gelöscht werden (dies muß manuell
geschehen).
+
+Bemerkungen zu Bestandsmethode:
+
+Die Bestandsmethode ist eigentlich eine sehr elegante Methode, funktioniert in
+Lx-Office aber nur unter bestimmten Bedingungen: Voraussetzung ist, daß auch
+immer alle Einkaufsrechnungen gepflegt werden, und man beim Jahreswechsel nicht
+mit einer leeren Datenbank anfängt, da bei jedem Verkauf anhand der gesamten
+Rechnungshistorie der Einkaufswert der Ware nach dem FIFO-Prinzip aus den
+Einkaufsrechnungen berechnet wird.
+
+Die Bestandsmethode kann vom Prinzip her also nur funktioneren, wenn man mit
+den Buchungen bei Null anfängt, und man kann auch nicht im laufenden Betrieb
+von der Aufwandsmethode zur Bestandsmethode wechseln.
+
+
TODO:
* bei bestimmten Berichten kann man derzeit noch inviduell einstellen, ob man
'Include in Report' => 'In Bericht aufnehmen',
'Include in drop-down menus' => 'In Aufklappmenü aufnehmen',
'Includeable in reports' => 'In Berichten anzeigbar',
+ 'Including' => 'Enthaltene',
'Income Statement' => 'GuV',
'Income accno' => 'Erlöskonto',
'Incoming Payments' => 'Zahlungseingänge',
'National' => 'Inand',
'National Expenses' => 'Aufwand Inland',
'National Revenues' => 'Erlöse Inland',
+ 'Net amount' => 'Nettobetrag',
'Netto Terms' => 'Zahlungsziel netto',
'New Buchungsgruppe #1' => 'Neue Buchungsgruppe #1',
'New Templates' => 'Erzeuge Vorlagen, Name',
'as at' => 'zum Stand',
'assembly_list' => 'erzeugnisliste',
'back' => 'zurück',
+ 'balance' => 'Betriebsvermögensvergleich/Bilanzierung',
'bank_collection_payment_list_#1' => 'bankeinzugszahlungsliste_#1',
'bank_transfer_payment_list_#1' => 'ueberweisungszahlungsliste_#1',
'bankaccounts' => 'Bankkonten',
'history' => 'Historie',
'history search engine' => 'Historien Suchmaschine',
'inactive' => 'inaktiv',
+ 'income' => 'Einnahmen-Überschuß-Rechnung',
'invoice' => 'Rechnung',
'invoice_list' => 'debitorenbuchungsliste',
'lead deleted!' => 'Kundenquelle gelöscht',
'our vendor number at customer' => 'Unsere Lieferanten-Nr. beim Kunden',
'part_list' => 'Warenliste',
'percental' => 'prozentual',
+ 'periodic' => 'Aufwandsmethode',
+ 'perpetual' => 'Bestandsmethode',
'pick_list' => 'Sammelliste',
'plural first char' => 'P',
'pos_bilanz' => 'Bilanz',
\n=<br>
[Template/LaTeX]
-order=\\ <pagebreak> & \n \r " $ <bullet> % _ # ^ { } < > £ ± ² ³ ° § ® ©
+order=\\ <pagebreak> & \n \r " $ <bullet> % _ # ^ { } < > £ ± ² ³ ° § ® © \xad
\\=\\textbackslash\s
<pagebreak>=
"=''
°=$^\\circ$
§=\\S
®=\\textregistered
-©=\\textcopyright
+©=\\textcopyrighta
+\xad=\\-
+
[Template/OpenDocument]
order=& < > " ' \x80 \n \r
\parbox{\textwidth}{
\parbox[b]{.42\textwidth}{%
<%company%>
-
+
<%address%>
}\hfill
\begin{tabular}[b]{rr@{}}
\rule[1.5ex]{\textwidth}{0.5pt}
}
-
-<%pagebreak 90 27 37%>
-\end{tabularx}
-
-\newpage
-
-\markboth{<%company%>\hfill <%ordnumber%>}{<%company%>\hfill <%ordnumber%>}
-
-\vspace*{-12pt}
-
-\begin{tabularx}{\textwidth}{@{}rlXllrrll@{}}
- \textbf{Pos} & \textbf{Number} & \textbf{Description} & \textbf{Serial Number} & & \textbf{Qty} & \textbf{Recd} & & \textbf{Bin} \\
-<%end pagebreak%>
-
\vspace*{0.5cm}
<%end warehouse%>
& \textbf{Shipping Point} & \textbf{Ship via} \\ [0.5em]
\hline
-
+
<%ordnumber%>
<%if shippingdate%>
& <%shippingdate%>
& <%shippingpoint%> & <%shipvia%> \\
\hline
\end{tabularx}
-
+
\vspace{1cm}
-
+
\begin{tabularx}{\textwidth}{@{}rlXllrrll@{}}
\textbf{Pos} & \textbf{Number} & \textbf{Description} & \textbf{Serial Number} & & \textbf{Qty} & \textbf{Recd} & & \textbf{Bin} \\
\parbox{\textwidth}{
\parbox[b]{12cm}{
<%company%>
-
+
<%address%>}\hfill
\begin{tabular}[b]{rr@{}}
Telephone & <%tel%>\\
\rule[1.5ex]{\textwidth}{0.5pt}
}
}
-
+
\fontfamily{cmss}\fontshape{n}\selectfont
\markboth{<%company%>\hfill <%invnumber%>}{\usebox{\hdr}}
\pagestyle{myheadings}
%\thispagestyle{empty} use this with letterhead paper
-<%pagebreak 90 27 37%>
-\end{tabular*}
-
- \rule{\textwidth}{2pt}
-
- \hfill
- \begin{tabularx}{7cm}{Xr@{}}
- \textbf{Subtotal} & \textbf{<%sumcarriedforward%>} \\
- \end{tabularx}
-
-\newpage
-
-\markright{<%company%>\hfill <%invnumber%>}
-
-\vspace*{-12pt}
-
-\begin{tabular*}{\textwidth}{@{}lp{\descrwidth}@{\extracolsep\fill}rlrrr@{}}
- \textbf{Number} & \textbf{Description} & \textbf{Qt'y} &
- \textbf{Unit} & \textbf{Price} & \textbf{Disc} & \textbf{Amount} \\
- & carried forward from page <%lastpage%> & & & & & <%sumcarriedforward%> \\
-<%end pagebreak%>
-
-
\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
\vspace*{0.5cm}
\parbox{\textwidth}{
\parbox[b]{.42\textwidth}{
<%company%>
-
+
<%address%>
}
\parbox[b]{.2\textwidth}{
\rule[1.5ex]{\textwidth}{0.5pt}
}
-
-<%pagebreak 90 27 37%>
-\end{tabular*}
-
-\newpage
-
-\markboth{<%company%>\hfill <%ordnumber%>}{<%company%>\hfill <%ordnumber%>}
-
-\vspace*{-12pt}
-
-\begin{tabular*}{\textwidth}{@{}lp{\descrwidth}@{\extracolsep\fill}rcll@{}}
- \textbf{Pos} & \textbf{Number} & \textbf{Description} &
- \textbf{Qty} & \textbf{Ship} & & \textbf{Bin} \\
-<%end pagebreak%>
-
\vspace*{0.5cm}
\parbox[t]{1cm}{\hfill}
\parbox[t]{.5\textwidth}{
-
+
<%shiptoname%> \\
<%shiptostreet%> \\
<%shiptozipcode%> \\
& <%shippingpoint%> & <%shipvia%> \\
\hline
\end{tabularx}
-
+
\vspace{1cm}
\begin{tabular*}{\textwidth}{@{}rlp{\descrwidth}@{\extracolsep\fill}rcll@{}}
\parbox{\textwidth}{
\parbox[b]{12cm}{
<%company%>
-
+
<%address%>}\hfill
\begin{tabular}[b]{rr@{}}
Telephone & <%tel%>\\
\rule[1.5ex]{\textwidth}{0.5pt}
}
}
-
+
\fontfamily{cmss}\fontshape{n}\selectfont
\markboth{<%company%>\hfill <%ordnumber%>}{\usebox{\hdr}}
\pagestyle{myheadings}
%\thispagestyle{empty} use this with letterhead paper
-<%pagebreak 90 27 37%>
-\end{tabular*}
-
- \rule{\textwidth}{2pt}
-
- \hfill
- \begin{tabularx}{7cm}{Xr@{}}
- \textbf{Subtotal} & \textbf{<%sumcarriedforward%>} \\
- \end{tabularx}
-
-\newpage
-
-\markright{<%company%>\hfill <%ordnumber%>}
-
-\vspace*{-12pt}
-
-\begin{tabular*}{\textwidth}{@{}lp{\descrwidth}@{\extracolsep\fill}rlrr@{}}
- \textbf{Number} & \textbf{Description} & \textbf{Qt'y} &
- \textbf{Unit} & \textbf{Price} & \textbf{Amount} \\
- & carried forward from <%lastpage%> & & & & <%sumcarriedforward%> \\
-<%end pagebreak%>
-
-
\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
\vspace*{0.5cm}
\rule[1.5ex]{\textwidth}{0.5pt}
}
-
-<%pagebreak 90 27 48%>
-\end{tabular*}
-
- \rule{\textwidth}{2pt}
-
- \hfill
- \begin{tabularx}{7cm}{Xr@{}}
- \textbf{Subtotal} & \textbf{<%sumcarriedforward%>} \\
- \end{tabularx}
-
-\newpage
-
-\markboth{<%company%>\hfill <%ordnumber%>}{<%company%>\hfill <%ordnumber%>}
-
-\vspace*{-12pt}
-
-\begin{tabular*}{\textwidth}{@{}lp{\descrwidth}@{\extracolsep\fill}rlrr@{}}
- \textbf{Number} & \textbf{Description} & \textbf{Qt'y} &
- \textbf{Unit} & \textbf{Price} & \textbf{Extended} \\
- & carried forward from <%lastpage%> & & & & <%sumcarriedforward%> \\
-<%end pagebreak%>
-
-
\vspace*{0.5cm}
\parbox[t]{1cm}{\hfill}
\parbox{\textwidth}{
\parbox[b]{12cm}{
<%company%>
-
+
<%address%>}\hfill
\begin{tabular}[b]{rr@{}}
Telephone & <%tel%>\\
\rule[1.5ex]{\textwidth}{0.5pt}
}
}
-
+
\fontfamily{cmss}\fontshape{n}\selectfont
\markboth{<%company%>\hfill <%ordnumber%>}{\usebox{\hdr}}
\pagestyle{myheadings}
%\thispagestyle{empty} use this with letterhead paper
-<%pagebreak 90 27 48%>
-\end{tabular*}
-
- \rule{\textwidth}{2pt}
-
- \hfill
- \begin{tabularx}{7cm}{Xr@{}}
- \textbf{Subtotal} & \textbf{<%sumcarriedforward%>} \\
- \end{tabularx}
-
-\newpage
-
-\markright{<%company%>\hfill <%ordnumber%>}
-
-\vspace*{-12pt}
-
-\begin{tabular*}{\textwidth}{@{}lp{\descrwidth}@{\extracolsep\fill}rlrrr@{}}
- \textbf{Number} & \textbf{Description} & \textbf{Qt'y} &
- \textbf{Unit} & \textbf{Price} & \textbf{Disc} & \textbf{Amount} \\
- & carried forward from <%lastpage%> & & & & & <%sumcarriedforward%> \\
-<%end pagebreak%>
-
-
\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
\vspace*{2cm}
\parbox{\textwidth}{
\parbox[b]{.42\textwidth}{
<%company%>
-
+
<%address%>
}
\parbox[b]{.2\textwidth}{
\rule[1.5ex]{\textwidth}{0.5pt}
}
-
-<%pagebreak 90 27 48%>
-\end{tabular*}
-
- \rule{\textwidth}{2pt}
-
- \hfill
- \begin{tabularx}{7cm}{Xr@{}}
- \textbf{Subtotal} & \textbf{<%sumcarriedforward%>} \\
- \end{tabularx}
-
-\newpage
-
-\markboth{<%company%>\hfill <%quonumber%>}{<%company%>\hfill <%quonumber%>}
-
-\vspace*{-12pt}
-
-\begin{tabular*}{\textwidth}{@{}lp{\descrwidth}@{\extracolsep\fill}rlrrr@{}}
- \textbf{Number} & \textbf{Description} & \textbf{Qt'y} &
- \textbf{Unit} & \textbf{Price} & \textbf{Disc} & \textbf{Amount} \\
- & carried forward from <%lastpage%> & & & & & <%sumcarriedforward%> \\
-<%end pagebreak%>
-
-
\vspace*{0.5cm}
\parbox[t]{1cm}{\hfill}
<%quonumber%> & <%quodate%> & <%reqdate%> & <%employee%> & <%shippingpoint%> & <%shipvia%> \\
\hline
\end{tabularx}
-
+
\vspace{1cm}
\begin{tabular*}{\textwidth}{@{}lp{\descrwidth}@{\extracolsep\fill}rlrrr@{}}
\parbox{\textwidth}{
\parbox[b]{12cm}{
<%company%>
-
+
<%address%>}\hfill
\begin{tabular}[b]{rr@{}}
Téléphone & <%tel%>\\
\rule[1.5ex]{\textwidth}{0.5pt}
}
}
-
+
\fontfamily{cmss}\fontshape{n}\selectfont
\markboth{<%company%>\hfill <%invnumber%>}{\usebox{\hdr}}
\pagestyle{myheadings}
%\thispagestyle{empty} use this with letterhead paper
-<%pagebreak 90 27 48%>
-\end{tabular*}
-
- \rule{\textwidth}{2pt}
-
- \hfill
- \begin{tabularx}{7cm}{Xr@{}}
- \textbf{Sous-total} & \textbf{<%sumcarriedforward%>} \\
- \end{tabularx}
-
-\newpage
-
-\markright{<%company%>\hfill <%invnumber%>}
-
-\vspace*{-12pt}
-
-\begin{tabular*}{\textwidth}{@{}lp{\descrwidth}@{\extracolsep\fill}rlrrr@{}}
- \textbf{Numéro} & \textbf{Description} & \textbf{Qté} &
- \textbf{Unité} & \textbf{Prix} & \textbf{Remise} & \textbf{Montant} \\
- & reporté de la page <%lastpage%> & & & & & <%sumcarriedforward%> \\
-<%end pagebreak%>
-
-
\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
\vspace*{2cm}
\parbox{\textwidth}{
\parbox[b]{12cm}{
<%company%>
-
+
<%address%>}\hfill
\begin{tabular}[b]{rr@{}}
Téléphone & <%tel%>\\
\rule[1.5ex]{\textwidth}{0.5pt}
}
}
-
+
\fontfamily{cmss}\fontshape{n}\selectfont
\markboth{<%company%>\hfill <%ordnumber%>}{\usebox{\hdr}}
\pagestyle{myheadings}
%\thispagestyle{empty} use this with letterhead paper
-<%pagebreak 90 27 48%>
-\end{tabular*}
-
- \rule{\textwidth}{2pt}
-
- \hfill
- \begin{tabularx}{7cm}{Xr@{}}
- \textbf{Sous-total} & \textbf{<%sumcarriedforward%>} \\
- \end{tabularx}
-
-\newpage
-
-\markright{<%company%>\hfill <%ordnumber%>}
-
-\vspace*{-12pt}
-
-\begin{tabular*}{\textwidth}{@{}lp{\descrwidth}@{\extracolsep\fill}rlrr@{}}
- \textbf{Number} & \textbf{Description} & \textbf{Qt'y} &
- \textbf{Unit} & \textbf{Price} & \textbf{Amount} \\
- & reporté de la page <%lastpage%> & & & & <%sumcarriedforward%> \\
-<%end pagebreak%>
-
-
\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
\vspace*{2cm}
\parbox{\textwidth}{
\parbox[b]{12cm}{
<%company%>
-
+
<%address%>}\hfill
\begin{tabular}[b]{rr@{}}
Téléphone & <%tel%>\\
\rule[1.5ex]{\textwidth}{0.5pt}
}
}
-
+
\fontfamily{cmss}\fontshape{n}\selectfont
\markboth{<%company%>\hfill <%ordnumber%>}{\usebox{\hdr}}
\pagestyle{myheadings}
%\thispagestyle{empty} use this with letterhead paper
-<%pagebreak 90 27 48%>
-\end{tabular*}
-
- \rule{\textwidth}{2pt}
-
- \hfill
- \begin{tabularx}{7cm}{Xr@{}}
- \textbf{Sous-total} & \textbf{<%sumcarriedforward%>} \\
- \end{tabularx}
-
-\newpage
-
-\markright{<%company%>\hfill <%ordnumber%>}
-
-\vspace*{-12pt}
-
-\begin{tabular*}{\textwidth}{@{}lp{\descrwidth}@{\extracolsep\fill}rlrrr@{}}
- \textbf{Numéro} & \textbf{Description} & \textbf{Qté} &
- \textbf{Unité} & \textbf{Prix} & \textbf{Remise} & \textbf{Montant} \\
- & reporté de la page <%lastpage%> & & & & & <%sumcarriedforward%> \\
-<%end pagebreak%>
-
-
\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
\vspace*{2cm}
\pagestyle{myheadings}
%\thispagestyle{empty} use this with letterhead paper
-<%pagebreak 90 27 48%>
-\end{tabular*}
-
- \rule{\textwidth}{2pt}
-
- \hfill
- \begin{tabularx}{7cm}{Xr@{}}
- \textbf{Subtotal} & \textbf{<%sumcarriedforward%>} \\
- \end{tabularx}
-
-\newpage
-
-\markright{<%company%>\hfill <%statementdate%>}
-
-\vspace*{-12pt}
-
-\begin{tabular*}{\textwidth}{@{}l@{\extracolsep\fill}ccrrrr@{}}
- \textbf{Invoice \#} & \textbf{Date} & \textbf{Due} &
- \textbf{Current} & \textbf{30} & \textbf{60} & \textbf{90+} \\
- carried forward from <%lastpage%> & & & & & & <%sumcarriedforward%> \\
-<%end pagebreak%>
-
-
\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
\vspace*{1.5cm}
\parbox[t]{1cm}{\hfill}
\parbox[t]{10.5cm}{
-
+
<%name%>
<%street%>
\parbox{\textwidth}{
\parbox[b]{.42\textwidth}{%
<%company%>
-
+
<%address%>
}\hfill
\begin{tabular}[b]{rr@{}}
\rule[1.5ex]{\textwidth}{0.5pt}
}
-
-<%pagebreak 90 27 37%>
-\end{tabularx}
-
-\newpage
-
-\markboth{<%company%>\hfill <%ordnumber%>}{<%company%>\hfill <%ordnumber%>}
-
-\vspace*{-12pt}
-
-\begin{tabularx}{\textwidth}{@{}rlXllrrll@{}}
- \textbf{Pos} & \textbf{Nummer} & \textbf{Beschreibung} & \textbf{Seriennummer} & & \textbf{Menge} & \textbf{Erh} & & \textbf{Lagerplatz} \\
-<%end pagebreak%>
-
\vspace*{0.5cm}
\fontfamily{cmss}\fontshape{n}\selectfont
-<%pagebreak 80 28 37%>
-\end{tabularx}
-
-\newpage
-
-\begin{tabularx}{\textwidth}{lrXrr}
- \hline
- \textbf{Pos} & \textbf{Menge} & \textbf{Bezeichnung} &
- \textbf{E-Preis/\euro} & \textbf{G-Preis/\euro} \\
- \hline
-<%end pagebreak%>
-
\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
\vspace*{1.5cm}
<%sellprice%> \euro & <%linetotal%> \euro \\
<%if discount_sub%> & Zwischensumme: & & <%discount_sub%> \euro & <%end if%>\\
<%end number%>\hline
- \multicolumn{4}{l}{Nettobetrag} & <%subtotal%> \euro \\
+ \multicolumn{4}{l}{Nettobetrag} & <%subtotal%> \euro \\
<%foreach tax%>
\multicolumn{4}{l}{<%taxdescription%>} & <%tax%> \euro \\
<%end tax%>
\fontfamily{cmss}\fontshape{n}\selectfont
-<%pagebreak 80 28 37%>
-\end{tabularx}
-
-\newpage
-
-\begin{tabularx}{\textwidth}{lrXrr}
- \hline
- \textbf{Pos} & \textbf{Menge} & \textbf{Bezeichnung} &
- \textbf{E-Preis/\euro} & \textbf{G-Preis/\euro} \\
- \hline
-<%end pagebreak%>
-
\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
\vspace*{1.5cm}
<%sellprice%> \euro & <%linetotal%> \euro \\
<%if discount_sub%> & Zwischensumme: & & <%discount_sub%> \euro & <%end if%>\\
<%end number%>\hline
- \multicolumn{4}{l}{Nettobetrag} & <%subtotal%> \euro \\
+ \multicolumn{4}{l}{Nettobetrag} & <%subtotal%> \euro \\
<%foreach tax%>
\multicolumn{4}{l}{<%taxdescription%>} & <%tax%> \euro \\
<%end tax%>
\parbox{\textwidth}{
\parbox[b]{.42\textwidth}{
<%company%>
-
+
<%address%>
}\hfill
\begin{tabular}[b]{rr@{}}
\rule[1.5ex]{\textwidth}{0.5pt}
}
-
-<%pagebreak 90 27 37%>
-\end{tabular*}
-
-\newpage
-
-\markboth{<%company%>\hfill <%ordnumber%>}{<%company%>\hfill <%ordnumber%>}
-
-\vspace*{-12pt}
-
-\begin{tabular*}{\textwidth}{@{}lp{\descrwidth}@{\extracolsep\fill}rcll@{}}
- \textbf{Pos} & \textbf{Nummer} & \textbf{Beschreibung} &
- \textbf{Menge} & \textbf{Lagerausgang} & & \textbf{Lagerplatz} \\
-<%end pagebreak%>
-
\vspace*{0.5cm}
\fontfamily{cmss}\fontshape{n}\selectfont
-<%pagebreak 80 28 37%>
-\end{tabularx}
-
-\newpage
-
-\begin{tabularx}{\textwidth}{lrXrr}
- \hline
- \textbf{Pos} & \textbf{Menge} & \textbf{Bezeichnung} &
- \textbf{E-Preis/\euro} & \textbf{G-Preis/\euro} \\
- \hline
- <%foreach number%>
- <%runningnumber%> & <%qty%> <%unit%> & \raggedright <%description%> &
- <%sellprice%> & <%linetotal%>\\
- <%end number%>
-
-<%end pagebreak%>
-
\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
\vspace*{1.5cm}
}
-<%pagebreak 90 27 48%>
-\end{tabular*}
-
- \rule{\textwidth}{2pt}
-
- \hfill
- \begin{tabularx}{7cm}{Xr@{}}
- \textbf{Zwischenzumme} & \textbf{<%sumcarriedforward%>} \\
- \end{tabularx}
-
-\newpage
-
-\markboth{<%company%>\hfill <%ordnumber%>}{<%company%>\hfill <%ordnumber%>}
-
-\vspace*{-12pt}
-
-\begin{tabular*}{\textwidth}{@{}lp{\descrwidth}@{\extracolsep\fill}rl}
- \textbf{Nummer} & \textbf{Beschreibung} & \textbf{Menge} & \\
-<%end pagebreak%>
-
-
\vspace*{0.5cm}
\parbox[t]{1cm}{\hfill}
\fontfamily{cmss}\fontshape{n}\selectfont
-<%pagebreak 80 28 37%>
-\end{tabularx}
-
-\newpage
-
-\begin{tabularx}{\textwidth}{lrXrr}
- \hline
- \textbf{Pos} & \textbf{Menge} & \textbf{Bezeichnung} &
- \textbf{E-Preis/\euro} & \textbf{G-Preis/\euro} \\
- \hline
-<%end pagebreak%>
-
\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
\vspace*{1.5cm}
\fontfamily{cmss}\fontshape{n}\selectfont
-<%pagebreak 80 28 37%>
-\end{tabularx}
-
-\newpage
-
-\begin{tabularx}{\textwidth}{lrXrr}
- \hline
- \textbf{Pos} & \textbf{Menge} & \textbf{Bezeichnung} &
- \textbf{E-Preis/\euro} & \textbf{G-Preis/\euro} \\
- \hline
- <%foreach number%>
- <%runningnumber%> & <%qty%> <%unit%> & \raggedright <%description%> &
- <%sellprice%> & <%linetotal%>\\
- <%end number%>
-<%end pagebreak%>
-
\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
\vspace*{1.5cm}
\fontfamily{cmss}\fontshape{n}\selectfont
-<%pagebreak 80 28 37%>
-\end{tabularx}
-
-\newpage
-
-\begin{tabularx}{\textwidth}{lrXrr}
- \hline
- \textbf{Pos} & \textbf{Menge} & \textbf{Bezeichnung} &
- \textbf{E-Preis/\euro} & \textbf{G-Preis/\euro} \\
- \hline
- <%foreach number%>
- <%runningnumber%> & <%qty%> <%unit%> & \raggedright <%description%> &
- <%sellprice%> & <%linetotal%>\\
- <%end number%>
-<%end pagebreak%>
-
\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
\vspace*{1.5cm}
\pagestyle{myheadings}
%\thispagestyle{empty} use this with letterhead paper
-<%pagebreak 90 27 48%>
-\end{tabular*}
-
- \rule{\textwidth}{2pt}
-
- \hfill
- \begin{tabularx}{7cm}{Xr@{}}
- \textbf{Subtotal} & \textbf{<%sumcarriedforward%>} \\
- \end{tabularx}
-
-\newpage
-
-\markright{<%company%>\hfill <%statementdate%>}
-
-\vspace*{-12pt}
-
-\begin{tabular*}{\textwidth}{@{}l@{\extracolsep\fill}ccrrrr@{}}
- \textbf{Invoice \#} & \textbf{Date} & \textbf{Due} &
- \textbf{Current} & \textbf{30} & \textbf{60} & \textbf{90+} \\
- carried forward from <%lastpage%> & & & & & & <%sumcarriedforward%> \\
-<%end pagebreak%>
-
-
\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
\vspace*{1.5cm}
\parbox[t]{1cm}{\hfill}
\parbox[t]{10.5cm}{
-
+
<%name%>
<%street%>
% Eine Hintergrundgrafik oder ein Logo kann in Abhängigkeit vom
% Medium (z.B. nur beim Verschicken mit E-Mail) eingebunden
% werden. Dies ist im Moment auskommentiert.
-%
+%
% Desweiteren sind (auskommentierte) Beispiele enthalten für eine
% Grafik als Briefkopf, nur ein Logo, oder ein komplettes DinA4-PDF
% als Briefpapier.
% Tabellen:
% Als Tabellenumgebung wird longtable verwendet. Diese Umgebung
% kann in einer Tabelle umbrechen. Da aber der Umbruch nicht von
-% Lx-Office kontrolliert wird, kann man kein Übertrag mit
-% <%sumcarriedforward%> machen (dazu z.B. tabularx und
-% <%pagebreak ... %> verwenden).
+% Lx-Office kontrolliert wird, kann man keinen Übertrag machen.
% Innerhalb des Langtextes <%longdescription%> wird nicht umgebrochen. Um
% dies zu erreichen kann z.B. per renewcommand das "\newline" umdefiniert
% werden.
\parbox{\textwidth}{
\parbox[b]{.42\textwidth}{%
<%company%>
-
+
<%address%>
}\hfill
\begin{tabular}[b]{rr@{}}
\rule[1.5ex]{\textwidth}{0.5pt}
}
-
-<%pagebreak 90 27 37%>
-\end{tabularx}
-
-\newpage
-
-\markboth{<%company%>\hfill <%ordnumber%>}{<%company%>\hfill <%ordnumber%>}
-
-\vspace*{-12pt}
-
-\begin{tabularx}{\textwidth}{@{}rlXllrrll@{}}
- \textbf{Pos} & \textbf{Nummer} & \textbf{Beschreibung} & \textbf{Seriennummer} & & \textbf{Menge} & \textbf{Erh} & & \textbf{Lagerplatz} \\
-<%end pagebreak%>
-
-
\vspace*{0.5cm}
\parbox[t]{1cm}{\hfill}
%
% - longtable kann innerhalb der Tabelle umbrechen
-% - da der Umbruch nicht von Lx-Office kontrolliert wird, kann man kein
-% Übertrag mit <%sumcarriedforward%> machen (dazu z.B. tablularx und
-% <%pagebreak ... %> verwenden)
+% - da der Umbruch nicht von Lx-Office kontrolliert wird, kann man keinen
+% Übertrag machen
% - Innerhalb des Langtextes <%longdescription%> wird nicht umgebrochen.
% Falls das gewünscht ist, \\ mit \renewcommand umschreiben (siehe dazu:
% http://www.lx-office.org/uploads/media/Lx-Office_Anwendertreffen_LaTeX-Druckvorlagen-31.01.2011_01.pdf)
%
% - longtable kann innerhalb der Tabelle umbrechen
-% - da der Umbruch nicht von Lx-Office kontrolliert wird, kann man kein
-% Übertrag mit <%sumcarriedforward%> machen (dazu z.B. tablularx und
-% <%pagebreak ... %> verwenden)
+% - da der Umbruch nicht von Lx-Office kontrolliert wird, kann man keinen
+% Übertrag machen
% - Innerhalb des Langtextes <%longdescription%> wird nicht umgebrochen.
% Falls das gewünscht ist, \\ mit \renewcommand umschreiben (siehe dazu:
% http://www.lx-office.org/uploads/media/Lx-Office_Anwendertreffen_LaTeX-Druckvorlagen-31.01.2011_01.pdf)
<%runningnumber%> &
<%number%> &
\textbf{<%description%>} &
- \raggedleft <%qty%> <%unit%> &
+ \raggedleft <%qty%> <%unit%> &
<%sellprice%> \currency &
\ifthenelse{\equal{<%p_discount%>}{0}}{}{\sffamily\scriptsize{(-<%p_discount%> \%)}}
\ourfont{<%linetotal%> \currency} \\* % kein Umbruch nach der ersten Zeile, damit Beschreibung und Langtext nicht getrennt werden
\parbox{\textwidth}{
\parbox[b]{.42\textwidth}{
<%company%>
-
+
<%address%>
}\hfill
\begin{tabular}[b]{rr@{}}
\rule[1.5ex]{\textwidth}{0.5pt}
}
-
-<%pagebreak 90 27 37%>
-\end{tabular*}
-
-\newpage
-
-\markboth{<%company%>\hfill <%ordnumber%>}{<%company%>\hfill <%ordnumber%>}
-
-\vspace*{-12pt}
-
-\begin{tabular*}{\textwidth}{@{}lp{\descrwidth}@{\extracolsep\fill}rcll@{}}
- \textbf{Pos} & \textbf{Nummer} & \textbf{Beschreibung} &
- \textbf{Menge} & \textbf{Lagerausgang} & & \textbf{Lagerplatz} \\
-<%end pagebreak%>
-
-
\vspace*{0.5cm}
\parbox[t]{1cm}{\hfill}
%
% - longtable kann innerhalb der Tabelle umbrechen
-% - da der Umbruch nicht von Lx-Office kontrolliert wird, kann man kein
-% Übertrag mit <%sumcarriedforward%> machen (dazu z.B. tablularx und
-% <%pagebreak ... %> verwenden)
+% - da der Umbruch nicht von Lx-Office kontrolliert wird, kann man keinen
+% Übertrag machen
% - Innerhalb des Langtextes <%longdescription%> wird nicht umgebrochen.
% Falls das gewünscht ist, \\ mit \renewcommand umschreiben (siehe dazu:
% http://www.lx-office.org/uploads/media/Lx-Office_Anwendertreffen_LaTeX-Druckvorlagen-31.01.2011_01.pdf)
<%if reqdate%> && \scriptsize \lieferdatum: <%reqdate%>\\<%end reqdate%>
<%if serialnumber%> && \scriptsize \seriennummer: <%serialnumber%>\\<%end serialnumber%>
<%if ean%> && \scriptsize \ean: <%ean%>\\<%end ean%>
- <%foreach si_number%><%if si_number%> && \scriptsize \charge: <%si_chargenumber%> <%if si_bestbefore%> \mhd: <%si_bestbefore%><%end if%> <%si_qty%>~<%si_unit%><%end si_chargenumber%>\\<%end si_number%>
+ <%foreach si_number%><%if si_number%> && \scriptsize \charge: <%si_chargenumber%> <%if si_bestbefore%> \mhd: <%si_bestbefore%><%end if%> <%si_qty%>~<%si_unit%><%end si_chargenumber%>\\<%end si_number%>
\\[-0.8em]
<%end number%>
%
% - longtable kann innerhalb der Tabelle umbrechen
-% - da der Umbruch nicht von Lx-Office kontrolliert wird, kann man kein
-% Übertrag mit <%sumcarriedforward%> machen (dazu z.B. tablularx und
-% <%pagebreak ... %> verwenden)
+% - da der Umbruch nicht von Lx-Office kontrolliert wird, kann man keinen
+% Übertrag machen
% - Innerhalb des Langtextes <%longdescription%> wird nicht umgebrochen.
% Falls das gewünscht ist, \\ mit \renewcommand umschreiben (siehe dazu:
% http://www.lx-office.org/uploads/media/Lx-Office_Anwendertreffen_LaTeX-Druckvorlagen-31.01.2011_01.pdf)
% eigentliche Tabelle
<%foreach number%>
<%runningnumber%> &
- \raggedleft <%qty%> <%unit%> &
+ \raggedleft <%qty%> <%unit%> &
\textbf{<%description%>} &
<%sellprice%> \currency &
\ifthenelse{\equal{<%p_discount%>}{0}}{}{\sffamily\scriptsize{(-<%p_discount%> \%)}}
%
% - longtable kann innerhalb der Tabelle umbrechen
-% - da der Umbruch nicht von Lx-Office kontrolliert wird, kann man kein
-% Übertrag mit <%sumcarriedforward%> machen (dazu z.B. tablularx und
-% <%pagebreak ... %> verwenden)
+% - da der Umbruch nicht von Lx-Office kontrolliert wird, kann man keinen
+% Übertrag machen
% - Innerhalb des Langtextes <%longdescription%> wird nicht umgebrochen.
% Falls das gewünscht ist, \\ mit \renewcommand umschreiben (siehe dazu:
% http://www.lx-office.org/uploads/media/Lx-Office_Anwendertreffen_LaTeX-Druckvorlagen-31.01.2011_01.pdf)
\ifthenelse{\equal{<%make%>}{<%name%>}}{&& \artikelnummer: <%model%>\\}{}
<%end foreach%>
<%end if%>
-
+
\\[-0.8em]
<%end number%>
%
% - longtable kann innerhalb der Tabelle umbrechen
-% - da der Umbruch nicht von Lx-Office kontrolliert wird, kann man kein
-% Übertrag mit <%sumcarriedforward%> machen (dazu z.B. tablularx und
-% <%pagebreak ... %> verwenden)
+% - da der Umbruch nicht von Lx-Office kontrolliert wird, kann man keinen
+% Übertrag machen
% - Innerhalb des Langtextes <%longdescription%> wird nicht umgebrochen.
% Falls das gewünscht ist, \\ mit \renewcommand umschreiben (siehe dazu:
% http://www.lx-office.org/uploads/media/Lx-Office_Anwendertreffen_LaTeX-Druckvorlagen-31.01.2011_01.pdf)
<%if serialnumber%> && \scriptsize \seriennummer: <%serialnumber%>\\<%end serialnumber%>
<%if ean%> && \scriptsize \ean: <%ean%>\\<%end ean%>
<%if projectnumber%> && \scriptsize \projektnummer: <%projectnumber%>\\<%end projectnumber%>
- <%foreach si_number%><%if si_number%> && \scriptsize \charge: <%si_chargenumber%> <%if si_bestbefore%> \mhd: <%si_bestbefore%><%end if%> <%si_qty%>~<%si_unit%><%end si_chargenumber%>\\<%end si_number%>
-
+ <%foreach si_number%><%if si_number%> && \scriptsize \charge: <%si_chargenumber%> <%if si_bestbefore%> \mhd: <%si_bestbefore%><%end if%> <%si_qty%>~<%si_unit%><%end si_chargenumber%>\\<%end si_number%>
+
\\[-0.8em]
<%end number%>
%
% - longtable kann innerhalb der Tabelle umbrechen
-% - da der Umbruch nicht von Lx-Office kontrolliert wird, kann man kein
-% Übertrag mit <%sumcarriedforward%> machen (dazu z.B. tablularx und
-% <%pagebreak ... %> verwenden)
+% - da der Umbruch nicht von Lx-Office kontrolliert wird, kann man keinen
+% Übertrag machen
% - Innerhalb des Langtextes <%longdescription%> wird nicht umgebrochen.
% Falls das gewünscht ist, \\ mit \renewcommand umschreiben (siehe dazu:
% http://www.lx-office.org/uploads/media/Lx-Office_Anwendertreffen_LaTeX-Druckvorlagen-31.01.2011_01.pdf)
<%runningnumber%> &
<%number%> &
\textbf{<%description%>} &
- \raggedleft <%qty%> <%unit%> &
+ \raggedleft <%qty%> <%unit%> &
<%sellprice%> \currency &
\ifthenelse{\equal{<%p_discount%>}{0}}{}{\sffamily\scriptsize{(-<%p_discount%> \%)}}
\ourfont{<%linetotal%> \currency} \\* % kein Umbruch nach der ersten Zeile, damit Beschreibung und Langtext nicht getrennt werden
%
% - longtable kann innerhalb der Tabelle umbrechen
-% - da der Umbruch nicht von Lx-Office kontrolliert wird, kann man kein
-% Übertrag mit <%sumcarriedforward%> machen (dazu z.B. tablularx und
-% <%pagebreak ... %> verwenden)
+% - da der Umbruch nicht von Lx-Office kontrolliert wird, kann man keinen
+% Übertrag machen
% - Innerhalb des Langtextes <%longdescription%> wird nicht umgebrochen.
% Falls das gewünscht ist, \\ mit \renewcommand umschreiben (siehe dazu:
% http://www.lx-office.org/uploads/media/Lx-Office_Anwendertreffen_LaTeX-Druckvorlagen-31.01.2011_01.pdf)
<%runningnumber%> &
<%number%> &
\textbf{<%description%>} &
- \raggedleft <%qty%> <%unit%> &
+ \raggedleft <%qty%> <%unit%> &
<%sellprice%> \currency &
\ifthenelse{\equal{<%p_discount%>}{0}}{}{\sffamily\scriptsize{(-<%p_discount%> \%)}}
\ourfont{<%linetotal%> \currency} \\* % kein Umbruch nach der ersten Zeile, damit Beschreibung und Langtext nicht getrennt werden
%
% - longtable kann innerhalb der Tabelle umbrechen
-% - da der Umbruch nicht von Lx-Office kontrolliert wird, kann man kein
-% Übertrag mit <%sumcarriedforward%> machen (dazu z.B. tablularx und
-% <%pagebreak ... %> verwenden)
+% - da der Umbruch nicht von Lx-Office kontrolliert wird, kann man keinen
+% Übertrag machen
%
\setlength\LTleft\parindent % Tabelle beginnt am linken Textrand
\setlength\LTright{0pt} % Tabelle endet am rechten Textrand
\parbox{\textwidth}{
\parbox[b]{12cm}{
<%company%>
-
+
<%address%>}\hfill
\begin{tabular}[b]{rr@{}}
Telephone & <%tel%>\\
\rule[1.5ex]{\textwidth}{0.5pt}
}
}
-
+
\fontfamily{cmss}\fontshape{n}\selectfont
\markboth{<%company%>\hfill <%invnumber%>}{\usebox{\hdr}}
\pagestyle{myheadings}
%\thispagestyle{empty} use this with letterhead paper
-<%pagebreak 90 27 48%>
-\end{tabular*}
-
- \rule{\textwidth}{2pt}
-
- \hfill
- \begin{tabularx}{7cm}{Xr@{}}
- \textbf{Subtotal} & \textbf{<%sumcarriedforward%>} \\
- \end{tabularx}
-
-\newpage
-
-\markright{<%company%>\hfill <%invnumber%>}
-
-\vspace*{-12pt}
-
-\begin{tabular*}{\textwidth}{@{}p{\descrwidth}@{\extracolsep\fill}rlrr@{}}
- \textbf{Description} & \textbf{Qt'y} &
- \textbf{Unit} & \textbf{Price} & \textbf{Amount} \\
- & carried forward from <%lastpage%> & & & & <%sumcarriedforward%> \\
-<%end pagebreak%>
-
-
\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
\vspace*{2cm}
\parbox{\textwidth}{
\parbox[b]{12cm}{
<%company%>
-
+
<%address%>}\hfill
\begin{tabular}[b]{rr@{}}
Telephone & <%tel%>\\
\rule[1.5ex]{\textwidth}{0.5pt}
}
}
-
+
\fontfamily{cmss}\fontshape{n}\selectfont
\markboth{<%company%>\hfill <%ordnumber%>}{\usebox{\hdr}}
\pagestyle{myheadings}
%\thispagestyle{empty} use this with letterhead paper
-<%pagebreak 90 27 48%>
-\end{tabular*}
-
- \rule{\textwidth}{2pt}
-
- \hfill
- \begin{tabularx}{7cm}{Xr@{}}
- \textbf{Subtotal} & \textbf{<%sumcarriedforward%>} \\
- \end{tabularx}
-
-\newpage
-
-\markright{<%company%>\hfill <%ordnumber%>}
-
-\vspace*{-12pt}
-
-\begin{tabular*}{\textwidth}{@{}lp{\descrwidth}@{\extracolsep\fill}rlrr@{}}
- \textbf{Number} & \textbf{Description} & \textbf{Qt'y} &
- \textbf{Unit} & \textbf{Price} & \textbf{Amount} \\
- & carried forward from <%lastpage%> & & & & <%sumcarriedforward%> \\
-<%end pagebreak%>
-
-
\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
\vspace*{2cm}
\parbox{\textwidth}{
\parbox[b]{12cm}{
<%company%>
-
+
<%address%>}\hfill
\begin{tabular}[b]{rr@{}}
Telephone & <%tel%>\\
\rule[1.5ex]{\textwidth}{0.5pt}
}
}
-
+
\fontfamily{cmss}\fontshape{n}\selectfont
\markboth{<%company%>\hfill <%ordnumber%>}{\usebox{\hdr}}
\pagestyle{myheadings}
%\thispagestyle{empty} use this with letterhead paper
-<%pagebreak 90 27 48%>
-\end{tabular*}
-
- \rule{\textwidth}{2pt}
-
- \hfill
- \begin{tabularx}{7cm}{Xr@{}}
- \textbf{Subtotal} & \textbf{<%sumcarriedforward%>} \\
- \end{tabularx}
-
-\newpage
-
-\markright{<%company%>\hfill <%ordnumber%>}
-
-\vspace*{-12pt}
-
-\begin{tabular*}{\textwidth}{@{}p{\descrwidth}@{\extracolsep\fill}rlrr@{}}
- \textbf{Description} & \textbf{Qt'y} &
- \textbf{Unit} & \textbf{Price} & \textbf{Amount} \\
- & carried forward from <%lastpage%> & & & <%sumcarriedforward%> \\
-<%end pagebreak%>
-
-
\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
\vspace*{2cm}
\pagestyle{myheadings}
%\thispagestyle{empty} use this with letterhead paper
-<%pagebreak 90 27 48%>
-\end{tabular*}
-
- \rule{\textwidth}{2pt}
-
- \hfill
- \begin{tabularx}{7cm}{Xr@{}}
- \textbf{Subtotal} & \textbf{<%sumcarriedforward%>} \\
- \end{tabularx}
-
-\newpage
-
-\markright{<%company%>\hfill <%statementdate%>}
-
-\vspace*{-12pt}
-
-\begin{tabular*}{\textwidth}{@{}l@{\extracolsep\fill}ccrrrr@{}}
- \textbf{Invoice \#} & \textbf{Date} & \textbf{Due} &
- \textbf{Current} & \textbf{30} & \textbf{60} & \textbf{90+} \\
- carried forward from <%lastpage%> & & & & & & <%sumcarriedforward%> \\
-<%end pagebreak%>
-
-
\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
\vspace*{1.5cm}
\parbox[t]{1cm}{\hfill}
\parbox[t]{10.5cm}{
-
+
<%name%>
<%street%>
<input type="hidden" name="cc" value="[% HTML.escape(cc) %]">
<input type="hidden" name="closed" value="[% HTML.escape(closed) %]">
<input type="hidden" name="convert_from_oe_ids" value="[% HTML.escape(convert_from_oe_ids) %]">
- <input type="hidden" name="curr" value="[% HTML.escape(curr) %]">
+ <input type="hidden" name="currency" value="[% HTML.escape(currency) %]">
<input type="hidden" name="customer_klass" value="[% HTML.escape(customer_klass) %]">
<input type="hidden" name="discount" value="[% HTML.escape(discount) %]">
<input type="hidden" name="dunning_amount" value="[% HTML.escape(dunning_amount) %]">
[% SET total_ref = item _ '_total' %]
[% SET netto_ref = item _ '_netto' %]
<tr>
- <th align="right">Enthaltene [% $description_ref | html %] [% $rate_ref * 100 %]%</th>
+ <th align="right">[% 'Including' | $T8 %] [% $description_ref | html %] [% $rate_ref * 100 %]%</th>
<td align="right">[% LxERP.format_amount($total_ref, 2) %]</td>
</tr>
[%- IF taxincluded %]
<tr>
- <th align="right">Nettobetrag</th>
+ <th align="right">[% 'Net amount' | $T8 %]</th>
<td align="right">[% LxERP.format_amount($netto_ref, 2) %]</td>
</tr>
[%- END %]
[% SET total_ref = item _ '_total' %]
[% SET netto_ref = item _ '_netto' %]
<tr>
- <th align="right">Enthaltene [% $description_ref | html %] [% $rate_ref * 100 %]%</th>
+ <th align="right">[% 'Including' | $T8 %] [% $description_ref | html %] [% $rate_ref * 100 %]%</th>
<td align="right">[% LxERP.format_amount($total_ref, 2) %]</td>
</tr>
[%- IF taxincluded %]
<tr>
- <th align="right">Nettobetrag</th>
+ <th align="right">[% 'Net amount' | $T8 %]</th>
<td align="right">[% LxERP.format_amount($netto_ref, 2) %]</td>
</tr>
[%- END %]