Wenn ein Kunde ein Produkt oder mehrere (nicht alle) Produkte eines zuvor gespeicherten Bons reklamieren/zurückgeben möchten, können Sie die Reklamation/Rückgabe einer Position implementieren.
Es ist möglich neu gekaufte Positionen mit reklamierten Positionen in einem Bon zu mischen.
Zum konfigurieren der 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.