Revision 454df69e
Von Moritz Bunkus vor fast 17 Jahren hinzugefügt
SL/DO.pm | ||
---|---|---|
sub retrieve {
|
||
$main::lxdebug->enter_sub();
|
||
|
||
my ($self) = @_;
|
||
my $self = shift;
|
||
my %params = @_;
|
||
|
||
my $myconfig = \%main::myconfig;
|
||
my $form = $main::form;
|
||
... | ... | |
|
||
my ($query, $query_add, @values, $sth, $ref);
|
||
|
||
if (!$form->{id}) {
|
||
my $vc = $params{vc} eq 'customer' ? 'customer' : 'vendor';
|
||
|
||
my $mode = !$params{ids} ? 'default' : ref $params{ids} eq 'ARRAY' ? 'multi' : 'single';
|
||
|
||
if ($mode eq 'default') {
|
||
$ref = selectfirst_hashref_query($form, $dbh, qq|SELECT current_date AS transdate, current_date AS reqdate|);
|
||
map { $form->{$_} = $ref->{$_} } keys %$ref;
|
||
|
||
# get last name used
|
||
$form->lastname_used($dbh, $myconfig, $vc) unless $form->{"${vc}_id"};
|
||
|
||
$main::lxdebug->leave_sub();
|
||
|
||
return 1;
|
||
}
|
||
|
||
my $vc = $form->{vc} eq "customer" ? "customer" : "vendor";
|
||
my @do_ids = map { conv_i($_) } ($mode eq 'multi' ? @{ $params{ids} } : ($params{ids}));
|
||
my $do_ids_placeholders = join(', ', ('?') x scalar(@do_ids));
|
||
|
||
if ($form->{id}) {
|
||
# retrieve order for single id
|
||
# NOTE: this query is intended to fetch all information only ONCE.
|
||
# so if any of these infos is important (or even different) for any item,
|
||
# it will be killed out and then has to be fetched from the item scope query further down
|
||
$query =
|
||
qq|SELECT dord.cp_id, dord.donumber, dord.ordnumber, dord.transdate, dord.reqdate,
|
||
dord.shippingpoint, dord.shipvia, dord.notes, dord.intnotes,
|
||
e.name AS employee, dord.employee_id, dord.salesman_id,
|
||
dord.${vc}_id, cv.name AS ${vc},
|
||
dord.closed, dord.reqdate, dord.department_id, dord.cusordnumber,
|
||
d.description AS department, dord.language_id,
|
||
dord.shipto_id,
|
||
dord.globalproject_id, dord.delivered, dord.transaction_description
|
||
FROM delivery_orders dord
|
||
JOIN ${vc} cv ON (dord.${vc}_id = cv.id)
|
||
LEFT JOIN employee e ON (dord.employee_id = e.id)
|
||
LEFT JOIN department d ON (dord.department_id = d.id)
|
||
WHERE dord.id IN ($do_ids_placeholders)|;
|
||
$sth = prepare_execute_query($form, $dbh, $query, @do_ids);
|
||
|
||
# retrieve order for single id
|
||
# NOTE: this query is intended to fetch all information only ONCE.
|
||
# so if any of these infos is important (or even different) for any item,
|
||
# it will be killed out and then has to be fetched from the item scope query further down
|
||
$query =
|
||
qq|SELECT dord.cp_id, dord.donumber, dord.ordnumber, dord.transdate, dord.reqdate,
|
||
dord.shippingpoint, dord.shipvia, dord.notes, dord.intnotes,
|
||
e.name AS employee, dord.employee_id, dord.salesman_id,
|
||
dord.${vc}_id, cv.name AS ${vc},
|
||
dord.closed, dord.reqdate, dord.department_id, dord.cusordnumber,
|
||
d.description AS department, dord.language_id,
|
||
dord.shipto_id,
|
||
dord.globalproject_id, dord.delivered, dord.transaction_description
|
||
FROM delivery_orders dord
|
||
JOIN ${vc} cv ON (dord.${vc}_id = cv.id)
|
||
LEFT JOIN employee e ON (dord.employee_id = e.id)
|
||
LEFT JOIN department d ON (dord.department_id = d.id)
|
||
WHERE dord.id = ?|;
|
||
$sth = prepare_execute_query($form, $dbh, $query, conv_i($form->{id}));
|
||
|
||
$ref = $sth->fetchrow_hashref(NAME_lc);
|
||
$sth->finish();
|
||
delete $form->{"${vc}_id"};
|
||
while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
|
||
if ($form->{"${vc}_id"} && ($ref->{"${vc}_id"} != $form->{"${vc}_id"})) {
|
||
$sth->finish();
|
||
$main::lxdebug->leave_sub();
|
||
|
||
return 0;
|
||
}
|
||
|
||
map { $form->{$_} = $ref->{$_} } keys %$ref if ($ref);
|
||
}
|
||
$sth->finish();
|
||
|
||
$form->{saved_donumber} = $form->{donumber};
|
||
$form->{saved_donumber} = $form->{donumber};
|
||
|
||
# if not given, fill transdate with current_date
|
||
$form->{transdate} = $form->current_date($myconfig) unless $form->{transdate};
|
||
# if not given, fill transdate with current_date
|
||
$form->{transdate} = $form->current_date($myconfig) unless $form->{transdate};
|
||
|
||
if ($mode eq 'single') {
|
||
$query = qq|SELECT s.* FROM shipto s WHERE s.trans_id = ? AND s.module = 'DO'|;
|
||
$sth = prepare_execute_query($form, $dbh, $query, $form->{id});
|
||
$sth = prepare_execute_query($form, $dbh, $query, $form->{id});
|
||
|
||
$ref = $sth->fetchrow_hashref(NAME_lc);
|
||
delete($ref->{id});
|
||
$ref = $sth->fetchrow_hashref(NAME_lc);
|
||
delete $ref->{id};
|
||
map { $form->{$_} = $ref->{$_} } keys %$ref;
|
||
$sth->finish;
|
||
$sth->finish();
|
||
|
||
# get printed, emailed and queued
|
||
$query = qq|SELECT s.printed, s.emailed, s.spoolfile, s.formname FROM status s WHERE s.trans_id = ?|;
|
||
$sth = prepare_execute_query($form, $dbh, $query, conv_i($form->{id}));
|
||
$sth = prepare_execute_query($form, $dbh, $query, conv_i($form->{id}));
|
||
|
||
while ($ref = $sth->fetchrow_hashref(NAME_lc)) {
|
||
$form->{printed} .= "$ref->{formname} " if $ref->{printed};
|
||
$form->{emailed} .= "$ref->{formname} " if $ref->{emailed};
|
||
$form->{queued} .= "$ref->{formname} $ref->{spoolfile} " if $ref->{spoolfile};
|
||
}
|
||
$sth->finish;
|
||
$sth->finish();
|
||
map { $form->{$_} =~ s/ +$//g } qw(printed emailed queued);
|
||
|
||
my %oid = ('Pg' => 'oid',
|
||
'Oracle' => 'rowid');
|
||
|
||
my $transdate = $form->{transdate} ? $dbh->quote($form->{transdate}) : "current_date";
|
||
} else {
|
||
delete $form->{id};
|
||
}
|
||
|
||
# retrieve individual items
|
||
# this query looks up all information about the items
|
||
# stuff different from the whole will not be overwritten, but saved with a suffix.
|
||
$query =
|
||
qq|SELECT doi.id AS delivery_order_items_id,
|
||
p.partnumber, p.assembly, doi.description, doi.qty,
|
||
doi.sellprice, doi.parts_id AS id, doi.unit, doi.discount, p.bin, p.notes AS partnotes,
|
||
doi.reqdate, doi.project_id, doi.serialnumber, doi.lastcost,
|
||
doi.ordnumber, doi.transdate, doi.cusordnumber, doi.longdescription,
|
||
doi.price_factor_id, doi.price_factor, doi.marge_price_factor,
|
||
pr.projectnumber,
|
||
pg.partsgroup
|
||
FROM delivery_order_items doi
|
||
JOIN parts p ON (doi.parts_id = p.id)
|
||
JOIN delivery_orders dord ON (doi.delivery_order_id = dord.id)
|
||
LEFT JOIN project pr ON (doi.project_id = pr.id)
|
||
LEFT JOIN partsgroup pg ON (p.partsgroup_id = pg.id)
|
||
WHERE doi.delivery_order_id = ?
|
||
ORDER BY doi.$oid{$myconfig->{dbdriver}}|;
|
||
|
||
$form->{form_details} = selectall_hashref_query($form, $dbh, $query, conv_i($form->{id}));
|
||
my %oid = ('Pg' => 'oid',
|
||
'Oracle' => 'rowid');
|
||
|
||
# retrieve individual items
|
||
# this query looks up all information about the items
|
||
# stuff different from the whole will not be overwritten, but saved with a suffix.
|
||
$query =
|
||
qq|SELECT doi.id AS delivery_order_items_id,
|
||
p.partnumber, p.assembly, doi.description, doi.qty,
|
||
doi.sellprice, doi.parts_id AS id, doi.unit, doi.discount, p.bin, p.notes AS partnotes,
|
||
doi.reqdate, doi.project_id, doi.serialnumber, doi.lastcost,
|
||
doi.ordnumber, doi.transdate, doi.cusordnumber, doi.longdescription,
|
||
doi.price_factor_id, doi.price_factor, doi.marge_price_factor,
|
||
pr.projectnumber,
|
||
pg.partsgroup
|
||
FROM delivery_order_items doi
|
||
JOIN parts p ON (doi.parts_id = p.id)
|
||
JOIN delivery_orders dord ON (doi.delivery_order_id = dord.id)
|
||
LEFT JOIN project pr ON (doi.project_id = pr.id)
|
||
LEFT JOIN partsgroup pg ON (p.partsgroup_id = pg.id)
|
||
WHERE doi.delivery_order_id IN ($do_ids_placeholders)
|
||
ORDER BY doi.$oid{$myconfig->{dbdriver}}|;
|
||
|
||
$form->{form_details} = selectall_hashref_query($form, $dbh, $query, @do_ids);
|
||
|
||
if ($mode eq 'single') {
|
||
my $in_out = $form->{type} =~ /^sales/ ? 'out' : 'in';
|
||
|
||
$query =
|
||
qq|SELECT qty, unit, bin_id, warehouse_id, chargenumber
|
||
FROM delivery_order_items_stock
|
||
WHERE delivery_order_item_id = ?|;
|
||
FROM delivery_order_items_stock
|
||
WHERE delivery_order_item_id = ?|;
|
||
my $sth = prepare_query($form, $dbh, $query);
|
||
|
||
foreach my $doi (@{ $form->{form_details} }) {
|
||
... | ... | |
}
|
||
|
||
$sth->finish();
|
||
|
||
} else {
|
||
# get last name used
|
||
$form->lastname_used($dbh, $myconfig, $form->{vc}) unless $form->{"$form->{vc}_id"};
|
||
|
||
}
|
||
|
||
Common::webdav_folder($form) if ($main::webdav);
|
||
|
||
$main::lxdebug->leave_sub();
|
||
|
||
return 1;
|
||
}
|
||
|
||
sub order_details {
|
bin/mozilla/do.pl | ||
---|---|---|
|
||
my $editing = $form->{id};
|
||
|
||
DO->retrieve();
|
||
DO->retrieve('vc' => $form->{vc},
|
||
'ids' => $form->{id});
|
||
|
||
$payment_id = $form->{payment_id} if ($form->{payment_id});
|
||
$language_id = $form->{language_id} if ($form->{language_id});
|
||
... | ... | |
$form->{rowcount} = scalar @{ $form->{DO} };
|
||
|
||
my @columns = qw(
|
||
transdate
|
||
ids transdate
|
||
id donumber
|
||
ordnumber
|
||
name employee
|
||
... | ... | |
|
||
$form->{"l_type"} = "Y";
|
||
map { $column_defs{$_}->{visible} = $form->{"l_${_}"} ? 1 : 0 } @columns;
|
||
$column_defs{ids}->{visible} = $allow_multiple_orders ? 'HTML' : 0;
|
||
|
||
$column_defs{ids}->{visible} = 'HTML';
|
||
|
||
$report->set_columns(%column_defs);
|
||
$report->set_column_order(@columns);
|
||
... | ... | |
push @options, $locale->text('Not delivered');
|
||
}
|
||
|
||
$report->set_options('top_info_text' => join("\n", @options),
|
||
'output_format' => 'HTML',
|
||
'title' => $form->{title},
|
||
'attachment_basename' => $attachment_basename . strftime('_%Y%m%d', localtime time),
|
||
$report->set_options('top_info_text' => join("\n", @options),
|
||
'raw_top_info_text' => $form->parse_html_template('do/orders_top'),
|
||
'raw_bottom_info_text' => $form->parse_html_template('do/orders_bottom'),
|
||
'output_format' => 'HTML',
|
||
'title' => $form->{title},
|
||
'attachment_basename' => $attachment_basename . strftime('_%Y%m%d', localtime time),
|
||
);
|
||
$report->set_options_from_form();
|
||
|
||
... | ... | |
my $edit_url = build_std_url('action=edit', 'type', 'vc');
|
||
my $edit_order_url = build_std_url('script=oe.pl', 'type=' . ($form->{type} eq 'sales_delivery_order' ? 'sales_order' : 'purchase_order'), 'action=edit');
|
||
|
||
my $idx = 1;
|
||
|
||
foreach $dord (@{ $form->{DO} }) {
|
||
$dord->{open} = $dord->{closed} ? $locale->text('No') : $locale->text('Yes');
|
||
$dord->{delivered} = $dord->{delivered} ? $locale->text('Yes') : $locale->text('No');
|
||
|
||
my $row = { map { $_ => { 'data' => $dord->{$_} } } @columns };
|
||
|
||
$row->{ids} = {
|
||
'raw_data' => $cgi->hidden('-name' => "trans_id_${idx}", '-value' => $dord->{id})
|
||
. $cgi->checkbox('-name' => "multi_id_${idx}", '-value' => 1, '-label' => ''),
|
||
'valign' => 'center',
|
||
'align' => 'center',
|
||
};
|
||
|
||
$row->{donumber}->{link} = $edit_url . "&id=" . E($dord->{id}) . "&callback=${callback}";
|
||
$row->{ordnumber}->{link} = $edit_order_url . "&id=" . E($dord->{oe_id}) . "&callback=${callback}";
|
||
|
||
$report->add_data($row);
|
||
|
||
$idx++;
|
||
}
|
||
|
||
$report->generate_with_headers();
|
||
... | ... | |
$lxdebug->leave_sub();
|
||
}
|
||
|
||
sub invoice_multi {
|
||
$lxdebug->enter_sub();
|
||
|
||
check_do_access();
|
||
$auth->assert($form->{type} eq 'sales_delivery_order' ? 'invoice_edit' : 'vendor_invoice_edit');
|
||
|
||
my @do_ids = map { $form->{"trans_id_$_"} } grep { $form->{"multi_id_$_"} } (1..$form->{rowcount});
|
||
|
||
if (!scalar @do_ids) {
|
||
$form->show_generic_error($locale->text('You have not selected any delivery order.'), 'back_button' => 1);
|
||
}
|
||
|
||
map { delete $form->{$_} } grep { m/^(?:trans|multi)_id_\d+/ } keys %{ $form };
|
||
|
||
if (!DO->retrieve('vc' => $form->{vc}, 'ids' => \@do_ids)) {
|
||
$form->show_generic_error($form->{vc} eq 'customer' ?
|
||
$locale->text('You cannot create an invoice for delivery orders for different customers.') :
|
||
$locale->text('You cannot create an invoice for delivery orders from different vendors.'),
|
||
'back_button' => 1);
|
||
}
|
||
|
||
$form->{deliverydate} = $form->{transdate};
|
||
$form->{transdate} = $form->current_date(\%myconfig);
|
||
$form->{duedate} = $form->current_date(\%myconfig, $form->{invdate}, $form->{terms} * 1);
|
||
$form->{type} = "invoice";
|
||
$form->{closed} = 0;
|
||
$form->{defaultcurrency} = $form->get_default_currency(\%myconfig);
|
||
|
||
my $buysell;
|
||
if ($form->{type} eq 'purchase_delivery_order') {
|
||
$form->{title} = $locale->text('Add Vendor Invoice');
|
||
$form->{script} = 'ir.pl';
|
||
$script = "ir";
|
||
$buysell = 'sell';
|
||
|
||
} else {
|
||
$form->{title} = $locale->text('Add Sales Invoice');
|
||
$form->{script} = 'is.pl';
|
||
$script = "is";
|
||
$buysell = 'buy';
|
||
}
|
||
|
||
map { delete $form->{$_} } qw(id subject message cc bcc printed emailed queued);
|
||
|
||
$form->{rowcount} = 0;
|
||
foreach my $ref (@{ $form->{form_details} }) {
|
||
$form->{rowcount}++;
|
||
map { $form->{"${_}_$form->{rowcount}"} = $ref->{$_} } keys %{ $ref };
|
||
map { $form->{"${_}_$form->{rowcount}"} = $form->format_amount(\%myconfig, $ref->{$_}) } qw(qty sellprice discount lastcost);
|
||
}
|
||
delete $form->{form_details};
|
||
|
||
$locale = new Locale "$myconfig{countrycode}", "$script";
|
||
|
||
require "bin/mozilla/$form->{script}";
|
||
|
||
invoice_links();
|
||
prepare_invoice();
|
||
display_form();
|
||
|
||
$lxdebug->leave_sub();
|
||
}
|
||
|
||
sub save_as_new {
|
||
$lxdebug->enter_sub();
|
||
|
locale/de/all | ||
---|---|---|
'New assembly' => 'Neues Erzeugnis',
|
||
'New contact' => 'Neuer Ansprechpartner',
|
||
'New customer' => 'Neuer Kunde',
|
||
'New invoice' => 'Neue Rechnung',
|
||
'New part' => 'Neue Ware',
|
||
'New sales order' => 'Neuer Auftrag',
|
||
'New service' => 'Neue Dienstleistung',
|
||
... | ... | |
'You can use the following strings in the long description and all translations. They will be replaced by their actual values by Lx-Office before they\'re output.' => 'Sie können im Langtext und allen ?bersetzungen die folgenden Variablen benutzen, die vor der Ausgabe von Lx-Office automatisch ersetzt werden:',
|
||
'You cannot continue before all required modules are installed.' => 'Sie können nicht fortfahren, bevor alle benötigten Pakete installiert sind.',
|
||
'You cannot continue until all unknown units have been mapped to known ones.' => 'Sie können nicht fortfahren, bis alle unbekannten Einheiten in neue Einheiten umgewandelt wurden.',
|
||
'You cannot create an invoice for delivery orders for different customers.' => 'Sie k?nnen keine Rechnung zu Lieferscheinen f?r verschiedene Kunden erstellen.',
|
||
'You cannot create an invoice for delivery orders from different vendors.' => 'Sie k?nnen keine Rechnung aus Lieferscheinen von verschiedenen Lieferanten erstellen.',
|
||
'You did not enter a name!' => 'Sie haben keinen Namen eingegeben!',
|
||
'You do not have the permissions to access this function.' => 'Sie verfügen nicht über die notwendigen Rechte, um auf diese Funktion zuzugreifen.',
|
||
'You have entered or selected the following shipping address for this customer:' => 'Sie haben die folgende Lieferadresse eingegeben oder ausgewählt:',
|
||
'You have not selected any delivery order.' => 'Sie haben keinen Lieferschein ausgew?hlt.',
|
||
'You have to chose a dimension unit and a service unit which will then be assigned to those entries.' => 'Sie müssen eine Maß- und eine Dienstleistungseinheit auswählen, die diesen Waren und Dienstleistungen, denen noch keine Einheit zugeordnet ist, zugeordnet wird.',
|
||
'You have to chose which unit to save for each of them.' => 'Sie müssen für jeden Artikel die neue Einheit auswählen.',
|
||
'You have to create at least one group, grant it access to Lx-Office\'s functions and assign users to it.' => 'Sie müssen mindestens eine Benutzergruppe anlegen, ihr Zugriff auf die verschiedenen Funktionsbereiche von Lx-Office gewähren und Benutzer dieser Gruppe zuordnen.',
|
locale/de/ca | ||
---|---|---|
'AP' => 'Einkauf',
|
||
'AR' => 'Verkauf',
|
||
'Account' => 'Konto',
|
||
'Accrual' => 'Bilanzierung',
|
||
'Advance turnover tax return' => 'Umsatzsteuervoranmeldung',
|
||
'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)',
|
||
'Apr' => 'Apr',
|
||
... | ... | |
'Bcc' => 'Bcc',
|
||
'Bin List' => 'Lagerliste',
|
||
'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Die Anmeldung am LDAP-Server als "#1" schlug fehl. Bitte überprüfen Sie die Angaben in config/authentication.pl.',
|
||
'Bis' => 'bis',
|
||
'CANCELED' => 'Storniert',
|
||
'CSV export -- options' => 'CSV-Export -- Optionen',
|
||
'Cc' => 'Cc',
|
||
... | ... | |
'Create and edit vendor invoices' => 'Eingangsrechnungen erfassen und bearbeiten',
|
||
'Credit' => 'Haben',
|
||
'Credit Note' => 'Gutschrift',
|
||
'Customized Report' => 'Vorgew?hlte Zeitr?ume',
|
||
'DATEV Export' => 'DATEV-Export',
|
||
'DELETED' => 'Gel?scht',
|
||
'DUNNING STARTED' => 'Mahnprozess gestartet',
|
||
... | ... | |
'Debit' => 'Soll',
|
||
'Dec' => 'Dez',
|
||
'December' => 'Dezember',
|
||
'Decimalplaces' => 'Dezimalstellen',
|
||
'Delivery Order' => 'Lieferschein',
|
||
'Department' => 'Abteilung',
|
||
'Dependency loop detected:' => 'Schleife in den Abhängigkeiten entdeckt:',
|
||
'Description' => 'Beschreibung',
|
||
'Directory' => 'Verzeichnis',
|
||
'ELSE' => 'Zusatz',
|
||
'EUR' => 'E/?-Rechnung',
|
||
'Error in database control file \'%s\': %s' => 'Fehler in Datenbankupgradekontrolldatei \'%s\': %s',
|
||
'Falsches Datumsformat!' => 'Falsches Datumsformat!',
|
||
'Feb' => 'Feb',
|
||
'February' => 'Februar',
|
||
'File' => 'Datei',
|
||
'Free report period' => 'Freier Zeitraum',
|
||
'From' => 'Von',
|
||
'General ledger and cash' => 'Finanzbuchhaltung und Zahlungsverkehr',
|
||
'Include in Report' => 'In Bericht aufnehmen',
|
||
'Invoice' => 'Rechnung',
|
||
'Jan' => 'Jan',
|
||
'January' => 'Januar',
|
||
... | ... | |
'May ' => 'Mai',
|
||
'May set the BCC field when sending emails' => 'Beim Verschicken von Emails das Feld \'BCC\' setzen',
|
||
'Message' => 'Nachricht',
|
||
'Method' => 'Verfahren',
|
||
'Missing \'description\' field.' => 'Fehlendes Feld \'description\'.',
|
||
'Missing \'tag\' field.' => 'Fehlendes Feld \'tag\'.',
|
||
'Missing parameter #1 in call to sub #2.' => 'Fehlernder Parameter \'#1\' in Funktionsaufruf \'#2\'.',
|
||
'Monthly' => 'monatlich',
|
||
'More than one control file with the tag \'%s\' exist.' => 'Es gibt mehr als eine Kontrolldatei mit dem Tag \'%s\'.',
|
||
'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'Es wurde kein oder ein unbekanntes Authentifizierungsmodul in "config/authentication.pl" angegeben.',
|
||
'Nov' => 'Nov',
|
||
... | ... | |
'Proforma Invoice' => 'Proformarechnung',
|
||
'Project Number' => 'Projektnummer',
|
||
'Purchase Order' => 'Lieferantenauftrag',
|
||
'Quarter' => 'Quartal',
|
||
'Quarterly' => 'quartalsweise',
|
||
'Quotation' => 'Angebot',
|
||
'RFQ' => 'Anfrage',
|
||
'Receipt, payment, reconciliation' => 'Zahlungseingang, Zahlungsausgang, Kontenabgleich',
|
||
... | ... | |
'Storno Invoice' => 'Stornorechnung',
|
||
'Storno Packing List' => 'Stornolieferschein',
|
||
'Subject' => 'Betreff',
|
||
'Subtotal' => 'Zwischensumme',
|
||
'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'Das Feld \'tag\' darf nur aus alphanumerischen Zeichen und den Zeichen - _ ( ) bestehen.',
|
||
'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'Der LDAP-Server "#1:#2" ist nicht erreichbar. Bitte überprüfen Sie die Angaben in config/authentication.pl.',
|
||
'The config file "config/authentication.pl" contained invalid Perl code:' => 'Die Konfigurationsdatei "config/authentication.pl" enthielt ungütigen Perl-Code:',
|
||
... | ... | |
'The connection to the template database failed:' => 'Die Verbindung zur Vorlagendatenbank schlug fehl:',
|
||
'The creation of the authentication database failed:' => 'Das Anlegen der Authentifizierungsdatenbank schlug fehl:',
|
||
'The list has been printed.' => 'Die Liste wurde ausgedruckt.',
|
||
'To' => 'An',
|
||
'To (email)' => 'An',
|
||
'Transactions, AR transactions, AP transactions' => 'Dialogbuchen, Debitorenrechnungen, Kreditorenrechnungen',
|
||
'Unknown dependency \'%s\'.' => 'Unbekannte Abhängigkeit \'%s\'.',
|
||
'View warehouse content' => 'Lagerbestand ansehen',
|
||
'Warehouse management' => 'Lagerverwaltung/Bestandsver?nderung',
|
||
'YYYY' => 'JJJJ',
|
||
'Year' => 'Jahr',
|
||
'Yearly' => 'j?hrlich',
|
||
'You do not have the permissions to access this function.' => 'Sie verfügen nicht über die notwendigen Rechte, um auf diese Funktion zuzugreifen.',
|
||
'[email]' => '[email]',
|
||
'bin_list' => 'Lagerliste',
|
||
'button' => '?',
|
||
'chart_of_accounts' => 'kontenuebersicht',
|
||
'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Das Schlüsselwort "DB_config" fehlt.',
|
||
'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Der Schlüssel "LDAP_config" fehlt.',
|
||
... | ... | |
'request_quotation' => 'Angebotsanforderung',
|
||
'sales_order' => 'Kundenauftrag',
|
||
'sales_quotation' => 'Verkaufsangebot',
|
||
'wrongformat' => 'Falsches Format',
|
||
};
|
||
|
||
$self->{subs} = {
|
locale/de/do | ||
---|---|---|
'View warehouse content' => 'Lagerbestand ansehen',
|
||
'Warehouse management' => 'Lagerverwaltung/Bestandsver?nderung',
|
||
'Yes' => 'Ja',
|
||
'You cannot create an invoice for delivery orders for different customers.' => 'Sie k?nnen keine Rechnung zu Lieferscheinen f?r verschiedene Kunden erstellen.',
|
||
'You cannot create an invoice for delivery orders from different vendors.' => 'Sie k?nnen keine Rechnung aus Lieferscheinen von verschiedenen Lieferanten erstellen.',
|
||
'You do not have the permissions to access this function.' => 'Sie verfügen nicht über die notwendigen Rechte, um auf diese Funktion zuzugreifen.',
|
||
'You have not selected any delivery order.' => 'Sie haben keinen Lieferschein ausgew?hlt.',
|
||
'Zipcode' => 'PLZ',
|
||
'[email]' => '[email]',
|
||
'bin_list' => 'Lagerliste',
|
||
... | ... | |
'format_dates' => 'format_dates',
|
||
'get_basic_bin_wh_info' => 'get_basic_bin_wh_info',
|
||
'invoice' => 'invoice',
|
||
'invoice_multi' => 'invoice_multi',
|
||
'invoicetotal' => 'invoicetotal',
|
||
'item_selected' => 'item_selected',
|
||
'mark_as_paid_common' => 'mark_as_paid_common',
|
locale/de/login | ||
---|---|---|
'Workflow sales_quotation' => 'Workflow Angebot',
|
||
'Yes' => 'Ja',
|
||
'You are logged out!' => 'Auf Wiedersehen!',
|
||
'You cannot create an invoice for delivery orders for different customers.' => 'Sie k?nnen keine Rechnung zu Lieferscheinen f?r verschiedene Kunden erstellen.',
|
||
'You cannot create an invoice for delivery orders from different vendors.' => 'Sie k?nnen keine Rechnung aus Lieferscheinen von verschiedenen Lieferanten erstellen.',
|
||
'You did not enter a name!' => 'Sie haben keinen Namen eingegeben!',
|
||
'You do not have the permissions to access this function.' => 'Sie verfügen nicht über die notwendigen Rechte, um auf diese Funktion zuzugreifen.',
|
||
'You have not selected any delivery order.' => 'Sie haben keinen Lieferschein ausgew?hlt.',
|
||
'You must chose a user.' => 'Sie müssen einen Benutzer auswählen.',
|
||
'Zipcode' => 'PLZ',
|
||
'[email]' => '[email]',
|
||
... | ... | |
'format_dates' => 'format_dates',
|
||
'get_basic_bin_wh_info' => 'get_basic_bin_wh_info',
|
||
'invoice' => 'invoice',
|
||
'invoice_multi' => 'invoice_multi',
|
||
'invoicetotal' => 'invoicetotal',
|
||
'item_selected' => 'item_selected',
|
||
'login' => 'login',
|
locale/de/oe | ||
---|---|---|
'Workflow sales_order' => 'Workflow Auftrag',
|
||
'Workflow sales_quotation' => 'Workflow Angebot',
|
||
'Yes' => 'Ja',
|
||
'You cannot create an invoice for delivery orders for different customers.' => 'Sie k?nnen keine Rechnung zu Lieferscheinen f?r verschiedene Kunden erstellen.',
|
||
'You cannot create an invoice for delivery orders from different vendors.' => 'Sie k?nnen keine Rechnung aus Lieferscheinen von verschiedenen Lieferanten erstellen.',
|
||
'You do not have the permissions to access this function.' => 'Sie verfügen nicht über die notwendigen Rechte, um auf diese Funktion zuzugreifen.',
|
||
'You have not selected any delivery order.' => 'Sie haben keinen Lieferschein ausgew?hlt.',
|
||
'Zipcode' => 'PLZ',
|
||
'[email]' => '[email]',
|
||
'bin_list' => 'Lagerliste',
|
||
... | ... | |
'format_dates' => 'format_dates',
|
||
'get_basic_bin_wh_info' => 'get_basic_bin_wh_info',
|
||
'invoice' => 'invoice',
|
||
'invoice_multi' => 'invoice_multi',
|
||
'invoicetotal' => 'invoicetotal',
|
||
'item_selected' => 'item_selected',
|
||
'mark_as_paid_common' => 'mark_as_paid_common',
|
locale/de/todo | ||
---|---|---|
'Workflow sales_order' => 'Workflow Auftrag',
|
||
'Workflow sales_quotation' => 'Workflow Angebot',
|
||
'Yes' => 'Ja',
|
||
'You cannot create an invoice for delivery orders for different customers.' => 'Sie k?nnen keine Rechnung zu Lieferscheinen f?r verschiedene Kunden erstellen.',
|
||
'You cannot create an invoice for delivery orders from different vendors.' => 'Sie k?nnen keine Rechnung aus Lieferscheinen von verschiedenen Lieferanten erstellen.',
|
||
'You do not have the permissions to access this function.' => 'Sie verfügen nicht über die notwendigen Rechte, um auf diese Funktion zuzugreifen.',
|
||
'You have not selected any delivery order.' => 'Sie haben keinen Lieferschein ausgew?hlt.',
|
||
'You must chose a user.' => 'Sie müssen einen Benutzer auswählen.',
|
||
'Zipcode' => 'PLZ',
|
||
'[email]' => '[email]',
|
||
... | ... | |
'format_dates' => 'format_dates',
|
||
'get_basic_bin_wh_info' => 'get_basic_bin_wh_info',
|
||
'invoice' => 'invoice',
|
||
'invoice_multi' => 'invoice_multi',
|
||
'invoicetotal' => 'invoicetotal',
|
||
'item_selected' => 'item_selected',
|
||
'mark_as_paid_common' => 'mark_as_paid_common',
|
templates/webpages/do/orders_bottom_de.html | ||
---|---|---|
[% USE HTML %]
|
||
Neue Rechnung<br>
|
||
<input class="submit" type="submit" name="action" value="Weiter">
|
||
<input type="hidden" name="nextsub" value="invoice_multi">
|
||
<input type="hidden" name="type" value="[% HTML.escape(type) %]">
|
||
<input type="hidden" name="vc" value="[% HTML.escape(vc) %]">
|
||
<input type="hidden" name="callback" value="[% HTML.escape(callback) %]">
|
||
<input type="hidden" name="rowcount" value="[% HTML.escape(rowcount) %]">
|
||
</form>
|
templates/webpages/do/orders_bottom_master.html | ||
---|---|---|
[% USE HTML %]
|
||
<translate>New invoice</translate><br>
|
||
<input class="submit" type="submit" name="action" value="<translate>Continue</translate>">
|
||
<input type="hidden" name="nextsub" value="invoice_multi">
|
||
<input type="hidden" name="type" value="[% HTML.escape(type) %]">
|
||
<input type="hidden" name="vc" value="[% HTML.escape(vc) %]">
|
||
<input type="hidden" name="callback" value="[% HTML.escape(callback) %]">
|
||
<input type="hidden" name="rowcount" value="[% HTML.escape(rowcount) %]">
|
||
</form>
|
templates/webpages/do/orders_top_de.html | ||
---|---|---|
<form method="post" action="do.pl">
|
templates/webpages/do/orders_top_master.html | ||
---|---|---|
<form method="post" action="do.pl">
|
Auch abrufbar als: Unified diff
Erstellen von Rechnungen aus mehreren Lieferscheinen heraus.