Autor Thema: Kann mir mal eben jemand bei dieser hide-when-Formel helfen?  (Gelesen 2764 mal)

botschi

  • Gast
Meine Formel in einem Feld (zur Anzeige berechnet):
_2 := @GetProfileField("Profildokument";"werausliefern");
@If(@IsMember(_2;@UserNamesList);"hallo";1)

_2 enthält eine Menge Namen, u.a. auch meinen. Trotzdem sagt die Formel 1...!

Matthias

Glombi

  • Gast
Re: Kann mir mal eben jemand bei dieser hide-when-Formel helfen?
« Antwort #1 am: 11.10.07 - 17:47:38 »
Wenn es nur auf den aktuellen User gehen soll:

_2 := @GetProfileField("Profildokument";"werausliefern");
@If(@IsMember(@UserName;_2);"hallo";1)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Kann mir mal eben jemand bei dieser hide-when-Formel helfen?
« Antwort #2 am: 11.10.07 - 17:55:39 »
Wenn aber auch Rollen und Gruppen eine Rolle spielen können, dann ist das mit @UserNamesList schon nicht schlecht. Muss man nur anders verwenden:
@If (@UsernamesList *= _2; "hallo", 1)

By the way: Deine Reaktion auf @if ist grenzwertig: Entweder ein String oder eine Zahl. Sowas macht man nicht  ;)

Bernhard

Offline pete_bla

  • Senior Mitglied
  • ****
  • Beiträge: 455
  • Geschlecht: Männlich
  • dot net gitz net!
Re: Kann mir mal eben jemand bei dieser hide-when-Formel helfen?
« Antwort #3 am: 11.10.07 - 17:58:18 »
Hi,

und ist _2 wirklich eine Liste?
für Namen, zumindest Canoncial würde ja auch @Contains reichen.
Dann ists wurscht ob liste oder flach.

Gruss, Pete(r)

pete(r)

botschi

  • Gast
Re: Kann mir mal eben jemand bei dieser hide-when-Formel helfen?
« Antwort #4 am: 11.10.07 - 18:00:59 »
Hast ja Recht, ich konnte die 0 nur nicht mehr sehen  >:(

Vielen Dank, daß ihr nach einem langen Tag meinen Wald vorm Kopf gerodet habt.

Danke, Matthias

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Kann mir mal eben jemand bei dieser hide-when-Formel helfen?
« Antwort #5 am: 11.10.07 - 18:04:15 »
Das mit der 0 war ja nur ein Nebengeräusch  ;)

Für welche Methode hast Du Dich denn nun entschieden? @IsMember oder den genialen Permutationsoperator "*="?

Bernhard

botschi

  • Gast
Re: Kann mir mal eben jemand bei dieser hide-when-Formel helfen?
« Antwort #6 am: 11.10.07 - 18:10:10 »
Eigentlich stehe ich auf den Permutationsoperator (das Wort kannte ich bis eben nicht), aber Rollen und Gruppen spielen keine Rolle.
Für die bessere Nachvollziehbarkeit, wenn ich in 6 Monaten nochmal drauf gucke, habe ich mich für die Lösung von Andreas entschieden...

Wobei ich Deine Lösung in meine Trickkiste aufgenommen habe.

Matthias

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Kann mir mal eben jemand bei dieser hide-when-Formel helfen?
« Antwort #7 am: 11.10.07 - 18:41:39 »
Wenn Du aber nach den nachvollziehbaren sechs Monaten auf einmal auf die Idee kommst, in das Feld "werausliefern" die Gruppe "Auslieferer" oder die Rolle "[Lieferservice]" aufnimmst, bist Du mit @UserNamesList *= _2 besser aufgehoben. Das wäre weitsichtiger  ;)
Andreas' "@If(@IsMember(@UserName;_2);"hallo";1)" ist da ja gleich mit inkludiert.

Nur so als Tipp ...

Bernhard

botschi

  • Gast
Re: Kann mir mal eben jemand bei dieser hide-when-Formel helfen?
« Antwort #8 am: 12.10.07 - 10:27:16 »
Ich habs jetzt mit Bernhards Formel gemacht, man muss sich selber ja auch weiter entwickeln  ;D

Allerdings mit negation (ich hoffe es funktioniert so):
@If(status = _S1 & !@usernamesList *= _1;1;0)

Kann Bernhard mir vielleicht noch einen Satz zu dem Permutationsoperator sagen? Warum muss der hier kommen?

Matthias

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Kann mir mal eben jemand bei dieser hide-when-Formel helfen?
« Antwort #9 am: 12.10.07 - 10:42:33 »
Schau dir mal diesen Best Practices an

http://atnotes.de/index.php?topic=18203.0

status = _S1 & !@usernamesList *= _1

Liefert True oder False zurück und das reicht dann schon  :)
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Offline HarryB

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 521
  • Geschlecht: Männlich
Re: Kann mir mal eben jemand bei dieser hide-when-Formel helfen?
« Antwort #10 am: 12.10.07 - 11:11:39 »
Statt @IsMember ist vielleicht auch @IsNotMember hilfreich.

@IsNotMember arbeitet hier ähnlich wie der Permutationsoperator: es gibt nämlich @True zurück, wenn es keine Schnittmenge zwischen den beiden Listen gibt.

Viele Grüße
Harry
Harald "HarryB" Börger

2 x 7.0.2FP1 auf AIX (Cluster)
1 x 7.0.2FP2 auf AIX
1 x 6.5.5 auf AIX
4 x 7.02.FP2 auf WIN

Clients: 7.0.2

botschi

  • Gast
Re: Kann mir mal eben jemand bei dieser hide-when-Formel helfen?
« Antwort #11 am: 12.10.07 - 11:24:37 »
Das mit dem Rückgabewert kenne ich. Habs nur so gemacht, damit ich es euch besser vermitteln kann, was ich möchte. So sieht meine Formel ungefähr aus:

Code
@If(
status = _S1 & !@UserNamesList *= _1;1;
status = _S2 & !@UserNamesList *= _2;1;
status = _S3 & !@UserNamesList *= _3;1;
status = _S3 & d_relevant != "" & dprfungdurch != "" & !@UserNamesList *= _4;1;
status = _S3 & g_relevant != "" & gprfungdurch != "" & !@UserNamesList *= _5;1;
status = _S3 & c_relevant != "" & cprfungdurch != "" & !@UserNamesList *= _6;1;
status = _S3 & p_geprft != "" & !@UserNamesList *= _7;1;
status = @GetProfileField("Profildokument";"phase0");0
;0)

Ich hab mehrere Bedngungen, deswegen habe ich mich für das @If entschieden.

Matthias

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz