Για να υλοποιήσετε μια διαδικασία ακύρωσης (void) εγγράφου, πρέπει να κάνετε τα εξής:
Αρχικά, η διαδικασία είναι η ίδια με την καταχώριση μιας κανονικής απόδειξης. Μπορείτε να βρείτε την τεκμηρίωση για αυτή τη διαδικασία στην ενότητα «Βασική διαδικασία μεταφοράς εγγράφων».
Για να επισημάνετε ένα έγγραφο ως άκυρο (ή ακυρωμένο) (υποχρεωτική ρύθμιση σε πολλές χώρες), πρέπει να ορίσετε τις ακόλουθες ιδιότητες.
Μπορείτε να βρείτε αυτές τις ιδιότητες στο αντικείμενο εγγράφου (RetailForce.Fiscalisation.Model.Document.Document)
- Ορίστε την ιδιότητα cancellationDocument = true
- Προσθέστε μια αναφορά εγγράφου με την ιδιότητα documentReference
- Αναστρέψτε το έγγραφο (κάντε όλες τις τιμές αρνητικές) σε σχέση με το ακυρωμένο έγγραφο (το έγγραφο που θέλετε να ακυρώσετε). Αυτό σημαίνει ότι αν το έγγραφο που πρόκειται να ακυρωθεί έχει κύκλο εργασιών 20 EUR, το έγγραφο ακύρωσης έχει κύκλο εργασιών -20 EUR.
Παράδειγμα κώδικα C#:
public Document CancelDocument(TrustedFiscalModule fiscalModule, Document documentToCancel, string storeNumber, string terminalNumber)
{
// check parameter
if (fiscalModule == null) throw new ArgumentNullException(nameof(fiscalModule));
if (documentToCancel == null) throw new ArgumentNullException(nameof(documentToCancel));
// revert all values of the document (can also be done by pos software)
Document cancelDocument = fiscalModule.RevertDocument(documentToCancel);
// set CancellationDocument property to true
cancelDocument.CancellationDocument = true;
// now set document cancellation reference
cancelDocument.DocumentReference = new DocumentReference()
{
DocumentType = DocumentType.Receipt,
DocumentBookDate = documentToCancel.BookDate,
DocumentId = documentToCancel.DocumentId,
DocumentGuid = documentToCancel.DocumentGuid, // not necessary
ReferenceType = ReferenceType.Cancellation,
DocumentNumber = documentToCancel.DocumentNumber,
FiscalDocumentNumber = documentToCancel.FiscalDocumentNumber,
StoreNumber = storeNumber,
TerminalNumber = terminalNumber
};
cancelDocument.BookDate = DateTime.Now;
cancelDocument.DocumentGuid = Guid.NewGuid();
cancelDocument.DocumentId = "NEWID";
cancelDocument.DocumentNumber = "NEWNUMBER";
return cancelDocument;
}
Για λεπτομερείς πληροφορίες σχετικά με το μοντέλο αντικειμένου εγγράφου, ανατρέξτε στην τεκμηρίωση του μοντέλου αντικειμένου εγγράφου.
Αυτό το άρθρο μεταφράστηκε αυτόματα.
Σχόλια
0 σχόλια
Πραγματοποιήστε είσοδο για να αφήσετε ένα σχόλιο.