Jei klientas nori pateikti pretenziją dėl vieno ar kelių (ne visų) anksčiau išrašyto kasos kvito prekių arba jas grąžinti, galite įgyvendinti pretenzijos pateikimą ar prekės grąžinimą.
Jei norima grąžinti visus ankstesnės transakcijos prekių vienetus (pozicijas), t. y. atšaukti visą transakciją, instrukcijas rasite straipsnyje „Čekio atšaukimo įgyvendinimas“.
Kai kuriose šalyse leidžiama pardavimo pozicijas sumaišyti su tomis, kurios turi būti grąžinamos, į vieną sandorį. Daugiau informacijos apie tai rasite „fiscalCountryProperties“ – savybė: „Return and sale behavior“.
Norėdami konfigūruoti grąžinamą poziciją (ItemPosition), turite nustatyti šias savybes:
- DocumentPositionItem.CancellationPosition = true
- DocumentPositionItem.PositionReference = Nuoroda į dokumento, kuriame yra pradinė pozicija, nuoroda į čekį su pradine pozicija.
Kodo pavyzdys C#
public void AddCancelPosition(Document document, DocumentPositionItem cancelPosition, string refStoreNumber, string refTerminalNumber, string refDocumentNr, DateTime refBookDate)
{
// check parameter
if (document == null) throw new ArgumentNullException(nameof(document));
if (cancelPosition == null) throw new ArgumentNullException(nameof(cancelPosition));
if (string.IsNullOrEmpty(refStoreNumber)) throw new ArgumentNullException(nameof(refStoreNumber));
if (string.IsNullOrEmpty(refTerminalNumber)) throw new ArgumentNullException(nameof(refTerminalNumber));
if (string.IsNullOrEmpty(refDocumentNr)) throw new ArgumentNullException(nameof(refDocumentNr));
if (document.BookDate < refBookDate) throw new ArgumentException("Referenced book date must be greater than document date.");
// add more checks if necessary
// revert the position (can also be done by the pos software)
cancelPosition.Revert();
// set cancel flag
cancelPosition.CancellationPosition = true;
// set reference
cancelPosition.PositionReference = new DocumentPositionReference()
{
DocumentBookDate = refBookDate,
DocumentNumber = refDocumentNr,
ReferenceType = ReferenceType.Cancellation,
StoreNumber = refStoreNumber,
TerminalNumber = refTerminalNumber
};
document.Positions.Add(cancelPosition);
}
Komentarai
0 komentarų
Tam, kad paliktumėte komentarus prisijunkite