Home › Forum › Nuclos Konfiguration › Vorgänge und Objekte › Editieren/Anzeigen Felder aus Relation
- Dieses Thema hat 3 Antworten und 2 Teilnehmer, und wurde zuletzt aktualisiert vor 12 Jahre, 7 Monaten von
Matthias Haake.
-
AutorBeiträge
-
19 Oktober 2010 um 14:07 Uhr #2631
Jan Smiesko
TeilnehmerHallo Forummitglieder!
Wer hat hier einen Ansatzpunkt oder Denkrichtung?
Szenario:
Entität A und B, Entität B hat Fremdschlüssel auf A, Beziehung A auf B ist 1:1 oder 1:n.In der Detailansicht von B möchte ich einen Datensatz aus ‚Combobox‘ oder ‚List of Value‘ auswählen und noch zusätzliche (gewisse) Datenfelder von A anzeigen bzw. editieren lassen. D.h. wenn Editierung zugelassen, werden nach dem Speichern, die Datenfelder, die A betreffen auch in der Entität A geändert. In B ist nur der Schlüssel gespeichert.
Habe überlegt es über eine Geschäftsregel zu realisieren, aber ich glaube, es gibt keinen Einstiegspunkt wie „Beim Öffnen eines Datensatzes …“ oder so.
Freundliche Grüße
Jan20 Oktober 2010 um 13:02 Uhr #2634Matthias Haake
TeilnehmerHallo Jan,
interessante Frage – ich hätte ebenfalls Interesse an einer Lösung dieses Szenarios. Im Moment würde ich das glaub ich mit berechneten Attributen in B realisieren. Und dann versuchen beim Speichern die geänderten Werte nach A zu schreiben.
Dieser Ansatz ist aber aus zweierlei Hinsicht nicht optimal: die Werte der berechnete Felder werden ja immer einzeln über eine Unterabfrage und nicht über ein gemeinsames JOIN geholt. Das könnte die Performance von B dann stark reduzieren. Und das manuelle Speichern in einer Regel ist auch nicht sonderlich wartungsfreudig.
Aber vielleicht gibt es noch bessere Ansätze.
Viel Erfolg und Grüße,
Matthias20 Oktober 2010 um 23:14 Uhr #2636Jan Smiesko
TeilnehmerHallo Matthias,
danke für die Überlegungen!
Ich bin Ihrer Meinung, dass sich die berechneten Attribute nicht so gut dazu eignen, weil hier zudem auf SQL zurückgegriffen (Wechsel auf eine andere DB) wird und dann noch jedes Datenfeld separat behandelt werden muss.
Mit Geschäftsregeln würde sich das wahrscheinlich eleganter lösen lassen. Folgende Überlegungen zu Ereignissen für die Ausführung von Regeln:
1) Öffnen
2) Wenn der Wert sich ändert bei ‚Combobox‘ und ‚List of Value‘ (ist vorhanden ?)
3) Speichern (ist vorhanden)Dazug bräuchte es noch so eine Art „freie Felder“ – ähnlich wie berechnete Attribute – die nicht in der EO_Tabelle abgebildet werden, auf die aber über die Regeln zugegriffen werden kann. Dann könnte der Programmierer für die betreffenden Felder pro Entität eine Regel fürs Lesen und eine fürs Schreiben machen und entsprechend 1) bis 3) zuordnen.
Die Frage stellt sich, wie dann nach den Feldern gesucht werden kann.
Ist nur eine Überlegung, ohne zu wissen ob so umsetzbar.(?)
FG
Jan21 Oktober 2010 um 00:38 Uhr #2637Matthias Haake
TeilnehmerHallo Jan,
die drei Punkte sehe ich auch als sinnvoll. Realisieren lässt sich meines Wissen mit der aktuellen Version aber nur Punkt 3. Vielleicht ergeben sich aber neue Möglichkeiten durch die bereits angekündigten Clientregeln.
Nicht gebundene Textboxen („freie Felder“) lassen sich ja bereits im Layout verwenden – nur das Befüllen beim Öffnen der Maske geht momentan leider (noch) nicht.
Die Suche über per Regel befüllte Textboxen halte ich für kaum machbar. Selbst wenn dies von Nuclos irgendwie gehen sollte, würde die Regel ja auf jeden Datensatz ausgeführt werden. Da halte ich eine Unterabfrage mittels berechneten Feldern für vergleichsweise performanter – der SQL Server ist da bestimmt zügiger als Java-Code der wiederum SQL-Abfragen über ein Entityframework generiert (unbewiesene Behauptung die nur auf persönlicher Erfahrung beruht :woohoo:).
Ich bin gespannt auf die Clientregeln…
Viele Grüße,
Matthias -
AutorBeiträge