Wochen Kategorisiert in Ansicht anzeigen

  • Hallo,


    ich suche eine Lösung für eine Ansicht.
    Ich habe in der Ansicht mehrere Felder, unter anderem ein Datumsfeld. Es sollte die Ansicht nach Wochen Kategorisert ausgegeben werden, wie?


    mfg

  • Das geht am einfachsten mit LS. Allerdings muss man dafuer in den Dokumenten ein Feld erzeugen, das den Feldinhalt von dem Datumsfeld formatiert.
    Also so in etwa:

    Code
    Dim ws As New notesuiworkspace
    	Dim uidoc As notesuidocument
    	Dim doc As notesdocument
    	Dim s As New notessession
    	Dim db As notesdatabase
    	Set db = s.currentdatabase
    	Set uidoc = ws.currentdocument
    	Set doc = uidoc. document
    	doc.neuesFeld = Format(doc.altesDatumsFeld(0),"ww")
                    doc.save true,true
  • Hallo,


    ich habe ein Feld:
    Datum - Eing.Anfrage, Format: Datum/Zeit
    ein neues Feld: dkw, Format?


    wie sollte dann das Script aussehen bzw. wo sollte ich am besten den Code einbauen?


    mfg & danke horst

    • Offizieller Beitrag

    schau mal in die FAQ, dort gibt es ein Script, welches aus einem Datum die KW berechnet.


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

  • hallo dirk,


    ich habe den code gefunden, danke.


    mir ist nur unklar wo der eintrag ist für mein feld im formelcode.
    an welcher stelle mus ich meinen feldnamen eintragen: Eing.Anfrage (Feldname vom Datumsfeld)?


    2. wie ist es zu relaisieren das ich ein angent alle dokumente einer maske durchläuft und dann die kw in das feld: dkw einträgt, damit ich das in der Ansicht verwenen kann?


    danke & mfg

    • Offizieller Beitrag

    das Script kann im QuerySave oder beim Verlassen des Datumfeldes ausgeführt werden.


    Oder Du machst aus dem Feld KW ein berechnetes und schreibst die Formel rein


    _datum := @Date(Datum);
    REM {#####Berechnungen Vorjahr'#####};
    erster_Tag_im_Vorjahr := @TextToTime("01.01." + @Text(@Integer(@Year(_datum))-1));
    Rest_Tage_Vorjahr := @Select(@Weekday(erster_Tag_im_Vorjahr);6;7;8;9;10;4;5);
    KW_VorJahr := @Integer((_datum - erster_Tag_im_Vorjahr + Rest_Tage_Vorjahr * 86400) / 604800);


    REM {#####ersten Tag im Jahr berechnen'#####};
    erster_Tag_im_Jahr := @TextToTime("01.01." + @Text(@Year(_datum)));
    Rest_Tage := @Select(@Weekday(erster_Tag_im_Jahr);6;7;8;9;10;4;5);
    KW := @Integer((_datum - erster_Tag_im_Jahr + Rest_Tage * 86400) / 604800);


    REM {#####letzten Tag im Jahr berechnen'#####};
    letzter_Tag_im_Jahr := @TextToTime("31.12." + @Text(@Year(_datum)));


    KW_J := @If(_datum = ""; "";@Text(KW) = "0";KW_VorJahr; KW );
    @If(KW_J = 53 & @Weekday(letzter_Tag_im_Jahr) < 5 ; FIELD KW := 1; FIELD KW := KW_J);


    Diese Funktionen kannst Du dann in einen Agent bauen und die letzte Zeile ändern in
    @SetField("dkw";@If(KW_J = 53 & @Weekday(letzter_Tag_im_Jahr) < 5 ; FIELD KW := 1; FIELD KW := KW_J))


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein