NOTESSIDAN

Allt om Lotus Notes & Domino




Evaluate @Formulas i Lotusscript
Evaluate är ett sätt att via Lotusscript använda @formler. Här är min lista på användbara Evaluate funktioner. Uppdateras regelbundet med nya funktioner. har du förslag på användbara formulas, lämna gärna en kommentar.

Man kan sätta sina egna variabler eller tom. använda sig av fält i dokument för evaluera formler, Observera att vissa funktioner kan ha en motsvarighet i script.

Variabeln x används nedan och Evaluate returnerar alltid en variant, om man vet att evaluate bara returnerar 1 värde kan man använda lotusscript funktionen implode runt sin evaluate funktion och på så sätt returnera en sträng.

I några av exempeln nedan används doc som parameter, doc är då det dokument man vill utföra uppgiften på. om man anger detta kan man referera till fälten i "doc" utan att behöva skicka in egna värden.

Uppdaterad: 2006-11-07

x= Evaluate(|@SetField("HistoryFld";@Trim(@unique("| + user + |":HistoryFld)))| ,doc) ' Lagra en unik list med alla som editerat doc, senaste högst upp - Lägg i Querysave x= Evaluate(|@SetField("HistoryFld";@Trim(@Subset("| + Cstr(Now) + " " + user + |":HistoryFld;10)))| ,doc) ' Lagra en lista med senaste 10 editerare i doc, Senast längst upp - Lägg i QuerySave x = Evaluate(|@Subset(@DbLookup("";"";"MyView";"Renault";4);10)|) ' Returnerar en lista från kolumn 4 med dom 10 första dokumenten från vyn MyView där ' det i första kolumnen i vyn står Renault doc.MailAddres = Evaluate(|@OptimizeMailAddress(CopyTo)|,doc) ' Returnerar en angiven mailaddres utan Domännamn Evaluate |Field Members := @Unique( @Trim( Members));""|, doc ' Ser till så att fältet Members har unika och trimmade värden x = Evaluate( "@MailSavePreference") ' Returnerar Save mail inställningar i Preferences x = Evaluate("@DbManager") ' Returnerar en lista på Managers i databasen från ACL:en x = Evaluate("@IsSoftDeleteEnabled") ' Returnerar 0 om databasen inte har Soft Delete påslaget x = Evaluate ({@RegQueryValue("HKEY_LOCAL_MACHINE"; "Software\\Lotus\\Notes"; "Path")}) ' Returnerar sökvägen till Lotus Notes 7 från registret om den är installerad x = Evaluate(|@TextToTime("2007/01/01")|) ' Returnerar 2007-01-01 om man har svenska inställningar x = Evaluate (|@GetCurrentTimeZone|) ' Returnerar tidszon från operativet x = Evaluate(|@UserNameLanguage(0)|) ' Osäker på vad denna hämtar för något Evaluate(|@getprofilefield("CalendarProfile"; "SignatureOption")|) ' Hämtar värdet i fältet SignaturOption i profildokumentet CalendarProfile x = Evaluate(|@UserName(0)|) ' Hämtar påloggad användares vanliga namn x = Evaluate(|@UserName(1)|) ' Hämtar påloggad användares alternativa namn x = Evaluate(|@Domain|) ' Hämtar Domännamnet från aktuell platsprofil x = Evaluate( |@Version|) ' Hämtar klientens versionnummer x = Evaluate("@LocationGetInfo( [BookmarksFilename])") ' Hämtar namnet på bookmarkdatabasen x = Evaluate(|@LocationGetInfo([NamePreference])|) ' Hämtar Default Display Name från aktuell platsprofil x = Evaluate(|@LocationGetInfo([InternetMailAddress])|) ' Hämtar Internetaddressen från aktuell platsprofil x = Evaluate( "@LocationGetInfo([SametimeServer])") ' Hämtar Sametime server från aktuell platsprofil x = Evaluate(|@LocationGetInfo([HomeServer])|) ' Hämtar hemserver från aktuell platsprofil doc.Logfld = Evaluate(|@SetField("Logfld";"Nytt värde överst":logfld)|,doc) ' Tilldelar ett "Nytt värde överst" i multivaluefältet "Logfld", bra funktion om man ' t.ex. Vill logga händelser som man vill senaste händelsen ska komma högst upp doc.Country = Evaluate(|@Trim(@Replace(Country; "Sverige"; "Frankrike"))|,doc) ' Ersätter alla värden "Sverige" i multivalue fältet "Country" med "Frankrike" doc.Country = Evaluate(|@Trim(@Replace(Country; "Portugal"; ""))|,doc) 'Tar bort värdet Portugal om det finns i multivalue fältet Country 'dvs tar bort ett värde från en array attachments = Evaluate(|@AttachmentNames|,doc) 'Returnerar en array med bifogade filer i tex. ett webbdocument(doc) i en WQS. 'Dokumentet behöver inte vara sparat för att fånga värdena docMail.SendTo = Arrayappend(Evaluate(|Email|,doc),docMail.SendTo) ' Lägger till personer markerade i ett webbdokument (doc) till arrayen docMail.SendTo x = Evaluate(|@count("Äpple":"Banan":"Päron")|) ' Returnerar 3 x = Evaluate(|@ConfigFile|) ' Returnerar sökväg till Notes.ini x = Evaluate(|@Contains( "Lotus Notes" ; "Notes" )|) ' Returnerar 1 eftersom Notes finns i strängen Lotus Notes x = Evaluate(|@Contains( "Lotus Notes" ; "NOTES" )|) ' Returnerar 0 eftersom NOTES inte finns i strängen Lotus Notes x=Evaluate(|@Explode("Äpple$Päron$Apelsin$Banan$";"$")|) ' Returnerar en array där första värdet är Äpple och sista värdet Banan x=Evaluate(|@URLEncode("Domino";"Thomas Adrian")|) ' Returnerat Thomas%20Adrian x = Evaluate(|@WebDbName|) ' Returnerar aktuell databasfilnamn i webbformat x=Evaluate("@UserRoles") ' Returnerar en array av roller en användare har x = Evaluate(|"Äpple":"Päron":"Apelsin":"Banan":"Mandarin"|) ' Returnerar en array av värden x=Evaluate(|@IsMember("[Admin]"; @UserRoles)|) ' Returnerar 1 om inloggad användare har rollen Admin x = Evaluate( |@Name([CN];@UserName)|) 'Returnerar inloggad användares För och efternamn x = Evaluate(|@DbColumn("";"Server":"names.nsf";"People";2)|) ' Returnerar alla värden i kolumn 2 i vyn People i DD x = Evaluate(|@Unique|) ' Returnerar en unik nyckel x = Evaluate(|@Adjust(@today;1;0;0;0;0;0)|) ' Retunerar dagens datum + 1år x = Evaluate(|@ReplaceSubstring("lotus notes";" ";"+")|) ' Retunerar Lotus+Notes x = Evaluate(|@Word("Äpple,Päron,Banan,Apelsin";",";2)|) ' Returnerar Päron



Relevanta Poster på Notessidan:



Publicerad 2006-11-07 | Kommentarer: 3 | Läsningar: 9822
Kommentarer

Mattias Kihlström ( 2006-06-28 17:59:15 ) Websida
Propercase går även att göra direkt i Lotusscript med följande inbyggda funktion:

x = StrConv( "minsträng", 3 )
Andrei Kouvchinnikov ( 2006-06-28 20:11:34 ) Websida
Jag brukar använda Evaluate med @DBLookup för att slippa initiera alla db/vy/doc variabler.
e=evaluate(|@DbLookup("":"NoCache";"":"";"AllByName";"|+"peter pan"+|";2)|)
MsgBox "Peter Pan's phone number is: "+ev(0)

@Word och @WebDbName är troligtvis de mest använda formler i Evaluate.

Ibland använder jag även @SetField, då sätter Notes rätt dataformat automatiskt. e=evaluate(|@SetField("StartDate";@TextToTime("2006-06-28"))|, doc)

Herbert ( 2007-05-21 02:33:07 ) Websida
Jag brukar även @Eval en gång ibland - typ när jag flytter definitionen på vissa lookups ut ur koden och till keywords.
I javascript finns det vel något liknande - jättebra att kunna skriva dynamiskt skript på dette sättet.



Sök på Notessidan
Thomas Adrian
ThomasCertifierad utvecklare och administratör inom Notes & Domino

Kontakta mig







Senaste Sökningarna på Notessidan
Tor - bild and signatur (R:1)
Tor - värdnamn (R:0)
Tor - användarguide (R:1)
Tor - Sortera and Lista (R:1)
Tor - Processa and XML (R:1)
Tor - datatyper (R:1)
Tor - böcker (R:0)
Tor - tipset (R:7)
Tor - systemkrav and för and lotus and notes and 8 (R:0)
Tor - h�nger (R:0)
Tor - ta and bort and användare (R:0)
Tor - söka and i and flera and databaser (R:0)
Tor - genväg (R:0)
Tor - sort and array (R:7)
Tor - säkerhet (R:0)
Tor - läs and xml (R:0)
Tor - öppna and notes and från and webben (R:0)
Tor - Se and om and mail and lästs (R:1)
Tor - svara and till and avsändaren (R:0)
Tor - fönster (R:0)
Tor - Connection and document (R:8)
Tor - genväg and på and skrivbordet (R:0)
Tor - brev* (R:4)
Tor - dominoserver (R:24)
Tor - mall and blog (R:0)
Tor - Multi-User (R:1)
Tor - Å and ä and ö (R:0)
Tor - cheklista (R:1)
Tor - ecl (R:2)
Tor - gör and tillgänglig (R:7)




Databasstatistik Blogg
Uppdateras var 15:e Minut

Antal Poster:562
Antal Kommentarer: 1024
Alla sidvisningar idag:
Unika Besökare idag:
Databasstorlek: 121Mb
Fixup: 2017-03-30 00:30:48
FT:2017-03-30 02:00:48
DB Procent använd: 99,6
Antal Agenter: 42
Antal Formulär: 65
Antal Vyer: 60
Antal Dokument: 7190
Antal Image Resources: 108
Antal Subformulär: 18
Antal Scriptbibliotek: 11
Totalt Antal Designelement: 573
Antal Attachments: 159
Antal Konflikter: 0
Server version 1: 405
Server version 2: Release 9.0.1FP8|February 23, 2017
Server Plattform: Windows/64
Ändrad: 2017-03-30 02:32:27
Server Tidszon: Z=-1$DO=1$DL=3 -1 1 10 -1 1$ZX=97$ZN=W. Europe
Region:
Kommentarsspam Idag: 0
Kommentarsspam Totalt: 8008


BlogRankers.com

Top Sites at iWEBTOOL.com

Fight Spam! Click Here!

Bloggtoppen.se

Listed on BlogShares

Increase website traffic

Top Internet Blogs

Site Checker