Die Fähigkeit, auf Änderungen zu reagieren, ist in das System eingebaut und kann von einem anderen System aus genutzt werden. Diese Funktion wird normalerweise in Kombination mit ?dry-run=true
in Fällen, in denen Sie dem Benutzer Daten zur direkten Bearbeitung zur Verfügung stellen. Der Benutzer erwartet also, dass bei einer Änderung des Buchungskreises auf der Rechnung der Firmenname überschrieben wird. Der Firmenname muss jedoch auch im Formular enthalten sein, damit der Benutzer ihn ändern kann. Der vorherige Wert kann verwendet werden, um die Reaktion auf diese Änderung zu bestimmen. Mehrere vorherige Werte können in einer einzigen Anfrage verwendet werden.
Beispiel:
<?xml version="1.0"?> <winstrom version="1.0"> <invoice-issued id="123"> <firm previousValue="code:ANDERE FIRMA">code:FIRMA</firm> <firm-name>Andere Firma</firm-name> </invoice-issued> </winstrom>
Die Antwort lautet dann:
<?xml version="1.0"?> <winstrom version="1.0"> <invoice-issued id="123"> <firm>code:FIRM</firm> <nazFirmen>Firma</nazFirmen> </invoice-issued> </winstrom>
Wenn der vorherige Wert nicht angegeben wurde, würde die Antwort wie folgt aussehen:
<?xml version="1.0"?> <winstrom version="1.0"> <invoice-issued id="123"> <firm>code:FIRM</firm> <nazFirms>Andere Firma</nazFirms> </invoice-issued> </winstrom>
Wenn Sie den gleichen Effekt erzielen wollten, ohne den vorherigen Wert anzugeben, müssten Sie die Attribute weglassen, die mit dem zu ändernden Attribut zusammenhängen. Sie müssten also auch alle Bindungen kennen, die von den aktuellen Daten abhängen.
Wenn Sie z. B. die Belegart ändern, dies aber nicht die Buchungsregel ändert, werden die Konten nicht überschrieben (es gibt ein Geben und Nehmen). Mit anderen Worten: Der Prozess der Reaktion auf eine Änderung wird nur dann ausgelöst, wenn eine wirkliche Änderung eingetreten ist.
Im JSON-Format wird der Wert als zusätzliches Tag namens company-previousValue
angegeben.