Toon posts:

[Lotus] Domino Designer

Pagina: 1
Acties:

Verwijderd

Topicstarter
Voor iedereen die iets weet over Domino Designer heb ik een vraagje:

Ik heb in Designer een standaard Fax opgesteld met daarin de gebruikelijke NAW gegevens. Daarbij staat er ook een veld met de telefoon nummer van de begunstigde, maar nu wil ik het volgende doen. Als een gebruiker het nummer 0123456789 in vult dat er doormiddel van een formule het volgende gedisplayd word: (012) 3 45 67 89. Ik heb al op de site van Domino gekeken en daar diverse formules gevonden, echter willen deze allemaal niet werken om een of andere reden. :'(

Ik hoop echt dat iemand mij kan helpen :?

  • Loque
  • Registratie: November 2000
  • Laatst online: 08-07-2023

Loque

^^^^^

Ik ben sinds een paar weken mij aan het verdiepen in Domino Designer voor mijn stage,
Ik denk dat je als je dit voor elkaar wilt krijgen een leuk stukje XML moet kunnen programmeren.
Ik heb ff designer geopend.
En ik denk dat je het ergens moet maken bij
Onload of
Onsubmit
Hier zul je zoiets moeten maken als:

Tel of het nummer 10 cijfers is
Plaats vooraan hekje open
Plaats na 3 cijfers hekje sluiten
Plaats spatie
Plaats 4e cijfer
Plaats spatie
Plaats 5e en 6e cijfer
Plaats spatie
Plaats 7e en 8e cijfer
Plaats spatie
Plaats 9e en 10e cijfer

Ik ben nog geen XML expert.. (misschien kun je een nieuw topic openen met deze vraag) aangezien er wel mensen zijn met XML verstand. (maar niet dit topic lezen)

I'm not in denial, im just selective in the reality I choose to believe. (Calvin & Hobbes)


  • Xanion
  • Registratie: Augustus 2001
  • Laatst online: 03-08 20:18
Je kunt dit bereiken met het volgende scriptje.
Zorg dat het in het exiting event staat van het veld. Het script gaat ervan uit dat het veld 'Telefoonnummer' heet, pas dit aan, aan de naam van je eigen veld. Ik doe geen controles op de inhoud van het veld. Dus je moet zelf eerst even controleren of dat het wel cijfers zijn en of dat de minimale lengte bijv wel 10 is.

Als je dan 123456780 in het veld invult, wordt het veranderd in (123)4567890.

Sub Exiting(Source As Field)
Dim workspace As New notesuiworkspace
Dim uidoc As notesuidocument
Dim doc As notesdocument
Dim item As notesitem
Set uidoc = workspace.currentdocument
Set doc = uidoc.document
Set item = doc.getfirstitem("telefoonnummer")
Tekst$ = "(" + Left$(item.text,3) + ")" + Right$(item.text,Len(item.text)-3)
item.values = tekst$
End Sub

There are 10 types of people in the world: Those who understand binary, and those who don't. .


Verwijderd

Topicstarter
Heel erg bedankt Xanion maar een klein probleempje :')

Ik wil graag dat de telefoonnummer gedisplayd word als zijnde de volgende stijl (012) 3 45 67 89 Ik heb het zelf ook al even bekeken hoe ik dat het beste kon oplossen alleen wil het met mijn vaardigheden niet echt lukken, ik ben meer bekend met HTML dan met scripts schrijven in Lotus.

Als je me nog een keer zou willen helpen dan ben ik je heel erg dankbaar. ;)

Verwijderd

Topicstarter
Is er daar iemand die mij nog kan helpen

Ik zou het heel erg warderen :)

Verwijderd

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". Afbeeldingslocatie: http://notes.net/today.nsf/62f62847467a8f78052568a80055b380/d4af9ea0e919b63e8525694b006414ec/Body/0.8D54?OpenElement&FieldElemFormat=gif

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 ! :)
Pagina: 1