Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: p206rc am 18.05.06 - 16:15:51

Titel: View: Nur Dokumente anzeigen die Antwort-Dokumente haben
Beitrag von: p206rc am 18.05.06 - 16:15:51
Hallo,

ich möchte gerne eine Ansicht basteln, in der nur Dokumente angezeigt werden auf die es bereits Antworten gibt. Das funktioniert aber einfach nicht, entweder ich bekomme alle Dokumente angezeigt oder gar keine.

Hat jemand eine Idee?

Danke!
Claus
Titel: Re: View: Nur Dokumente anzeigen die Antwort-Dokumente haben
Beitrag von: Driri am 18.05.06 - 16:34:34
Das geht auch nicht. Die Antwortdokumente haben zwar eine Referenz auf ihr Hauptdokument, umgekehrt allerdings nicht.

Du müßtest dann schon dafür sorgen, daß so eine Referenz künstlich erzeugt und ggf. auch wieder entfernt wird. Da reicht ja auch ein simpler Flag im Hauptdokument.
Titel: Re: View: Nur Dokumente anzeigen die Antwort-Dokumente haben
Beitrag von: p206rc am 18.05.06 - 16:36:34
OK ich verstehe, diese Ansicht ist aber eingebettet und über die Formelsprache kann ich da keinen Flag setzen es sei den ich hätte die DocUniqID? Oder?
Titel: Re: View: Nur Dokumente anzeigen die Antwort-Dokumente haben
Beitrag von: Driri am 18.05.06 - 16:39:47
Das hat eigentlich nichts mit der Ansicht zu tun. Du müßtest beim Speichern eines Antwortdokumentes den Flag im zugehörigen Hauptdokument setzen bzw. beim Löschen eines Antwortdokumentes diesen Flag wieder entfernen, wenn keine weiteren Antworten existieren.

Ich denke auch mal, daß Du da um Script nicht herum kommst. Zumindest wüßte ich ad hoc nicht, wie man so etwas mit Formelsprache umsetzen könnte.
Titel: Re: View: Nur Dokumente anzeigen die Antwort-Dokumente haben
Beitrag von: p206rc am 18.05.06 - 16:42:51
Danke!

Ich bin noch eher unerfahren in Lotus-Script und habe deshalb das meiste in der Formelsprache gelöst. Das heißt also beim Speichern des Antwort-Dokuments müsste ich über $REF an das Hauptdokument kommen und den Flag setzen?!
Titel: Re: View: Nur Dokumente anzeigen die Antwort-Dokumente haben
Beitrag von: Driri am 18.05.06 - 17:32:04
Ohne Script-Kenntnisse wird das IMO ein wenig haarig. Du mußt ja nicht nur beim Erstellen einer Antwort etwas tun, sondern auch beim Löschen und beim Löschen zusätzlich noch berücksichtigen, ob es nicht noch andere Antworten gibt.

Ein paar Tipps, falls Du dich daran versuchen möchtest :

- mit NoesDocument.IsResponse kannst Du prüfen, ob das Dokument eine Antwort ist (kann man sich ggf. auch sparen, ich kenn die Anwendung nicht).

- mit NotesDocument.ParentDocumentUNID bekommst Du die UNID des zugehörigen Hauptdokumentes.

- mit NotesDocument.Responses erhälst Du eine DocumentCollection aller Antwortdokumente zu dem Hauptdokument. Wenn die Collection kein Dokument enthält, gibt es keine Antwortdokumente.


Aber wie gesagt, ohne Script-Kenntnisse wird das nicht einfach werden.
Titel: Re: View: Nur Dokumente anzeigen die Antwort-Dokumente haben
Beitrag von: p206rc am 18.05.06 - 20:38:48
OK, dann sag ich herzlichen Dank!! Ich hab früher schon ein bisschen Visual Basic programmiert und Lotus Script soll ja sehr ähnlich sein.

DANKE!!!   ;D
Titel: Re: View: Nur Dokumente anzeigen die Antwort-Dokumente haben
Beitrag von: Driri am 19.05.06 - 08:26:48
Gerne, bei konkreten Problemen bekommst Du hier auch sicher Unterstützung.
Titel: Re: View: Nur Dokumente anzeigen die Antwort-Dokumente haben
Beitrag von: sz am 20.05.06 - 20:59:39
Sorry, wenn ich mich einklinke. Die Collection aus NotesDocument.Responses wird doch an der Stelle noch auf jeden Fall 1 sein, da ja das aktuelle Antwortdokument noch vorhanden ist. Oder bin ich falsch?
Titel: Re: View: Nur Dokumente anzeigen die Antwort-Dokumente haben
Beitrag von: koehlerbv am 20.05.06 - 21:32:49
Sorry, wenn ich mich einklinke. Die Collection aus NotesDocument.Responses wird doch an der Stelle noch auf jeden Fall 1 sein, da ja das aktuelle Antwortdokument noch vorhanden ist. Oder bin ich falsch?

Warum "sorry"? Herzlich willkommen im Forum!

Mir ist allerdings nicht ganz klar, warum Du hier auf eine bestimmte Anzahl von Antwortdokumenten tippst. Das mag aber auch daran liegen, dass ich hier nicht ganz durchsehe.

Auf Unterstützung durch Dich (und einen "ansprechbaren Vornamen") hofft

Bernhard
Titel: Re: View: Nur Dokumente anzeigen die Antwort-Dokumente haben
Beitrag von: Driri am 22.05.06 - 09:50:46
Zitat
Sorry, wenn ich mich einklinke. Die Collection aus NotesDocument.Responses wird doch an der Stelle noch auf jeden Fall 1 sein, da ja das aktuelle Antwortdokument noch vorhanden ist. Oder bin ich falsch?

Klar. Es ging mir darum, darüber zu prüfen, ob noch weitere Antworten vorhanden sind. Also count > 1. Die Formulierung in meinem Post ist da wohl etwas mißverständlich.
Titel: Re: View: Nur Dokumente anzeigen die Antwort-Dokumente haben
Beitrag von: LN4ever am 27.05.06 - 21:13:27
Kann es sein, daß du die eingebettete Ansicht nur anzeigen willst, wenn es auch etwas zu sehen gibt (sprich: es existiert mehr als nur das Hauptdokument). Dann kann so etwas weiterhelfen:

Setz in die Maske ÜBER die eingebettete Ansicht ein Feld (ich habe es d_embeddedanzeigen genannt), das BERECHNET ZUM ANZEIGEN ist und seinen eigenen Wert als Berechnungsformel hat.

Im QUERYOPEN der Maske setzst du dieses Feld mit

Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant)
   If IsNewdoc Then Exit Sub
   If source.document.HasItem("$Ref") Then
      source.document.d_embeddedAnzeigen="1"
   Else
      Set xdc=Source.document.Responses
      If xdc.count=0 Then
         source.document.d_embeddedAnzeigen="0"
      Else
         source.document.d_embeddedAnzeigen="1"
      End If
   End If
End Sub

Und dann setzst du auf die eingebettete Ansicht eine HIDE-WHEN-Formel.

Du kannst die eingebettete Ansicht auch in eine Teilmaske setzen und diese Teilmaske nur dann per Formel einbinden, wenn Bedingungen gelten, z.B.

@If(d_embbeddedview="0" | @IsNewDoc | d_PrevPane="1" | (@Subset(@DbName;1)="" & @GetProfileField("98SU";"SetupU_EmbViewLocalCTRL";@UserName)!="1");"";"KundenviewEingebettet")

Der Vorteil dieser Methode ist, daß du die eingebettete Ansicht gar nicht erst aufrufst, wenn die Bedingungen gelten, während du sie im ersten Fall sehr wohl aufrufst, aber nicht anzeigst.

Da kann es schon einmal passieren, daß der Notebookler ein paar Minuten dasitzt und wartet, bis die Ansicht aufgebaut und geöffnet ist, um sie dann ggf. gar nicht zu sehen zu bekommen. Das passiert dir mit der Teilmaske nicht.
Titel: Re: View: Nur Dokumente anzeigen die Antwort-Dokumente haben
Beitrag von: roli8200 am 01.06.06 - 21:37:09
Hallo

Dieses Problem hätte ich auch bald gehabt. Vielen Dank.
Nur ein bescheidener Vorschlag: Wäre es möglich aus solch guten Antworten auf eine Frage, eine FAQ oder Knowledgebase zu machen? Würde sicher vielen helfen und den geduldigen Anwortern wertvolle Zeit ersparen.

Roladn