Datumsbereich filtern und Mailsend ausführen

  • Guten Tag,


    gerade bin ich dabei eine Maske zu erstellen, in der man ein Start und Ende Datum eingeben kann.


    Ich wähle ein Startdatum, danach ein Ende Datum
    startDate<=adatum & adatum<=endDate


    Das Feld adatum beinhaltet den Datumswert, mit welchem verglichen werden soll.


    Ist dies geschehen, soll ein Mailsend mit den entsprechenden Dokumentenverknüfungen ausgeführt werden. Per Formel klappt alles (wenn ich feste Datumswerte in der Formel hinterlege), bis auf das erkennen und vergleichen der Datumswerte. Feld adatum ist in jedem Dokument als AnlegeDatum gespeichert, die beiden anderen Start/Ende befinden sich lediglich im Arbeitsspeicher.
    Weiß hier jemand evtl etwas?


    Grüße aus der Stadt des neuen Fussballmeisters 06/07 :)

    • Offizieller Beitrag

    wie suchst Du (Formel, Script, FT)?


    Baust Du den Query in einem Feld zusammen? Wie sieht dieser aus?


    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

  • Genau das ist mein Problem. Ich kenne mich mit LotusScript nicht so wahnsinnig gut aus. Per Formel suchen wird denke ich nicht gehen, da ich natürlich kein Start und Ende Datum in den einzelnen Dokumenten hinterlegt habe.


    Ich habe einen Button, mit welchem in einen Agenten starte..


    Code
    @If(startDate<=adatum & adatum<=endDate & edatum ="";@MailSend("max.mustermann@abcde.com";"";"";"Text1";"";"Text2":" ":"Text3:":" ":"Var1":" ":"Text4":" ":"Var2":" ------->  ";[IncludeDoclink]);"");
    SELECT @All
  • Da wirst du um Script nicht herumkommen, da du ja die Werte aus dem Dokument an die Suche übergeben musst und die Sucheinschränkung beim Agenten dafür nicht verwendet werden kann, sondern dies innerhalb des Agenten gemacht werden muss

  • und per Script ist es möglich auf Datumswerte in einem Feld zuzugreifen, das nicht gespeichert wurde?
    Die Designer Hilfe ist natürlich sehr hilfreich, wenn man weiß wo nach man suchen soll :) Zu dynamischen Tabellen
    gibt es eine Beispiel DB, weiß jemand ob es so etwas auch für eine Suche gibt?

    • Offizieller Beitrag

    bau Dir einen Query mit @Formeln im SuchDokument zusammen. Bei Datumswerten muss es so aussehen
    "(@TextToTime(" + @Text(startDate) + ") <= [adatum] OR Not @TextToTime(" + @Text(startDate + ") < 1/1/1900) AND
    @TextToTime(" + @Text(endDate) + ") >= [adatum] OR Not @TextToTime(" + @Text(endDate) + ") < 1/1/1900)"


    startDate und endDate sind in der Suchmaske und adatum ist in den Dokumenten, die durchsucht werden sollen.


    Mit Script holst Du Dir den QueryString und machst einen FTSearch.


    NotesView.Search(QueryString, 0)
    %rem
    Achtung die maximale Anzahl sind nicht unbedingt alle ! ! ! !
    kann aber über notes.ini Eintrag erweitert werden!!!!
    %end rem


    dann gehst Du die Ansicht Dokument für Dokument durch und schreibst einen Link in den Newsletter.


    Gruß
    Dirk

  • Zitat

    bau Dir einen Query mit @Formeln im SuchDokument zusammen. Bei Datumswerten muss es so aussehen
    "(@TextToTime(" + @Text(startDate) + ") <= [adatum] OR Not @TextToTime(" + @Text(startDate + ") < 1/1/1900) AND
    @TextToTime(" + @Text(endDate) + ") >= [adatum] OR Not @TextToTime(" + @Text(endDate) + ") < 1/1/1900)"


    Wo muss man dies Eintragen?? :)



    Zitat

    startDate und endDate sind in der Suchmaske und adatum ist in den Dokumenten, die durchsucht werden sollen.


    Das ist richtig!



    Zitat

    Mit Script holst Du Dir den QueryString und machst einen FTSearch.
    NotesView.Search(QueryString, 0)


    Das klingt relativ einfach?!


    Grüße

    • Offizieller Beitrag

    Du hast doch eine Suchmaske, dort erstellst Du am Ende ein berechnetes Feld ("Query") und benutzt die Formel zur Berechnung des Feldes.


    Was in dem Feld steht ist dann die Queryformel für den Search im Script.


    Gruß
    Dirk

  • Achsoo ok langsam dämmert es mir :)
    Im berechneten Feld erzeuge ich die Formel für meine Suchabfrage. Sobald ich in meinen beiden Datumsfelder (start/end) etwas hinterlege, wird die Formel im Feld "Query" aktualisiert. Ich habe das Feld "Query" auf Typ "Formel und berechnet" eingestellt - ist das richtig?


    Zitat

    NotesView.Search(QueryString, 0)


    "QueryString" steht für mein berechnetes Feld?
    Damit werden alle relevanten Dokumente gesucht?
    Wo wird dieses Script hinterlegt?


    Danke+Gruß
    Steffen

    • Offizieller Beitrag

    QueryString steht für des berechnete Feld Query.


    Damit sollten alle relevanten Dokumente gefunden werden.


    Suchst Du im Web oder im Notes-Client?

  • Ich suche im Notes Client...



    Nochmal zu:
    "NotesView.Search(QueryString, 0)"


    Kann ich diese Aktion einer Schaltfläche zuweisen?

    • Offizieller Beitrag

    genau deshalb habe ich nach dem Client gefragt.


    Erstelle eine Schaltfläche und baue dort den Code. Natürlich musst Du vorher noch die View holen.


    Gruß
    Dirk

  • Zitat

    Natürlich musst Du vorher noch die View holen.


    Hmmm ok, mit diesem Satz hat sich soeben eine neue Frage ergeben :) Wie holt man eine Ansicht?

    • Offizieller Beitrag


    Testen, habs so hier reingeschrieben ohne es auszuprobieren.


    Gruß
    Dirk

  • Vielen Dank für deine bisherige Hilfe.


    Der Degugger stört sich an
    Set uidoc = ws.CurrentDocument
    -> Type mismatch on: currentdocument

  • du hast den Button in einer Maske eingebaut und dann das Dokument geöffnet?


    Sonst ist kein ws.currentDcument da, auf das er sich beziehen kann .....

  • Moin,


    da ist eingkleiner fehler in dialis script


    dim uidoc as notesUIdocument


    deswegen die fehlermeldung da der workspace denn nicht genutzt werden kann wenn uidoc als notesdocument deklariert wurde :D


    ansonsten ist mir nichts aufgefallen ( nicht das irgend nen unterschied macht :lol: )