Home › Forum › Nuclos Entwicklung › Makros und Regeln › nachgeschlagenen Wert via Regel aktualisieren
- Dieses Thema hat 6 Antworten und 3 Teilnehmer, und wurde zuletzt aktualisiert vor 8 Jahren, 10 Monaten von
Martin Rithos.
-
AutorBeiträge
-
2 Februar 2015 um 19:59 Uhr #8198
Martin Rithos
TeilnehmerHallo zusammen,
ich habe eine Maske in der diverse Werte nachgeschlagen und übertragen werden. Bspw. wird auf eine Preisliste zugegriffen. Die dort aufgelisteten Preise werden von Zeit und Zeit verändert. Der Nutzer wird das Feld, worauf sich das nachgeschlagene Feld bezieht, nur einmal setzen. Daher kurzum meine Frage, kann ich in einer Regel, bspw. eine Aktualisieren-Event-Regel, anweisen, dass die Werte erneut ausgelesen werden?
Vielen Dank im Voraus. 🙂
3 Februar 2015 um 12:42 Uhr #8203Thomas Hempel
TeilnehmerHallo Priorditch,
warum speicherst Du bei dieser Sachlage nicht eine Referenz auf den Preis? Dann wäre er automatisch immer aktuell!
Gruß
Thomas3 Februar 2015 um 17:57 Uhr #8207Martin Rithos
TeilnehmerHallo Thomas,
ich scheine dahingehend auf dem Schlauch zu stehen. Wie ich BO mit Hilfe von Referenzfeldern verknüpfen kann ist mir klar. Auch wie ich dank der Referenzfelder auswählbare Werte für „List of Values“-Felder erreiche. Woran ich aber scheitere ist genau einen referenzierten Wert automatisch zu übernehmen.
Beispiel:
Ich habe ein Businessobjekt „Autos“ in dem sich ein „Value of List“-Referenzfeld auf das BO „Türen“ befindet. Im BO „Türen“ gibt es wiederum ein Feld „Preis“.
Nun möchte ich, dass im BO „Autos“ abhängig von der Auswahl der Tür, der dazugehörige Preis automatisch in ein Feld übernommen wird. Wie stelle ich das an? :unsure:
Wenn ich zusätzlich zu den Türen, noch das Feld „Preis“ referenziere, passiert bei der Auswahl der Tür gar nichts – sprich das Feld bleibt leer.
Vielen Dank im Voraus.
4 Februar 2015 um 07:48 Uhr #8208Frank Pavlic
TeilnehmerHi,
du hast in der BO „Autos“ ein Feld, bspw. „Türpreis“, welches den Preis der ausgewählten Tür enthalten soll. Dann hinterlegst Du beim LOV-Feld „Tür“ eine Layout-Regel „Wert nachschlagen“ und da den Aktionstyp „Nachgeschlagenen Wert übertragen“. Als Quellkomponente wählst Du dann das Feld „Preis“ aus, als Zielkomponente „Türpreis“.
Mehr zu diesem Thema findest du im Wiki unter http://wiki.nuclos.de/display/Konfiguration/Layout+RegelnGruß
Frank4 Februar 2015 um 20:21 Uhr #8210Martin Rithos
TeilnehmerHallo Frank,
genau so habe ich es bisher gelöst. Aber was mache ich, wenn sich der Türpreis, zur ausgewählten Tür, ändert? Daraufhin steht solange der alte Preis im BO Autos (Feld Türpreis) bis der Benutzer die Tür ändert oder erneut auswählt, was nicht passieren wird.
Oder wird der nachgeschlagene Wert bei jedem Aufruf/Abspeichern auf’s neue abgefragt und übertragen?
5 Februar 2015 um 01:27 Uhr #8212Thomas Hempel
TeilnehmerHallo priorditch,
ich will ja nicht an Deinem fachlichen Design mäkeln, also:
Das kann eine Regel übernehmen, und zwar eine UpdateRule für das BO Tür.
– wenn eine Änderung gespeichert wird
– erstelle eine Liste aller Dependents „Auto“ (getAuto)
– schreibe den Preis der Tür in alle Auto.tuerpreisDas wärs schon. Im Kern müsste in der Regel etwa stehen:
private void AutoTuerPreiseSetzen(Tuer tuer) throws BusinessException {List lstAutos = tuer.getAuto();
for(Auto auto : lstAutos){
auto.setTuerpreis(tuer.getPreis());
}
}
Wer einen Fehler findet, darf ihn behalten, ist jetzt nicht getestet B)
Gruß
Thomas8 Februar 2015 um 11:46 Uhr #8232Martin Rithos
TeilnehmerDanke, Thomas. Im Nachhinein war es eine überaus dämliche Frage, da hatte ich den Wald vor lauter Bäumen nicht gesehen. Nun ist alles klar.
-
AutorBeiträge