Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: reraru am 23.05.11 - 15:13:13

Titel: @if( blockade im kopf?; feierabend?
Beitrag von: reraru am 23.05.11 - 15:13:13
Hallo zusammen,

bin seit langem mal wieder dabei etwas in Notes zu machen und scheitere gerade an einer recht simplen Sache. Das macht mich echt fertig:

Mir steht in einer Maske das Feld "CellPhoneNumber" aus dem names.nsf zur Verfügung.
Dies gibt mir im Normalfall die Handynummmer wie im names.nsf eingegeben wieder:

+4917x994xxx

Ich bezihe mich auf das Feld um eine Mailsignatur zu erstellen. Hier soll die Ausgabe der Handynummer natürlich auch nur erfolgen wenn eine Nummer vorhanden ist.

Ok. Also wie gesagt erhalte ich im berechneten Feld bei Angabe von CellPhoneNumber die Handynummer im o.g. Format.

Ich möchte die Ausgabe bei vorhandenr Handynummer aber wie folgt haben:

Mobile: +4917x994xxx

Ok. Mit folgender Formal erhalte ich das nachfolgende Ergebnis:

Formel: @If(CellPhoneNumber!=""; "Mobile: " + @text(CellphoneNumber);  "")

Ausgabe: Mobile: Mobile: +4917x994xxx
(ein Mobile: zuviel.)

Muss ich das verstehen? Wenn ich beispielsweise zum Spaß folgendes mache:

@If(CellPhoneNumber!=""; "Mobile: " + @Text(@date(@now));  "")
dann bekomme ich als Ausgabe: Mobile: 23.05.2011

Freue mich auf Antworten!

Gruss René
Titel: Re: @if( blockade im kopf?; feierabend?
Beitrag von: Glombi am 23.05.11 - 15:18:01
Zuerst eine Bitte: Trage bitte einen aussagekräftigen Betreff ein.

Zu Deiner Frage: Bei jedem Speichervorgang wird ein "Mobile: " vorangeschrieben, hast Du ja selbst programmiert  ;)

Workaround:
@If(
  CellPhoneNumber !="" & !@Begins(CellPhoneNumber;"Mobile: ") ;
     "Mobile: " + CellphoneNumber;
 CellPhoneNumber !="" ;
    CellPhoneNumber;
"")


CellphoneNumber ist ja wohl ein Textfeld, von daher ist @Text(CellphoneNumber) flüssiger als flüssig.
Titel: Re: @if( blockade im kopf?; feierabend?
Beitrag von: Bastel123 am 23.05.11 - 15:18:10
Warum machst Du um ein Textfeld noch ein @Text?

Ich meine mich zu erinnern, dabei mal komische Sachen erlebt zu haben.

Sebastian
Titel: Re: @if( blockade im kopf?; feierabend?
Beitrag von: Glombi am 23.05.11 - 15:19:59
@bastel:
Es soll ja immer noch Leute geben, die was anderes als Textfelder verwenden  ;D
Obwohl man dadurch nur Probleme hat: Abhängigkeiten von BS-Einstellungen für Datums- und Zeitformat, Dezimaltrennzeichen, Tausendertrennzeichen...

Andreas
P.S.: Achtung, nur ein Scherz !
(bevor ich gleich wieder beschimpft werde)
Titel: Re: @if( blockade im kopf?; feierabend?
Beitrag von: Bastel123 am 23.05.11 - 15:24:29
aber das Feld CellPhoneNumber im names.nsf ist nunmal Text  :P
Titel: Re: @if( blockade im kopf?; feierabend?
Beitrag von: reraru am 23.05.11 - 15:25:24
Hi,

@Glombi: ich gelobe Besserung!

Also ich habe Deinen Workaround genutzt und er funktioniert natürlich auch. Das mit dem zusätzlichen @text habe ich aus lauter Verzweifelung und Testerei eingebaut. Hatte das vorher nicht und es hat trotzdem nicht geklappt.

Wo ist denn jetzt mein Verständnisproblem? Habs nicht geschnallt.

Ich möchte natürlich das der Text "Mobile: " vor der eigentlichen Nummer steht. Dies aber bitte nur einmal. ;-)

Merke: @text(text) macht keinen sinn. verstanden!  ;)
Titel: Re: @if( blockade im kopf?; feierabend?
Beitrag von: ghostmw am 23.05.11 - 15:26:42
Hi,

warum machst du nicht ein zweites berechnetes Feld Signatur_Mobil mit deiner etwas modifizierten Formel ?
Dieses wird dann benutzt für die Darstellung und Weiterverarbeitung.

@If( CellphoneNumber != ""; "Mobile: " + CellphoneNumber; "" )

Ist - finde ich - besser, wenn die Originaldaten erhalten bleiben, man weiß ja nie, was noch alles später gefordert wird.
Titel: Re: @if( blockade im kopf?; feierabend?
Beitrag von: Glombi am 23.05.11 - 15:28:42
@If(CellPhoneNumber!=""; "Mobile: " + @text(CellphoneNumber);  "")

berechnet den Wert aus sich selbst. Also: Angenommen ein neues Dokument wird erstellt und per Geisterhand wird der Wert aus dem DomDir gesetzt, also Inhalt vor dem 1. Speichern:

"+4917x994xxx"

1. Speichern löst die Berechnung gemäß Deiner Formel aus:
@If("+4917x994xxx"!=""; "Mobile: " + "+4917x994xxx";  "")
und ergibt als neuen Wert
"Mobile: +4917x994xxx"


2. Speichern löst die Berechnung gemäß Deiner Formel aus:
@If("Mobile: +4917x994xxx"!=""; "Mobile: " + "Mobile: +4917x994xxx";  "")
und ergibt als neuen Wert
"Mobile: Mobile: +4917x994xxx"

Klar?

Titel: Re: @if( blockade im kopf?; feierabend?
Beitrag von: Glombi am 23.05.11 - 15:29:28
aber das Feld CellPhoneNumber im names.nsf ist nunmal Text  :P
Und das ist auch gut so ;-)
Titel: Re: @if( blockade im kopf?; feierabend?
Beitrag von: reraru am 23.05.11 - 15:29:32
@ghostmw:

ich ändere ja nichts. habe lediglich das berechnete feld "xy" das meine formel als wert ausgibt.

Gruss René
Titel: Re: @if( blockade im kopf?; feierabend?
Beitrag von: reraru am 23.05.11 - 15:39:36
@Glombi:

Klick! Ok. Super erklärt und auch verstanden das es so ist. Mir war allerdings nicht klar das sich das bei berechneten Feldern so verhält. 8)

Dann danke ich allen Beteiligten recht herzlich!

schönen Abend noch, gruss René