Einzelnen Beitrag anzeigen

Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.032 Beiträge
 
Delphi 12 Athens
 
#1

Rechnungsnr.- Vergabe im Client-Server-System

  Alt 1. Nov 2003, 21:20
Moin, Moin,

Folgendes knackige Problemchen zur besten Samstagsfernsehzeit verhagelt mir diese:

Arbeite an der Vergabe von Rechnugnsnummern in einem System mit Interbase-Datenbank
und meheren Clients. Die letzte Rechnungsnummer liegt in einem Integerfeld einer Datei.
'LastBillNo' : Int
'LastBillDate' : Date

Bevor eine Rechnung gedruckt wird schreibt der Client das aktuelle Datum in dad Feld
'LastBillDate, dann hole ich die durch einen Trigger erzeugte Nummer 'LastBillNo' ab.
Das ist noch nicht ganz bfehlerfrei....


Das größte Problem ist, wenn die Rechnung nicht korrekt gedruckt wird (Druckrstreik, Netwerkknoten,..)
dann ist die Nummer erhöht und die Rechnungsnummer fehlt.

Einfach erniedrigen darf ich nicht, den ein anderer Client könnte gerade ebenfalls sich eine neue Rechnungsnummer geholt haben (dann hätten zwei Rechnungen die gleiche )

Also habe ich überlegt jetzt ein Memofeld dazuzulegen wo Rechnungsnummern von den Clients zurückgegeben werden können, wenn der Druckvorgang schiefging

'FreeBillNos' VarChar(1024)

Jetzt bräcuhte ich auf dem Server eine StoredProcedure, die erst hier nachschaut ob es noch eine
zurückgegebene Nummer gibt, die Verwendet werden kann und zunächst diese zurückgibt, bevor eine
Neue höhere Rechnungsnummer generiert wird.


Hat mit sowas jemand hier Erfahrung / Ideen / Hinweise

Grüße // Martin
Martin Schaefer
  Mit Zitat antworten Zitat