Aby wdrożyć proces anulowania (unieważnienia) dokumentu, należy wykonać następujące czynności:
Na początku proces przebiega tak samo jak w przypadku księgowania zwykłego dokumentu przychodowego; dokumentację dotyczącą tego procesu można znaleźć w sekcji „Podstawowy proces przekazywania dokumentów”.
Aby oznaczyć dokument jako dokument unieważniony (lub anulowany) (ustawienie obowiązkowe w niektórych krajach), należy ustawić następujące właściwości.
Właściwości te znajdują się w obiekcie dokumentu (RetailForce.Fiscalisation.Model.Document.Document)
- Ustaw właściwość cancellationDocument = true
- Należy dodać odniesienie do dokumentu za pomocą właściwości documentReference
- Odwróć wartości dokumentu (nadaj wszystkim wartościom znak ujemny) w odniesieniu do dokumentu anulowanego (dokumentu, który ma zostać anulowany). Oznacza to, że jeśli dokument przeznaczony do anulowania ma obroty w wysokości 20 EUR, dokument anulujący ma obroty w wysokości -20 EUR.
Przykładowy kod w języku 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;
}
Szczegółowe informacje na temat modułu obiektu dokumentu można znaleźć w dokumentacji modelu obiektowego dokumentu.
Ten artykuł został przetłumaczony automatycznie.
Komentarze
Komentarze: 0
Zaloguj się, aby dodać komentarz.