Chcete-li implementovat proces zrušení (anulace) dokladu, postupujte následovně:
Zpočátku je postup stejný jako při zaúčtování běžného dokladu; dokumentaci k tomuto procesu najdete v části Základní proces přenosu dokladů.
Chcete-li označit doklad jako neplatný (nebo zrušený) (povinné nastavení v několika zemích), musíte nastavit následující vlastnosti.
Tyto vlastnosti najdete v objektu dokumentu (RetailForce.Fiscalisation.Model.Document.Document)
- Nastavte vlastnost CancellationDocument = true
- Přidejte odkaz na doklad pomocí vlastnosti DocumentReference
- Dokument převedete na opačnou hodnotu (všechny hodnoty nastavíte na záporné) ve vztahu ke zrušenému dokumentu (dokumentu, který chcete zrušit). To znamená, že pokud má dokument určený ke zrušení obrat 20 EUR, má zrušovací dokument obrat -20 EUR.
Ukázkový kód v jazyce 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;
}
Podrobné informace o modulu objektů dokumentů naleznete v dokumentaci k objektovému modelu dokumentů.
Tento článek byl přeložen automaticky.
Komentáře
0 komentářů
Prosím přihlaste se, abyste mohli napsat komentář.