$ref->{is_tax} = 1;
}
- if ( !$ref->{invoice}
- && $ref->{is_tax}
- && !($prev_ref->{is_tax})
- && (_sign($ref->{amount}) == _sign($prev_ref->{amount}))) {
+ if ( !$ref->{invoice} # we have a non-invoice booking (=gl)
+ && $ref->{is_tax} # that has "is_tax" set
+ && !($prev_ref->{is_tax}) # previous line wasn't is_tax
+ && (_sign($ref->{amount}) == _sign($prev_ref->{amount}))) # and sign same as previous sign
+ {
$trans->[$i - 1]->{tax_amount} = $ref->{amount};
}
}
}
for my $j (0 .. (scalar(@{$trans}) - 1)) {
- if (abs($trans->[$j]->{'amount'}) > abs($absumsatz)) {
+ # for gl-bookings no split is allowed and there is no AR/AP account, so we always use the maximum value as a reference
+ # for ap/ar bookings we can always search for AR/AP in link and use that
+ if ( ( not $trans->[$j]->{'invoice'} and abs($trans->[$j]->{'amount'}) > abs($absumsatz) )
+ or ($trans->[$j]->{'invoice'} and ($trans->[$j]->{'link'} eq 'AR' or $trans->[$j]->{'link'} eq 'AP'))) {
$absumsatz = $trans->[$j]->{'amount'};
$notsplitindex = $j;
}
use SL::DO;
use SL::IC;
use SL::IS;
+use SL::Locale;
use SL::Mailer;
use SL::Menu;
use SL::MoreCommon qw(uri_encode uri_decode);
$formname ||= $self->{formname};
+ $self->{recipient_locale} ||= Locale->lang_to_locale($self->{language});
+ my $recipient_locale = Locale->new($self->{recipient_locale});
+
my %formname_translations = (
- bin_list => $main::locale->text('Bin List'),
- credit_note => $main::locale->text('Credit Note'),
- invoice => $main::locale->text('Invoice'),
- pick_list => $main::locale->text('Pick List'),
- proforma => $main::locale->text('Proforma Invoice'),
- purchase_order => $main::locale->text('Purchase Order'),
- request_quotation => $main::locale->text('RFQ'),
- sales_order => $main::locale->text('Confirmation'),
- sales_quotation => $main::locale->text('Quotation'),
- storno_invoice => $main::locale->text('Storno Invoice'),
- sales_delivery_order => $main::locale->text('Delivery Order'),
- purchase_delivery_order => $main::locale->text('Delivery Order'),
- dunning => $main::locale->text('Dunning'),
+ bin_list => $recipient_locale->text('Bin List'),
+ credit_note => $recipient_locale->text('Credit Note'),
+ invoice => $recipient_locale->text('Invoice'),
+ pick_list => $recipient_locale->text('Pick List'),
+ proforma => $recipient_locale->text('Proforma Invoice'),
+ purchase_order => $recipient_locale->text('Purchase Order'),
+ request_quotation => $recipient_locale->text('RFQ'),
+ sales_order => $recipient_locale->text('Confirmation'),
+ sales_quotation => $recipient_locale->text('Quotation'),
+ storno_invoice => $recipient_locale->text('Storno Invoice'),
+ sales_delivery_order => $recipient_locale->text('Delivery Order'),
+ purchase_delivery_order => $recipient_locale->text('Delivery Order'),
+ dunning => $recipient_locale->text('Dunning'),
);
$main::lxdebug->leave_sub();
- return $formname_translations{$formname}
+ return $formname_translations{$formname};
}
sub get_number_prefix_for_type {
$main::lxdebug->enter_sub();
my ($self) = @_;
+ $self->{recipient_locale} ||= Locale->lang_to_locale($self->{language});
+ my $recipient_locale = Locale->new($self->{recipient_locale});
+
my $attachment_filename = $main::locale->unquote_special_chars('HTML', $self->get_formname_translation());
my $prefix = $self->get_number_prefix_for_type();
if ($self->{preview} && (first { $self->{type} eq $_ } qw(invoice credit_note))) {
- $attachment_filename .= ' (' . $main::locale->text('Preview') . ')' . $self->get_extension_for_format();
+ $attachment_filename .= ' (' . $recipient_locale->text('Preview') . ')' . $self->get_extension_for_format();
} elsif ($attachment_filename && $self->{"${prefix}number"}) {
$attachment_filename .= "_" . $self->{"${prefix}number"} . $self->get_extension_for_format();
$form->{soldtotal} = undef if $form->{l_soldtotal}; # security fix. top100 insists on putting strings in there...
my @simple_filters = qw(partnumber ean description partsgroup microfiche drawing onhand);
+ my @project_filters = qw(projectnumber projectdescription);
my @makemodel_filters = qw(make model);
my @invoice_oi_filters = qw(serialnumber soldtotal);
my @apoe_filters = qw(transdate);
my @like_filters = (@simple_filters, @invoice_oi_filters);
- my @all_columns = (@simple_filters, @makemodel_filters, @apoe_filters, qw(serialnumber));
+ my @all_columns = (@simple_filters, @makemodel_filters, @apoe_filters, @project_filters, qw(serialnumber));
my @simple_l_switches = (@all_columns, qw(listprice sellprice lastcost priceupdate weight unit bin rop image));
my @oe_flags = qw(bought sold onorder ordered rfq quoted);
my @qsooqr_flags = qw(invnumber ordnumber quonumber trans_id name module qty);
pfac => 'LEFT JOIN price_factors pfac ON (pfac.id = p.price_factor_id)',
invoice_oi =>
q|LEFT JOIN (
- SELECT parts_id, description, serialnumber, trans_id, unit, sellprice, qty, assemblyitem, deliverydate, 'invoice' AS ioi, id FROM invoice UNION
- SELECT parts_id, description, serialnumber, trans_id, unit, sellprice, qty, FALSE AS assemblyitem, NULL AS deliverydate, 'orderitems' AS ioi, id FROM orderitems
+ SELECT parts_id, description, serialnumber, trans_id, unit, sellprice, qty, assemblyitem, deliverydate, 'invoice' AS ioi, project_id, id FROM invoice UNION
+ SELECT parts_id, description, serialnumber, trans_id, unit, sellprice, qty, FALSE AS assemblyitem, NULL AS deliverydate, 'orderitems' AS ioi, project_id, id FROM orderitems
) AS ioi ON ioi.parts_id = p.id|,
apoe =>
q|LEFT JOIN (
- SELECT id, transdate, 'ir' AS module, ordnumber, quonumber, invnumber, FALSE AS quotation, NULL AS customer_id, vendor_id, NULL AS deliverydate, 'invoice' AS ioi FROM ap UNION
- SELECT id, transdate, 'is' AS module, ordnumber, quonumber, invnumber, FALSE AS quotation, customer_id, NULL AS vendor_id, deliverydate, 'invoice' AS ioi FROM ar UNION
- SELECT id, transdate, 'oe' AS module, ordnumber, quonumber, NULL AS invnumber, quotation, customer_id, vendor_id, reqdate AS deliverydate, 'orderitems' AS ioi FROM oe
+ SELECT id, transdate, 'ir' AS module, ordnumber, quonumber, invnumber, FALSE AS quotation, NULL AS customer_id, vendor_id, NULL AS deliverydate, globalproject_id, 'invoice' AS ioi FROM ap UNION
+ SELECT id, transdate, 'is' AS module, ordnumber, quonumber, invnumber, FALSE AS quotation, customer_id, NULL AS vendor_id, deliverydate, globalproject_id, 'invoice' AS ioi FROM ar UNION
+ SELECT id, transdate, 'oe' AS module, ordnumber, quonumber, NULL AS invnumber, quotation, customer_id, vendor_id, reqdate AS deliverydate, globalproject_id, 'orderitems' AS ioi FROM oe
) AS apoe ON ((ioi.trans_id = apoe.id) AND (ioi.ioi = apoe.ioi))|,
cv =>
q|LEFT JOIN (
SELECT id, name, 'vendor' AS cv FROM vendor
) AS cv ON cv.id = apoe.customer_id OR cv.id = apoe.vendor_id|,
mv => 'LEFT JOIN vendor AS mv ON mv.id = mm.make',
+ project => 'LEFT JOIN project AS pj ON pj.id = COALESCE(ioi.project_id, apoe.globalproject_id)',
);
- my @join_order = qw(partsgroup makemodel mv invoice_oi apoe cv pfac);
+ my @join_order = qw(partsgroup makemodel mv invoice_oi apoe cv pfac project);
my %table_prefix = (
deliverydate => 'apoe.', serialnumber => 'ioi.',
quonumber => 'apoe.', model => 'mm.',
invnumber => 'apoe.', partsgroup => 'pg.',
lastcost => 'p.', , soldtotal => ' ',
- factor => 'pfac.',
- 'SUM(ioi.qty)' => ' ',
+ factor => 'pfac.', projectnumber => 'pj.',
+ 'SUM(ioi.qty)' => ' ', projectdescription => 'pj.',
description => 'p.',
qty => 'ioi.',
serialnumber => 'ioi.',
# of the scecified table will gently override (coalesce actually) the original value
# use it to conditionally coalesce values from subtables
my @column_override = (
- # column name, prefix, joins_needed
+ # column name, prefix, joins_needed, nick name (in case column is named like another)
[ 'description', 'ioi.', 'invoice_oi' ],
[ 'deliverydate', 'ioi.', 'invoice_oi' ],
[ 'transdate', 'apoe.', 'apoe' ],
'SUM(ioi.qty)' => 'soldtotal',
'ioi.id' => 'ioi_id',
'ioi.ioi' => 'ioi',
+ 'projectdescription' => 'projectdescription',
+ );
+
+ my %real_column = (
+ projectdescription => 'description',
);
if (($form->{searchitems} eq 'assembly') && $form->{l_lastcost}) {
my $make_token_builder = sub {
my $joins_needed = shift;
sub {
- my ($col, $alias) = @_;
+ my ($nick, $alias) = @_;
+ my ($col) = $real_column{$nick} || $nick;
my @coalesce_tokens =
map { ($_->[1] || 'p.') . $_->[0] }
grep { !$_->[2] || $joins_needed->{$_->[2]} }
- grep { $_->[0] eq $col }
- @column_override, [ $col, $table_prefix{$col} ];
+ grep { ($_->[3] || $_->[0]) eq $nick }
+ @column_override, [ $col, $table_prefix{$nick}, undef , $nick ];
my $coalesce = scalar @coalesce_tokens > 1;
return ($coalesce
? sprintf 'COALESCE(%s)', join ', ', @coalesce_tokens
: shift @coalesce_tokens)
- . ($alias && ($coalesce || $renamed_columns{$col})
- ? " AS " . ($renamed_columns{$col} || $col)
+ . ($alias && ($coalesce || $renamed_columns{$nick})
+ ? " AS " . ($renamed_columns{$nick} || $nick)
: '');
}
};
$joins_needed{partsgroup} = 1;
$joins_needed{pfac} = 1;
+ $joins_needed{project} = 1 if grep { $form->{$_} || $form->{"l_$_"} } @project_filters;
$joins_needed{makemodel} = 1 if grep { $form->{$_} || $form->{"l_$_"} } @makemodel_filters;
$joins_needed{mv} = 1 if $joins_needed{makemodel};
$joins_needed{cv} = 1 if $bsooqr;
$joins_needed{apoe} = 1 if $joins_needed{cv} || grep { $form->{$_} || $form->{"l_$_"} } @apoe_filters;
- $joins_needed{invoice_oi} = 1 if $joins_needed{apoe} || grep { $form->{$_} || $form->{"l_$_"} } @invoice_oi_filters;
+ $joins_needed{invoice_oi} = 1 if $joins_needed{project} || $joins_needed{apoe} || grep { $form->{$_} || $form->{"l_$_"} } @invoice_oi_filters;
# special case for description search.
# up in the simple filter section the description filter got interpreted as something like: WHERE description ILIKE '%$form->{description}%'
return $text;
}
+sub lang_to_locale {
+ my ($self, $requested_lang) = @_;
+
+ my $requested_locale;
+ $requested_locale = 'de' if $requested_lang =~ m/^_(de|deu|ger)/i;
+ $requested_locale = 'fr' if $requested_lang =~ m/^_(en|uk|us|gr)/i;
+ $requested_locale = 'en' if $requested_lang =~ m/^_fr/i;
+ $requested_locale ||= 'de';
+
+ return $requested_locale;
+}
+
sub findsub {
$main::lxdebug->enter_sub();
push @filter_vars, '%' . $filter{ean} . '%';
}
+ if ($filter{date}) {
+ push @filter_ary, "i.itime <= ?";
+ push @filter_vars, $filter{date};
+ }
+
# prepare qty comparison for later filtering
my ($f_qty_op, $f_qty, $f_qty_base_unit);
}
# preselection chart type
- my $select_charttype = q{};
-
- my %charttype = (
- 'A' => $locale->text('Account'),
- 'H' => $locale->text('Heading'),
- );
-
- foreach my $item ( sort({ $a <=> $b } keys %charttype) ) {
- if ($item eq $form->{charttype}) {
- $select_charttype .= qq|<option value="$item" selected="selected">$charttype{$item}\n|;
-
- } else {
- $select_charttype .= qq|<option value="$item">$charttype{$item}\n|;
- }
+ my @all_charttypes = ({'name' => $locale->text('Account'), 'value' => 'A'},
+ {'name' => $locale->text('Heading'), 'value' => 'H'},
+ );
+ my $selected_charttype = $form->{charttype};
- }
# account where AR_tax or AP_tax is set are not orphaned if they are used as
# tax-o-matic account
ChartTypeIsAccount => $ChartTypeIsAccount,
AccountIsPosted => $AccountIsPosted,
select_category => $select_category,
- select_charttype => $select_charttype,
+ all_charttypes => \@all_charttypes,
+ selected_charttype => $selected_charttype,
select_bwa => $select_bwa,
select_bilanz => $select_bilanz,
select_eur => $select_eur,
'ids' => $form->{id});
$form->backup_vars(qw(payment_id language_id taxzone_id salesman_id taxincluded cp_id intnotes currency));
- $form->{shipto} = 1 if $form->{id};
+ $form->{shipto} = 1 if $form->{id} || $form->{convert_from_oe_ids};
# get customer / vendor
if ($form->{vc} eq 'vendor') {
# Fix für Bug 1082 Erwartet wird: 'abteilungsNAME--abteilungsID'
# und Erweiterung für Bug 1760:
# Das war leider nur ein Teil-Fix, da das Verhalten den 'Erneuern'-Knopf
- # nicht überlebt. Konsequent jetzt auf L umgestellt
+ # nicht überlebt. Konsequent jetzt auf L umgestellt
# $ perldoc SL::Template::Plugin::L
# Daher entsprechend nur die Anpassung in form_header
# und in DO.pm gemacht. 4 Testfälle:
ids transdate
id donumber
ordnumber
- name employee
+ name employee salesman
shipvia globalprojectnumber
transaction_description
open delivered
'ordnumber' => { 'text' => $locale->text('Order'), },
'name' => { 'text' => $form->{vc} eq 'customer' ? $locale->text('Customer') : $locale->text('Vendor'), },
'employee' => { 'text' => $locale->text('Employee'), },
+ 'salesman' => { 'text' => $locale->text('Salesman'), },
'shipvia' => { 'text' => $locale->text('Ship via'), },
'globalprojectnumber' => { 'text' => $locale->text('Project Number'), },
'transaction_description' => { 'text' => $locale->text('Transaction description'), },
'delivered' => { 'text' => $locale->text('Delivered'), },
);
- foreach my $name (qw(id transdate donumber ordnumber name employee shipvia transaction_description)) {
+ foreach my $name (qw(id transdate donumber ordnumber name employee salesman shipvia transaction_description)) {
my $sortdir = $form->{sort} eq $name ? 1 - $form->{sortdir} : $form->{sortdir};
$column_defs{$name}->{link} = $href . "&sort=$name&sortdir=$sortdir";
}
require "bin/mozilla/$form->{script}";
my $currency = $form->{currency};
+ $form->{shipto} = 1 if $form->{convert_from_do_ids};
invoice_links();
if ($form->{ordnumber}) {
my $debitcount = 0;
my $creditcount = 0;
my $debitcredit;
+ my %split_safety = ();
my @flds = qw(accno debit credit projectnumber fx_transaction source memo tax taxchart);
push @a, {};
$debitcredit = ($form->{"debit_$i"} == 0) ? "0" : "1";
+ $split_safety{ $form->{"debit_$i"} <=> 0 }++;
+ $split_safety{ - $form->{"credit_$i"} <=> 0 }++;
+
if ($debitcredit) {
$debitcount++;
} else {
$count++;
}
+ if ($split_safety{-1} > 1 && $split_safety{1} > 1) {
+ $::form->error($::locale->text("Split entry detected. The values you have entered will result in an entry with more than one position on both debit and credit. Due to known problems involving accounting software Lx-Office does not allow these."));
+ }
+
for my $i (1 .. $count) {
my $j = $i - 1;
for (@flds) { $form->{"${_}_$i"} = $a[$j]->{$_} }
'transdate' => { 'text' => $locale->text('Transdate'), },
'unit' => { 'text' => $locale->text('Unit'), },
'weight' => { 'text' => $locale->text('Weight'), },
+ 'projectnumber' => { 'text' => $locale->text('Project Number'), },
+ 'projectdescription' => { 'text' => $locale->text('Project Description'), },
);
$revers = $form->{revers};
partnumber description partsgroup bin onhand rop soldtotal unit listprice
linetotallistprice sellprice linetotalsellprice lastcost linetotallastcost
priceupdate weight image drawing microfiche invnumber ordnumber quonumber
- transdate name serialnumber deliverydate ean
+ transdate name serialnumber deliverydate ean projectnumber projectdescription
);
my @includeable_custom_variables = grep { $_->{includeable} } @{ $cvar_configs };
media => $form->{media},
extension => $extension,
printer => SL::DB::Manager::Printer->find_by_or_create(id => $form->{printer_id}),
+ today => DateTime->today,
};
$form->parse_template(\%myconfig);
$main::auth->assert('invoice_edit');
$form->{invtotal} = $form->{invsubtotal};
- $form->{oldinvtotal} = $form->{invtotal};
# note rows
$form->{rows} = max 2,
$totalpaid += $form->{"paid_$i"};
}
+ $form->{oldinvtotal} = $form->{invtotal};
+
print $form->parse_html_template('is/form_footer', {
is_type_credit_note => ($form->{type} eq "credit_note"),
totalpaid => $totalpaid,
my $h = print_menu($menu, "${parent}${item}", $depth * 1 + 1)."\n";
if (!$parent) {
- $html .= qq|<ul><li><h2>${menu_text}</h2><ul>${h}</ul></li></ul>\n|;
+ $html .= qq|<ul><li><h2> ${menu_text} </h2><ul>${h}</ul></li></ul>\n|;
} else {
$html .= qq|<li><div class="x">${menu_text}</div><ul>${h}</ul></li>\n|;
}
$form->{"$form->{vc}_id"} ||= $form->{"all_$form->{vc}"}->[0]->{id} if $form->{"all_$form->{vc}"};
$form->backup_vars(qw(payment_id language_id taxzone_id salesman_id taxincluded cp_id intnotes shipto_id currency));
- $form->{shipto} = 1 if $form->{id};
+ $form->{shipto} = 1 if $form->{id} || $form->{convert_from_oe_ids};
# get customer / vendor
IR->get_vendor(\%myconfig, \%$form) if $form->{type} =~ /(purchase_order|request_quotation)/;
my @options;
- $form->{template_fromto} = $locale->date(\%myconfig, $form->{fromdate}, 0) . " - " . $locale->date(\%myconfig, $form->{todate}, 0);
+ $form->{template_fromto} = $locale->date(\%myconfig, $form->{fromdate}, 0) . " - " . $locale->date(\%myconfig, $form->{todate}, 0);
$form->{print_date} = $locale->text('Create Date') . " " . $locale->date(\%myconfig, $form->current_date(\%myconfig), 0);
push (@options, $form->{print_date});
$form->{template_to} = $locale->date(\%myconfig, $form->{todate}, 0);
+ my @custom_headers = ([
+ { text => $::locale->text('Account'), rowspan => 2, },
+ { text => $::locale->text('Description'), rowspan => 2, },
+ { text => $::locale->text('Last Transaction'), rowspan => 2, },
+ { text => $::locale->text('Starting Balance'), colspan => 2, },
+ { text => $::locale->text('Sum for') . " $form->{template_fromto}", colspan => 2, },
+ { text => $::locale->text('Sum per') . " $form->{template_to}", colspan => 2, },
+ { text => $::locale->text('Saldo per') . " $form->{template_to}", colspan => 2, },
+ ], [
+ { text => '', },
+ { text => '', },
+ { text => '', },
+ { text => $::locale->text('Assets'), },
+ { text => $::locale->text('Equity'), },
+ { text => $::locale->text('Debit'), },
+ { text => $::locale->text('Credit'), },
+ { text => $::locale->text('Debit'), },
+ { text => $::locale->text('Credit'), },
+ { text => $::locale->text('Debit'), },
+ { text => $::locale->text('Credit'), },
+ ]);
+
$report->set_options('output_format' => 'HTML',
'top_info_text' => join("\n", @options),
'title' => $form->{title},
'html_template' => 'rp/html_report_susa',
'pdf_template' => 'rp/html_report_susa',
);
+ $report->set_custom_headers(@custom_headers);
$report->set_options_from_form();
$locale->set_numberformat_wo_thousands_separator(\%myconfig) if lc($report->{options}->{output_format}) eq 'csv';
create_steuernummer();
# rebuild elster_amt
- my $amt = '';
- foreach $amt (keys %{ $elster_init{ $form->{elsterland} } }) {
- $elster_amt = $amt
- if ($elster_init{ $form->{elsterland}{$amt} eq $form->{elsterFFFF} });
- }
+ my $amt = $elster_init{$elsterFFFF};
# load the predefined hash data into the FA_* Vars
my @variables = qw(FA_Name FA_Strasse FA_PLZ FA_Ort
my @columns = qw(warehousedescription bindescription partnumber partdescription chargenumber bestbefore qty stock_value);
# filter stuff
- map { $filter{$_} = $form->{$_} if ($form->{$_}) } qw(warehouse_id bin_id partnumber description chargenumber bestbefore);
+ map { $filter{$_} = $form->{$_} if ($form->{$_}) } qw(warehouse_id bin_id partnumber description chargenumber bestbefore date);
$filter{qty_op} = WH->convert_qty_op($form->{qty_op});
if ($filter{qty_op}) {
vertreter = 0
# Show fields used for the best before date
+# ATTENTION! If you enabled this feature you can not simply turn it off again
+# without taking care that best_before fields are emptied in the database.
+# This can be done with the following query:
+#
+# UPDATE inventory SET bestbefore = NULL;
+#
+# Any stock contents containing a best before date will be impossible to stock
+# out otherwise.
show_best_before = 0
## Pictures for parts
content:" ";
}
#menu h2:after {
- content:" ";
+ content:" ";
}
#menu h2 {
color:#fff;
-padding:2 15px
+padding:2px 10px;
}
#menu a, #menu a:visited, #menu div.x, #menu div.x:visited {
- Bugfix 1588: Einzelteile eines Erzeugnisses von Verkaufsbericht ausnehmen
- Bugfix 1756: Ertrag in Bruttorechnungen korrekt berechnen
- Bugfix 1760 - 1760: Bei einem Lieferschein wird die Abteilung nicht mitgespeichert
-
-
-
+ - Bugfix 1752: Rechnung -> Druckvorschau ignoriert Änderung des Steuersatz beim Beleg
+ - Bugfix 1708: Fehlender Übertrag der Lieferadresse von Angebot -> Auftragsbestätigung
+ - Bugfix 1648: bebuchte Konten sollten nicht in Überschriften umgewandelt werden können
2011-06-15 - Release 2.6.3
'ID-Nummer' => 'ID-Nummer (intern)',
'II' => 'II',
'III' => 'III',
+ 'IMPORTANT NOTE: You cannot safely change currencies, IF you have already booking entries!' => 'WICHTIGER HINWEIS: Falls schon Buchungen im Mandanten vorhanden sind, kann man nicht mehr UNKRITISCH neue oder andere Währungen konfigurieren!',
'IV' => 'IV',
'If the article type is set to \'mixed\' then a column called \'type\' must be present.' => 'Falls der Artikeltyp auf \'gemischt\' gestellt wird, muss eine Spalte namens \'type\' vorhanden sein.',
'If the automatic creation of invoices for fees and interest is switched on for a dunning level then the following accounts will be used for the invoice.' => 'Wenn das automatische Erstellen einer Rechnung über Mahngebühren und Zinsen für ein Mahnlevel aktiviert ist, so werden die folgenden Konten für die Rechnung benutzt.',
'Proforma Invoice' => 'Proformarechnung',
'Program' => 'Programm',
'Project' => 'Projekt',
+ 'Project Description' => 'Projektbeschreibung',
'Project Number' => 'Projektnummer',
'Project Number missing!' => 'Projektnummer fehlt!',
'Project Numbers' => 'Projektnummern',
'Source bank account' => 'Quellkonto',
'Source bin' => 'Quelllagerplatz',
'Space' => 'Leerzeichen',
+ 'Split entry detected. The values you have entered will result in an entry with more than one position on both debit and credit. Due to known problems involving accounting software Lx-Office does not allow these.' => 'Splitbuchung! Die eingebenen Werte würden eine Buchung auslösen, die jeweils mehr als eine Position auf Soll und Haben hätte. Um Kompatibilität mit DATEV zu gewährleisten erlaubt Lx-Office keine Splitbuchungen.',
'Spoolfile' => 'Druckdatei',
'Start Dunning Process' => 'Mahnprozess starten',
'Start analysis' => 'Analyse beginnen',
'Step 3 of 3: Default units' => 'Schritt 3 von 3: Standardeinheiten',
'Steuersatz' => 'Steuersatz',
'Stock' => 'Einlagern',
+ 'Stock Qty for Date' => 'Lagerbestand am',
'Stock value' => 'Bestandswert',
'Stocked Qty' => 'Lagermenge',
'Storno' => 'Storno',
-- @tag: employee_deleted
-- @description: Benutzer löschbar machen
-- @depends: release_2_6_3
+-- @charset: utf-8
ALTER TABLE employee ADD COLUMN deleted BOOLEAN DEFAULT 'f';
--- /dev/null
+-- @tag: ustva_2010_fixes
+-- @description: Position 83 in der HTML USTVA muss auf 2 Stellen gerundet werden.
+-- @charset: utf-8
+-- @depends: release_2_6_3
+
+UPDATE tax.report_variables SET dec_places = '2' WHERE position = '83';
--- /dev/null
+-- @tag: warehouse_alter_chargenumber
+-- @description: Chargennummber von NULL auf '' aktualisieren
+-- @depends: release_2_6_3
+-- @charset: utf-8
+UPDATE inventory set chargenumber='' where chargenumber IS NULL;
+ALTER TABLE inventory ALTER COLUMN chargenumber SET NOT NULL;
+ALTER TABLE inventory ALTER COLUMN chargenumber SET default '';
+
--- /dev/null
+% German USTVA template for taxreports
+% Contributed by Marcus Habermehl
+% Based on template by Jacky und Stefan Tenne (German-ustva-2008.tex)
+%
+%
+\documentclass[twoside]{scrartcl}
+\usepackage{a4,german}
+\usepackage[frame]{xy}
+\usepackage[utf8]{inputenc}
+\usepackage[german]{babel}
+\usepackage{graphicx}
+\usepackage{tabularx}
+\usepackage{times, german}
+\usepackage{german}
+\setlength{\voffset}{-0.7cm} %hier wird die Höhenverschiebung
+\setlength{\hoffset}{-1cm} %und hier die Verschiebung seitwärts
+\setlength{\topmargin}{0cm}
+\setlength{\headheight}{0cm}
+\setlength{\headsep}{0cm}
+\setlength{\topskip}{0pt}
+\setlength{\oddsidemargin}{0cm}
+\setlength{\evensidemargin}{0cm}
+\setlength{\textwidth}{20.9cm}
+\setlength{\textheight}{29.6cm}
+\setlength{\footskip}{-0cm}
+\setlength{\parindent}{1mm}
+
+\begin{document}
+
+\fontfamily{cmss}\fontshape{n}\large\selectfont
+\pagestyle{myheadings}
+\markboth{\protect\scalebox{1.045}[1.045]{\protect\includegraphics[viewport = 54 783 700 790,page=2]{ustva-2010.pdf}}}%Seite 2
+{\protect\scalebox{1.045}[1.045]{\protect\includegraphics[viewport = 70 700 700 790,page=1]{ustva-2010.pdf}}}%Seite 1
+\hspace{1mm}
+\begin{tabular}[b]{p{7mm}p{5cm}p{22.5mm}p{24mm}p{7mm}p{28mm}p{3mm}}
+\multicolumn{7}{c}{}\\[-2mm]
+ & \multicolumn{6}{l}{<%steuernummer%>}\\
+\multicolumn{7}{c}{}\\[15mm]
+\multicolumn{2}{p{7.5cm}}{<%FA_Name%>} & & & & &\\[-4mm]
+\multicolumn{2}{p{7.5cm}}{} & & & & &\\[3mm]
+\multicolumn{2}{p{7.5cm}}{<%FA_Strasse%>} & &<%0401%>&<%0407%>&&<%0441%>\\[1.2mm]
+\multicolumn{2}{p{7.5cm}}{} & &<%0402%>&<%0408%>&&<%0442%>\\[1.25mm]
+\multicolumn{2}{p{7.5cm}}{<%FA_PLZ%> <%FA_Ort%>} & &<%0403%>&<%0409%>&&<%0443%>\\[3mm]
+\multicolumn{2}{p{7.5cm}}{} & &<%0404%>&<%0410%>&&<%0444%>\\[1.25mm]
+\multicolumn{2}{p{7.5cm}}{} & &<%0405%>&<%0411%>&&\\[1.25mm]
+\multicolumn{2}{p{7.5cm}}{\small{<%company%>}} & &<%0406%>&<%0412%>&&\\[-1mm]
+\multicolumn{2}{p{7.5cm}}{\small{<%co_street%>}}& & & & &\\[-1mm]
+\multicolumn{2}{p{7.5cm}}{\small{<%co_city%>}}& & & &<%FA_10%> &\\[1mm]
+\multicolumn{2}{p{7.5cm}}{
+<%if tel%>
+\small{Tel: <%tel%>}~--~
+<%else%>
+\small{~}
+<%end tel%>
+<%if fax%>
+\small{Fax: <%fax%>}
+<%else%>
+\small{~}
+<%end fax%>
+}& & & & &\\[1.8mm]
+\multicolumn{2}{p{7.5cm}}{\small{<%email%>}}&~& & & &\\[-1mm]
+\end{tabular}\\[2.5mm]
+\begin{tabular}[b]{p{99mm}p{26.5mm}p{4.55mm}p{4mm}p{35mm}}
+&&&&\\[9.5mm]
+\multicolumn{2}{r}{<%41%>} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{<%44%>} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{<%49%>} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{<%43%>} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{<%48%>} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{<%81%>} & & \multicolumn{2}{r}{<%811%>}\\[1.8mm]
+\multicolumn{2}{r}{<%86%>} & & \multicolumn{2}{r}{<%861%>}\\[1.8mm]
+\multicolumn{2}{r}{<%35%>} & & \multicolumn{2}{r}{<%36%>}\\[1.8mm]
+\multicolumn{2}{r}{<%77%>} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{<%76%>} & & \multicolumn{2}{r}{<%80%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{<%91%>} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{<%89%>} & & \multicolumn{2}{r}{<%891%>}\\[1.8mm]
+\multicolumn{2}{r}{<%93%>} & & \multicolumn{2}{r}{<%931%>}\\[1.8mm]
+\multicolumn{2}{r}{<%95%>} & & \multicolumn{2}{r}{<%98%>}\\[1.8mm]
+\multicolumn{2}{r}{<%94%>} & & \multicolumn{2}{r}{<%96%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{<%42%>} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{<%60%>} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{<%21%>} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{<%45%>} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%Z43%>}\\
+\end{tabular}
+\newpage
+
+\vspace*{-9.5mm}\hspace{27mm}<%steuernummer%>\\[-2.7mm]
+\begin{tabular}[b]{p{99mm}p{25.2mm}p{2.55mm}p{10mm}p{32mm}}
+&&&&\\
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%Z45%>}\\[13.5mm]
+\multicolumn{2}{r}{<%46%>} & & \multicolumn{2}{r}{<%47%>}\\[1.8mm]
+\multicolumn{2}{r}{<%52%>} & & \multicolumn{2}{r}{<%53%>}\\[1.8mm]
+\multicolumn{2}{r}{<%73%>} & & \multicolumn{2}{r}{<%74%>}\\[1.8mm]
+\multicolumn{2}{r}{<%84%>} & & \multicolumn{2}{r}{<%85%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%65%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%Z53%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%66%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%61%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%62%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%67%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%63%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%64%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%59%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%Z62%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%69%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%39%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{\textbf{<%83%>}}\\[25.6mm]
+\end{tabular}\\[35mm]
+<%if FA_steuerberater%>
+\vspace{11mm}
+\begin{list}{}{
+\setlength{\leftmargin}{2mm}
+\setlength{\itemsep}{0mm}
+\setlength{\parsep}{0mm}
+%\setlength{\topsep}{0mm}
+%\setlength{\parskip}{0mm}
+%\setlength{\partopsep}{0mm}
+}
+\begin{small}
+\item <%FA_steuerberater_name%>
+\item <%FA_steuerberater_street%>
+\item <%FA_steuerberater_city%>
+\item Tel:~<%FA_steuerberater_tel%>
+\end{small}\\[15mm]
+\item <%Datum_heute%>,
+\end{list}
+<%end FA_steuerberater%>
+<%if not FA_steuerberater%>
+\begin{list}{}{
+\setlength{\leftmargin}{2mm}
+\setlength{\itemsep}{0mm}
+\setlength{\parsep}{0mm}
+%\setlength{\topsep}{0mm}
+%\setlength{\parskip}{0mm}
+%\setlength{\partopsep}{0mm}
+}
+\begin{small}
+\item ~
+\item ~
+\item ~
+\item ~
+\end{small}\\[26mm]
+\item <%Datum_heute%>,
+\end{list}
+<%end FA_steuerberater%>
+\end{document}
--- /dev/null
+% German USTVA template for taxreports
+% Contributed by Marcus Habermehl
+% Based on template by Jacky und Stefan Tenne (German-ustva-2008.tex)
+%
+%
+\documentclass[twoside]{scrartcl}
+\usepackage{a4,german}
+\usepackage[frame]{xy}
+\usepackage[utf8]{inputenc}
+\usepackage[german]{babel}
+\usepackage{graphicx}
+\usepackage{tabularx}
+\usepackage{times, german}
+\usepackage{german}
+\setlength{\voffset}{-0.7cm} %hier wird die Höhenverschiebung
+\setlength{\hoffset}{-1cm} %und hier die Verschiebung seitwärts
+\setlength{\topmargin}{0cm}
+\setlength{\headheight}{0cm}
+\setlength{\headsep}{0cm}
+\setlength{\topskip}{0pt}
+\setlength{\oddsidemargin}{0cm}
+\setlength{\evensidemargin}{0cm}
+\setlength{\textwidth}{20.9cm}
+\setlength{\textheight}{29.6cm}
+\setlength{\footskip}{-0cm}
+\setlength{\parindent}{1mm}
+
+\begin{document}
+
+\fontfamily{cmss}\fontshape{n}\large\selectfont
+\pagestyle{myheadings}
+\markboth{\protect\scalebox{1.045}[1.045]{\protect\includegraphics[viewport = 54 783 700 790,page=2]{ustva-2011.pdf}}}%Seite 2
+{\protect\scalebox{1.045}[1.045]{\protect\includegraphics[viewport = 70 700 700 790,page=1]{ustva-2011.pdf}}}%Seite 1
+\hspace{1mm}
+\begin{tabular}[b]{p{7mm}p{5cm}p{22.5mm}p{24mm}p{7mm}p{28mm}p{3mm}}
+\multicolumn{7}{c}{}\\[-2mm]
+ & \multicolumn{6}{l}{<%steuernummer%>}\\
+\multicolumn{7}{c}{}\\[15mm]
+\multicolumn{2}{p{7.5cm}}{<%FA_Name%>} & & & & &\\[-4mm]
+\multicolumn{2}{p{7.5cm}}{} & & & & &\\[3mm]
+\multicolumn{2}{p{7.5cm}}{<%FA_Strasse%>} & &<%0401%>&<%0407%>&&<%0441%>\\[1.2mm]
+\multicolumn{2}{p{7.5cm}}{} & &<%0402%>&<%0408%>&&<%0442%>\\[1.25mm]
+\multicolumn{2}{p{7.5cm}}{<%FA_PLZ%> <%FA_Ort%>} & &<%0403%>&<%0409%>&&<%0443%>\\[3mm]
+\multicolumn{2}{p{7.5cm}}{} & &<%0404%>&<%0410%>&&<%0444%>\\[1.25mm]
+\multicolumn{2}{p{7.5cm}}{} & &<%0405%>&<%0411%>&&\\[1.25mm]
+\multicolumn{2}{p{7.5cm}}{\small{<%company%>}} & &<%0406%>&<%0412%>&&\\[-1mm]
+\multicolumn{2}{p{7.5cm}}{\small{<%co_street%>}}& & & & &\\[-1mm]
+\multicolumn{2}{p{7.5cm}}{\small{<%co_city%>}}& & & &<%FA_10%> &\\[1mm]
+\multicolumn{2}{p{7.5cm}}{
+<%if tel%>
+\small{Tel: <%tel%>}~--~
+<%else%>
+\small{~}
+<%end tel%>
+<%if fax%>
+\small{Fax: <%fax%>}
+<%else%>
+\small{~}
+<%end fax%>
+}& & & & &\\[1.8mm]
+\multicolumn{2}{p{7.5cm}}{\small{<%email%>}}&~& & & &\\[-1mm]
+\end{tabular}\\[2.5mm]
+\begin{tabular}[b]{p{99mm}p{26.5mm}p{4.55mm}p{4mm}p{35mm}}
+&&&&\\[9.5mm]
+\multicolumn{2}{r}{<%41%>} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{<%44%>} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{<%49%>} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{<%43%>} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{<%48%>} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{<%81%>} & & \multicolumn{2}{r}{<%811%>}\\[1.8mm]
+\multicolumn{2}{r}{<%86%>} & & \multicolumn{2}{r}{<%861%>}\\[1.8mm]
+\multicolumn{2}{r}{<%35%>} & & \multicolumn{2}{r}{<%36%>}\\[1.8mm]
+\multicolumn{2}{r}{<%77%>} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{<%76%>} & & \multicolumn{2}{r}{<%80%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{<%91%>} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{<%89%>} & & \multicolumn{2}{r}{<%891%>}\\[1.8mm]
+\multicolumn{2}{r}{<%93%>} & & \multicolumn{2}{r}{<%931%>}\\[1.8mm]
+\multicolumn{2}{r}{<%95%>} & & \multicolumn{2}{r}{<%98%>}\\[1.8mm]
+\multicolumn{2}{r}{<%94%>} & & \multicolumn{2}{r}{<%96%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{<%42%>} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{<%60%>} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{<%21%>} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{<%45%>} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%Z43%>}\\
+\end{tabular}
+\newpage
+
+\vspace*{-9.5mm}\hspace{27mm}<%steuernummer%>\\[-2.7mm]
+\begin{tabular}[b]{p{99mm}p{25.2mm}p{2.55mm}p{10mm}p{32mm}}
+&&&&\\
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%Z45%>}\\[13.5mm]
+\multicolumn{2}{r}{<%46%>} & & \multicolumn{2}{r}{<%47%>}\\[1.8mm]
+\multicolumn{2}{r}{<%52%>} & & \multicolumn{2}{r}{<%53%>}\\[1.8mm]
+\multicolumn{2}{r}{<%73%>} & & \multicolumn{2}{r}{<%74%>}\\[1.8mm]
+\multicolumn{2}{r}{<%84%>} & & \multicolumn{2}{r}{<%85%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%65%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%Z53%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%66%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%61%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%62%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%67%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%63%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%64%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%59%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%Z62%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%69%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%39%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{\textbf{<%83%>}}\\[25.6mm]
+\end{tabular}\\[35mm]
+<%if FA_steuerberater%>
+\vspace{11mm}
+\begin{list}{}{
+\setlength{\leftmargin}{2mm}
+\setlength{\itemsep}{0mm}
+\setlength{\parsep}{0mm}
+%\setlength{\topsep}{0mm}
+%\setlength{\parskip}{0mm}
+%\setlength{\partopsep}{0mm}
+}
+\begin{small}
+\item <%FA_steuerberater_name%>
+\item <%FA_steuerberater_street%>
+\item <%FA_steuerberater_city%>
+\item Tel:~<%FA_steuerberater_tel%>
+\end{small}\\[15mm]
+\item <%Datum_heute%>,
+\end{list}
+<%end FA_steuerberater%>
+<%if not FA_steuerberater%>
+\begin{list}{}{
+\setlength{\leftmargin}{2mm}
+\setlength{\itemsep}{0mm}
+\setlength{\parsep}{0mm}
+%\setlength{\topsep}{0mm}
+%\setlength{\parskip}{0mm}
+%\setlength{\partopsep}{0mm}
+}
+\begin{small}
+\item ~
+\item ~
+\item ~
+\item ~
+\end{small}\\[26mm]
+\item <%Datum_heute%>,
+\end{list}
+<%end FA_steuerberater%>
+\end{document}
</label>
</td>
- <td><select name="charttype">[% select_charttype %]</select></td>
+ <td>
+[% IF AccountIsPosted %]
+ [% L.select_tag('dummy_charttype',
+ L.options_for_select(all_charttypes,
+ title => 'name', value => 'value',
+ default => selected_charttype),
+ disabled => '1') %]
+ [% L.hidden_tag('charttype', selected_charttype) %]
+[% ELSE %]
+ [% L.select_tag('charttype',
+ L.options_for_select(all_charttypes,
+ title => 'name', value => 'value',
+ default => selected_charttype)) %]
+[% END %]
+ </td>
</tr>
</table>
</fieldset>
+
<fieldset class="DEPENDS ON charttype BEING A">
<legend>[% 'Account Type' | $T8 %]</legend>
<select name="category" id="AccountType" class="DEPENDS ON charttype BEING A">
[% IF ChartTypeIsAccount %]
<fieldset class="DEPENDS ON charttype BEING A">
<legend>[% 'Is this a summary account to record' | $T8 %]</legend>
- <input name="AR" type="checkbox" class="checkbox" value="AR" [% HTML.escape(AR) %]>
- [% 'AR' | $T8 %]
- <input name="AP" type="checkbox" class="checkbox" value="AP" [% HTML.escape(AP) %]>
- [% 'AP' | $T8 %]
- <input name="IC" type="checkbox" class="checkbox" value="IC" [% HTML.escape(IC) %]>
- [% 'Inventory' | $T8 %]
+ [% L.checkbox_tag('AR', value => 'AR', checked => AR, class => 'checkbox', disabled => AccountIsPosted) %] [% 'AR' | $T8 %]
+ [% L.checkbox_tag('AP', value => 'AP', checked => AP, class => 'checkbox', disabled => AccountIsPosted) %] [% 'AP' | $T8 %]
+ [% L.checkbox_tag('IC', value => 'IC', checked => IC, class => 'checkbox', disabled => AccountIsPosted) %] [% 'Inventory' | $T8 %]
+
+[% IF AccountIsPosted %]
+ [% IF AR %] [% L.hidden_tag('AR', 'AR') %] [% END %]
+ [% IF AP %] [% L.hidden_tag('AP', 'AP') %] [% END %]
+ [% IF IC %] [% L.hidden_tag('IC', 'IC') %] [% END %]
+[% END %]
+
</fieldset>
[% IF AccountIsPosted %]
<p>
(1) [% 'Enter up to 3 letters separated by a colon (i.e CAD:USD:EUR) for your native and foreign currencies' | $T8 %]
+ [% 'IMPORTANT NOTE: You cannot safely change currencies, IF you have already booking entries!' | $T8 %]
</p>
</form>
<label for="itemstatus_obsolete">[% 'Obsolete' | $T8 %]</label>
<input name="itemstatus" id="itemstatus_orphaned" class="radio" type="radio" value="orphaned">
<label for="itemstatus_orphaned">[% 'Orphaned' | $T8 %]</label>
+ <input name="itemstatus" id="itemstatus_all" class="radio" type="radio" value="">
+ <label for="itemstatus_all">[% 'All' | $T8 %]</label>
</td>
</tr>
<input name="l_onhand" id="l_onhand" class="checkbox" type="checkbox" value="Y">
<label for="l_onhand">[% 'Stocked Qty' | $T8 %]</label>
</td>
+ <td>
+ <input name="l_projectnumber" id="l_projectnumber" class="checkbox" type="checkbox" value="Y">
+ <label for="l_projectnumber">[% 'Project Number' | $T8 %]</label>
+ </td>
+ <td>
+ <input name="l_projectdescription" id="l_projectdescription" class="checkbox" type="checkbox" value="Y">
+ <label for="l_projectdescription">[% 'Project Description' | $T8 %]</label>
+ </td>
</tr>
[% CUSTOM_VARIABLES_INCLUSION_CODE %]
<tr>
<th align="right">[% 'Steuersatz' | $T8 %]</th>
<td>
- [% L.select_tag('taxzone_id', L.options_for_select(ALL_TAXZONES, default=taxzone_id, title='description'), readonly=(id ? 1 : 0), style='width: 250px') %]
+ [% L.select_tag('taxzone_id', L.options_for_select(ALL_TAXZONES, default=taxzone_id, title='description'), readonly=(id ? 1 : 0), style='width: 250px', onchange="document.getElementById('update_button').click();") %]
</td>
[%- IF id %]
<input type='hidden' name='taxzone_id' value='[% taxzone_id %]'>
[%- USE T8 %]
+[%- USE L %]
[% USE HTML %][% USE JavaScript %]<body onload="on_load();">
<script type="text/javascript">
</select>
</td>
</tr>
+ <th align="right" nowrap>[% 'Stock Qty for Date' | $T8 %]:</th>
+ <td>[% L.date_tag('date') %]</td>
+ <tr>
+ </tr>
</table>
</td>
</tr>