Seite 1 von 1

$hasChanges und die Asynchronizität...

Verfasst: 24. Feb 2020, 09:47
von CEhrlich
Hallo,

ich habe einen Custom UUX Assistenten womit man verschiedene Werte von Assets ändern kann (quasi wie eine Erweiterung von dem "Eigentümerschaft ändern"-Assistent. Am Ende wird ein WF getriggert der die Änderungen durchführt). Über eine Custom-Datenquelle ziehe ich mir weitere Infos zu dem User über den entsprechenden $filter nach der Hauptbenutzer-ID.
Im Assistenten-Formular gibt es u.a. die Felder Hauptbenutzer und Asset-OU. Anfangs steht bei der Asset-OU die aktuelle OU des Assets vorausgefüllt drin.

Bis hierhin funktioniert alles ganz normal.

Wenn man jetzt aber manuell das Feld Hauptbenutzer ändert, soll er stattdessen im Asset-OU-Feld die OU des neu ausgewählten Hauptbenutzers eintragen. Das funktioniert noch nicht.
Denn zu dem Zeitpunkt, wo hauptbenutzerID.$hasChanges true ist, ist der Wert den ich aus den Custom-Datenquellen ziehe, immer noch der alte (d.h. es kommt zu keiner Änderung im Formular). Der Wert ändert sich erst ein wenig später (sieht man ganz gut wenn man das debuggt). Und ich weiß nicht, wie ich das in diesem Fall im JS-Code abgefangen kriege, wenn die Prüfung auf $hasChanges scheinbar nicht ausreicht. Den alten Wert in einer Context-Variable zwischenzuspeichern und dann auf die Änderung abzufragen war bisher auch nicht erfolgreich.

Hat sowas schon mal jemand gemacht?

Re: $hasChanges und die Asynchronizität...

Verfasst: 25. Feb 2020, 13:56
von CEhrlich
OK das Problem konnte ich inzwischen auch lösen. Damit hat sich der Thread auch erledigt. Man kann das lösen über eine Context-Variable, die man via $setValue auf true setzt wenn xyz.$hasChanges true ist. Dann hat man den Status "persistent" getrackt und es ist egal wenn $hasChanges später wieder false sein sollte.