- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Regel: im Handlungsanweisungsteil (DO) einen NICHT im Validierungsteil (WITH) ermittelten Wert zuweisen
Ich habe ein einfaches, aber dennoch aktuell nicht zu lรถsendes Problem. Ich mรถchte folgende Regel definieren:
WENN Feld A gefรผllt ist
DANN Feld B mit einem VALUE fรผllen bzw. Combobox B auf einen ENTRY setzen (der NICHT aus der Wertermittlung in WITH stammt).
Folgendes RULES-Gerรผst existiert dazu:
<ON_EVENT> | |||
<WITH> | |||
<NOT> | |||
<PROPERTY source="st_feld_1" name="EMPTY"/> | |||
</NOT> | |||
</WITH> | |||
<DO> | |||
<PROPERTY source="st_feld_2" name="VALUE" /> | |||
<!-- WIE kann ich angeben, welchen VALUE (bzw. | |||
im Combobox-Fall welchen ENTRY) das Feld st_feld_2 bekommen soll --> | |||
</DO> |
</ON_EVENT>
- Labels:
-
Developers
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo,
was ist denn der Anwendungsfall dafรผr?
Aus welcher Quelle soll der Wert, der in st_feld_2 gesetzt werden soll, stattdessen stammen? Irgendeine Quelle muss es ja geben...
Prinzipiell sollte das geforderte Verhalten aber mรถglich sein. Wahrscheinlich dadurch dass man einen ValueService implementiert. (Nรคheres dazu auch hier in der Community)
Viele Grรผรe
Rouven
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
was soll denn passieren, wenn die Bedingung im With-Teil nicht zutrifft, also st_feld_1 leer ist?
Klingt fรผr mich nach einer Regel, die nur dann ausgefรผhrt werden soll, wenn die Bedingung nicht erfรผllt ist. Hierfรผr kann man den IF-Teil einer Regel definieren. Dann bleibt der WITH-Teil auch fรผr die Wertebestimmung frei. Allerdings wรผrde die Regel aktuell den Wert immer wieder neu setzen, da fehlt doch noch eine Abfrage, ob da schon was steht, oder?
Gruร
Stefan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Im in einer Regel ja nicht definierbaren ELSE-Fall soll das feld_2 geleert werden; das mรผsste ich dann noch รผber eine zweite Regel festlegen. Ihre Vermutung trifft zwar zu, aber meine Bedingung im <IF> zu formulieren schied fรผr mich aus, da das zu prรผfende Verhalten sich ja durch eine Benutzeraktion (Feldinhalt erfassen oder leeren) ja stรคndig รคndern kann und nach รnderung des Benutzers nicht noch einmal das in IF formulierte geprรผft werden wรผrde. Ist das richtig? Sie haben recht;es muss noch geprรผft werden, ob feld_2 bereits den gewรผnschten Inhalt hat, um ein endloses immer-wieder-fรผllen zu verhindern.
Zur Frage von Ihrem Kollegen: der Anwendungsfall ist, in Feld 2 einen Vorgabewert zu schreiben und diese Aktion abhรคngig von der Tatsache zu machen, ob Feld 1 gefรผllt ist oder nicht. Beispiel: in Feld 1 erfasse ich eine รberschrift zu einer Seite und in Feld 2 lege ich die Grรถรe der รberschrift fest. Wenn keine รberschrift da ist, gibt es natรผrlich auch keine Grรถรe dazu; aber WENN eine รberschrift da ist, dann soll im Feld 2 (Grรถรe) 14 px voreingestellt werden (im konkreten Fall ist Feld 2 eine Combobox und 14 px ein ENTRY daraus)
Vielen Dank fรผr Ihre Rรผckmeldung!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Der IF-Teil wird natรผrlich bei jeder รnderung geprรผft. Das IF stellt lediglich eine Schranke fรผr die Ausfรผhrung der Regel dar. Klingt nach einer Zwei-Regeln-mit-IF Lรถsung
Gruร
Stefan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Danke fรผr den Hinweis mit IF; das wurde in einer FirstSpirit-5-Schulung anders vermittelt. Ein Textfeld ist es mir auf diese Weise gelungen, zu fรผllen. Leider ist mein konkreter Anwendungsfall, eine Combobox zu fรผllen, was mir bisher durch Lesen der Doku und Herumprobieren nicht gelungen ist. Mein letzter Versuch war der Folgende:
<ON_EVENT> | |||
<IF> | |||
<NOT> | |||
<PROPERTY source="st_ueberschrift" name="EMPTY"/> | |||
</NOT> | |||
</IF> | |||
<WITH> | |||
<TEXT>h2</TEXT> | |||
</WITH> | |||
<DO> | |||
<PROPERTY source="st_ueberschriftsgroesse" name="ENTRY" /> | |||
</DO> |
</ON_EVENT>
wobei h2 ein ENTRY aus der Combobox st_ueberschriftsgroesse ist. Leider ist entweder der Wertermittlungsteil so falsch oder der Handlungsteil. Laut Doku ist fรผr den Handlungsteil (DO) รผberhaupt kein ENTRY erwรคhnt; abspeichern lรคsst es sich aber so schon. Aber egal, ob mit ENTRY oder VALUE im Handlungsteil, es funktioniert (noch) nicht.
Vielen Dank fรผr Ihre Rรผckmeldung!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Moin,
das Setzen รผber ENTRY wird nicht unterstรผtzt. Eigentlich sollte im Log eine entsprechende Fehlermeldung erscheinen, wenn die Regel ausgefรผhrt wird. Sie kรถnnen natรผrlich einen entsprechenden Feature-Antrag stellen, aber eine Einfรผhrung vor Version 5.1 ist eher unwahrscheinlich.
Benรถtigt wird hier ein Option-Wert. Dieser kann leider รผber die Regeln nicht erzeugt werden. Eine Mรถglichkeit wรคre, eine versteckte Combobox-Komponente zu definieren, deren Wert per Default auf "h2" gesetzt ist. Diesen kann man dann im WITH-Teil auslesen. Bei identischer Konfiguration sollte der Optionswert kompatibel sein.
Noch ein Hinweis: obige Regel wird fรผr jede รnderung an st_ueberschrift ausgefรผhrt. Das heiรt, bei jeder Auswahl in st_ueberschrift wird st_ueberschriftsgroesse neu gesetzt und potentiell รผberschrieben. Ich bin mir nicht sicher, ob das so gewollt ist, kann aber natรผrlich sein.
Gruร,
Stefan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Vielen Dank fรผr die Umgehungslรถsung mit der versteckten, zweiten Combobox. Fรผr die Mรถglichkeit, auch direkt einen ENTRY im Handlungsanweisungsteil einer Regel setzen zu kรถnnen, habe ich eine neue Idee erfasst: https://community.e-spirit.com/ideas/1325

