Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: gentleman am 13.09.04 - 16:38:27

Titel: formel problem mit @Contains
Beitrag von: gentleman am 13.09.04 - 16:38:27
hi,

ich benötige eine formel, die folgende kriterien erfüllen muss.
(die formel dient zum verbergen einer aktion, wenn diese bedingungen erfüllt sind...)

1....   @Contains(@UserRoles;"[Markt]")
......   der user muss also die rolle markt besitzen

2....   @Contains(dok_status;"4. Abgeschlossen")=1
......   das feld dok_status muss auf 4. Abgeschlossen stehen


habs so probiert:
@Contains(@UserRoles;"[Markt]");
@Contains(dok_status;"4. Abgeschlossen")=1

hier nimmt er mir allerdings nur die 2te zeile an.
d.h. auch eine andere rolle sieht diesen button, obwohl sie nicht die rolle markt besitzen.

vielen dank schonmal :)
marc
Titel: Re:formel problem mit @Contains
Beitrag von: Semeaphoros am 13.09.04 - 17:01:24
Na ja, in einer Formel wird immer der zuletzt ausgewertete Ausdruck als Resultat zurückgegeben. Wenn Du also einfach 2 Ausdrücke hintereinander stellst, geht der erste spurlos verloren. Was Du brauchst, ist entweder eine "Oder" Verbindung (mit dem Pipe-Zeichen | dargestellt) oder eine "Und" Verbindung (mit dem Apmersand & ) dargestellt. Da ich Deine Bedingung nicht so ganz präzis interpretieren kann, hier mal nur eine Vermutung, dass Du ein "Und" brauchst, etwa so:

@Contains(@UserRoles;"[Markt]") & @Contains(dok_status;"4. Abgeschlossen")
Titel: Re:formel problem mit @Contains
Beitrag von: gentleman am 14.09.04 - 10:48:12
@Contains(@UserRoles;"[Markt]") & @Contains(dok_status;"4. Abgeschlossen")

hi,
danke für die antwort.

also was ich brauch is folgendes:
ich habe 2 rollen: markt und marktfolge
zudem hab ich für jedes dokument ein statusfeld - dieses geht bis 4. Abgeschlossen

ich habe nun eine aktion erstellt.
in dem eigenschaften feld unter "aktion verbergen wenn formel:" muss nun die formel rein.

diese aktion sollen allerdings nur die leute von marktfolge sehn, also:
@Contains(@UserRoles;"[Markt]");

und diese aktion soll marktfolge nur im status 1-3 sehen (nich in status 4. Abgeschlossen), also so:
@Contains(dok_status;"4. Abgeschlossen")=1

aber leider funktioniert das ganze mit deiner & formel auch ned...

vielen dank für die hilfe :)
marc
Titel: Re:formel problem mit @Contains
Beitrag von: Glombi am 14.09.04 - 10:52:53
So muss es sein:

!(@Contains(@UserRoles;"[Markt]") & !@Contains(dok_status;"4. Abgeschlossen"))

Am besten ist es bei Hide - When so heranzugehen: Wann will ich das sehen und damit den Ausdruck basteln.
Anschließend ein Klammer drumherum und ein ! (= Negierung) voran und fertig ist es!

TMC wird dazu bald was in den Best Practices veröffentlichen... Es lohnt sich, das zu verinnerlichen!

Andreas
Titel: Re:formel problem mit @Contains
Beitrag von: gentleman am 14.09.04 - 11:57:06
SUPER!!!!
vielen vielen dank, funktioniert.

nur komisch is dass es so nich funktioniert:
!(@Contains(@UserRoles;"[Markt]") & !@Contains(dok_status;"4. Abgeschlossen"))

sondern so:
!(@Contains(@UserRoles;"[Marktfolge]") & !@Contains(dok_status;"4. Abgeschlossen"))

da drehts anscheinend bei der ersten formel was um...
aber so gehts :)

danke
marc
Titel: Re:formel problem mit @Contains
Beitrag von: koehlerbv am 14.09.04 - 12:00:07
SUPER!!!!
vielen vielen dank, funktioniert.

nur komisch is dass es so nich funktioniert:
!(@Contains(@UserRoles;"[Markt]") & !@Contains(dok_status;"4. Abgeschlossen"))

sondern so:
!(@Contains(@UserRoles;"[Marktfolge]") & !@Contains(dok_status;"4. Abgeschlossen"))

da drehts anscheinend bei der ersten formel was um...
aber so gehts :)

danke
marc

Das heisst doch nichts anderes, als dass die Rolle nicht [Markt], sondern [Marktfolge] heisst ...

Bernhard