Datensatzbezeichner

So identifizieren Sie Datensätze in ABRA Flexi

Lenka Haringerová avatar
Verfasst von Lenka Haringerová
Vor über einer Woche aktualisiert

Name

Hinweis

Auszug aus

ABRA-Flexi-Bezeichner

Der von der Anwendung zugewiesene Bezeichner. Sie wird von ABRA Flexi zugewiesen und kann nicht geändert werden.

123

Code/Abkürzung

Benutzeridentifikation. Wird vom Benutzer zugewiesen und kann in der Anwendung geändert werden.

Code:CZK

Taste

Eindeutiger Zufallsbezeichner, der von ABRA Flexi an Dokumente vergeben wird (UUID-Attribut). Sie kann nicht geändert werden.

key:550e8400e29b41d4a716

PLU ist ein Identifikationscode, der beim Verkauf verwendet wird. Es handelt sich in der Regel um einen 4- oder 5-stelligen numerischen Code.

plu:4020

Der Datensatz wird durch einen EAN (Barcode) identifiziert. Ein Preislistenartikel kann sowohl über seine EAN als auch über die EAN seiner Verpackung zurückverfolgt werden. Die Anzahl der importierten Preislistenartikel ändert sich in diesem Fall nicht.

ean:4710937332698

Externer Bezeichner

Bezeichner aus einer externen Anwendung. Sie kann in der Anwendung nicht geändert werden. Kann von externen Systemen aus geändert werden. Sie besteht aus dem Bezeichner des externen Systems und dem Zeilenbezeichner in diesem System. Der externe Bezeichner muss für den gesamten Datensatz (z. B. faktura-vydana) eindeutig sein!

ext:SHOP:123

UMSATZSTEUER-ID

Kennung entsprechend der Steuernummer. In der Tschechischen Republik entspricht sie der Umsatzsteuer-Identifikationsnummer, in der Slowakei entspricht sie der Umsatzsteuer-ID.

vatid:CZ28019920

UMSATZSTEUER-ID

Kennung entsprechend der Umsatzsteuer-Identifikationsnummer.

in:28019920

IBAN

Kennung durch IBAN-Code.

iban:CZ1201000002801992

Dank der inkrementellen Aktualisierung ist es möglich, zusätzliche externe Bezeichner frei an bestehende Datensätze anzuhängen:

<?xml version="1.0"?>
<winstrom version="1.0">
  <cenik id="123">
    <id>ext:SHOP:abc</id>
    <id>ext:SYSTEM3:xyz</id>
  </cenik>
</winstrom>

Dieser Eintrag ist äquivalent zu folgendem:

<?xml version="1.0"?>
<winstrom version="1.0">
  <cenik>
    <id>123</id>
    <id>ext:SHOP:abc</id>
    <id>ext:SYSTEM3:xyz</id>
  </cenik>
</winstrom>

Interne Bezeichner

Interne Bezeichner (eine eigene Nummer) sind Bezeichner, die vom ABRA-Flexi-System vergeben werden. Wenn Sie ihn referenzieren und der Datensatz nicht existiert, schlägt der Vorgang fehl (im Gegensatz zu anderen Bezeichnern).

Für die Vergabe von Bezeichnern wird eine Datenbanksequenz verwendet. Dadurch wird sichergestellt, dass derselbe Bezeichner nie zweimal zugewiesen wird (auch wenn Sie den Datensatz löschen). Gleichzeitig ist keine numerische Kontinuität gewährleistet (z. B. wird die Nummer beim Rollback verworfen).

Erstellen/Aktualisieren eines Datensatzes

Wenn Sie einen anderen Bezeichnertyp als einen internen Bezeichner (z. B. einen Code) zur Identifizierung eines Datensatzes verwenden und der referenzierte Datensatz nicht existiert, wird ein neuer Datensatz erstellt. Andernfalls wird der vorhandene Datensatz aktualisiert.

Das folgende XML/JSON-Beispiel aktualisiert bzw. erstellt einen Preislistendatensatz mit dem Kürzel T100 (der Identifier-Wert ersetzt hier den Eintrag des <kod>):

<?xml version="1.0"?>
<winstrom version="1.0">
  <cenik>
    <id>code:T100</id>
    <name>T100 mm</name>
  </cenik>
</winstrom>

{
"winstrom": {
"@version": "1.0",
"cenik": [
{
"id": "code:T100",
"name": "Téčko 100 mm"
}
]
}
}

Mehrere Bezeichner

Ein Datensatz kann auch durch die gleichzeitige Verwendung mehrerer Bezeichner identifiziert werden:

<?xml version="1.0"?>
<winstrom version="1.0">
  <cenik>
    <id>123</id>
    <id>code:KRABICE</id>
  </cenik>
</winstrom>

In diesem Fall müssen sich alle Bezeichner auf denselben Datensatz beziehen, sonst ist dies ein Fehler. Kennungen, die in ABRA Flexi nicht vorhanden sind, werden ignoriert, so dass alle bekannten Kennungen vom externen System an ABRA Flexi gesendet werden können und der Datensatz anhand der vorhandenen gefunden wird.

Mehrere id-Elemente können nur in der Import-XML verwendet werden. An anderen Stellen (URLs in der REST-API, andere Datensatzbezeichner in der Import-XML, aber auch für id-Elemente ) müssen Sie eine spezielle Syntax verwenden: [123][code:CZK][ext:SHOP:abc].

Wenn der Bezeichner die Zeichen [, ] oder , enthält, müssen sie escaped werden: [, ], \. Bei der Verwendung in einer URL ist es außerdem wichtig, die URL selbst richtig zu kodieren.

Löschen von externen Bezeichnern

Dies geschieht über das"removeExternalIds"-Attribut des Datensatzes, wobei dessen Wert das Präfix der zu entfernenden externen Bezeichner darstellt.

Betrachten Sie zum Beispiel ein Preislistenobjekt mit ID=123 und den externen Bezeichnern"SHOP:abc","SYSTEM-1" und"SYSTEM-2". Dann entfernt das folgende Beispiel beide Bezeichner, die mit der Zeichenfolge"SYSTEM" beginnen, und fügt einen neuen Bezeichner"SHOP:123" hinzu:

<?xml version="1.0"?>
<winstrom version="1.0">
  <cenik removeExternalIds="ext:SYSTEM">
    <id>123</id>
    <id>ext:SHOP:123</id>
  </cenik>
</winstrom>

Äquivalenter Eintrag im JSON-Format:

{ "winstrom": { 
"@version": "1.0",
"cenik": [ {
"id": [ "123", "ext:SHOP:123" ],
"@removeExternalIds": "ext:SYSTEM" } ]
} }

Das externe Bezeichnerpräfix"ext:"muss nicht im Attributwert enthalten sein. Eine leere Zeichenkette bedeutet, dass wir alle externen Bezeichner entfernen wollen.

Löschen von externen Bezeichnern aus Artikeln

Dies geschieht ähnlich wie beim Stammsatz, mit dem Unterschied, dass das Attribut"removeExternalIds" gemeinsam für alle vorhandenen Elemente oder direkt für ein bestimmtes Element angegeben werden kann (hat Vorrang):

<?xml version="1.0"?> 
<winstrom version="1.0">
<faktura-vydana>
<id>123</id>
<polozkyFaktury removeExternalIds="ext:P">
<faktura-vydana-polozka>
<id>10</id>
</faktura-vydana-polozka>
<faktura-vydana-polozka removeExternalIds="ext:X">
<id>20</id>
</faktura-vydana-polozka>
</polozkyFaktury>
</faktura-vydana>
</winstrom>

Im obigen Beispiel werden externe Bezeichner, die mit "P" beginnen, aus Element 10 entfernt, während Element 20 externe Bezeichner, die mit "X" beginnen, entfernt. Die externen Bezeichner aller anderen Positionen auf der Rechnung bleiben unverändert.

Eine JSON-Notation des vorherigen Beispiels würde wie folgt aussehen:

{ "winstrom": { 
"@version": "1.0",
"faktura-vydana": [ {
"id": "123",
"polozkyFaktury": [
{ "id": "10" },
{ "id": "20",
"@removeExternalIds": "ext:X" } ],
"polozkyFaktury@removeExternalIds": "ext:P" } ]
} }


Hat dies Ihre Frage beantwortet?