Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 07948c34

Von Moritz Bunkus vor mehr als 16 Jahren hinzugefügt

  • ID 07948c344b0f699314c1b05b4e9c41b8babc3981
  • Vorgänger 2381f1e3
  • Nachfolger d33ad436

Trennung zwischen Dienstleistungs- und Wareneinheiten aufgehoben.

Unterschiede anzeigen:

SL/AM.pm
1776 1776
sub retrieve_units {
1777 1777
  $main::lxdebug->enter_sub();
1778 1778

  
1779
  my ($self, $myconfig, $form, $type, $prefix) = @_;
1779
  my ($self, $myconfig, $form, $prefix) = @_;
1780 1780

  
1781 1781
  my $dbh = $form->dbconnect($myconfig);
1782 1782

  
1783 1783
  my $query = "SELECT *, base_unit AS original_base_unit FROM units";
1784
  my @values;
1785
  if ($type) {
1786
    $query .= " WHERE (type = ?)";
1787
    @values = ($type);
1788
  }
1789 1784

  
1790
  my $sth = $dbh->prepare($query);
1791
  $sth->execute(@values) || $form->dberror($query . " (" . join(", ", @values) . ")");
1785
  my $sth = prepare_execute_query($form, $dbh, $query);
1792 1786

  
1793 1787
  my $units = {};
1794 1788
  while (my $ref = $sth->fetchrow_hashref()) {
......
2037 2031
sub add_unit {
2038 2032
  $main::lxdebug->enter_sub();
2039 2033

  
2040
  my ($self, $myconfig, $form, $name, $base_unit, $factor, $type, $languages) = @_;
2034
  my ($self, $myconfig, $form, $name, $base_unit, $factor, $languages) = @_;
2041 2035

  
2042 2036
  my $dbh = $form->dbconnect_noauto($myconfig);
2043 2037

  
2044 2038
  my $query = qq|SELECT COALESCE(MAX(sortkey), 0) + 1 FROM units|;
2045 2039
  my ($sortkey) = selectrow_query($form, $dbh, $query);
2046 2040

  
2047
  $query = "INSERT INTO units (name, base_unit, factor, type, sortkey) " .
2048
    "VALUES (?, ?, ?, ?, ?)";
2049
  do_query($form, $dbh, $query, $name, $base_unit, $factor, $type, $sortkey);
2041
  $query = "INSERT INTO units (name, base_unit, factor, sortkey) " .
2042
    "VALUES (?, ?, ?, ?)";
2043
  do_query($form, $dbh, $query, $name, $base_unit, $factor, $sortkey);
2050 2044

  
2051 2045
  if ($languages) {
2052 2046
    $query = "INSERT INTO units_language (unit, language_id, localized, localized_plural) VALUES (?, ?, ?, ?)";
......
2067 2061
sub save_units {
2068 2062
  $main::lxdebug->enter_sub();
2069 2063

  
2070
  my ($self, $myconfig, $form, $type, $units, $delete_units) = @_;
2064
  my ($self, $myconfig, $form, $units, $delete_units) = @_;
2071 2065

  
2072 2066
  my $dbh = $form->dbconnect_noauto($myconfig);
2073 2067

  
......
2125 2119
sub swap_units {
2126 2120
  $main::lxdebug->enter_sub();
2127 2121

  
2128
  my ($self, $myconfig, $form, $dir, $name_1, $unit_type) = @_;
2122
  my ($self, $myconfig, $form, $dir, $name_1) = @_;
2129 2123

  
2130 2124
  my $dbh = $form->dbconnect_noauto($myconfig);
2131 2125

  
......
2136 2130

  
2137 2131
  $query =
2138 2132
    qq|SELECT sortkey FROM units | .
2139
    qq|WHERE sortkey | . ($dir eq "down" ? ">" : "<") . qq| ? AND type = ? | .
2133
    qq|WHERE sortkey | . ($dir eq "down" ? ">" : "<") . qq| ? | .
2140 2134
    qq|ORDER BY sortkey | . ($dir eq "down" ? "ASC" : "DESC") . qq| LIMIT 1|;
2141
  my ($sortkey_2) = selectrow_query($form, $dbh, $query, $sortkey_1, $unit_type);
2135
  my ($sortkey_2) = selectrow_query($form, $dbh, $query, $sortkey_1);
2142 2136

  
2143 2137
  if (defined($sortkey_1)) {
2144 2138
    $query = qq|SELECT name FROM units WHERE sortkey = ${sortkey_2}|;
SL/DO.pm
813 813

  
814 814
  my $dbh         = $form->get_standard_dbh($myconfig);
815 815

  
816
  my $units       = AM->retrieve_units($myconfig, $form, "dimension");
816
  my $units       = AM->retrieve_units($myconfig, $form);
817 817

  
818 818
  my ($partunit)  = selectrow_query($form, $dbh, qq|SELECT unit FROM parts WHERE id = ?|, conv_i($params{parts_id}));
819 819
  my $unit_factor = $units->{$partunit}->{factor} || 1;
SL/IS.pm
1828 1828

  
1829 1829
  my $i  = 1;
1830 1830
  my $id = 0;
1831
  my $dimension_units = AM->retrieve_units($myconfig, $form, "dimension");
1832
  my $service_units = AM->retrieve_units($myconfig, $form, "service");
1833 1831
  my $all_units = AM->retrieve_units($myconfig, $form);
1834 1832
  while (($form->{"id_$i"}) or ($form->{"new_id_$i"})) {
1835 1833
    $form->{"PRICES"}{$i} = [];
......
1862 1860
    # vergleichen und bei Unterschied den Preis entsprechend umrechnen.
1863 1861
    $form->{"selected_unit_$i"} = $form->{"unit_$i"} unless ($form->{"selected_unit_$i"});
1864 1862

  
1865
    my $check_units = $form->{"inventory_accno_$i"} ? $dimension_units : $service_units;
1866
    if (!$check_units->{$form->{"selected_unit_$i"}} ||
1867
        ($check_units->{$form->{"selected_unit_$i"}}->{"base_unit"} ne
1863
    if (!$all_units->{$form->{"selected_unit_$i"}} ||
1864
        ($all_units->{$form->{"selected_unit_$i"}}->{"base_unit"} ne
1868 1865
         $all_units->{$form->{"unit_old_$i"}}->{"base_unit"})) {
1869 1866
      # Die ausgewaehlte Einheit ist fuer diesen Artikel nicht gueltig
1870 1867
      # (z.B. Dimensionseinheit war ausgewaehlt, es handelt sich aber
bin/mozilla/am.pl
2586 2586

  
2587 2587
  $auth->assert('config');
2588 2588

  
2589
  $units = AM->retrieve_units(\%myconfig, $form, $form->{"unit_type"}, "resolved_");
2589
  $units = AM->retrieve_units(\%myconfig, $form, "resolved_");
2590 2590
  AM->units_in_use(\%myconfig, $form, $units);
2591 2591
  map({ $units->{$_}->{"BASE_UNIT_DDBOX"} = AM->unit_select_data($units, $units->{$_}->{"base_unit"}, 1); } keys(%{$units}));
2592 2592

  
......
2610 2610
    $i++;
2611 2611
  }
2612 2612

  
2613
  $units = AM->retrieve_units(\%myconfig, $form, $form->{"unit_type"});
2613
  $units = AM->retrieve_units(\%myconfig, $form);
2614 2614
  $ddbox = AM->unit_select_data($units, undef, 1);
2615 2615

  
2616
  my $updownlink = build_std_url("action=swap_units", "unit_type");
2616
  my $updownlink = build_std_url("action=swap_units");
2617 2617

  
2618
  $form->{"title"} = sprintf($locale->text("Add and edit %s"), $form->{"unit_type"} eq "dimension" ? $locale->text("dimension units") : $locale->text("service units"));
2618
  $form->{"title"} = $locale->text("Add and edit units");
2619 2619
  $form->header();
2620 2620
  print($form->parse_html_template("am/edit_units",
2621 2621
                                   { "UNITS"               => \@unit_list,
......
2632 2632
  $auth->assert('config');
2633 2633

  
2634 2634
  $form->isblank("new_name", $locale->text("The name is missing."));
2635
  $units = AM->retrieve_units(\%myconfig, $form, $form->{"unit_type"});
2635
  $units = AM->retrieve_units(\%myconfig, $form);
2636 2636
  $all_units = AM->retrieve_units(\%myconfig, $form);
2637 2637
  $form->show_generic_error($locale->text("A unit with this name does already exist.")) if ($all_units->{$form->{"new_name"}});
2638 2638

  
......
2655 2655
         });
2656 2656
  }
2657 2657

  
2658
  AM->add_unit(\%myconfig, $form, $form->{"new_name"}, $base_unit, $factor, $form->{"unit_type"}, \@languages);
2658
  AM->add_unit(\%myconfig, $form, $form->{"new_name"}, $base_unit, $factor, \@languages);
2659 2659

  
2660 2660
  $form->{"saved_message"} = $locale->text("The unit has been saved.");
2661 2661

  
......
2689 2689

  
2690 2690
  $auth->assert('config');
2691 2691

  
2692
  $old_units = AM->retrieve_units(\%myconfig, $form, $form->{"unit_type"}, "resolved_");
2692
  $old_units = AM->retrieve_units(\%myconfig, $form, "resolved_");
2693 2693
  AM->units_in_use(\%myconfig, $form, $old_units);
2694 2694

  
2695 2695
  @languages = AM->language(\%myconfig, $form, 1);
......
2755 2755
    }
2756 2756
  }
2757 2757

  
2758
  AM->save_units(\%myconfig, $form, $form->{"unit_type"}, $new_units, \@delete_units);
2758
  AM->save_units(\%myconfig, $form, $new_units, \@delete_units);
2759 2759

  
2760 2760
  $form->{"saved_message"} = $locale->text("The units have been saved.");
2761 2761

  
......
2885 2885
  $auth->assert('config');
2886 2886

  
2887 2887
  my $dir = $form->{"dir"} eq "down" ? "down" : "up";
2888
  my $unit_type = $form->{"unit_type"} eq "dimension" ?
2889
    "dimension" : "service";
2890
  AM->swap_units(\%myconfig, $form, $dir, $form->{"name"}, $unit_type);
2888
  AM->swap_units(\%myconfig, $form, $dir, $form->{"name"});
2891 2889

  
2892 2890
  edit_units();
2893 2891

  
bin/mozilla/do.pl
933 933

  
934 934
  my $part_info  = IC->get_basic_part_info('id' => $form->{parts_id});
935 935

  
936
  my $units      = AM->retrieve_units(\%myconfig, $form, "dimension");
936
  my $units      = AM->retrieve_units(\%myconfig, $form);
937 937
  my $units_data = AM->unit_select_data($units, undef, undef, $part_info->{unit});
938 938

  
939 939
  $form->get_lists('warehouses' => { 'key'    => 'WAREHOUSES',
......
979 979

  
980 980
  my $part_info  = IC->get_basic_part_info('id' => $form->{parts_id});
981 981

  
982
  my $units      = AM->retrieve_units(\%myconfig, $form, "dimension");
982
  my $units      = AM->retrieve_units(\%myconfig, $form);
983 983
  my $units_data = AM->unit_select_data($units, undef, undef, $part_info->{unit});
984 984

  
985 985
  my @contents   = DO->get_item_availability('parts_id' => $form->{parts_id});
......
1063 1063
  my @all_requests;
1064 1064

  
1065 1065
  if (@part_ids) {
1066
    my $units         = AM->retrieve_units(\%myconfig, $form, "dimension");
1066
    my $units         = AM->retrieve_units(\%myconfig, $form);
1067 1067
    my %part_info_map = IC->get_basic_part_info('id' => \@part_ids);
1068 1068
    my %request_map;
1069 1069

  
......
1120 1120
  my @all_requests;
1121 1121

  
1122 1122
  if (@part_ids) {
1123
    my $units         = AM->retrieve_units(\%myconfig, $form, "dimension");
1123
    my $units         = AM->retrieve_units(\%myconfig, $form);
1124 1124
    my %part_info_map = IC->get_basic_part_info('id' => \@part_ids);
1125 1125
    my %request_map;
1126 1126

  
bin/mozilla/ic.pl
1477 1477
  # use JavaScript Calendar or not (yes!)
1478 1478
  $form->{jsscript} = 1;
1479 1479

  
1480
  $units = AM->retrieve_units(\%myconfig, $form, $form->{"item"} eq "service" ? "service" : "dimension");
1480
  $units = AM->retrieve_units(\%myconfig, $form);
1481 1481
  $form->{ALL_UNITS} = [ map +{ name => $_ }, sort { $units->{$a}{sortkey} <=> $units->{$b}{sortkey} } keys %$units ];
1482 1482

  
1483 1483
  $form->{fokus} = "ic.partnumber";
bin/mozilla/invoice_io.pl
117 117
#  }
118 118
############### ENDE Neueintrag ##################
119 119
#
120
#  my $dimension_units = AM->retrieve_units(\%myconfig, $form, "dimension");
121
#  my $service_units = AM->retrieve_units(\%myconfig, $form, "service");
122 120
#  my $all_units = AM->retrieve_units(\%myconfig, $form);
121
#  my $dimension_units = $all_units;
122
#  my $service_units = $all_units;
123 123
#
124 124
#  my %price_factors = map { $_->{id} => $_->{factor} } @{ $form->{ALL_PRICE_FACTORS} };
125 125
#
bin/mozilla/io.pl
150 150
  my @column_index = map { $_->{id} } grep { $_->{display} } @HEADER;
151 151

  
152 152
  # cache units
153
  my $dimension_units = AM->retrieve_units(\%myconfig, $form, "dimension");
154
  my $service_units   = AM->retrieve_units(\%myconfig, $form, "service");
155 153
  my $all_units       = AM->retrieve_units(\%myconfig, $form);
156 154

  
157 155
  my %price_factors   = map { $_->{id} => $_->{factor} } @{ $form->{ALL_PRICE_FACTORS} };
......
200 198
    $form->{"unit_old_$i"}      ||= $form->{"unit_$i"};
201 199
    $form->{"selected_unit_$i"} ||= $form->{"unit_$i"};
202 200

  
203
    my $local_units = $form->{"inventory_accno_$i"} || $form->{"assembly_$i"} ? $dimension_units 
204
                    : $form->{"id_$i"}                                        ? $service_units 
205
                    :                                                           $all_units;
206
    if (   !$local_units->{$form->{"selected_unit_$i"}}                                          # Die ausgewaehlte Einheit ist fuer diesen Artikel nicht gueltig
201
    if (   !$all_units->{$form->{"selected_unit_$i"}}                                            # Die ausgewaehlte Einheit ist fuer diesen Artikel nicht gueltig
207 202
        || !AM->convert_unit($form->{"selected_unit_$i"}, $form->{"unit_old_$i"}, $all_units)) { # (z.B. Dimensionseinheit war ausgewaehlt, es handelt sich aber
208 203
      $form->{"unit_old_$i"} = $form->{"selected_unit_$i"} = $form->{"unit_$i"};                 # um eine Dienstleistung). Dann keinerlei Umrechnung vornehmen.
209 204
    }
......
230 225
      $column_data{price_factor} = '&nbsp;';
231 226
    }
232 227

  
233
    $column_data{"unit"} = AM->unit_select_html($local_units, "unit_$i", $this_unit, $form->{"id_$i"} ? $form->{"unit_$i"} : undef);
228
    $column_data{"unit"} = AM->unit_select_html($all_units, "unit_$i", $this_unit, $form->{"id_$i"} ? $form->{"unit_$i"} : undef);
234 229
# / unit ending
235 230

  
236 231
    $form->{"sellprice_$i"} =~ /\.(\d+)/;
bin/mozilla/wh.pl
78 78

  
79 79
  show_no_warehouses_error() if (!scalar @{ $form->{WAREHOUSES} });
80 80

  
81
  my $units      = AM->retrieve_units(\%myconfig, $form, 'dimension');
81
  my $units      = AM->retrieve_units(\%myconfig, $form);
82 82
  $form->{UNITS} = AM->unit_select_data($units, $form->{unit}, 0, $form->{partunit});
83 83

  
84 84
  if (scalar @{ $form->{WAREHOUSES} }) {
......
158 158

  
159 159
  $form->show_generic_error($locale->text("The selected warehouse is empty.")) if (0 == scalar(@contents));
160 160

  
161
  my $all_units = AM->retrieve_units(\%myconfig, $form, 'dimension');
161
  my $all_units = AM->retrieve_units(\%myconfig, $form);
162 162

  
163 163
  foreach (@contents) {
164 164
    $_->{qty} = $form->format_amount_units('amount'     => $_->{qty},
......
201 201

  
202 202
  $form->{sort} = 'bindescription';
203 203
  my @contents  = WH->get_warehouse_report("warehouse_id" => $form->{warehouse_id});
204
  my $all_units = AM->retrieve_units(\%myconfig, $form, 'dimension');
204
  my $all_units = AM->retrieve_units(\%myconfig, $form);
205 205

  
206 206
  my @transfers;
207 207

  
......
402 402

  
403 403
  $form->{sort} = 'bindescription';
404 404
  my @contents  = WH->get_warehouse_report("warehouse_id" => $form->{warehouse_id});
405
  my $all_units = AM->retrieve_units(\%myconfig, $form, 'dimension');
405
  my $all_units = AM->retrieve_units(\%myconfig, $form);
406 406

  
407 407
  my @transfers;
408 408

  
locale/de/all
137 137
  'Add Vendor Invoice'          => 'Einkaufsrechnung erfassen',
138 138
  'Add Warehouse'               => 'Lager erfassen',
139 139
  'Add a new group'             => 'Neue Gruppe erfassen',
140
  'Add and edit %s'             => '%s hinzuf&uuml;gen und bearbeiten',
140
  'Add and edit units'          => 'Einheiten erfassen und bearbeiten',
141 141
  'Add custom variable'         => 'Benutzerdefinierte Variable erfassen',
142 142
  'Add note'                    => 'Notiz erfassen',
143 143
  'Add to group'                => 'Zu Gruppe hinzuf?gen',
......
471 471
  'Destination warehouse and bin' => 'Ziellager und -lagerplatz',
472 472
  'Difference'                  => 'Differenz',
473 473
  'Dimension unit'              => 'Ma&szlig;einheit',
474
  'Dimension units'             => 'Ma&szlig;einheiten',
475 474
  'Directory'                   => 'Verzeichnis',
476 475
  'Discount'                    => 'Rabatt',
477 476
  'Display'                     => 'Anzeigen',
......
1238 1237
  'Service Items'               => 'Dienstleistungen',
1239 1238
  'Service Number missing!'     => 'Dienstleistungsnummer fehlt!',
1240 1239
  'Service unit'                => 'Dienstleistungseinheit',
1241
  'Service units'               => 'Dienstleistungseinheiten',
1242 1240
  'Services'                    => 'Dienstleistungen',
1243 1241
  'Set Language Values'         => 'Spracheinstellungen',
1244 1242
  'Set eMail text'              => 'eMail Text eingeben',
......
1517 1515
  'Unit'                        => 'Einheit',
1518 1516
  'Unit missing.'               => 'Die Einheit fehlt.',
1519 1517
  'Unit of measure'             => 'Ma?einheit',
1520
  'Units'                       => 'Einheiten',
1518
  'Units marked for deletion will be deleted upon saving.' => 'Einheiten, die zum L&ouml;schen markiert sind, werden beim Speichern gel&ouml;scht.',
1519
  '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&ouml;nnen nachtr&auml;glich nicht mehr ver&auml;ndert werden.',
1521 1520
  'Unknown Category'            => 'Unbekannte Kategorie',
1522 1521
  'Unknown Link'                => 'Unbekannte Verkn?pfung',
1523 1522
  'Unknown chart of accounts'   => 'Unbekannter Kontenrahmen',
......
1599 1598
  'You can also create new units now.' => 'Sie k&ouml;nnen jetzt auch neue Einheiten anlegen.',
1600 1599
  'You can create a missing dataset by going back and chosing &quot;Create Dataset&quot;.' => 'Sie k&ouml;nnen eine fehlende Datenbank erstellen, indem Sie jetzt zu&uuml;ck gehen und den Punkt &quot;Datenbank anlegen&quot; w&auml;hlen.',
1601 1600
  'You can create warehouses and bins via the menu "System -> Warehouses".' => 'Sie k&ouml;nnen Lager und Lagerpl&auml;tze &uuml;ber das Men&uuml; "System -> Lager" anlegen.',
1601
  'You can declare different translations for singular and plural for each unit (e.g. &quot;day&quot; and &quot;days).' => 'Bei den &Uuml;bersetzungen k&ouml;nnen Sie unterschiedliche Varianten f&uuml;r singular und plural angeben (z.B. &quot;day&quot; und &quot;days&quot;).',
1602 1602
  'You can only delete datasets that are not in use.' => 'Sie k&ouml;nnen nur Datenbanken l&ouml;schen, die momentan nicht in Benutzung sind.',
1603 1603
  '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&ouml;nnen im Langtext und allen ?bersetzungen die folgenden Variablen benutzen, die vor der Ausgabe von Lx-Office automatisch ersetzt werden:',
1604 1604
  'You cannot continue before all required modules are installed.' => 'Sie k&ouml;nnen nicht fortfahren, bevor alle ben&ouml;tigten Pakete installiert sind.',
......
1653 1653
  'debug'                       => 'Debug',
1654 1654
  'delete'                      => 'L?schen',
1655 1655
  'deliverydate'                => 'Lieferdatum',
1656
  'dimension units'             => 'Ma&szlig;einheiten',
1657 1656
  'disposed'                    => 'Entsorgung',
1658 1657
  'done'                        => 'erledigt',
1659 1658
  'down'                        => 'runter',
......
1723 1722
  'saved!'                      => 'gespeichert',
1724 1723
  'sent'                        => 'gesendet',
1725 1724
  'sent to printer'             => 'an Drucker geschickt',
1726
  'service units'               => 'Dienstleistungseinheiten',
1727 1725
  'service_list'                => 'dienstleistungsliste',
1728 1726
  'shipped'                     => 'verschickt',
1729 1727
  'singular first char'         => 'S',
locale/de/am
60 60
  'Add Price Factor'            => 'Preisfaktor erfassen',
61 61
  'Add Printer'                 => 'Drucker hinzuf?gen',
62 62
  'Add Warehouse'               => 'Lager erfassen',
63
  'Add and edit %s'             => '%s hinzuf&uuml;gen und bearbeiten',
63
  'Add and edit units'          => 'Einheiten erfassen und bearbeiten',
64 64
  'Address'                     => 'Adresse',
65 65
  'Advance turnover tax return' => 'Umsatzsteuervoranmeldung',
66 66
  'All reports'                 => 'Alle Berichte (Konten&uuml;bersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)',
......
304 304
  'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Fehlende Parameter in "DB_config". Ben&ouml;tigte Parameter sind "host", "db" und "user".',
305 305
  '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&ouml;tigt werden "host", "attribute" und "base_dn".',
306 306
  'customer'                    => 'Kunde',
307
  'dimension units'             => 'Ma&szlig;einheiten',
308 307
  'down'                        => 'runter',
309 308
  'invoice'                     => 'Rechnung',
310 309
  'lead deleted!'               => 'Kundenquelle gel?scht',
......
317 316
  'request_quotation'           => 'Angebotsanforderung',
318 317
  'sales_order'                 => 'Kundenauftrag',
319 318
  'sales_quotation'             => 'Verkaufsangebot',
320
  'service units'               => 'Dienstleistungseinheiten',
321 319
  'up'                          => 'hoch',
322 320
  'use program settings'        => 'benutze Programmeinstellungen',
323 321
  'vendor'                      => 'Lieferant',
locale/de/ca
5 5
  'AP'                          => 'Einkauf',
6 6
  'AR'                          => 'Verkauf',
7 7
  'Account'                     => 'Konto',
8
  'Accrual'                     => 'Bilanzierung',
9 8
  'Advance turnover tax return' => 'Umsatzsteuervoranmeldung',
10 9
  'All reports'                 => 'Alle Berichte (Konten&uuml;bersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)',
11 10
  'Apr'                         => 'Apr',
......
16 15
  'Bcc'                         => 'Bcc',
17 16
  'Bin List'                    => 'Lagerliste',
18 17
  'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Die Anmeldung am LDAP-Server als "#1" schlug fehl. Bitte &uuml;berpr&uuml;fen Sie die Angaben in config/authentication.pl.',
19
  'Bis'                         => 'bis',
20 18
  'CANCELED'                    => 'Storniert',
21 19
  'CSV export -- options'       => 'CSV-Export -- Optionen',
22 20
  'Cc'                          => 'Cc',
......
41 39
  'Create and edit vendor invoices' => 'Eingangsrechnungen erfassen und bearbeiten',
42 40
  'Credit'                      => 'Haben',
43 41
  'Credit Note'                 => 'Gutschrift',
44
  'Customized Report'           => 'Vorgew?hlte Zeitr?ume',
45 42
  'DATEV Export'                => 'DATEV-Export',
46 43
  'DELETED'                     => 'Gel?scht',
47 44
  'DUNNING STARTED'             => 'Mahnprozess gestartet',
......
50 47
  'Debit'                       => 'Soll',
51 48
  'Dec'                         => 'Dez',
52 49
  'December'                    => 'Dezember',
53
  'Decimalplaces'               => 'Dezimalstellen',
54 50
  'Delivery Order'              => 'Lieferschein',
55 51
  'Department'                  => 'Abteilung',
56 52
  'Dependency loop detected:'   => 'Schleife in den Abh&auml;ngigkeiten entdeckt:',
57 53
  'Description'                 => 'Beschreibung',
58 54
  'Directory'                   => 'Verzeichnis',
59 55
  'ELSE'                        => 'Zusatz',
60
  'EUR'                         => 'E/?-Rechnung',
61 56
  'Error in database control file \'%s\': %s' => 'Fehler in Datenbankupgradekontrolldatei \'%s\': %s',
62
  'Falsches Datumsformat!'      => 'Falsches Datumsformat!',
63 57
  'Feb'                         => 'Feb',
64 58
  'February'                    => 'Februar',
65 59
  'File'                        => 'Datei',
66
  'Free report period'          => 'Freier Zeitraum',
67 60
  'From'                        => 'Von',
68 61
  'General ledger and cash'     => 'Finanzbuchhaltung und Zahlungsverkehr',
62
  'Include in Report'           => 'In Bericht aufnehmen',
69 63
  'Invoice'                     => 'Rechnung',
70 64
  'Jan'                         => 'Jan',
71 65
  'January'                     => 'Januar',
......
83 77
  'May '                        => 'Mai',
84 78
  'May set the BCC field when sending emails' => 'Beim Verschicken von Emails das Feld \'BCC\' setzen',
85 79
  'Message'                     => 'Nachricht',
86
  'Method'                      => 'Verfahren',
87 80
  'Missing \'description\' field.' => 'Fehlendes Feld \'description\'.',
88 81
  'Missing \'tag\' field.'      => 'Fehlendes Feld \'tag\'.',
89 82
  'Missing parameter #1 in call to sub #2.' => 'Fehlernder Parameter \'#1\' in Funktionsaufruf \'#2\'.',
90
  'Monthly'                     => 'monatlich',
91 83
  'More than one control file with the tag \'%s\' exist.' => 'Es gibt mehr als eine Kontrolldatei mit dem Tag \'%s\'.',
92 84
  'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'Es wurde kein oder ein unbekanntes Authentifizierungsmodul in "config/authentication.pl" angegeben.',
93 85
  'Nov'                         => 'Nov',
......
106 98
  'Proforma Invoice'            => 'Proformarechnung',
107 99
  'Project Number'              => 'Projektnummer',
108 100
  'Purchase Order'              => 'Lieferantenauftrag',
109
  'Quarter'                     => 'Quartal',
110
  'Quarterly'                   => 'quartalsweise',
111 101
  'Quotation'                   => 'Angebot',
112 102
  'RFQ'                         => 'Anfrage',
113 103
  'Receipt, payment, reconciliation' => 'Zahlungseingang, Zahlungsausgang, Kontenabgleich',
......
121 111
  'Storno Invoice'              => 'Stornorechnung',
122 112
  'Storno Packing List'         => 'Stornolieferschein',
123 113
  'Subject'                     => 'Betreff',
114
  'Subtotal'                    => 'Zwischensumme',
124 115
  'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'Das Feld \'tag\' darf nur aus alphanumerischen Zeichen und den Zeichen - _ ( ) bestehen.',
125 116
  'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'Der LDAP-Server "#1:#2" ist nicht erreichbar. Bitte &uuml;berpr&uuml;fen Sie die Angaben in config/authentication.pl.',
126 117
  'The config file "config/authentication.pl" contained invalid Perl code:' => 'Die Konfigurationsdatei "config/authentication.pl" enthielt ung&uuml;tigen Perl-Code:',
......
130 121
  'The connection to the template database failed:' => 'Die Verbindung zur Vorlagendatenbank schlug fehl:',
131 122
  'The creation of the authentication database failed:' => 'Das Anlegen der Authentifizierungsdatenbank schlug fehl:',
132 123
  'The list has been printed.'  => 'Die Liste wurde ausgedruckt.',
124
  'To'                          => 'An',
133 125
  'To (email)'                  => 'An',
134 126
  'Transactions, AR transactions, AP transactions' => 'Dialogbuchen, Debitorenrechnungen, Kreditorenrechnungen',
135 127
  'Unknown dependency \'%s\'.'  => 'Unbekannte Abh&auml;ngigkeit \'%s\'.',
136 128
  'View warehouse content'      => 'Lagerbestand ansehen',
137 129
  'Warehouse management'        => 'Lagerverwaltung/Bestandsver?nderung',
138
  'YYYY'                        => 'JJJJ',
139
  'Year'                        => 'Jahr',
140
  'Yearly'                      => 'j?hrlich',
141 130
  'You do not have the permissions to access this function.' => 'Sie verf&uuml;gen nicht &uuml;ber die notwendigen Rechte, um auf diese Funktion zuzugreifen.',
142 131
  '[email]'                     => '[email]',
143 132
  'bin_list'                    => 'Lagerliste',
144
  'button'                      => '?',
145 133
  'chart_of_accounts'           => 'kontenuebersicht',
146 134
  'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Das Schl&uuml;sselwort "DB_config" fehlt.',
147 135
  'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Der Schl&uuml;ssel "LDAP_config" fehlt.',
......
158 146
  'request_quotation'           => 'Angebotsanforderung',
159 147
  'sales_order'                 => 'Kundenauftrag',
160 148
  'sales_quotation'             => 'Verkaufsangebot',
161
  'wrongformat'                 => 'Falsches Format',
162 149
};
163 150

  
164 151
$self->{subs} = {
locale/de/menu
78 78
  'Delivery Orders'             => 'Lieferscheine',
79 79
  'Departments'                 => 'Abteilungen',
80 80
  'Dependency loop detected:'   => 'Schleife in den Abh&auml;ngigkeiten entdeckt:',
81
  'Dimension units'             => 'Ma&szlig;einheiten',
82 81
  'Directory'                   => 'Verzeichnis',
83 82
  'Dunnings'                    => 'Mahnungen',
84 83
  'Edit Access Rights'          => 'Zugriffsrechte bearbeiten',
85 84
  'Edit Dunning'                => 'Mahnungen konfigurieren',
85
  'Edit units'                  => 'Einheiten bearbeiten',
86 86
  'Error in database control file \'%s\': %s' => 'Fehler in Datenbankupgradekontrolldatei \'%s\': %s',
87 87
  'File'                        => 'Datei',
88 88
  'Follow-Ups'                  => 'Wiedervorlagen',
......
149 149
  'Reports'                     => 'Berichte',
150 150
  'Sales Invoices'              => 'Kundenrechnung',
151 151
  'Sales Orders'                => 'Auftr?ge',
152
  'Service units'               => 'Dienstleistungseinheiten',
153 152
  'Services'                    => 'Dienstleistungen',
154 153
  'Shipto'                      => 'Lieferanschriften',
155 154
  'Show TODO list'              => 'Aufgabenliste anzeigen',
......
174 173
  'Type of Business'            => 'Kunden-/Lieferantentyp',
175 174
  'UStVa'                       => 'UStVa',
176 175
  'UStVa Einstellungen'         => 'UStVa Einstellungen',
177
  'Units'                       => 'Einheiten',
178 176
  'Unknown dependency \'%s\'.'  => 'Unbekannte Abh&auml;ngigkeit \'%s\'.',
179 177
  'Update Prices'               => 'Preise aktualisieren',
180 178
  'Vendor Invoices'             => 'Einkaufsrechnungen',
locale/de/menunew
77 77
  'Delivery Orders'             => 'Lieferscheine',
78 78
  'Departments'                 => 'Abteilungen',
79 79
  'Dependency loop detected:'   => 'Schleife in den Abh&auml;ngigkeiten entdeckt:',
80
  'Dimension units'             => 'Ma&szlig;einheiten',
81 80
  'Directory'                   => 'Verzeichnis',
82 81
  'Dunnings'                    => 'Mahnungen',
83 82
  'Edit Access Rights'          => 'Zugriffsrechte bearbeiten',
84 83
  'Edit Dunning'                => 'Mahnungen konfigurieren',
84
  'Edit units'                  => 'Einheiten bearbeiten',
85 85
  'Error in database control file \'%s\': %s' => 'Fehler in Datenbankupgradekontrolldatei \'%s\': %s',
86 86
  'File'                        => 'Datei',
87 87
  'Follow-Ups'                  => 'Wiedervorlagen',
......
148 148
  'Reports'                     => 'Berichte',
149 149
  'Sales Invoices'              => 'Kundenrechnung',
150 150
  'Sales Orders'                => 'Auftr?ge',
151
  'Service units'               => 'Dienstleistungseinheiten',
152 151
  'Services'                    => 'Dienstleistungen',
153 152
  'Shipto'                      => 'Lieferanschriften',
154 153
  'Show TODO list'              => 'Aufgabenliste anzeigen',
......
173 172
  'Type of Business'            => 'Kunden-/Lieferantentyp',
174 173
  'UStVa'                       => 'UStVa',
175 174
  'UStVa Einstellungen'         => 'UStVa Einstellungen',
176
  'Units'                       => 'Einheiten',
177 175
  'Unknown dependency \'%s\'.'  => 'Unbekannte Abh&auml;ngigkeit \'%s\'.',
178 176
  'Update Prices'               => 'Preise aktualisieren',
179 177
  'Vendor Invoices'             => 'Einkaufsrechnungen',
menu.ini
561 561
action=search
562 562
type=pricegroup
563 563

  
564
[System--Units]
565
module=menu.pl
566
action=acc_menu
567
target=acc_menu
568
submenu=1
569

  
570
[System--Units--Dimension units]
571
module=am.pl
572
action=edit_units
573
unit_type=dimension
574

  
575
[System--Units--Service units]
564
[System--Edit units]
576 565
module=am.pl
577 566
action=edit_units
578
unit_type=service
579 567

  
580 568
[System--Price Factors]
581 569
module=menu.pl
sql/Pg-upgrade2/units_no_type_distinction.sql
1
-- @tag: units_no_type_distinction
2
-- @description: Aufhebung der Typenunterscheidung bei Einheiten
3
-- @depends: release_2_4_3
4
ALTER TABLE units ALTER COLUMN type DROP NOT NULL;
5

  
templates/webpages/am/edit_units_de.html
9 9
 <form method="post" action="[% HTML.escape(script) %]">
10 10

  
11 11
 <input type="hidden" name="type" value="unit">
12
 <input type="hidden" name="unit_type" value="[% HTML.escape(unit_type) %]">
13 12

  
14 13
 <table width="100%">
15 14
  <tr>
......
72 71
 </table>
73 72

  
74 73
 <p>
75
  Einheiten, die bereits in Benutzung sind (z.B. bei einer
76
  Warendefinition, einer Rechnung oder bei einer Lagerbuchung)
77
  k&ouml;nnen nachtr&auml;glich nicht mehr ver&auml;ndert werden.
74
  Einheiten, die bereits in Benutzung sind (z.B. bei einer Warendefinition, einer Rechnung oder bei einer Lagerbuchung) k&ouml;nnen nachtr&auml;glich nicht mehr ver&auml;ndert werden.
78 75
 </p>
79 76

  
80 77
 <p>
81
  Einheiten, die zum L&ouml;schen markiert sind, werden beim Speichern
82
  gel&ouml;scht.
78
  Einheiten, die zum L&ouml;schen markiert sind, werden beim Speichern gel&ouml;scht.
83 79
 </p>
84 80

  
85 81
 <p>
86
  Bei den &Uuml;bersetzungen k&ouml;nnen Sie unterschiedliche
87
  Varianten f&uuml;r singular und plural angeben (z.B. &quot;day&quot;
88
  und &quot;days&quot;).
82
  Bei den &Uuml;bersetzungen k&ouml;nnen Sie unterschiedliche Varianten f&uuml;r singular und plural angeben (z.B. &quot;day&quot; und &quot;days&quot;).
89 83
 </p>
90 84

  
91 85
 <table>
templates/webpages/am/edit_units_master.html
9 9
 <form method="post" action="[% HTML.escape(script) %]">
10 10

  
11 11
 <input type="hidden" name="type" value="unit">
12
 <input type="hidden" name="unit_type" value="[% HTML.escape(unit_type) %]">
13 12

  
14 13
 <table width="100%">
15 14
  <tr>
......
72 71
 </table>
73 72

  
74 73
 <p>
75
  Einheiten, die bereits in Benutzung sind (z.B. bei einer
76
  Warendefinition, einer Rechnung oder bei einer Lagerbuchung)
77
  k&ouml;nnen nachtr&auml;glich nicht mehr ver&auml;ndert werden.
74
  <translate>Units that have already been used (e.g. for parts and
75
   services or in invoices or warehouse transactions) cannot be
76
   changed.</translate>
78 77
 </p>
79 78

  
80 79
 <p>
81
  Einheiten, die zum L&ouml;schen markiert sind, werden beim Speichern
82
  gel&ouml;scht.
80
  <translate>Units marked for deletion will be deleted upon
81
   saving.</translate>
83 82
 </p>
84 83

  
85 84
 <p>
86
  Bei den &Uuml;bersetzungen k&ouml;nnen Sie unterschiedliche
87
  Varianten f&uuml;r singular und plural angeben (z.B. &quot;day&quot;
88
  und &quot;days&quot;).
85
  <translate>You can declare different translations for singular and
86
   plural for each unit (e.g. &quot;day&quot; and
87
   &quot;days).</translate>
89 88
 </p>
90 89

  
91 90
 <table>

Auch abrufbar als: Unified diff