Para implementar un proceso de cancelación (anulación) de un documento, debe seguir los siguientes pasos:
En primer lugar, el proceso es idéntico al de la contabilización de un recibo normal; puede consultar la documentación sobre este proceso en «Proceso básico de transferencia de documentos».
Para marcar un documento como nulo (o cancelado) —un requisito obligatorio en varios países—, debe configurar las siguientes propiedades.
Estas propiedades se encuentran en el objeto de documento (RetailForce.Fiscalisation.Model.Document.Document)
- Establezca la propiedad cancellationDocument = true
- Añada una referencia de documento mediante la propiedad documentReference
- Revierta el documento (convierta todos los valores en negativos) en relación con el documento cancelado (el documento que desea cancelar). Esto significa que, si el documento que se va a cancelar tiene un importe de 20 EUR, el documento de cancelación tendrá un importe de -20 EUR.
Ejemplo de código en 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 obtener información detallada sobre el módulo de objetos de documento, consulte la documentación del modelo de objetos de documento.
Este artículo ha sido traducido automáticamente.
Comentarios
0 comentarios
Inicie sesión para dejar un comentario.