Wenn ein Kunde ein Produkt, oder mehrere (nicht alle) Produkte, eines zuvor gespeicherten Bons reklamieren/zurückgeben möchte, können Sie die Reklamation/Rückgabe einer Position implementieren.
Für den Fall, dass alle Artikel (Positionen) einer früheren Transaktion zurückgenommen, also eine gesamte Transaktion rückgängig gemacht werden sollen, finden Sie eine Anleitung im Artikel "Implementierung Bon-Storno".
In manchen Ländern ist es erlaubt, Verkaufspositionen mit solchen, welche zurückgenommen werden sollen, gemeinsam in einer Transaktion zu mischen. Details dazu siehe "fiscalCountryProperties" - Eigenschaft: "Return and sale behavior".
Zum Konfigurieren einer Retouren-Position (ItemPosition) müssen Sie folgende Eigenschaften einstellen:
- DocumentPositionItem.CancellationPosition = true
- DocumentPositionItem.PositionReference = Reference to the document of the orignated position, Referenz zu dem Bon mit der originalen Position.
Code Besipiel C#
public void AddCancelPosition(Document document, DocumentPositionItem cancelPosition, string refStoreNumber, string refTerminalNumber, string refDocumentNr, DateTime refBookDate) { // check parameter if (document == null) throw new ArgumentNullException(nameof(document)); if (cancelPosition == null) throw new ArgumentNullException(nameof(cancelPosition)); if (string.IsNullOrEmpty(refStoreNumber)) throw new ArgumentNullException(nameof(refStoreNumber)); if (string.IsNullOrEmpty(refTerminalNumber)) throw new ArgumentNullException(nameof(refTerminalNumber)); if (string.IsNullOrEmpty(refDocumentNr)) throw new ArgumentNullException(nameof(refDocumentNr)); if (document.BookDate < refBookDate) throw new ArgumentException("Referenced book date must be greater than document date."); // add more checks if necessary // revert the position (can also be done by the pos software) cancelPosition.Revert(); // set cancel flag cancelPosition.CancellationPosition = true; // set reference cancelPosition.PositionReference = new DocumentPositionReference() { DocumentBookDate = refBookDate, DocumentNumber = refDocumentNr, ReferenceType = ReferenceType.Cancellation, StoreNumber = refStoreNumber, TerminalNumber = refTerminalNumber }; document.Positions.Add(cancelPosition); }
Kommentare
0 Kommentare
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.