Weeknummer in Lotusscript

Voor een applicatie had ik een weeknummer functie nodig. Format(Now,”ww”) werkt niet goed voor jaren waar een week 53 bestaat. Een iets aangepaste script van de MSDN site werkt echter prima. Invoer Is een datum, uitvoer Is een tekst met het jaar en het weeknummer waarin de invoerdatum valt. Function getWeekNumber(InDate As NotesDateTime) As String On Error GoTo ErrorHandler Dim DayNo As Integer Dim StartDays As Integer Dim StopDays As Integer Dim StartDay As Integer Dim StopDay As Integer Dim VNumber As Integer Dim ThurFlag As Boolean Dim tmpDate As NotesDateTime Dim tmpWeek As Integer Set tmpDate = New NotesDateTime(DateSerial(Year(inDate.LSLocalTime), 1, 0)) DayNo = InDate.TimeDifference(tmpDate)/60/60/24 StartDay = Weekday(DateSerial(Year(InDate.LSLocalTime), 1, 1)) – 1 StopDay = Weekday(DateSerial(Year(InDate.LSLocalTime ), 12, 31)) – 1 StartDays = 7 – (StartDay – 1) ‘Number of days for the first calendar week StopDays = 7 – (StopDay – 1) ‘Number of days for last calendar week If StartDay = 4 Or StopDay = 4 Then ThurFlag = True Else ThurFlag = False ‘Test to see if the year has 53 weeks VNumber = (DayNo – StartDays – 4) / 7 ‘If first week has 4 or more days, it will be calendar week 1 otherwise it will belong to last year’s last calendar week If StartDays >= 4 Then tmpWeek = Fix(VNumber) + 2 Else tmpWeek = Fix(VNumber) + 1 End If If tmpWeek > 52 And ThurFlag = False Then tmpWeek = 1 ‘Handle years whose last days will belong to coming year’s first calendar week If tmpWeek = 0 Then ‘Handle years whose first days will belong to the last year’s last calendar week Set tmpDate = New NotesDateTime(DateSerial(Year(InDate.LSLocalTime ) – 1, 12, 31)) getWeekNumber = getWeekNumber(tmpDate) ‘Recursive loop Else getWeekNumber = Format(inDate.LSLocalTime,”yyyy”) & ” week ” & CStr(tmpWeek) End If Exit Function ErrorHandler: MsgBox GetThreadInfo(1) & ” ” & Error & ” (” & Err & “) op regel ” & Erl & “.” Exit Function Resume Next End Function lees meer…

Lees verder...

Aantal dagen in een maand

In een applicatie was het nodig om van een willekeurige maand het aantal dagen te kunnen tonen. Met de formule @BusinessDays( startDates ; endDates ; daysToExclude ; datesToExclude ) is dat goed mogelijk. Voor startDates kan simpelweg de eerste van de maand worden genomen, voor endDates zou je kunnen werken met @Adjust(@Adjust(startDates;0;1;0;0;0;0);0;0;-1;0;0;0) waarmee je dus eerst een maand opteld bij de startdatum en daarna een dag terug gaat. Voor LotusScript zou je de formule kunnen evalueren met de Evaluate functie. lees meer…

Lees verder...

Gedocumenteerde $VELDEN in Notes

$AssistMail Geeft aan dat een e-mailmemo is verzonden door een achtergrondagent, in plaats van via de gebruikersinterface van de normale cliënt. $UpdatedBy lijst met vorige editors. Voegt geen nieuwe editor toe als deze hetzelfde is als de laatste editor, maar doet hetzelfde als elke andere eerdere editor. Niet veranderlijk omdat het wordt onderhouden door hardgecodeerde API-elementen. Alleen opgenomen in documenten die een bepaald soort auteursrechten hebben. Open bewerkingsdocumenten volgen geen editors. $KeepPrivate Creëert de “Voorkom kopiëren / doorsturen / afdrukken” op elk Notes-document indien ingesteld op “1”. Merk op dat dit geen beveiligingsfunctie is, aangezien een gebruiker het document naar een lokale database kan kopiëren en vervolgens het veld $KeepPrivate opnieuw instellen via een agent. $Revisions Tijd- / datumlijstgeschiedenis van alle wijzigingen in een document. Als u het kenmerk volgnummer in een willekeurig veld bekijkt, kunt u dat lid van het veld $Revisions vinden en de tijd van de laatste bewerking voor het veld bepalen. Dit is de basis voor het Notes-replicatiemodel op veldniveau. $Signature Container voor versleutelde samenvatting met private sleutel van ondertekenbare velden in het document. Dit is wat Notes gebruikt om een ​​elektronische handtekening te verifiëren. Als u het veld $Signature van een ondertekend document verwijdert, rapporteert Notes een beschadigde handtekening! $Fonts Container voor TrueType-lettertype-informatie in rich text-velden. Onduidelijk hoe dit gemanipuleerd kan worden. $File Container voor bestands- en OLE-bijlagen. Veld is uit te lezen, niet te bewerken zonder gevolgen. $VersionOpt Control-veld voor de vlag “wijzigingen opslaan als nieuw document” op een formulier. Kortom, ongeacht wat u op het formulier hebt ingesteld, maakt het wijzigen van dit kenmerk in het document de verschillende formuliereffecten die aan de vlag zijn gekoppeld. $REF Document UniqueID van het hoofddocument bij een document hierachie. Als u een berekend voor weergave tekstveld in een document met deze formule weergeeft, wordt een doclink naar het bovenliggende item weergegeven. U kunt deze waarde wijzigen,  maar het beste is om de methode NotesDocument.MakeResponse hiervoor te gebruiken. $$ViewBody Veld om Notes weergaven te tonen op browserclients. $ConflictAction Dit veld bepaald hoe om te gaan met save conflicten. Stel in op “1” om replicatieconflicten automatisch samen te voegen. $SealData Container voor gecodeerde veldgegevens in een document, ofwel hier staan de veldnamen in van velden die zijn versleuteld. $Moods Stemming-stempelvlag voor Notes-mail $$HHFlags – Wanneer u het selectievakje “Kop- en voettekst op eerste pagina afdrukken” in de eigenschappen voor de database uitschakelt, bevat elk document dat vanaf dat lees meer…

Lees verder...

Wat is IBM Notes

IBM Notes is de client van de client-server groupware-toepassing gemaakt in 1989 door het bedrijf Lotus Development Corporation in samenwerking met Iris Associates waar in de tijd Ray Ozzie de eigenaar van was. In 1995 werd Lotus gekocht door IBM en omgedoopt in de Lotus Development afdeling van IBM, tegenwoordig onderdeel van de IBM Software Group. Tot begin 2013 was IBM Notes bekend onder de naam Lotus Notes. De producten hadden soms de naam Lotus nog, bijvoorbeeld IBM Lotus Domino, maar in maart 2013 heeft IBM de naam Lotus laten vervallen. Eind december 2018 is bekend gemaakt dat IBM een aantal producten, waar onder IBM Notes, verkocht heeft aan het Indiase HCL Technologies. Notes is vooral bekend als e-mail programma, en wordt daarom vaak in één adem genoemd met Microsoft Outlook. Dit is niet helemaal terecht omdat Notes in combinatie met de krachtige server, Domino genaamd, veel meer kan dan alleen mail verwerken. Met Domino en Notes halen bedrijven een compleet samenwerkingsplatform in huis met een zeer lage Total Cost of Ownership. De Notes client software is beschikbaar voor Linux, MacOS en natuurlijk MicroSoft Windows. De software kan geïsoleerd gebruikt worden, maar meestal in combinatie met de Domino server. Voor ontwikkelaars van Notes applicaties is er een gratis op Eclipse gebaseerde versie van Notes beschikbaar, de Domino Designer. Domino is dus de server software en draait op Windows, Linux, IBM iSeries, IBM zSeries en diverse Unix-varianten. Wat kunnen Domino en Notes? Mail Domino is onbetwistbaar een eersteklas mail server. De server ondersteunt IMAP, POP3, SMTP en Notes Mail. Notes is de mail client software, maar de mail kan ook gelezen worden via een webbrowser of een mail client die IMAP of POP3 ondersteunt. Als mail server is Domino een goed alternatief voor Microsoft Exchange. Agenda De Notes client kunt u gebruiken als agendabeheersysteem, vergelijkbaar met Microsoft Outlook. De Domino server zorgt ervoor dat u uw agenda kunt uitwisselen met collega’s en vergaderingen kunt plannen, zalen kunt reserveren, taken kunt delegeren. GroupWare IBM is de ‘uitvinder’ van GroupWare, software die teams helpt om efficiënter samen te werken. IBM bood organisaties al een ‘Intranet’ voor die term uitgevonden was. Met de Notes client kunnen bijgeleverde toepassingen snel geïmplementeerd worden (discussieforums, blogs, documentenbeheer, groep samenwerking enzovoort. Eindgebruikers kunnen eenvoudig eigen toepassingen bouwen (indien toegestaan door de beheerder), maar met het voordeel dat de software via de server door iedereen kan gebruikt worden. (Web) lees meer…

Lees verder...