Avatar billede yeager Nybegynder
28. januar 2002 - 12:53 Der er 8 kommentarer og
1 løsning

Ugenumre i Notes ?

Hvis man nu gerne vil bruge ugenumre i Notes - hvordan skal man så lige gøre det nemmest?

Så vidt jeg kan se er ugenumre slet ikke med i Notes' tidsregning. Er der mon en anden vej...........?

En mulighed er selvfølgelig at programmere en form for tæller, men det kunne være at der var nogle her som lige lå inde med en bedre ide.... 8^D
Avatar billede wise Seniormester
28. januar 2002 - 18:09 #1
Der står da ugenumrer i kalenderen, ugeview, inotes5.ntf.
Jeg ved ikke om den kan bruges i beregninger...
Avatar billede yeager Nybegynder
29. januar 2002 - 09:16 #2
Du har jo ret... men hvor får kalenderen uge nr. fra!? Jeg været inde og glo i views, forms, frames e.t.c. men kan ingen steder finde de elementer der viser uge nummer. Hvis jeg kunne finde det felt så ville jeg jo nemt kunne snuppe ugenr. derfra.
Avatar billede wise Seniormester
29. januar 2002 - 20:47 #3
Damm, du har jo ret.
Det må være en del af "calendar" looket, fremfor "view".
Det kan ikke hentes der, men så burde det da findes som en funktion....

Der ser dog ikke sådan ud, men her er en løsning.
En søgning på google.com, med "lotus notes weeknumber" gav dette link med en fuld funktion der udregner dem: http://www.keysolutions.com/NotesFAQ/howweek.html
Avatar billede yeager Nybegynder
30. januar 2002 - 08:20 #4
jaaaa det er ikke så'en lige til. Mange tak for ref til keysolutions det er nok det nærmeste vi kommer en løsning på det.
MvH :o)
Avatar billede niels_madsen Nybegynder
31. januar 2002 - 09:52 #5
I script kan du lave ugenumre med Format(dato, "ww"). Men desværre regner den ikke altid korrekt.
Avatar billede jjj Nybegynder
05. februar 2002 - 10:23 #6
jeg har noget hidsig @ kode der kan beregne ugenumre - tror jeg nok
Avatar billede yeager Nybegynder
05. februar 2002 - 11:17 #7
Jaaaa..... Det lyder spændende......
Avatar billede jjj Nybegynder
05. februar 2002 - 11:47 #8
jeg prøver lige at grave det frem
Avatar billede yeager Nybegynder
13. februar 2002 - 10:43 #9
Takket være den gode henvisning fra wise (og ikke mindst Stephen P.R. Renton) er det lykkedes at indarbejde den følgende kode, der udregner uge nr på en given dato:

REM "This formula satisfies ISO 8601:1988";
REM "D is the date of interest.";
REM "Result will be formatted like this: 200138";
REM "Change the item(@Created) in this line to fit your needs : ";
D := @Date(@Created);

FirstOfYear := @Date(@Year(D); 1; 1);
LastOfYear := @Date(@Year(D); 12; 31);
FirstDayNum := @Weekday(FirstOfYear);
LastDayNum := @Weekday(LastOfYear);
   
REM "ISO weeks start on Monday and ends on Sunday.";
ISOFirstDayNum := @If(FirstDayNum = 1; 7; FirstDayNum - 1);
ISOLastDayNum := @If(LastDayNum = 1; 7; LastDayNum - 1);
   
REM "The first and last ISO week is the first";
REM "and last ISO week to include Thursday";
IsFirstWeek := 7 - ISOFirstDayNum > 2;
IsLastWeek := 7 - ISOLastDayNum < 4;
REM "The date of the first day of the first ISO week";
ISOFirstDay := @If(IsFirstWeek;
            @Adjust(FirstOfYear; 0; 0; 1 - ISOFirstDayNum; 0; 0; 0);
            @Adjust(FirstOfYear; 0; 0; 8 - ISOFirstDayNum; 0; 0; 0));
REM "The date of the last day of the last ISO week";
ISOLastDay := @If(IsLastWeek;
            @Adjust(LastOfYear; 0; 0; 7 - ISOLastDayNum; 0; 0; 0);
            @Adjust(LastOfYear; 0; 0; -ISOLastDayNum; 0; 0; 0));
   
REM "Date outside ISOFirstDay and ISOlastDay";
REM "are from the previous or next year";
REM "Return the ISO week number and exit";
   
FirstWeekNextYear := @If(D > ISOLastDay; @Return(@Text(@Year(D)+1) + "01"); NULL);
   
LastWeekLastYear := (D - @Adjust(FirstOfYear; -1; 0; 0; 0; 0; 0))/60/60/24/7;
AdjustLastWeek := 1 - (LastWeekLastYear - @Integer(LastWeekLastYear));
@Set("LastWeekLastYear"; LastWeekLastYear + AdjustLastWeek);
@If(D < ISOFirstDay;@Return(@Text(@Year(D) - 1) +
@Text(LastWeekLastYear)); NULL);
   
REM "If you get this far, the date falls into an ISO week this year";
REM "Convert the difference in seconds to weeks";
NumWeeks := (D - ISOFirstDay)/60/60/24/7;
   
REM "Fractions indicate that the date falls";
REM "in the middle of the ISO week";
WeekAdjust := 1 - (NumWeeks - @Integer(NumWeeks));
ISOWeekNum := NumWeeks + WeekAdjust;
   
REM "Conform to ISO 8601 format";
Pad:=@If(ISOWeekNum<10;"0";"");
Result := @Text(@Year(D))+Pad+@Text(ISOWeekNum);

@Return(Result)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester