sub retrieve_units {
$main::lxdebug->enter_sub();
- my ($self, $myconfig, $form, $type, $prefix) = @_;
+ my ($self, $myconfig, $form, $prefix) = @_;
my $dbh = $form->dbconnect($myconfig);
my $query = "SELECT *, base_unit AS original_base_unit FROM units";
- my @values;
- if ($type) {
- $query .= " WHERE (type = ?)";
- @values = ($type);
- }
- my $sth = $dbh->prepare($query);
- $sth->execute(@values) || $form->dberror($query . " (" . join(", ", @values) . ")");
+ my $sth = prepare_execute_query($form, $dbh, $query);
my $units = {};
while (my $ref = $sth->fetchrow_hashref()) {
sub add_unit {
$main::lxdebug->enter_sub();
- my ($self, $myconfig, $form, $name, $base_unit, $factor, $type, $languages) = @_;
+ my ($self, $myconfig, $form, $name, $base_unit, $factor, $languages) = @_;
my $dbh = $form->dbconnect_noauto($myconfig);
my $query = qq|SELECT COALESCE(MAX(sortkey), 0) + 1 FROM units|;
my ($sortkey) = selectrow_query($form, $dbh, $query);
- $query = "INSERT INTO units (name, base_unit, factor, type, sortkey) " .
- "VALUES (?, ?, ?, ?, ?)";
- do_query($form, $dbh, $query, $name, $base_unit, $factor, $type, $sortkey);
+ $query = "INSERT INTO units (name, base_unit, factor, sortkey) " .
+ "VALUES (?, ?, ?, ?)";
+ do_query($form, $dbh, $query, $name, $base_unit, $factor, $sortkey);
if ($languages) {
$query = "INSERT INTO units_language (unit, language_id, localized, localized_plural) VALUES (?, ?, ?, ?)";
sub save_units {
$main::lxdebug->enter_sub();
- my ($self, $myconfig, $form, $type, $units, $delete_units) = @_;
+ my ($self, $myconfig, $form, $units, $delete_units) = @_;
my $dbh = $form->dbconnect_noauto($myconfig);
sub swap_units {
$main::lxdebug->enter_sub();
- my ($self, $myconfig, $form, $dir, $name_1, $unit_type) = @_;
+ my ($self, $myconfig, $form, $dir, $name_1) = @_;
my $dbh = $form->dbconnect_noauto($myconfig);
$query =
qq|SELECT sortkey FROM units | .
- qq|WHERE sortkey | . ($dir eq "down" ? ">" : "<") . qq| ? AND type = ? | .
+ qq|WHERE sortkey | . ($dir eq "down" ? ">" : "<") . qq| ? | .
qq|ORDER BY sortkey | . ($dir eq "down" ? "ASC" : "DESC") . qq| LIMIT 1|;
- my ($sortkey_2) = selectrow_query($form, $dbh, $query, $sortkey_1, $unit_type);
+ my ($sortkey_2) = selectrow_query($form, $dbh, $query, $sortkey_1);
if (defined($sortkey_1)) {
$query = qq|SELECT name FROM units WHERE sortkey = ${sortkey_2}|;
my $dbh = $form->get_standard_dbh($myconfig);
- my $units = AM->retrieve_units($myconfig, $form, "dimension");
+ my $units = AM->retrieve_units($myconfig, $form);
my ($partunit) = selectrow_query($form, $dbh, qq|SELECT unit FROM parts WHERE id = ?|, conv_i($params{parts_id}));
my $unit_factor = $units->{$partunit}->{factor} || 1;
my $i = 1;
my $id = 0;
- my $dimension_units = AM->retrieve_units($myconfig, $form, "dimension");
- my $service_units = AM->retrieve_units($myconfig, $form, "service");
my $all_units = AM->retrieve_units($myconfig, $form);
while (($form->{"id_$i"}) or ($form->{"new_id_$i"})) {
$form->{"PRICES"}{$i} = [];
# vergleichen und bei Unterschied den Preis entsprechend umrechnen.
$form->{"selected_unit_$i"} = $form->{"unit_$i"} unless ($form->{"selected_unit_$i"});
- my $check_units = $form->{"inventory_accno_$i"} ? $dimension_units : $service_units;
- if (!$check_units->{$form->{"selected_unit_$i"}} ||
- ($check_units->{$form->{"selected_unit_$i"}}->{"base_unit"} ne
+ if (!$all_units->{$form->{"selected_unit_$i"}} ||
+ ($all_units->{$form->{"selected_unit_$i"}}->{"base_unit"} ne
$all_units->{$form->{"unit_old_$i"}}->{"base_unit"})) {
# Die ausgewaehlte Einheit ist fuer diesen Artikel nicht gueltig
# (z.B. Dimensionseinheit war ausgewaehlt, es handelt sich aber
$auth->assert('config');
- $units = AM->retrieve_units(\%myconfig, $form, $form->{"unit_type"}, "resolved_");
+ $units = AM->retrieve_units(\%myconfig, $form, "resolved_");
AM->units_in_use(\%myconfig, $form, $units);
map({ $units->{$_}->{"BASE_UNIT_DDBOX"} = AM->unit_select_data($units, $units->{$_}->{"base_unit"}, 1); } keys(%{$units}));
$i++;
}
- $units = AM->retrieve_units(\%myconfig, $form, $form->{"unit_type"});
+ $units = AM->retrieve_units(\%myconfig, $form);
$ddbox = AM->unit_select_data($units, undef, 1);
- my $updownlink = build_std_url("action=swap_units", "unit_type");
+ my $updownlink = build_std_url("action=swap_units");
- $form->{"title"} = sprintf($locale->text("Add and edit %s"), $form->{"unit_type"} eq "dimension" ? $locale->text("dimension units") : $locale->text("service units"));
+ $form->{"title"} = $locale->text("Add and edit units");
$form->header();
print($form->parse_html_template("am/edit_units",
{ "UNITS" => \@unit_list,
$auth->assert('config');
$form->isblank("new_name", $locale->text("The name is missing."));
- $units = AM->retrieve_units(\%myconfig, $form, $form->{"unit_type"});
+ $units = AM->retrieve_units(\%myconfig, $form);
$all_units = AM->retrieve_units(\%myconfig, $form);
$form->show_generic_error($locale->text("A unit with this name does already exist.")) if ($all_units->{$form->{"new_name"}});
});
}
- AM->add_unit(\%myconfig, $form, $form->{"new_name"}, $base_unit, $factor, $form->{"unit_type"}, \@languages);
+ AM->add_unit(\%myconfig, $form, $form->{"new_name"}, $base_unit, $factor, \@languages);
$form->{"saved_message"} = $locale->text("The unit has been saved.");
$auth->assert('config');
- $old_units = AM->retrieve_units(\%myconfig, $form, $form->{"unit_type"}, "resolved_");
+ $old_units = AM->retrieve_units(\%myconfig, $form, "resolved_");
AM->units_in_use(\%myconfig, $form, $old_units);
@languages = AM->language(\%myconfig, $form, 1);
}
}
- AM->save_units(\%myconfig, $form, $form->{"unit_type"}, $new_units, \@delete_units);
+ AM->save_units(\%myconfig, $form, $new_units, \@delete_units);
$form->{"saved_message"} = $locale->text("The units have been saved.");
$auth->assert('config');
my $dir = $form->{"dir"} eq "down" ? "down" : "up";
- my $unit_type = $form->{"unit_type"} eq "dimension" ?
- "dimension" : "service";
- AM->swap_units(\%myconfig, $form, $dir, $form->{"name"}, $unit_type);
+ AM->swap_units(\%myconfig, $form, $dir, $form->{"name"});
edit_units();
my $part_info = IC->get_basic_part_info('id' => $form->{parts_id});
- my $units = AM->retrieve_units(\%myconfig, $form, "dimension");
+ my $units = AM->retrieve_units(\%myconfig, $form);
my $units_data = AM->unit_select_data($units, undef, undef, $part_info->{unit});
$form->get_lists('warehouses' => { 'key' => 'WAREHOUSES',
my $part_info = IC->get_basic_part_info('id' => $form->{parts_id});
- my $units = AM->retrieve_units(\%myconfig, $form, "dimension");
+ my $units = AM->retrieve_units(\%myconfig, $form);
my $units_data = AM->unit_select_data($units, undef, undef, $part_info->{unit});
my @contents = DO->get_item_availability('parts_id' => $form->{parts_id});
my @all_requests;
if (@part_ids) {
- my $units = AM->retrieve_units(\%myconfig, $form, "dimension");
+ my $units = AM->retrieve_units(\%myconfig, $form);
my %part_info_map = IC->get_basic_part_info('id' => \@part_ids);
my %request_map;
my @all_requests;
if (@part_ids) {
- my $units = AM->retrieve_units(\%myconfig, $form, "dimension");
+ my $units = AM->retrieve_units(\%myconfig, $form);
my %part_info_map = IC->get_basic_part_info('id' => \@part_ids);
my %request_map;
# use JavaScript Calendar or not (yes!)
$form->{jsscript} = 1;
- $units = AM->retrieve_units(\%myconfig, $form, $form->{"item"} eq "service" ? "service" : "dimension");
+ $units = AM->retrieve_units(\%myconfig, $form);
$form->{ALL_UNITS} = [ map +{ name => $_ }, sort { $units->{$a}{sortkey} <=> $units->{$b}{sortkey} } keys %$units ];
$form->{fokus} = "ic.partnumber";
# }
############### ENDE Neueintrag ##################
#
-# my $dimension_units = AM->retrieve_units(\%myconfig, $form, "dimension");
-# my $service_units = AM->retrieve_units(\%myconfig, $form, "service");
# my $all_units = AM->retrieve_units(\%myconfig, $form);
+# my $dimension_units = $all_units;
+# my $service_units = $all_units;
#
# my %price_factors = map { $_->{id} => $_->{factor} } @{ $form->{ALL_PRICE_FACTORS} };
#
my @column_index = map { $_->{id} } grep { $_->{display} } @HEADER;
# cache units
- my $dimension_units = AM->retrieve_units(\%myconfig, $form, "dimension");
- my $service_units = AM->retrieve_units(\%myconfig, $form, "service");
my $all_units = AM->retrieve_units(\%myconfig, $form);
my %price_factors = map { $_->{id} => $_->{factor} } @{ $form->{ALL_PRICE_FACTORS} };
$form->{"unit_old_$i"} ||= $form->{"unit_$i"};
$form->{"selected_unit_$i"} ||= $form->{"unit_$i"};
- my $local_units = $form->{"inventory_accno_$i"} || $form->{"assembly_$i"} ? $dimension_units
- : $form->{"id_$i"} ? $service_units
- : $all_units;
- if ( !$local_units->{$form->{"selected_unit_$i"}} # Die ausgewaehlte Einheit ist fuer diesen Artikel nicht gueltig
+ if ( !$all_units->{$form->{"selected_unit_$i"}} # Die ausgewaehlte Einheit ist fuer diesen Artikel nicht gueltig
|| !AM->convert_unit($form->{"selected_unit_$i"}, $form->{"unit_old_$i"}, $all_units)) { # (z.B. Dimensionseinheit war ausgewaehlt, es handelt sich aber
$form->{"unit_old_$i"} = $form->{"selected_unit_$i"} = $form->{"unit_$i"}; # um eine Dienstleistung). Dann keinerlei Umrechnung vornehmen.
}
$column_data{price_factor} = ' ';
}
- $column_data{"unit"} = AM->unit_select_html($local_units, "unit_$i", $this_unit, $form->{"id_$i"} ? $form->{"unit_$i"} : undef);
+ $column_data{"unit"} = AM->unit_select_html($all_units, "unit_$i", $this_unit, $form->{"id_$i"} ? $form->{"unit_$i"} : undef);
# / unit ending
$form->{"sellprice_$i"} =~ /\.(\d+)/;
show_no_warehouses_error() if (!scalar @{ $form->{WAREHOUSES} });
- my $units = AM->retrieve_units(\%myconfig, $form, 'dimension');
+ my $units = AM->retrieve_units(\%myconfig, $form);
$form->{UNITS} = AM->unit_select_data($units, $form->{unit}, 0, $form->{partunit});
if (scalar @{ $form->{WAREHOUSES} }) {
$form->show_generic_error($locale->text("The selected warehouse is empty.")) if (0 == scalar(@contents));
- my $all_units = AM->retrieve_units(\%myconfig, $form, 'dimension');
+ my $all_units = AM->retrieve_units(\%myconfig, $form);
foreach (@contents) {
$_->{qty} = $form->format_amount_units('amount' => $_->{qty},
$form->{sort} = 'bindescription';
my @contents = WH->get_warehouse_report("warehouse_id" => $form->{warehouse_id});
- my $all_units = AM->retrieve_units(\%myconfig, $form, 'dimension');
+ my $all_units = AM->retrieve_units(\%myconfig, $form);
my @transfers;
$form->{sort} = 'bindescription';
my @contents = WH->get_warehouse_report("warehouse_id" => $form->{warehouse_id});
- my $all_units = AM->retrieve_units(\%myconfig, $form, 'dimension');
+ my $all_units = AM->retrieve_units(\%myconfig, $form);
my @transfers;
'Add Vendor Invoice' => 'Einkaufsrechnung erfassen',
'Add Warehouse' => 'Lager erfassen',
'Add a new group' => 'Neue Gruppe erfassen',
- 'Add and edit %s' => '%s hinzufügen und bearbeiten',
+ 'Add and edit units' => 'Einheiten erfassen und bearbeiten',
'Add custom variable' => 'Benutzerdefinierte Variable erfassen',
'Add note' => 'Notiz erfassen',
'Add to group' => 'Zu Gruppe hinzufügen',
'Destination warehouse and bin' => 'Ziellager und -lagerplatz',
'Difference' => 'Differenz',
'Dimension unit' => 'Maßeinheit',
- 'Dimension units' => 'Maßeinheiten',
'Directory' => 'Verzeichnis',
'Discount' => 'Rabatt',
'Display' => 'Anzeigen',
'Service Items' => 'Dienstleistungen',
'Service Number missing!' => 'Dienstleistungsnummer fehlt!',
'Service unit' => 'Dienstleistungseinheit',
- 'Service units' => 'Dienstleistungseinheiten',
'Services' => 'Dienstleistungen',
'Set Language Values' => 'Spracheinstellungen',
'Set eMail text' => 'eMail Text eingeben',
'Unit' => 'Einheit',
'Unit missing.' => 'Die Einheit fehlt.',
'Unit of measure' => 'Maßeinheit',
- 'Units' => 'Einheiten',
+ 'Units marked for deletion will be deleted upon saving.' => 'Einheiten, die zum Löschen markiert sind, werden beim Speichern gelöscht.',
+ 'Units that have already been used (e.g. for parts and services or in invoices or warehouse transactions) cannot be changed.' => 'Einheiten, die bereits in Benutzung sind (z.B. bei einer Warendefinition, einer Rechnung oder bei einer Lagerbuchung) können nachträglich nicht mehr verändert werden.',
'Unknown Category' => 'Unbekannte Kategorie',
'Unknown Link' => 'Unbekannte Verknüpfung',
'Unknown chart of accounts' => 'Unbekannter Kontenrahmen',
'You can also create new units now.' => 'Sie können jetzt auch neue Einheiten anlegen.',
'You can create a missing dataset by going back and chosing "Create Dataset".' => 'Sie können eine fehlende Datenbank erstellen, indem Sie jetzt zuück gehen und den Punkt "Datenbank anlegen" wählen.',
'You can create warehouses and bins via the menu "System -> Warehouses".' => 'Sie können Lager und Lagerplätze über das Menü "System -> Lager" anlegen.',
+ 'You can declare different translations for singular and plural for each unit (e.g. "day" and "days).' => 'Bei den Übersetzungen können Sie unterschiedliche Varianten für singular und plural angeben (z.B. "day" und "days").',
'You can only delete datasets that are not in use.' => 'Sie können nur Datenbanken löschen, die momentan nicht in Benutzung sind.',
'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.',
'debug' => 'Debug',
'delete' => 'Löschen',
'deliverydate' => 'Lieferdatum',
- 'dimension units' => 'Maßeinheiten',
'disposed' => 'Entsorgung',
'done' => 'erledigt',
'down' => 'runter',
'saved!' => 'gespeichert',
'sent' => 'gesendet',
'sent to printer' => 'an Drucker geschickt',
- 'service units' => 'Dienstleistungseinheiten',
'service_list' => 'dienstleistungsliste',
'shipped' => 'verschickt',
'singular first char' => 'S',
'Add Price Factor' => 'Preisfaktor erfassen',
'Add Printer' => 'Drucker hinzufügen',
'Add Warehouse' => 'Lager erfassen',
- 'Add and edit %s' => '%s hinzufügen und bearbeiten',
+ 'Add and edit units' => 'Einheiten erfassen und bearbeiten',
'Address' => 'Adresse',
'Advance turnover tax return' => 'Umsatzsteuervoranmeldung',
'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)',
'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Fehlende Parameter in "DB_config". Benötigte Parameter sind "host", "db" und "user".',
'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Fehlende Parameter in "LDAP_config". Benötigt werden "host", "attribute" und "base_dn".',
'customer' => 'Kunde',
- 'dimension units' => 'Maßeinheiten',
'down' => 'runter',
'invoice' => 'Rechnung',
'lead deleted!' => 'Kundenquelle gelöscht',
'request_quotation' => 'Angebotsanforderung',
'sales_order' => 'Kundenauftrag',
'sales_quotation' => 'Verkaufsangebot',
- 'service units' => 'Dienstleistungseinheiten',
'up' => 'hoch',
'use program settings' => 'benutze Programmeinstellungen',
'vendor' => 'Lieferant',
'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} = {
'Delivery Orders' => 'Lieferscheine',
'Departments' => 'Abteilungen',
'Dependency loop detected:' => 'Schleife in den Abhängigkeiten entdeckt:',
- 'Dimension units' => 'Maßeinheiten',
'Directory' => 'Verzeichnis',
'Dunnings' => 'Mahnungen',
'Edit Access Rights' => 'Zugriffsrechte bearbeiten',
'Edit Dunning' => 'Mahnungen konfigurieren',
+ 'Edit units' => 'Einheiten bearbeiten',
'Error in database control file \'%s\': %s' => 'Fehler in Datenbankupgradekontrolldatei \'%s\': %s',
'File' => 'Datei',
'Follow-Ups' => 'Wiedervorlagen',
'Reports' => 'Berichte',
'Sales Invoices' => 'Kundenrechnung',
'Sales Orders' => 'Aufträge',
- 'Service units' => 'Dienstleistungseinheiten',
'Services' => 'Dienstleistungen',
'Shipto' => 'Lieferanschriften',
'Show TODO list' => 'Aufgabenliste anzeigen',
'Type of Business' => 'Kunden-/Lieferantentyp',
'UStVa' => 'UStVa',
'UStVa Einstellungen' => 'UStVa Einstellungen',
- 'Units' => 'Einheiten',
'Unknown dependency \'%s\'.' => 'Unbekannte Abhängigkeit \'%s\'.',
'Update Prices' => 'Preise aktualisieren',
'Vendor Invoices' => 'Einkaufsrechnungen',
'Delivery Orders' => 'Lieferscheine',
'Departments' => 'Abteilungen',
'Dependency loop detected:' => 'Schleife in den Abhängigkeiten entdeckt:',
- 'Dimension units' => 'Maßeinheiten',
'Directory' => 'Verzeichnis',
'Dunnings' => 'Mahnungen',
'Edit Access Rights' => 'Zugriffsrechte bearbeiten',
'Edit Dunning' => 'Mahnungen konfigurieren',
+ 'Edit units' => 'Einheiten bearbeiten',
'Error in database control file \'%s\': %s' => 'Fehler in Datenbankupgradekontrolldatei \'%s\': %s',
'File' => 'Datei',
'Follow-Ups' => 'Wiedervorlagen',
'Reports' => 'Berichte',
'Sales Invoices' => 'Kundenrechnung',
'Sales Orders' => 'Aufträge',
- 'Service units' => 'Dienstleistungseinheiten',
'Services' => 'Dienstleistungen',
'Shipto' => 'Lieferanschriften',
'Show TODO list' => 'Aufgabenliste anzeigen',
'Type of Business' => 'Kunden-/Lieferantentyp',
'UStVa' => 'UStVa',
'UStVa Einstellungen' => 'UStVa Einstellungen',
- 'Units' => 'Einheiten',
'Unknown dependency \'%s\'.' => 'Unbekannte Abhängigkeit \'%s\'.',
'Update Prices' => 'Preise aktualisieren',
'Vendor Invoices' => 'Einkaufsrechnungen',
action=search
type=pricegroup
-[System--Units]
-module=menu.pl
-action=acc_menu
-target=acc_menu
-submenu=1
-
-[System--Units--Dimension units]
-module=am.pl
-action=edit_units
-unit_type=dimension
-
-[System--Units--Service units]
+[System--Edit units]
module=am.pl
action=edit_units
-unit_type=service
[System--Price Factors]
module=menu.pl
--- /dev/null
+-- @tag: units_no_type_distinction
+-- @description: Aufhebung der Typenunterscheidung bei Einheiten
+-- @depends: release_2_4_3
+ALTER TABLE units ALTER COLUMN type DROP NOT NULL;
+
<form method="post" action="[% HTML.escape(script) %]">
<input type="hidden" name="type" value="unit">
- <input type="hidden" name="unit_type" value="[% HTML.escape(unit_type) %]">
<table width="100%">
<tr>
</table>
<p>
- Einheiten, die bereits in Benutzung sind (z.B. bei einer
- Warendefinition, einer Rechnung oder bei einer Lagerbuchung)
- können nachträglich nicht mehr verändert werden.
+ Einheiten, die bereits in Benutzung sind (z.B. bei einer Warendefinition, einer Rechnung oder bei einer Lagerbuchung) können nachträglich nicht mehr verändert werden.
</p>
<p>
- Einheiten, die zum Löschen markiert sind, werden beim Speichern
- gelöscht.
+ Einheiten, die zum Löschen markiert sind, werden beim Speichern gelöscht.
</p>
<p>
- Bei den Übersetzungen können Sie unterschiedliche
- Varianten für singular und plural angeben (z.B. "day"
- und "days").
+ Bei den Übersetzungen können Sie unterschiedliche Varianten für singular und plural angeben (z.B. "day" und "days").
</p>
<table>
<form method="post" action="[% HTML.escape(script) %]">
<input type="hidden" name="type" value="unit">
- <input type="hidden" name="unit_type" value="[% HTML.escape(unit_type) %]">
<table width="100%">
<tr>
</table>
<p>
- Einheiten, die bereits in Benutzung sind (z.B. bei einer
- Warendefinition, einer Rechnung oder bei einer Lagerbuchung)
- können nachträglich nicht mehr verändert werden.
+ <translate>Units that have already been used (e.g. for parts and
+ services or in invoices or warehouse transactions) cannot be
+ changed.</translate>
</p>
<p>
- Einheiten, die zum Löschen markiert sind, werden beim Speichern
- gelöscht.
+ <translate>Units marked for deletion will be deleted upon
+ saving.</translate>
</p>
<p>
- Bei den Übersetzungen können Sie unterschiedliche
- Varianten für singular und plural angeben (z.B. "day"
- und "days").
+ <translate>You can declare different translations for singular and
+ plural for each unit (e.g. "day" and
+ "days).</translate>
</p>
<table>