Tabellenimport¶
Der Tabellenimport importiert Daten aus Excel- oder CSV-Dateien. Wie in V1 kann eine Zeile zusammenhängend mehrere Haupttabellen befüllen: Kunde, Inventar, Kategorie-Zuordnung und Kalibrierung entstehen in einem Durchlauf und werden automatisch miteinander verknüpft.
Unterstützte Formate¶
| Format | Dateierweiterung | Hinweis |
|---|---|---|
| Excel | .xlsx, .xls |
Nur das erste Tabellenblatt wird importiert |
| CSV | .csv |
UTF-8 empfohlen |
Die erste nicht-leere Zeile wird als Überschriftszeile interpretiert; Leerzeilen werden übersprungen. Steht die Überschrift weiter unten (z. B. wegen Titelzeilen), lässt sie sich über „Überschriften in Zeile" ausdrücklich festlegen; steht zwischen Überschrift und Daten noch Vorspann (eine Einheiten- oder Hinweiszeile), sagt „Daten ab Zeile", wo die Daten wirklich beginnen. Pro Import werden bis zu 1000 Datenzeilen verarbeitet.
Einlesevorlagen: die Zuordnung einmal einstellen¶
Wiederkehrende Fremddateien — der Monatsexport eines Lieferanten, die Liste eines Kunden — bekommen eine Einlesevorlage. Sie hält fest, welche Spalte welches Feld füllt, wo Überschrift und Daten stehen, welche Ziele der Lauf anfassen darf und ob vorhandene Datensätze aktualisiert werden.
Anlegen: Datei einlesen, Zuordnung einstellen, dann „Als Vorlage speichern". Im Dialog lässt sich wählen, was neben der Zuordnung mitgeht (Zeilenlage, Umfang, Aktualisieren-Vorgabe). Anwenden: Vorlage in Schritt 1 auswählen — die Zuordnung sitzt sofort. Weicht die aktuelle Zuordnung von der gespeicherten ab, erscheint zusätzlich „Änderungen an … speichern".
Die Bindung ist doppelt geführt. Jede Vorlagenspalte merkt sich die Überschrift und den Spaltenbuchstaben. Beim Anwenden gilt die Überschrift zuerst, der Buchstabe als Rückfall. Eine eingefügte Spalte verschiebt damit nichts, und eine umbenannte Überschrift bricht die Vorlage nicht — anders als in V1, das ausschließlich über den Spaltenbuchstaben ging.
Eine Vorlage ist die vollständige Zuordnung. Spalten, die sie nicht nennt, bleiben unzugeordnet, statt von der Automatik nachträglich befüllt zu werden; einzelne Spalten lassen sich für den Lauf trotzdem abweichend einstellen.
Datumsformat je Spalte: Deutsche und ISO-Datumsangaben erkennt der Import selbst. Für mehrdeutige Formate (01/02/2026 ist je nach Herkunft der 1. Februar oder der 2. Januar) trägt die Vorlagenspalte ein Format wie m/d/Y; ohne Angabe bleibt ein solcher Wert unverändert, statt geraten zu werden.
Berechtigungen: Anwenden darf jeder, der importieren darf. Eine neue Vorlage anlegen verlangt import_template_saveas; ändern und löschen darf sie ihr Ersteller, fremde und mitgelieferte Vorlagen nur import_template_admin.
Einlesevorgabe: Dateien, die ihre Zuordnung mitbringen¶
Der Grid-Export kennt die Option „Feldnamen als zweite Zeile ausgeben". Eine so erzeugte Datei trägt in Zeile 1 die Beschriftungen, in Zeile 2 die technischen Feldnamen und ab Zeile 3 die Daten — das ist die Einlesevorgabe: exportieren, ausfüllen oder ergänzen, wieder importieren.
Der Import erkennt eine solche Feldnamen-Zeile selbst (die Mehrheit ihrer Zellen muss als Feldname auflösbar sein — api_name, Spaltenname oder V1-Code, auch qualifiziert wie customer:name), übernimmt daraus die Spaltenzuordnung und behandelt die Zeile nicht als Datenzeile. Die Oberfläche weist die Übernahme aus („Einlesevorgabe erkannt"); wer die Zeile doch als Daten meint, verwirft die Erkennung mit einem Klick. Spalten, die die Vorgabe nicht kennt (z. B. berechnete Exportspalten), bleiben unzugeordnet und können von Hand gemappt werden.
Import-Ablauf¶
Der Tabellenimport ist der vierte Reiter der Schnellerfassung (/inventory/quick-entry/table-import) und führt in vier Abschnitten durch den Lauf.
Schritt 1: Datei und Einlesevorlage¶
Datei wählen, optional eine Vorlage dazu, bei Bedarf Überschriften- und Datenzeile setzen. Nach der Dateiauswahl wird sofort eine Vorschau geladen:
Schritt 2: Was soll aus einer Zeile entstehen¶
Vier Ziele stehen zur Wahl (Inventar, Kunde, Kalibrierung, Kategorie) — das Gegenstück zu V1s Import-Checkboxen. Ohne eigene Auswahl entsteht, was die Zuordnung hergibt. Ein abgewähltes Ziel wird nicht geschrieben, auch wenn Spalten darauf zeigen; es verlangt dann auch keine Berechtigung, sodass eine Vorlage mit Kalibrierspalten auch für Benutzer ohne calibration_edit nutzbar bleibt. Ziele, für die die Berechtigung fehlt, sind gesperrt und als solche gekennzeichnet.
Schritt 3: Spaltenzuordnung¶
Jede erkannte Spalte wird automatisch einem Feld zugeordnet — erkannt werden Feldname (api_name), Feldbezeichnung, Spaltenname und V1-Metrologie-Code, jeweils je Ziel-Entität. Neben jeder Spalte stehen Beispielwerte aus der Datei, die Kopfzeile zählt mit („x von y Spalten zugeordnet"). Zwei Grenzen zieht die Automatik bewusst:
- Fremdschlüsselfelder werden nie automatisch zugeordnet. Eine Spalte „Kunde" trägt Klartext (den Kundennamen), kein uID — sie gehört auf
Kunde → Name, nicht auf das Verweisfeld des Inventars. - Mehrdeutige Überschriften bleiben offen. Passt eine Überschrift auf Felder mehrerer Entitäten, wird sie als „mehrdeutig" ausgewiesen statt geraten.
Jede Zeile zeigt dazu den Spaltenbuchstaben, Beispielwerte aus der Datei und — wo zutreffend — ein Schlüsselsymbol: über diese Spalte wird der Datensatz wiedergefunden. Fehlt einem aktiven Ziel die Schlüsselspalte, steht die Warnung über der Zuordnung, nicht erst im Ergebnis. Ein Filter blendet auf Wunsch nur die ungeklärten Spalten ein, und unter jeder gesetzten Zuordnung steht, woher sie stammt (aus Vorlage, aus der Feldnamen-Zeile, automatisch erkannt oder von Hand gesetzt).
Die Zuordnung kann pro Spalte geändert oder auf „ignorieren" gestellt werden. Ziel-Entitäten:
| Ziel | Erkennung / Verhalten |
|---|---|
| Inventar | Match über die Inventarnummer; anlegen oder (optional) aktualisieren |
| Kunde | Match über den Namen, ersatzweise die Kundennummer; anlegen oder (optional) aktualisieren. Neue Inventare der Zeile werden dem Kunden zugeordnet |
| Kalibrierung | Wird stets neu angelegt und mit dem Inventar der Zeile verknüpft; Duplikate (gleiches Gerät, Datum und Zertifikat) werden übersprungen |
| Kategorie | Match/Anlage über den Namen; das Inventar der Zeile wird der Kategorie zugeordnet |
Schritt 4: Prüfen und importieren¶
Die Vorschau zeigt je Zeile den Status (Neu / Update / Übersprungen) und die gemappten Werte. Mit der Option „Vorhandene aktualisieren" werden gefundene Kunden/Inventare aktualisiert, sonst übersprungen. Der Import läuft in einer Transaktion:
Nach dem Import¶
Der Ergebnis-Toast fasst zusammen: neu angelegte und aktualisierte Datensätze je Entität, verknüpfte Kategorien sowie übersprungene Zeilen.
Berechtigungen¶
Der Import-Einstieg erfordert inventory_edit. Sind Spalten auf weitere aktive Ziele gemappt, werden zusätzlich geprüft: customers_edit (Kunde), calibration_edit (Kalibrierung), category_edit (Kategorie). Geprüft wird dabei die tatsächlich angewendete Zuordnung, nicht nur die von Hand gesetzte — eine Spalte, die erst über Vorlage oder Automatik auf ein anderes Ziel zeigt, verlangt dasselbe Recht.
Für Einlesevorlagen kommen zwei eigene Rechte dazu:
| Recht | Erlaubt |
|---|---|
| (keins) | Vorhandene Vorlagen sehen und anwenden |
import_template_saveas |
Eine Zuordnung als neue Vorlage speichern |
import_template_admin |
Fremde und mitgelieferte Vorlagen ändern und löschen |
Die eigene Vorlage darf ihr Ersteller ohne Zusatzrecht ändern und löschen.
Siehe auch: Schnelleingabe · Inventar anlegen