Autor Thema: Hauptdokumente ohne Antwortdokumente  (Gelesen 5651 mal)

Offline Rak

  • Frischling
  • *
  • Beiträge: 17
  • Ich liebe dieses Forum!
Hauptdokumente ohne Antwortdokumente
« am: 11.12.03 - 16:28:03 »
Hallo,

ich habe in eine Datenbank Haupt- und Antwortdokumente soweit sogut.  ;D
Jetzt brauche ich aber eine Ansicht in der nur die Hauotdokumente angezeigt werden die noch kein Antwortdokument haben.  ???


Danke
« Letzte Änderung: 11.12.03 - 16:31:27 von Rak »

Glombi

  • Gast
Re:Hauptdokumente ohne Antwortdokumente
« Antwort #1 am: 11.12.03 - 17:01:42 »
Das geht nicht so einfach. Du müsstet im Hauptdokument ein Feld haben, in dem gespeichert wird, ob es Antworten gibt.

Andreas

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Hauptdokumente ohne Antwortdokumente
« Antwort #2 am: 12.12.03 - 20:15:50 »
kann mich nur Andreas anschließen.

Logik:
Beim Anlegen eines Antwort-Docs wird zwar im Antwort-Doc die Referenz zum Hauptdokument gespeichert, aber das Hauptdokument "bekommt davon nix mit".

Das wiederum bedeutet, dass Du z.B. über einen (einmaligen) Script-Agenten aber im Hauptdokument ein Feld wie 'ExistingAnswer' mit "1" oder so füllen könntest.

TMC
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Hauptdokumente ohne Antwortdokumente
« Antwort #3 am: 12.12.03 - 20:34:20 »
.... wobei mit Script die Sache relativ einfach ist, da man die direkten Nachkommen mit der Eigenschaft Responses im NotesDocument als DocColl zurückbekommt. Ist sie leer, hat es keine. Gibt es da keine @Function für das?

Hmmm, @Responses funktioniert hier nicht, weil das die angezeigten Antworten anzeigt ....... sieht so aus, wie wenn es das sonst nicht gibt
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re:Hauptdokumente ohne Antwortdokumente
« Antwort #4 am: 12.12.03 - 20:45:58 »
schon mal Form ="Maskenname" & !@IsResponseDoc probiert ?
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Hauptdokumente ohne Antwortdokumente
« Antwort #5 am: 12.12.03 - 20:47:46 »
Zitat
schon mal Form ="Maskenname" & !@IsResponseDoc probiert ?

Hab ich auch erst gedacht, aber er will ja
1) nur Hauptdokumente
2) diese Hauptdoks sollen nur angezeigt werden wenn ein Responsedoc existiert



TMC
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re:Hauptdokumente ohne Antwortdokumente
« Antwort #6 am: 12.12.03 - 20:57:14 »
tjoo, da fehlt wohl die Formel @HasResponses
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Hauptdokumente ohne Antwortdokumente
« Antwort #8 am: 12.12.03 - 21:02:24 »
jip, aber würde dies nicht etwas die Performance durcheinanderschmeißen bei z.B. 100.000 Docs?
Der @HasResponses müsste ja dann alle durchgehen (bzw. alle derselben Maske)
- bist Du response von mir -> joo -> 1
- bist Du response von mir -> nöö -> 0
oder so....
Alleine schon aus Performancegründen würde ich beim Erstellen von Responses hier gleich was ins Haupt-Doc schreiben. Zwecks Migration bestehender Docs würd ich nen Agenten schreiben.....

TMC
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline Gandhi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 918
  • Geschlecht: Männlich
  • Domino for the masses
Re:Hauptdokumente ohne Antwortdokumente
« Antwort #9 am: 12.12.03 - 21:09:15 »
100.000 Docs in einer Notes Datenbank? Da hast Du auf jeden Fall was falsch gemacht... ;)
Der "Wenn ich" und der "Hätt' ich" das sind zwei arme Leut'
oder für den Süden:
Hatti Tatti Wari - san drei Larifari

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re:Hauptdokumente ohne Antwortdokumente
« Antwort #10 am: 12.12.03 - 21:10:50 »
jip, aber würde dies nicht etwas die Performance durcheinanderschmeißen bei z.B. 100.000 Docs?
k.A. da ich nicht weiss, wie die entgültige Funktion in Assembler aussieht.

Aber deine Idee mit Flag setzen oder so ist gut. Sollte sich auch in diesem Fall realisieren lassen, bevor man nach einer Lösung sucht, die es gar nicht gibt
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Hauptdokumente ohne Antwortdokumente
« Antwort #11 am: 13.12.03 - 00:08:11 »
Achtung TMC, da hast Du was falsch gelesen:

Zitat
2) diese Hauptdoks sollen nur angezeigt werden wenn ein Responsedoc existiert

Genau umgekehrt, er will sie haben, wenn keine Responsedokumente exisitieren.

Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline Rak

  • Frischling
  • *
  • Beiträge: 17
  • Ich liebe dieses Forum!
Re:Hauptdokumente ohne Antwortdokumente
« Antwort #12 am: 15.12.03 - 15:09:15 »
Hallo,

der Vorschlag von Glombi

Zitat
Du müsstet im Hauptdokument ein Feld haben, in dem gespeichert wird, ob es Antworten gibt.

klinkt ja ganz gut.

@TCM

Zitat
Das wiederum bedeutet, dass Du z.B. über einen (einmaligen) Script-Agenten aber im Hauptdokument ein Feld wie 'ExistingAnswer' mit "1" oder so füllen könntest.

Wie kann denn so ein Agent aussehen? Habe von Script keine Ahnung.

Beim löschen des Antwortdokuments müsste dann das Feld wieder geändert werden.

Kommt mann denn nicht über $Ref und DocUniqueID an die Sache ran?

Danke für die Antworten!

Glombi

  • Gast
Re:Hauptdokumente ohne Antwortdokumente
« Antwort #13 am: 15.12.03 - 15:26:13 »
Folgendes muss berücksichtigt werden:
1) Ersteller von Antworten haben i.d.R. kein Bearbeitenrecht für das Hauptdokument.
2) Ersteller des Hauptdokuments dürfen i.d.R. die Antworten nicht bearbeiten.

Ergo: Es muss ein servergestützter Agent sein (periodisch)

Am besten ist, Du machst eine Ansicht mit der Formel
SELECT !@IsResponseDoc

Dann in Script

dim session as NotesSession
dim db as NotesDatabase
dim view as NotesView
dim doc as NotesDocument
dim dc as NotesDocumentCollection
dim saveDoc as Integer

set session = New NotesSession
set db = session.CurrentDatabase
set view = db.GetView("Name der Ansicht - s.o.")
set doc = view.GetFirstDocument

while not (doc is nothing)
saveDoc = false
set dc = doc.Responses
if dc.Count > 0 then
if doc.DocHasResponse(0) <> "1" then
 doc.DocHasResponse = "1"
 saveDoc = true
else
 if doc.DocHasResponse(0) <> "0" then
   doc.DocHasResponse = "0"
   saveDoc = true
 end if

end if
if saveDoc then
 call doc.save(false,true,true)
end if
set doc = view.GetNextDocument(doc)
wend


Nachteil: Hauptdokumente werden vom Server ggf. geändert => Ungelesen für User + Gefahr von Replizierkonflikten

Andreas
« Letzte Änderung: 15.12.03 - 15:28:59 von Glombi »

Glombi

  • Gast
Re:Hauptdokumente ohne Antwortdokumente
« Antwort #14 am: 15.12.03 - 15:28:37 »
Um das ganze zu initialisieren, baust Du das Feld DocHasResponse (Textfeld, Berechnet beim Anlegen) in die Maske für das Hauptdokument ein und lässt einmal folgenden Agenten laufen:

dim session as NotesSession
dim db as NotesDatabase
dim view as NotesView
dim doc as NotesDocument
dim dc as NotesDocumentCollection
dim saveDoc as Integer

set session = New NotesSession
set db = session.CurrentDatabase
set view = db.GetView("Name der Ansicht - s.o.")
set doc = view.GetFirstDocument

while not (doc is nothing)
saveDoc = true
set dc = doc.Responses
if dc.Count > 0 then
doc.DocHasResponse = "1"
else
doc.DocHasResponse = "0"
end if

end if
if saveDoc then
call doc.save(false,true,true)
end if
set doc = view.GetNextDocument(doc)
wend

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz