Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: magpie1274 am 15.11.04 - 17:33:58

Titel: Herausfiltern der aktuellen Dokumente (Versionierung)
Beitrag von: magpie1274 am 15.11.04 - 17:33:58
Hallo Experts,

ich habe eine DB gebastelt, welche die Versionen als Responses speichert. Nun möchte ich, dass nur die Hauptdokumente via Newsletter (new or modified) an die Personen versendet werden (z.Z. set collection = db.unprocessedFTSearch)

Habe aber Probleme mit der Überprüfung von $Ref. Da ich sonst keine Möglichkeit gefunden habe, wonach ich sonst prüfen kann, ob es sich um eine vorherige Version handelt.

Habt Ihr vielleicht noch Ideen?

Gruß

Oli
Titel: Re: Herausfiltern der aktuellen Dokumente (Versionierung)
Beitrag von: Driri am 15.11.04 - 17:41:04
Du könntest mit IsRespone abprüfen, ob es sich um ein Antwortdokument handelt.
Titel: Re: Herausfiltern der aktuellen Dokumente (Versionierung)
Beitrag von: magpie1274 am 15.11.04 - 19:42:27
Danke Diri für Deine Antwort.

Hatte vergessen zu schreiben, dass die Hauptdokumente natürlich auch normale Responses haben... Dadurch würde ich dann diese natürlich auch rausfiltern, was nicht gewollt ist.

Gruß

Oli
Titel: Re: Herausfiltern der aktuellen Dokumente (Versionierung)
Beitrag von: Glombi am 15.11.04 - 23:23:17
Du könntest die Form prüfen - sofern Deine "normalen" Antworten ein andere Maske benutzen,was in der Regel der Fall ist.

Andreas
Titel: Re: Herausfiltern der aktuellen Dokumente (Versionierung)
Beitrag von: magpie1274 am 15.11.04 - 23:26:32
Hallo Andreas,

wie meinst du das? Auf die Form prüfen? Die historischen Versionen haben doch auch die gleiche Form wie das zur Zeit aktuellste Dokument.

Könntest Du das etwas näher erläutern?

Dank im Voraus.

Gruß
Oli
Titel: Re: Herausfiltern der aktuellen Dokumente (Versionierung)
Beitrag von: Glombi am 15.11.04 - 23:31:02
Du willst das Hauptdokument und alle Antworten - ausser die alten Versionen - haben, oder!?

Also so:
if not doc.IsResponse or (doc.IsResponse and not doc.Form(0) = "Hauptmaske") then
 ... hier was intelligentes ...
end if

Andreas
Titel: Re: Herausfiltern der aktuellen Dokumente (Versionierung)
Beitrag von: Glombi am 15.11.04 - 23:36:07
Besser ist es natürlich, sich den Suchstring schon zurecht zu legen:

dim searchstring as string
searchstring = {(Form = "Hauptmaske" & @IsUnavailable($REF)) | Form = "Antwortmaske")}

Andreas

P.S: !!! Achtung Änderung !!! Das Pipe | kann natürlich nicht als String-Delimiter verwendet werden, da es im String als Or Operator vorkommt. Daher {...}
Titel: Re: Herausfiltern der aktuellen Dokumente (Versionierung)
Beitrag von: koehlerbv am 15.11.04 - 23:38:26
Aber bei Versionierung liegt doch a priori keine andere Maske zu Grunde, Andreas ...

Ich muss mir das morgen auch mal genauer 'reinziehen. Aber so "einfach" wird da m.E. nix.

Bernhard
Titel: Re: Herausfiltern der aktuellen Dokumente (Versionierung)
Beitrag von: Glombi am 15.11.04 - 23:41:59
Aber bei Versionierung lieht doch a priori keine andere Maske zu Grunde, Andreas ...
Eben, daher meine Lösung. Kann aber sein, dass ich das total falsch verstanden habe.

Jetzt muss ich mich aber wieder meinem Kunden widmen ....

Andreas
Titel: Re: Herausfiltern der aktuellen Dokumente (Versionierung)
Beitrag von: koehlerbv am 15.11.04 - 23:49:07
Oh, sorry, Andreas, da habe ich jetzt natürlich falsch gelegen. Mea culpa.
Klar: Dokument, dass der Versionierung zum Opfer gefallen ist, hat $Ref, hat gleiche Maske, aber $Conflict ist leer, also kein R/S conflict). So müsste das einfach gehen ...

Bernhard
Titel: Re: Herausfiltern der aktuellen Dokumente (Versionierung)
Beitrag von: Glombi am 16.11.04 - 00:01:15
Oli, ich habe meinen Searchstring oben geändert - bitte beachten.

Andreas
Titel: Re: Herausfiltern der aktuellen Dokumente (Versionierung)
Beitrag von: magpie1274 am 16.11.04 - 09:46:34
Hallo Andreas,

habe es genauso gemacht, wie beschrieben über den SearchString. Leider springt er aber direkt in den ErrorHandler und baut keine Collection auf..  :(


searchstring = {(Form = "MainTopic" & @IsUnavailable($REF)) | Form = "Response" | Form = "ResponsetoResponse")}
Set collectionB = db.UnprocessedFTSearch(searchstring,0)

Woran könnte das liegen?

Gruß
Oli
Titel: Re: Herausfiltern der aktuellen Dokumente (Versionierung)
Beitrag von: Glombi am 16.11.04 - 09:55:51
Zuviele Klammern (sorry war mein Fehler) und dann noch eine Vereinfacherung:

searchstring = {(Form = "MainTopic" & @IsUnavailable($REF)) | Form = "Response":"ResponsetoResponse"}

Andreas
Titel: Re: Herausfiltern der aktuellen Dokumente (Versionierung)
Beitrag von: magpie1274 am 16.11.04 - 10:20:39
Es klappt leider immer noch nicht..  :(

Könnte es sein, dass der searchstring sich nicht mit UnprocessedFTSearch verträgt?
Gibt es einen Unterschied zwischen UnprocessedSearch und UnprocessedFTSearch (ausser dass es eine Fulltext Suche ist)?

Gruß
Oli

Titel: Re: Herausfiltern der aktuellen Dokumente (Versionierung)
Beitrag von: Glombi am 16.11.04 - 10:24:51
Stimmt, bei FTSearch brauchst Du eine Query. Das musst Du in der Designer Hilfe nachlesen.

Ansonsten kannst Du das so machen:

Set collectionB = db.Search( searchstring, Nothing, 0 )

Andreas