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