Validierung von „Änderungen“ in Indexdialogen über einen Validation-Service, wie mit DocuWare 6
Leider ist es bisher mit DocuWare 7.xx immer noch nicht wieder möglich, Änderungen, die in Indexdialogen gemacht werden über einen Validation-Service zu validieren, da an den Service lediglich die geänderten Daten gemeldet werden, nicht jedoch die Indexdaten, die vor der Änderung im Indexdialog stehen. Der Validation-Service kann somit nicht auf Indexänderungen in bestimmten Feldern reagieren, sondern nur die neu zu schreibenden Daten analysieren.
Möchte man z.B. eine Validierung schreiben, welche die Änderung eines Belegstatus auf den Wert "bezahlt" nur zulässt, wenn der Staus zuvor "geprüft" war, so ist dies nicht möglich, da der Service keine Information erhält welchen Inhalt das Indexfeld Belegstatus vor der Änderung hatte.
Ich schlage daher vor, dass der Request, der die Validierung auslöst, neben den Daten die nach einer Änderung in einem Indexdialog stehen zusätzlich auch die Daten die vor der Änderung des Indexdialoges vorhanden sind mitschickt.
Dieses würde auch der Validierungs-Implementierung entsprechen, die mit DocuWare 6 über die DocuWare.ValidatorBase.dll möglich war.
Bei der Übermittlung der Validierungs-Anfrage aus einem Ablagedialog könnten die Werte für Vor- und Nach der Indexänderung identisch belegt werden, da bei einer Ablage im Prinzip keine Indexänderung erfolgt. Alternativ könnten die Werte auch einfach leer (NULL) bleiben.