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. |
|
Code/Abkürzung | Benutzeridentifikation. Wird vom Benutzer zugewiesen und kann in der Anwendung geändert werden. |
|
Taste | Eindeutiger Zufallsbezeichner, der von ABRA Flexi an Dokumente vergeben wird (UUID-Attribut). Sie kann nicht geändert werden. |
|
PLU ist ein Identifikationscode, der beim Verkauf verwendet wird. Es handelt sich in der Regel um einen 4- oder 5-stelligen numerischen Code. |
| |
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. |
| |
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. |
|
UMSATZSTEUER-ID | Kennung entsprechend der Steuernummer. In der Tschechischen Republik entspricht sie der Umsatzsteuer-Identifikationsnummer, in der Slowakei entspricht sie der Umsatzsteuer-ID. |
|
UMSATZSTEUER-ID | Kennung entsprechend der Umsatzsteuer-Identifikationsnummer. |
|
IBAN | Kennung durch IBAN-Code. |
|
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" } ]
} }