Εάν ένας πελάτης επιθυμεί να επιστρέψει μόνο ένα ή περισσότερα προϊόντα (όχι όλα) από ένα προηγουμένως αποθηκευμένο έγγραφο, μπορείτε να εφαρμόσετε τη λειτουργία επιστροφής εμπορευμάτων.
Σε περίπτωση που πρέπει να ακυρωθούν όλα τα είδη (θέσεις) μιας προηγούμενης συναλλαγής, δηλαδή να αντιστραφεί ολόκληρη η συναλλαγή, θα βρείτε οδηγίες στο άρθρο «Εφαρμογή ακύρωσης (void) εγγράφου».
Σε ορισμένες χώρες, επιτρέπεται η ανάμειξη ειδών πώλησης με εκείνα που πρόκειται να ακυρωθούν σε μία συναλλαγή. Για λεπτομέρειες, ανατρέξτε στην ιδιότητα «fiscalCountryProperties»: «Συμπεριφορά επιστροφής και πώλησης».
Για να διαμορφώσετε μια θέση επιστροφής (ItemPosition), πρέπει να ορίσετε τις ακόλουθες ιδιότητες:
- DocumentPositionItem.CancellationPosition = true
- DocumentPositionItem.PositionReference = Αναφορά στο έγγραφο της αρχικής θέσης
Δείγμα κώδικα 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);
}
Αυτό το άρθρο μεταφράστηκε αυτόματα.
Σχόλια
0 σχόλια
Πραγματοποιήστε είσοδο για να αφήσετε ένα σχόλιο.