Revision 5d7c5a5b
Von Moritz Bunkus vor fast 12 Jahren hinzugefügt
SL/Controller/CsvImport/Base.pm | ||
---|---|---|
}
|
||
|
||
1;
|
||
|
SL/Controller/CsvImport/CustomerVendor.pm | ||
---|---|---|
|
||
$self->controller->track_progress(phase => 'building data', progress => 0);
|
||
|
||
my $numbercolumn = $self->controller->profile->get('table') . "number";
|
||
my %vcs_by_number = map { ( $_->$numbercolumn => 1 ) } @{ $self->existing_objects };
|
||
my $vc = $self->controller->profile->get('table');
|
||
my $update_policy = $self->controller->profile->get('update_policy') || 'update_existing';
|
||
my $numbercolumn = "${vc}number";
|
||
my %vcs_by_number = map { ( $_->$numbercolumn => $_ ) } @{ $self->existing_objects };
|
||
my $methods = $self->controller->headers->{methods};
|
||
|
||
my $i;
|
||
my $num_data = scalar @{ $self->controller->data };
|
||
... | ... | |
|
||
next if @{ $entry->{errors} };
|
||
|
||
if ($vcs_by_number{ $object->$numbercolumn }) {
|
||
$entry->{object}->$numbercolumn('####');
|
||
} else {
|
||
my $existing_vc = $vcs_by_number{ $object->$numbercolumn };
|
||
if (!$existing_vc) {
|
||
$vcs_by_number{ $object->$numbercolumn } = $object;
|
||
|
||
} elsif ($update_policy eq 'skip') {
|
||
push(@{$entry->{errors}}, $::locale->text('Skipping due to existing entry in database'));
|
||
|
||
} elsif ($update_policy eq 'update_existing') {
|
||
# Update existing customer/vendor records.
|
||
$entry->{object_to_save} = $existing_vc;
|
||
|
||
$existing_vc->$_( $entry->{object}->$_ ) for @{ $methods };
|
||
|
||
push @{ $entry->{information} }, $::locale->text('Updating existing entry in database');
|
||
|
||
} else {
|
||
$object->$numbercolumn('####');
|
||
}
|
||
} continue {
|
||
$i++;
|
locale/de/all | ||
---|---|---|
'Execution type' => 'Ausführungsart',
|
||
'Existing Buchungsgruppen' => 'Existierende Buchungsgruppen',
|
||
'Existing Datasets' => 'Existierende Datenbanken',
|
||
'Existing customers/vendors with same customer/vendor number' => 'Existierende Kunden/Lieferanten mit derselben Kunden-/Lieferantennummer',
|
||
'Existing file on server' => 'Auf dem Server existierende Datei',
|
||
'Existing pending follow-ups for this item' => 'Noch nicht erledigte Wiedervorlagen für dieses Dokument',
|
||
'Existing profiles' => 'Existierende Profile',
|
||
... | ... | |
'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.',
|
||
'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.',
|
||
'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.',
|
||
'Illegal characters have been removed from the following fields: #1' => '',
|
||
'Image' => 'Grafik',
|
||
'Import' => 'Import',
|
||
'Import CSV' => 'CSV-Import',
|
||
... | ... | |
'Increase' => 'Erhöhen',
|
||
'Individual Items' => 'Einzelteile',
|
||
'Information' => 'Information',
|
||
'Insert with new customer/vendor number' => 'Mit neuer Kunden-/Lieferantennummer anlegen',
|
||
'Insert with new part number' => 'Mit neuer Artikelnummer einfügen',
|
||
'Interest' => 'Zinsen',
|
||
'Interest Rate' => 'Zinssatz',
|
||
... | ... | |
'Single values in item mode, cumulated values in invoice mode' => 'Einzelwerte im Artikelmodus, kumulierte Werte im Rechnungsmodus',
|
||
'Skip' => 'Überspringen',
|
||
'Skip entry' => 'Eintrag überspringen',
|
||
'Skipping due to existing entry in database' => 'Übersprungen, wegen existierender Artikelnummer',
|
||
'Skipping due to existing entry in database' => 'Wegen existierendem Eintrag mit selber Nummer übersprungen',
|
||
'Skonto' => 'Skonto',
|
||
'Skonto Terms' => 'Zahlungsziel Skonto',
|
||
'Sold' => 'Verkauft',
|
||
... | ... | |
'Update complete' => 'Update beendet.',
|
||
'Update prices' => 'Preise aktualisieren',
|
||
'Update prices of existing entries' => 'Preise von vorhandenen Artikeln aktualisieren',
|
||
'Update properties of existing entries' => 'Eigenschaften von existierenden Einträgen aktualisieren',
|
||
'Update?' => 'Aktualisieren?',
|
||
'Updated' => 'Erneuert am',
|
||
'Updating existing entry in database' => 'Existierenden Eintrag in Datenbank aktualisieren',
|
||
'Updating prices of existing entry in database' => 'Preis des Eintrags in der Datenbank wird aktualisiert',
|
||
'Uploaded on #1, size #2 kB' => 'Am #1 hochgeladen, Größe #2 kB',
|
||
'Use As New' => 'Als neu verwenden',
|
templates/webpages/csv_import/_form_customers_vendors.html | ||
---|---|---|
[% L.select_tag('settings.table', opts, default = SELF.profile.get('table'), style = 'width: 300px') %]
|
||
</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<th align="right">[%- LxERP.t8('Existing customers/vendors with same customer/vendor number') %]:</th>
|
||
<td colspan="10">
|
||
[% 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') ] ] %]
|
||
[% L.select_tag('settings.update_policy', opts, default = SELF.profile.get('update_policy'), style = 'width: 300px') %]
|
||
</td>
|
||
</tr>
|
Auch abrufbar als: Unified diff
CSV-Import Kunden/Lieferanten: Schalter für Behandlung bereits vorhandener Einträge
Conflicts:
SL/Controller/CsvImport/CustomerVendor.pm