Ik heb ff voor je gekeken in de designer en ik heb het op de volgende manier opgelost:
Ik heb een tabel gemaakt met daarin 2 velden
tel en
dsptel.
(forgive me my poor ascii-art

)
code:
1
2
3
4
5
| +----------------------------------+
| telefoonnummer [tel] |
+----------------------------------+
| telefoonnummer [dsptel] |
+----------------------------------+ |
tel is een editable field van het type text,
dsptel is computed for display van het type text.
Voor rij
1 van de tabel heb ik aangegeven dat ie verborgen moet worden op het moment dat het document is "previewed for reading", "opend for reading" en "printed".
Rij
2 van de tabel moet verborgen worden op het moment dat het document is "previewed for editing", "opend for editing" en "copied to the clipboard".
Met andere woorden als het document in edit-mode staat is alleen rij 1 zichtbaar "0123456789", staat het in preview mode is alleen rij 2 zichtbaar. "(012) 3 45 67 89"
Om er zeker van te zijn dat bij het opslaan een telefoonnummer zeker geen spaties bevat. Heb ik voor het veld
tel in de "Input Translation" de volgende formule gezet:
code:
1
| @ReplaceSubstring(@Trim(tel);" ";"") |
Het veld
dsptel heeft in de volgende formule in de value property:
code:
1
2
3
4
5
6
7
| netnummer:=@Left(tel;3);
nr1 := @Right(@Left(tel;4);1);
nr2 := @Right(@Left(tel;6);2);
nr3 := @Right(@Left(tel;8);2);
nr4 := @Right(tel;2);
"("+netnummer+") "+ nr1 + " " + nr2 + " " + nr3 + " " + nr4 |
Mocht het nodig zijn om de telefoonnummers in een in het gewenste formaat in een view te tonen kan je ook de formule van dsptel in de column-value zetten. Of je maakt van dsptel een computed field ipv computed for display.
Mocht je niet bekend zijn met hide-when's kan je ook hier eens kijken.
* Hide-when basics
Mocht je het presé in script willen oplossen zou ik het in de Querysave van het formuler alleen is het bovenstaande IMHO makkelijker/beter

.
Dan moetje wel
dsptel computed maken en zal het zoiets worden als:
code:
1
2
3
4
5
6
7
8
9
10
11
| Sub Querysave(Source As Notesuidocument, Continue As Variant)
Dim Doc as NotesDocument
Dim TelStr as string
Set Doc = source.document
TelStr = doc.tel(0)
Doc.DspTel = "("+Left(telstr,3) + ") " + Mid$(telstr,4,1) +_
" "+Mid$(telstr,5,2) + " "+Mid$(telstr,7,2) + _
" "+Right(telstr,2)
End Sub |
Success ermee !