From bc450f35d9cd3de99f945135c19b9688b5e52995 Mon Sep 17 00:00:00 2001 From: "wulf@coulmann.de" Date: Fri, 14 Jan 2011 16:45:26 +0100 Subject: [PATCH] initial raw_numbers add subtotal_num, sellprice_num --- SL/DO.pm | 2 ++ SL/IS.pm | 15 +++++++++++++ SL/OE.pm | 17 +++++++++++++- doc/dokumentenvorlagen-und-variablen.html | 27 +++++++++++++++++------ 4 files changed, 53 insertions(+), 8 deletions(-) diff --git a/SL/DO.pm b/SL/DO.pm index f39196323..d30849946 100644 --- a/SL/DO.pm +++ b/SL/DO.pm @@ -831,6 +831,7 @@ sub order_details { push @{ $form->{TEMPLATE_ARRAYS}{description} }, $form->{"description_$i"}; push @{ $form->{TEMPLATE_ARRAYS}{longdescription} }, $form->{"longdescription_$i"}; push @{ $form->{TEMPLATE_ARRAYS}{qty} }, $form->format_amount($myconfig, $form->{"qty_$i"}); + push @{ $form->{TEMPLATE_ARRAYS}{qty_num} }, $form->{"qty_$i"}; push @{ $form->{TEMPLATE_ARRAYS}{unit} }, $form->{"unit_$i"}; push @{ $form->{TEMPLATE_ARRAYS}{partnotes} }, $form->{"partnotes_$i"}; push @{ $form->{TEMPLATE_ARRAYS}{serialnumber} }, $form->{"serialnumber_$i"}; @@ -883,6 +884,7 @@ sub order_details { push @{ $form->{TEMPLATE_ARRAYS}{si_chargenumber}[$position-1] }, $si->{chargenumber}; push @{ $form->{TEMPLATE_ARRAYS}{si_bestbefore}[$position-1] }, $si->{bestbefore}; push @{ $form->{TEMPLATE_ARRAYS}{si_qty}[$position-1] }, $form->format_amount($myconfig, $si->{qty} * 1); + push @{ $form->{TEMPLATE_ARRAYS}{si_qty_num}[$position-1] }, $si->{qty} * 1; push @{ $form->{TEMPLATE_ARRAYS}{si_unit}[$position-1] }, $si->{unit}; } } diff --git a/SL/IS.pm b/SL/IS.pm index c1b8fe378..c89889492 100644 --- a/SL/IS.pm +++ b/SL/IS.pm @@ -201,9 +201,11 @@ sub invoice_details { push @{ $form->{TEMPLATE_ARRAYS}->{description} }, $form->{"description_$i"}; push @{ $form->{TEMPLATE_ARRAYS}->{longdescription} }, $form->{"longdescription_$i"}; push @{ $form->{TEMPLATE_ARRAYS}->{qty} }, $form->format_amount($myconfig, $form->{"qty_$i"}); + push @{ $form->{TEMPLATE_ARRAYS}->{qty_num} }, $form->{"qty_$i"}; push @{ $form->{TEMPLATE_ARRAYS}->{unit} }, $form->{"unit_$i"}; push @{ $form->{TEMPLATE_ARRAYS}->{deliverydate_oe} }, $form->{"reqdate_$i"}; push @{ $form->{TEMPLATE_ARRAYS}->{sellprice} }, $form->{"sellprice_$i"}; + push @{ $form->{TEMPLATE_ARRAYS}->{sellprice_num} }, $form->parse_amount($myconfig, $form->{"sellprice_$i"}); push @{ $form->{TEMPLATE_ARRAYS}->{ordnumber_oe} }, $form->{"ordnumber_$i"}; push @{ $form->{TEMPLATE_ARRAYS}->{transdate_oe} }, $form->{"transdate_$i"}; push @{ $form->{TEMPLATE_ARRAYS}->{invnumber} }, $form->{"invnumber"}; @@ -242,10 +244,12 @@ sub invoice_details { $form->{"netprice_$i"} = $form->round_amount($form->{"qty_$i"} ? ($linetotal / $form->{"qty_$i"}) : 0, 2); push @{ $form->{TEMPLATE_ARRAYS}->{netprice} }, ($form->{"netprice_$i"} != 0) ? $form->format_amount($myconfig, $form->{"netprice_$i"}, $decimalplaces) : ''; + push @{ $form->{TEMPLATE_ARRAYS}->{netprice_num} }, ($form->{"netprice_$i"} != 0) ? $form->{"netprice_$i"} : ''; $linetotal = ($linetotal != 0) ? $linetotal : ''; push @{ $form->{TEMPLATE_ARRAYS}->{discount} }, ($discount != 0) ? $form->format_amount($myconfig, $discount * -1, 2) : ''; + push @{ $form->{TEMPLATE_ARRAYS}->{discount_num} }, ($discount != 0) ? $discount * -1 : ''; push @{ $form->{TEMPLATE_ARRAYS}->{p_discount} }, $form->{"discount_$i"}; $form->{total} += $linetotal; @@ -259,7 +263,9 @@ sub invoice_details { if ($form->{"subtotal_$i"} && $subtotal_header && ($subtotal_header != $i)) { push @{ $form->{TEMPLATE_ARRAYS}->{discount_sub} }, $form->format_amount($myconfig, $discount_subtotal, 2); + push @{ $form->{TEMPLATE_ARRAYS}->{discount_sub_num} }, $discount_subtotal; push @{ $form->{TEMPLATE_ARRAYS}->{nodiscount_sub} }, $form->format_amount($myconfig, $nodiscount_subtotal, 2); + push @{ $form->{TEMPLATE_ARRAYS}->{nodiscount_sub_num} }, $nodiscount_subtotal; $discount_subtotal = 0; $nodiscount_subtotal = 0; @@ -275,7 +281,11 @@ sub invoice_details { } push @{ $form->{TEMPLATE_ARRAYS}->{linetotal} }, $form->format_amount($myconfig, $linetotal, 2); + push @{ $form->{TEMPLATE_ARRAYS}->{linetotal_num} }, $linetotal; + push @{ $form->{TEMPLATE_ARRAYS}->{linetotal_raw} }, $form->format_amount($myconfig, $linetotal_exact, 8); + push @{ $form->{TEMPLATE_ARRAYS}->{linetotal_raw_num} }, $linetotal_exact; push @{ $form->{TEMPLATE_ARRAYS}->{nodiscount_linetotal} }, $form->format_amount($myconfig, $nodiscount_linetotal, 2); + push @{ $form->{TEMPLATE_ARRAYS}->{nodiscount_linetotal_num} }, $nodiscount_linetotal; push(@{ $form->{TEMPLATE_ARRAYS}->{projectnumber} }, $projectnumbers{$form->{"project_id_$i"}}); push(@{ $form->{TEMPLATE_ARRAYS}->{projectdescription} }, $projectdescriptions{$form->{"project_id_$i"}}); @@ -368,8 +378,11 @@ sub invoice_details { $tax += $taxamount = $form->round_amount($taxaccounts{$item}, 2); push(@{ $form->{TEMPLATE_ARRAYS}->{taxbase} }, $form->format_amount($myconfig, $taxbase{$item}, 2)); + push(@{ $form->{TEMPLATE_ARRAYS}->{taxbase_num} }, $taxbase{$item}); push(@{ $form->{TEMPLATE_ARRAYS}->{tax} }, $form->format_amount($myconfig, $taxamount, 2)); + push(@{ $form->{TEMPLATE_ARRAYS}->{tax_num} }, $taxamount ); push(@{ $form->{TEMPLATE_ARRAYS}->{taxrate} }, $form->format_amount($myconfig, $form->{"${item}_rate"} * 100)); + push(@{ $form->{TEMPLATE_ARRAYS}->{taxrate_num} }, $form->{"${item}_rate"} * 100); push(@{ $form->{TEMPLATE_ARRAYS}->{taxdescription} }, $form->{"${item}_description"} . q{ } . 100 * $form->{"${item}_rate"} . q{%}); push(@{ $form->{TEMPLATE_ARRAYS}->{taxnumber} }, $form->{"${item}_taxnumber"}); } @@ -389,9 +402,11 @@ sub invoice_details { } if($form->{taxincluded}) { $form->{subtotal} = $form->format_amount($myconfig, $form->{total} - $tax, 2); + $form->{subtotal_num} = $form->{total} - $tax; } else { $form->{subtotal} = $form->format_amount($myconfig, $form->{total}, 2); + $form->{subtotal_num} = $form->{total}; } $form->{nodiscount_subtotal} = $form->format_amount($myconfig, $form->{nodiscount_total}, 2); diff --git a/SL/OE.pm b/SL/OE.pm index 28e3975c3..a4c549251 100644 --- a/SL/OE.pm +++ b/SL/OE.pm @@ -1161,13 +1161,16 @@ sub order_details { push @{ $form->{TEMPLATE_ARRAYS}->{description} }, $form->{"description_$i"}; push @{ $form->{TEMPLATE_ARRAYS}->{longdescription} }, $form->{"longdescription_$i"}; push @{ $form->{TEMPLATE_ARRAYS}->{qty} }, $form->format_amount($myconfig, $form->{"qty_$i"}); + push @{ $form->{TEMPLATE_ARRAYS}->{qty_num} }, $form->{"qty_$i"}; push @{ $form->{TEMPLATE_ARRAYS}->{ship} }, $form->format_amount($myconfig, $form->{"ship_$i"}); + push @{ $form->{TEMPLATE_ARRAYS}->{ship_num} }, $form->{"ship_$i"}; push @{ $form->{TEMPLATE_ARRAYS}->{unit} }, $form->{"unit_$i"}; push @{ $form->{TEMPLATE_ARRAYS}->{bin} }, $form->{"bin_$i"}; push @{ $form->{TEMPLATE_ARRAYS}->{partnotes} }, $form->{"partnotes_$i"}; push @{ $form->{TEMPLATE_ARRAYS}->{serialnumber} }, $form->{"serialnumber_$i"}; push @{ $form->{TEMPLATE_ARRAYS}->{reqdate} }, $form->{"reqdate_$i"}; push @{ $form->{TEMPLATE_ARRAYS}->{sellprice} }, $form->{"sellprice_$i"}; + push @{ $form->{TEMPLATE_ARRAYS}->{sellprice_num} }, $form->parse_amount($myconfig, $form->{"sellprice_$i"}); push @{ $form->{TEMPLATE_ARRAYS}->{listprice} }, $form->{"listprice_$i"}; push @{ $form->{TEMPLATE_ARRAYS}->{price_factor} }, $price_factor->{formatted_factor}; push @{ $form->{TEMPLATE_ARRAYS}->{price_factor_name} }, $price_factor->{description}; @@ -1186,10 +1189,12 @@ sub order_details { $form->{"netprice_$i"} = $form->round_amount($form->{"qty_$i"} ? ($linetotal / $form->{"qty_$i"}) : 0, 2); push @{ $form->{TEMPLATE_ARRAYS}->{netprice} }, ($form->{"netprice_$i"} != 0) ? $form->format_amount($myconfig, $form->{"netprice_$i"}, $decimalplaces) : ''; + push @{ $form->{TEMPLATE_ARRAYS}->{netprice_num} }, ($form->{"netprice_$i"} != 0) ? $form->{"netprice_$i"} : ''; $linetotal = ($linetotal != 0) ? $linetotal : ''; push @{ $form->{TEMPLATE_ARRAYS}->{discount} }, ($discount != 0) ? $form->format_amount($myconfig, $discount * -1, 2) : ''; + push @{ $form->{TEMPLATE_ARRAYS}->{discount_num} }, ($discount != 0) ? $discount * -1 : ''; push @{ $form->{TEMPLATE_ARRAYS}->{p_discount} }, $form->{"discount_$i"}; $form->{ordtotal} += $linetotal; @@ -1203,7 +1208,9 @@ sub order_details { if ($form->{"subtotal_$i"} && $subtotal_header && ($subtotal_header != $i)) { push @{ $form->{TEMPLATE_ARRAYS}->{discount_sub} }, $form->format_amount($myconfig, $discount_subtotal, 2); + push @{ $form->{TEMPLATE_ARRAYS}->{discount_sub_num} }, $discount_subtotal; push @{ $form->{TEMPLATE_ARRAYS}->{nodiscount_sub} }, $form->format_amount($myconfig, $nodiscount_subtotal, 2); + push @{ $form->{TEMPLATE_ARRAYS}->{nodiscount_sub_num} }, $nodiscount_subtotal; $discount_subtotal = 0; $nodiscount_subtotal = 0; @@ -1219,8 +1226,11 @@ sub order_details { } push @{ $form->{TEMPLATE_ARRAYS}->{linetotal} }, $form->format_amount($myconfig, $linetotal, 2); + push @{ $form->{TEMPLATE_ARRAYS}->{linetotal_num} }, $linetotal; + push @{ $form->{TEMPLATE_ARRAYS}->{linetotal_raw} }, $form->format_amount($myconfig, $linetotal_exact, 8); + push @{ $form->{TEMPLATE_ARRAYS}->{linetotal_raw_num} }, $linetotal_exact; push @{ $form->{TEMPLATE_ARRAYS}->{nodiscount_linetotal} }, $form->format_amount($myconfig, $nodiscount_linetotal, 2); - + push @{ $form->{TEMPLATE_ARRAYS}->{nodiscount_linetotal_num} }, $nodiscount_linetotal; push(@{ $form->{TEMPLATE_ARRAYS}->{projectnumber} }, $projectnumbers{$form->{"project_id_$i"}}); push(@{ $form->{TEMPLATE_ARRAYS}->{projectdescription} }, $projectdescriptions{$form->{"project_id_$i"}}); @@ -1293,8 +1303,11 @@ sub order_details { $tax += $taxamount = $form->round_amount($taxaccounts{$item}, 2); push(@{ $form->{TEMPLATE_ARRAYS}->{taxbase} }, $form->format_amount($myconfig, $taxbase{$item}, 2)); + push(@{ $form->{TEMPLATE_ARRAYS}->{taxbase_num} }, $taxbase{$item}); push(@{ $form->{TEMPLATE_ARRAYS}->{tax} }, $form->format_amount($myconfig, $taxamount, 2)); + push(@{ $form->{TEMPLATE_ARRAYS}->{tax_num} }, $taxamount); push(@{ $form->{TEMPLATE_ARRAYS}->{taxrate} }, $form->format_amount($myconfig, $form->{"${item}_rate"} * 100)); + push(@{ $form->{TEMPLATE_ARRAYS}->{taxrate_num} }, $form->{"${item}_rate"} * 100); push(@{ $form->{TEMPLATE_ARRAYS}->{taxdescription} }, $form->{"${item}_description"} . q{ } . 100 * $form->{"${item}_rate"} . q{%}); push(@{ $form->{TEMPLATE_ARRAYS}->{taxnumber} }, $form->{"${item}_taxnumber"}); } @@ -1306,8 +1319,10 @@ sub order_details { if($form->{taxincluded}) { $form->{subtotal} = $form->format_amount($myconfig, $form->{ordtotal} - $tax, 2); + $form->{subtotal_num} = $form->{ordtotal} - $tax; } else { $form->{subtotal} = $form->format_amount($myconfig, $form->{ordtotal}, 2); + $form->{subtotal_num} = $form->{ordtotal}; } $form->{ordtotal} = ($form->{taxincluded}) ? $form->{ordtotal} : $form->{ordtotal} + $tax; diff --git a/doc/dokumentenvorlagen-und-variablen.html b/doc/dokumentenvorlagen-und-variablen.html index 514df394f..6e9bdb404 100644 --- a/doc/dokumentenvorlagen-und-variablen.html +++ b/doc/dokumentenvorlagen-und-variablen.html @@ -149,6 +149,15 @@ td { verändern.

+

Einige Zahlenwerte werden auch in unformatierter Form zur Verfügung + gestellt (also z.B. 35 statt 35,00 oder 12.3 statt 12,30). Der Dezimaltrenner + ist dabei also immer ein Punkt unabhaengig vom eingestellten Zahlenformat. + Diese Variabelen kann man mit der Erweiterung _num (für numeric) aufrufen + (also z.B. netprice = 12,30 -- netprice_num = 12.3). Variabeln die zusätzlich + unformatiert zur Verfügung stehen sind unten als variable[_num] gelistet. + Die Eckigen Klammern weisen also auf eine optionale Verwändung der Erweiterung hin. +

+

Früher wurde hier nur über LaTeX gesprochen. Inzwischen unterstützt Lx-Office aber auch OpenDocument-Vorlagen. Sofern es nicht ausdrücklich eingeschränkt wird, gilt das im @@ -783,11 +792,11 @@ td { Artikelbeschreibung - discount + discount[_num] Rabatt als Betrag - discount_sub + discount_sub[_num] Zwischensumme mit Rabatt @@ -803,9 +812,13 @@ td { Grafik - linetotal + linetotal[_num] Zeilensumme (Anzahl * Einzelpreis) + + linetotal_raw[_num] + Zeilensumme (Anzahl * Einzelpreis) gerundet auf 8 Stellen nach dem Komma (statt 2) + longdescription Langtext @@ -815,15 +828,15 @@ td { Mikrofilm - netprice + netprice[_num] Nettopreis - nodiscount_linetotal + nodiscount_linetotal[_num] Zeilensumme ohne Rabatt - nodiscount_sub + nodiscount_sub[_num] Zwischensumme ohne Rabatt @@ -863,7 +876,7 @@ td { Projektbeschreibung - qty + qty[_num] Anzahl -- 2.20.1