selectline-software / selectline-api

Apache License 2.0
26 stars 5 forks source link

POST/Documents/{documentKey}/Successors Keine Übergabe von Kommentarzeilen oder Artikelzeilen ohne Artikelnummer möglich #328

Closed AM-Sartissohn closed 9 months ago

AM-Sartissohn commented 1 year ago

Details

{ "StatusCode": "BadRequest", "ResponseCode": "42-033", "ResponseId": 33, "ResponseIdDescription": "DocumentSuccessorErrorException", "Message": "Der Nachfolgebeleg kann nicht angelegt werden.", "Details": { "ResponseDetails": "<Tabelle Version=\"1.0\"><Fehlerklasse DisplayName=\"Fehlerklasse\">int<Status DisplayName=\"Status\">nvarchar(20)<fName0 DisplayName=\"Belegtyp\">nvarchar(1)<fName1 DisplayName=\"Belegnummer\">nvarchar(10)<fName2 DisplayName=\"Bezeichnung\">nvarchar(30)<fName3 DisplayName=\"Bemerkung\">nvarchar(200)<_CBK_fName0 DisplayName=\"_CBK_fName0\">nvarchar(50)<_CBK_fName1 DisplayName=\"_CBK_fName1\">nvarchar(50)<_CBK_fName2 DisplayName=\"_CBK_fName2\">nvarchar(50)<_CBK_fName3 DisplayName=\"_CBK_fName3\">nvarchar(50)<![CDATA[3]]><![CDATA[Fehler]]><![CDATA[F]]><![CDATA[AU120]]><![CDATA[Auftrag]]><![CDATA[Die Nummer ist keine gültige Artikelnummer, GTIN, Serien/Chargennummer oder darf mit diesem Belegtyp nicht als Serien/Chargennummer verwendet werden.]]><_CBK_fName0><![CDATA[]]><_CBK_fName1><![CDATA[]]><_CBK_fName2><![CDATA[]]><_CBK_fName3><![CDATA[]]>", "ResponseType": "SuccessorsFailed" } }

Steps to replicate the behavior:

Wir versuchen hier, aus einem Auftrag auch Kommentarpositionen in eine Rechnung zu übergeben, jedoch ohne Erfolg.

Positionen vom Typ Kommentar werden anscheinend einfach nicht übernommen (ohne Fehler beim Rückgabewert)

Beim Kunden werden teilweise auch Artikelpositionen ohne Artikelnummer für Hinweise verwendet. Diese verursachen bei der Belegübergabe den oben genannten Fehler.

Bei einer manuellen Belegübergabe im Client werden solche Positionen ja einfach mit übernommen - ist dies in der API nicht möglich?

Verwendeter Request-Body:

{ "DocumentKindDestination":"R", "Positions":[ { "Identifier": "F198617A-50DA-4A0F-8626-5D2E1A1BC055", "Quantity": 1, "Warehouse": "100", "ArticleNumber": "300012", "SerialNumber": "$0000000030" }, { "Identifier": "F9E67FF1-463F-48DF-AE39-F10F3F1C0B21" }, { "Identifier": "DAD0A1BC-01BC-4175-825C-2FF595DB3610", "Quantity": 1 } ] }

Die erste Position ist ein Chargenartikel, dieser wird korrekt übergeben. Position zwei ist eine Kommentarzeile, diese wird ignoriert. Position drei ist ein Artikelposition ohne Artikelnummer, diese verursacht den oben genannten Fehler. Dabei ist es irrelevant, ob die Property ArticleNumber für die Position leer übergeben wird oder gar nicht.

Wie können wir Kommentare und/oder Artikelpositionen ohne Artikelnummer mit der API in Folgebelege übergeben?

AM-Sartissohn commented 1 year ago

Hallo, das Thema ist hier noch offen, der Kunde benötigt zumindest Kommentarpositionen in den Belegen - können diese irgendwie automatisch übergeben werden?

MatthiasGuse commented 1 year ago

Hallo,

haben Sie in den Belegübernahmeoptionen die Option "Kommentare übernehmen" gesetzt? Kommentare werden bei Belegübergaben oder Übernahmen nur anhand dieser Option übernommen (analog Warenwirtschaft).

Ihr beschriebenes Verhalten habe ich nachvollzogen und zur Korrektur aufgenommen.

Möglicher Workaround: Wenn Sie eine Belegübergabe ohne Positionsangabe durchführen, werden auch Artikelpositionen ohne Artikelnummer mit Menge 0 übernommen. Über POST /Documents/{Belegnummer}/Positions/Store können Sie die Positionsmenge dann anpassen.

Viele Grüße

AM-Sartissohn commented 1 year ago

Hallo, können Sie inzwischen absehen, in welcher Version dieser Fehler bei der Übernahme von Artikelpositionen ohne Artikelnummer behoben sein wird?

MatthiasGuse commented 1 year ago

Hallo! Mit der Version 23.2 wird dies möglich sein.

Viele Grüße