Za izvedbo postopka preklica (razveljavitve) dokumenta morate storiti naslednje:
Na začetku je postopek enak kot pri knjiženju običajnega računa; dokumentacijo o tem postopku najdete v poglavju Osnovni postopek prenosa dokumentov.
Da dokument označite kot neveljaven (ali preklican) dokument (obvezna nastavitev v nekaterih državah), morate nastaviti naslednje lastnosti.
Te lastnosti najdete v objektu dokumenta (RetailForce.Fiscalisation.Model.Document.Document)
- Nastavite lastnost cancellationDocument = true
- Dodajte sklic na dokument z lastnostjo documentReference
- Dokument obrnite (vse vrednosti spremenite v negativne) glede na preklicani dokument (dokument, ki ga želite preklicati). To pomeni, da če ima dokument, ki ga želite preklicati, promet 20 EUR, ima dokument preklica promet -20 EUR.
Primer kode v 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;
}
Za podrobnejše informacije o modulu dokumentnega objekta si oglejte dokumentacijo o modelu dokumentnega objekta.
Ta članek je bil samodejno preveden.
Komentar
0 komentarjev
Za dodajanje komentarja prosimo kliknite Vpis.