Para implementar um processo de cancelamento (anulação) de um documento, deve proceder da seguinte forma:
Inicialmente, o processo é idêntico ao registo de um recibo normal; pode consultar a documentação relativa a este processo em «Processo básico de transferência de documentos».
Para marcar um documento como nulo (ou cancelado) (configuração obrigatória em vários países), deve definir as seguintes propriedades.
Pode encontrar estas propriedades no objeto documento (RetailForce.Fiscalisation.Model.Document.Document)
- Defina a propriedade cancellationDocument = true
- Adicione uma referência ao documento com a propriedade documentReference
- Reverta o documento (torne todos os valores negativos) em relação ao documento cancelado (o documento que pretende cancelar). Isto significa que, se o documento a cancelar tiver um valor de 20 EUR, o documento de cancelamento terá um valor de -20 EUR.
Exemplo de código em 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;
}
Para obter informações detalhadas sobre o módulo do objeto documento, consulte a documentação do modelo de objeto documento.
Este artigo foi traduzido automaticamente.
Comentários
0 comentários
iniciar sessão para comentar.