Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 5d7c5a5b

Von Moritz Bunkus vor mehr als 11 Jahren hinzugefügt

  • ID 5d7c5a5b1375c5b6cf29fb48ea5a3de97ba24154
  • Vorgänger 3400fe7e
  • Nachfolger 4249eeff

CSV-Import Kunden/Lieferanten: Schalter für Behandlung bereits vorhandener Einträge

Conflicts:
SL/Controller/CsvImport/CustomerVendor.pm

Unterschiede anzeigen:

SL/Controller/CsvImport/Base.pm
423 423
}
424 424

  
425 425
1;
426

  
SL/Controller/CsvImport/CustomerVendor.pm
49 49

  
50 50
  $self->controller->track_progress(phase => 'building data', progress => 0);
51 51

  
52
  my $numbercolumn  = $self->controller->profile->get('table') . "number";
53
  my %vcs_by_number = map { ( $_->$numbercolumn => 1 ) } @{ $self->existing_objects };
52
  my $vc            = $self->controller->profile->get('table');
53
  my $update_policy = $self->controller->profile->get('update_policy') || 'update_existing';
54
  my $numbercolumn  = "${vc}number";
55
  my %vcs_by_number = map { ( $_->$numbercolumn => $_ ) } @{ $self->existing_objects };
56
  my $methods       = $self->controller->headers->{methods};
54 57

  
55 58
  my $i;
56 59
  my $num_data = scalar @{ $self->controller->data };
......
66 69

  
67 70
    next if @{ $entry->{errors} };
68 71

  
69
    if ($vcs_by_number{ $object->$numbercolumn }) {
70
      $entry->{object}->$numbercolumn('####');
71
    } else {
72
    my $existing_vc = $vcs_by_number{ $object->$numbercolumn };
73
    if (!$existing_vc) {
72 74
      $vcs_by_number{ $object->$numbercolumn } = $object;
75

  
76
    } elsif ($update_policy eq 'skip') {
77
      push(@{$entry->{errors}}, $::locale->text('Skipping due to existing entry in database'));
78

  
79
    } elsif ($update_policy eq 'update_existing') {
80
      # Update existing customer/vendor records.
81
      $entry->{object_to_save} = $existing_vc;
82

  
83
      $existing_vc->$_( $entry->{object}->$_ ) for @{ $methods };
84

  
85
      push @{ $entry->{information} }, $::locale->text('Updating existing entry in database');
86

  
87
    } else {
88
      $object->$numbercolumn('####');
73 89
    }
74 90
  } continue {
75 91
    $i++;
locale/de/all
854 854
  'Execution type'              => 'Ausführungsart',
855 855
  'Existing Buchungsgruppen'    => 'Existierende Buchungsgruppen',
856 856
  'Existing Datasets'           => 'Existierende Datenbanken',
857
  'Existing customers/vendors with same customer/vendor number' => 'Existierende Kunden/Lieferanten mit derselben Kunden-/Lieferantennummer',
857 858
  'Existing file on server'     => 'Auf dem Server existierende Datei',
858 859
  'Existing pending follow-ups for this item' => 'Noch nicht erledigte Wiedervorlagen für dieses Dokument',
859 860
  'Existing profiles'           => 'Existierende Profile',
......
992 993
  'If you want to change any of these parameters then press the "Back" button, edit the file "config/kivitendo.conf" and login into the admin module again.' => 'Wenn Sie einen der Parameter ändern wollen, so drücken Sie auf den "Zurück"-Button, bearbeiten Sie die Datei "config/kivitendo.conf", und melden Sie sich erneut im Administrationsbereich an.',
993 994
  'If you want to delete such a dataset you have to edit the user(s) that are using the dataset in question and have them use another dataset.' => 'Wenn Sie eine solche Datenbank löschen wollen, so müssen Sie zuerst die Benutzer bearbeiten, die die fragliche Datenbank benutzen, und sie so ändern, dass sie eine andere Datenbank benutzen.',
994 995
  'If you want to set up the authentication database yourself then log in to the administration panel. kivitendo will then create the database and tables for you.' => 'Wenn Sie die Authentifizierungs-Datenbank selber einrichten wollen, so melden Sie sich im Administrationsbereich an. kivitendo wird dann die Datenbank und die erforderlichen Tabellen für Sie anlegen.',
996
  'Illegal characters have been removed from the following fields: #1' => '',
995 997
  'Image'                       => 'Grafik',
996 998
  'Import'                      => 'Import',
997 999
  'Import CSV'                  => 'CSV-Import',
......
1026 1028
  'Increase'                    => 'Erhöhen',
1027 1029
  'Individual Items'            => 'Einzelteile',
1028 1030
  'Information'                 => 'Information',
1031
  'Insert with new customer/vendor number' => 'Mit neuer Kunden-/Lieferantennummer anlegen',
1029 1032
  'Insert with new part number' => 'Mit neuer Artikelnummer einfügen',
1030 1033
  'Interest'                    => 'Zinsen',
1031 1034
  'Interest Rate'               => 'Zinssatz',
......
1784 1787
  'Single values in item mode, cumulated values in invoice mode' => 'Einzelwerte im Artikelmodus, kumulierte Werte im Rechnungsmodus',
1785 1788
  'Skip'                        => 'Überspringen',
1786 1789
  'Skip entry'                  => 'Eintrag überspringen',
1787
  'Skipping due to existing entry in database' => 'Übersprungen, wegen existierender Artikelnummer',
1790
  'Skipping due to existing entry in database' => 'Wegen existierendem Eintrag mit selber Nummer übersprungen',
1788 1791
  'Skonto'                      => 'Skonto',
1789 1792
  'Skonto Terms'                => 'Zahlungsziel Skonto',
1790 1793
  'Sold'                        => 'Verkauft',
......
2211 2214
  'Update complete'             => 'Update beendet.',
2212 2215
  'Update prices'               => 'Preise aktualisieren',
2213 2216
  'Update prices of existing entries' => 'Preise von vorhandenen Artikeln aktualisieren',
2217
  'Update properties of existing entries' => 'Eigenschaften von existierenden Einträgen aktualisieren',
2214 2218
  'Update?'                     => 'Aktualisieren?',
2215 2219
  'Updated'                     => 'Erneuert am',
2220
  'Updating existing entry in database' => 'Existierenden Eintrag in Datenbank aktualisieren',
2216 2221
  'Updating prices of existing entry in database' => 'Preis des Eintrags in der Datenbank wird aktualisiert',
2217 2222
  'Uploaded on #1, size #2 kB'  => 'Am #1 hochgeladen, Größe #2 kB',
2218 2223
  'Use As New'                  => 'Als neu verwenden',
templates/webpages/csv_import/_form_customers_vendors.html
8 8
  [% L.select_tag('settings.table', opts, default = SELF.profile.get('table'), style = 'width: 300px') %]
9 9
 </td>
10 10
</tr>
11

  
12
<tr>
13
 <th align="right">[%- LxERP.t8('Existing customers/vendors with same customer/vendor number') %]:</th>
14
 <td colspan="10">
15
  [% opts = [ [ 'update_existing', LxERP.t8('Update properties of existing entries') ], [ 'insert_new', LxERP.t8('Insert with new customer/vendor number') ], [ 'skip', LxERP.t8('Skip entry') ] ] %]
16
  [% L.select_tag('settings.update_policy', opts, default = SELF.profile.get('update_policy'), style = 'width: 300px') %]
17
 </td>
18
</tr>

Auch abrufbar als: Unified diff