Home Forum Nuclos Konfiguration Vorgänge und Objekte Editieren/Anzeigen Felder aus Relation

Ansicht von 4 Beiträgen - 1 bis 4 (von insgesamt 4)
  • Autor
    Beiträge
  • #2631
    Jan Smiesko
    Teilnehmer

    Hallo 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
    Jan

    #2634
    Matthias Haake
    Teilnehmer

    Hallo 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,
    Matthias

    #2636
    Jan Smiesko
    Teilnehmer

    Hallo 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
    Jan

    #2637
    Matthias Haake
    Teilnehmer

    Hallo 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

Ansicht von 4 Beiträgen - 1 bis 4 (von insgesamt 4)