Kalender/Sortierung?

  • Hallo Zusammen,


    ich habe eine Kalenderansicht generiert, die auch ganz gut funktioniert. Ich habe jetzt nur das Problem, dass wenn ich einen Kalendereintrag setze und in der Ansicht dann ein Zeitraster darüberlege, Notes die Einträge doch recht willkürlich setzt. Bis auf den Tag stimm da eigentlich gar nix. Der Eintrag wird nur dann korrekt dargestellt, wenn ich mich genau auf die von Notes- im Moment des Eintrags- angezeigte Zeit einlasse...
    Ich hofffe das ham jetzt alle verstanden ;)


    Grüße
    Markus

  • hab nach ein wenig Rumbasteln das Problem jetzt erkannt, weiß aber nicht wie ich Abhilfe schaffen kann. In meiner "Termin"-Maske hab ich drei Felder :


    Datum (der Anwender kann nur das Datum auswählen)


    Start
    Ende->diese Felder zeigen nur die Uhrzeit an.


    Wie krieg ich es jetzt hin, dass in der ersten Spalte meiner Ansicht die Werte der Felder Datum und Start übernommen werden?

    • Offizieller Beitrag

    Das Datum und die Zeit in einen String umwandeln, zusammenbauen und zurück nach Datum/Zeit-Format.


    @TextToTime(@Text(@Day(Datum)) + "." + @Text(Month(Datum)) + "." + @Text(@Year(Datum)) + " " + @Text(Start))


    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

  • Danke das wars...


    jetzt hab ich aber die nächste Frage...


    mit RegionDoubleClick erreiche ich, dass nach Doppelklick im Kalender die Terminmaske erscheint. Wie übergebe ich jetzt die Werte wenn ein Zeitraster darüber liegt? Also ich klicke auf 14:00h und dieser Wert steht dann in meinem Start-Feld....??

  • sorry, wenn ich nochmals nerve...
    hab mich mittlerweile mit abgefunden ,dass ich um LS nicht herumkomme.


    hab bis jetzt folgenden Code in RegionDoubleClick eingegeben:


    Sub Regiondoubleclick(Source As Notesuiview)
    Dim ws As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Set uidoc = ws.ComposeDocument _
    ( "", "", "Termin" )


    Call uidoc.GoToField("Datum")


    End Sub



    Also Notes öffnet nach einem Doppelklick meine Maske und springt ins Feld "Datum" . Wie übergebe ich jetzt den gewünschten Datumswert in dieses Feld? Ich hab jetzt zwar ne Weile rumgesucht und glaube ich komme mit CalendarDateTime weiter. Nur weiss ich nicht, wie ich das in der Ansicht einbinden muss. Copy/Paste?

    • Offizieller Beitrag

    geht mit:

    Code
    Date = NotesUIWorkSpace.CurrentCalendarDateTime


    Gruß
    Dirk

    • Offizieller Beitrag

    im PostOpen der Maske würde ich prüfen ob das Datum- und Zeitfeld leer sind. Sind diese Felder leer würde ich das Datum aus CurrentCalendarDateTime in das Datumsfeld und die Zeit aus CalendarDateTime in das Zeitfeld schreiben.


    Gruß
    Dirk

  • Leider kommt bestelltes LS-Buch erst nächste Woche und ich deshalb auch nicht weiter....


    Bekomme beim Aufruf der Ansicht und der Maske immer folgende Fehlermeldung:


    "Variant does not contain an object"


    Kann mir jemand auf die Sprünge helfen?

    • Offizieller Beitrag

    ja, wenn Du den Debugger einschaltest und die Code-Zeile, bei der er stehen bleibst hier angibst.


    LS-Buch - da kann ich Dir nur die Designer-Hilfe empfehlen. Habe noch keine bessere Doku gefunden.


    Gruß
    Dirk

  • nun ja, das generelle Problem ist, dass ich wirklich gar keinen Schimmer von Script-Programmierung habe und deshalb erst mal ne kleine Einführung brauche, wo ich was wie deklariere und aufrufe...deshalb erst mal n Buch


    Er bleibt bei folgender Stelle hängen




    Sub Initialize
    Set ws = NotesUIWorkSpace.CurrentCalendarDateTime
    End Sub



    habe vorher deklariert:
    Dim ws As NotesUIWorkspace

    • Offizieller Beitrag

    in "Dim ws As NotesUIWorkspace" fehlt ein New
    Die Zeile "Set ws = NotesUIWorkSpace.CurrentCalendarDateTime" funktioniert so nicht, da Dir ein Date zurückgegeben wird.


    so müsste es aussehen:

    Code
    Dim ws As New NotesUIWorkspace
    dim ndt as New NotesDateTime(Cstr(ws.CurrentCalendarDateTime))


    Gruß
    Dirk

  • und nochmals das leidige Thema - habe bis jetzt folgenden Code:


    ->In RegionDoubleckick:


    Sub Regiondoubleclick(Source As Notesuiview)

    Set ws = New NotesUIWorkspace
    Set session = New NotesSession

    If source.CalendarDateTime <> "" Then Call ws.ComposeDocument("", "", "Termin")

    End Sub


    ->In der Maske dann eine Global def. Variable


    Dim Dat_uerbergabe as Variant



    ->Im Queryopen:


    Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant)
    If IsNewDoc Then
    Set ws = New NotesUIWorkspace
    Set session = New NotesSession
    Dat_uebergabe = ws.CurrentCalendarDateTime
    End If
    End Sub


    ->Postopen:


    Sub Postopen(Source As Notesuidocument)
    If IsNewDoc Then
    Set doc = source.document
    doc.Datum = Cdat(Dat_uebergabe)
    Call source.reload
    End If
    End Sub



    Notes öffnet mir zwar brav die Maske, der Datumswert wird aber nicht übergeben...

    • Offizieller Beitrag

    Im QueryOpen hast Du nicht mehr den UIWorkSpace vom Regiondoubleclick im Zugriff.

    Code
    Sub Regiondoubleclick(Source As Notesuiview)
    Set ws = New NotesUIWorkspace
    Set session = New NotesSession
     
      If source.CalendarDateTime <> "" Then
        set uidoc = ws.ComposeDocument("", "", "Termin")
        uidoc.FieldSetText("Name des Datum/Zeit-Feldes", ws.CurrentCalendarDateTime)
      End Sub
    End Sub

    Probiers mal damit. Bitte erst Testen.


    Gruß
    Dirk

    • Offizieller Beitrag

    es muss auch uidoc.Field[color=FF0000]Set[/color]Text sein.