Home › Forum › Nuclos Entwicklung › Makros und Regeln › Frage zu Groovy
- Dieses Thema hat 2 Antworten und 2 Teilnehmer, und wurde zuletzt aktualisiert vor 2 Jahren, 2 Monaten von
Dieter Mennig.
-
AutorBeiträge
-
12 Juli 2021 um 13:30 Uhr #26579
Dieter Mennig
TeilnehmerHi zusammen,
ich habe eine Frage zu den clientseitigen Regeln. Ich habe folgende Anforderung:
Ich möchte:
– ein Feld A per groovy abhängig von einem anderen Feld B berechnen (das Feld B bestimmt die Berechnungsrichtung).
– dasselbe Feld A abhängig von Feld B dynamisch aktivieren/deaktivierenEinzeln funktionieren die Skripte. ABER: Sobald ich das Skript für die Berechnung am Businessobjekt und das Skript für die dynamische Aktivierung/Deaktivierung am Layout hinterlegt habe funktioniert das Skript am Layout nicht mehr.
Kennt das jemand und gibt es eine Lösung dazu? Das wäre super.
Danke euch.
22 Juli 2021 um 11:47 Uhr #26584caf
AdministratorHallo Softwareprofi,
ich würde mal hiermit anfangen:
Um Clientregeln zu debuggen, können Logausgaben eingegeben werden:
log.info(„Logausgabe“)
Die Ausgabe kann in der Scripting-Ausgabe (Fenster / Ausgabe (Scripting)) eingesehen werden.
https://wiki.nuclos.de/pages/viewpage.action?pageId=327846VG
Agni8 September 2021 um 14:37 Uhr #26593Dieter Mennig
TeilnehmerHi Agni,
das habe ich schon alles gemacht. Arbeite schon einige Zeit mit nuclos. Das Problem ist nach wie vor da. Nochmals im Detail
Ich habe an einer Auftragsposition ein Feld NettoVK und ein Feld BruttoVK. Die beiden Felder sollen per Groovy berechnet werden. Die Berechnungsrichtung wird über ein weiteres Optionsfeld Preisvorgabe (ich gebe den NettoVK vor und berechne den BruttoVK bzw. umgekehrt) gesteuert, so steht es auch im WIKI.
Ich habe an beiden Feldern im BO Wizzard ein Berechnungsskript hinterlegt, das abhängig von der Berechnungsrichtung (über das Optionsfeld Preisvorgabe) ausgeführt wird. Das funktioniert auch tadellos.
Nun möchte ich zusätzlich zur Berechnung das jeweils nicht benötigte Feld sperren. Also wenn ich den NettoVK vorgebe und der BruttoVK berechnet werden soll (Einstellung über das Optionsfeld), soll das Feld BruttoVK inaktiv sein. Dafür habe ich am Layout ein Skript für das Feld unter Aktiv dyn. hinterlegt. Das Skript fragt das Optionsfeld ab und je nachdem was dort steht sperrt es das Feld. Das funktioniert aber nicht!!! Wenn ich das Optionsfeld verändere, wird diese Änderung im Skript nicht ausgegeben (sie kommt dort nicht an). Insofern werden die Felder auch nicht gesperrt/aktiviert. Das zeigt auch die Logausgabe: Die Berechnungsskripte geben die Änderung des Optionsfeldes Preisvorgabe korrekt zurück und die Berechnung wird somit korrekt ausgeführt. Die Skripte am Layout unter Aktiv dyn. geben die Änderung des Feldes Preisvorgabe nicht zurück somit werden die Felder nicht gesperrt/aktiviert.
Update: Ich habe noch folgendes herausgefunden:
Wenn ich speichere (und nur dann!!!), wird das Optionsfeld Preisvorgabe an die Skripte unter Aktiv dyn. ausgegeben. Dann werden die Felder NettoVK und BruttoVK auch korrekt gesperrt/aktiviert.Fazit: Wenn ich das Optionsfeld Preisvorgabe ändere und nicht speichere, funktionieren die Berechnungsskripte aber die Skripte am Layout unter Aktiv dyn. nicht. Wenn ich das Optionsfeld Preisvorgabe ändere und anschließend speichere funktioniert beides.
Das ist so falsch, denn die Skripte unter Aktiv dyn. müssen auch ausgeführt werden, wenn das Optionsfeld Preisvorgabe geändert wird, der Datensatz aber nicht gespeichert wird. Ansonsten brauche ich hier kein Groovy.Ich hoffe das ist verständlich ausgedrückt. Ist leider etwas schwierig zu beschreiben. Könnte das vielleicht ein Bug sein?
Ich hoffe es gibt dafür eine Lösung.
Danke schonmal.
-
Diese Antwort wurde geändert vor 2 Jahren, 2 Monaten von
Dieter Mennig.
-
Diese Antwort wurde geändert vor 2 Jahren, 2 Monaten von
Dieter Mennig.
-
Diese Antwort wurde geändert vor 2 Jahren, 2 Monaten von
-
AutorBeiträge