Autor Thema: Tochterdok löschen wenn Parent gelöscht wurde  (Gelesen 1417 mal)

Offline MrMagoo

  • Senior Mitglied
  • ****
  • Beiträge: 359
  • Geschlecht: Männlich
  • AAAhhh
Tochterdok löschen wenn Parent gelöscht wurde
« am: 23.06.03 - 14:26:01 »
Hallo Zusammen,

ich versuche gerade Tochterdokumente per Script zu ändern, wenn deren Elterndokument gelöscht wurde. Wonach kann ich da abfragen? Ich habe es versucht, wenn die ID "" ist. Er findet aber, obwohl das Dok gelöscht wurde, die ID immer noch.

Sub Initialize

Dim session As New NotesSession
Dim db As NotesDatabase
Dim dc As NotesDocumentCollection
Dim doc As NotesDocument
Dim parentUnid As String
Set db = session.CurrentDatabase
Set dc = db.unprocessedDocuments
Set doc = dc.GetFirstDocument()

While Not(doc Is Nothing)
     If doc.IsResponse Then
     parentUnid = doc.ParentDocumentUNID
     Msgbox parentUnid
          If ( parentUnid = "" ) Then
          Call doc.ReplaceItemValue ( "Doc_Deleted", 1)   
          Call doc.Save(True, False)         
          End If
     End If
Set doc = dc.GetNextDocument(doc)
Wend
End Sub

Danke

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Tochterdok löschen wenn Parent gelöscht wurde
« Antwort #1 am: 23.06.03 - 15:11:08 »
Hi,

ich denke die ID des Elterndokuments ist fest in dem Antwortdokument weingetragen und bleib auch dort, wenn das Elterndok. gelöscht wird.

Du kannst mal folgendes versuchen:

Sub Initialize

Dim session As New NotesSession
Dim db As NotesDatabase
Dim dc As NotesDocumentCollection
Dim doc As NotesDocument
Dim parentdoc As NotesDocument
Dim parentUnid As String
Set db = session.CurrentDatabase
Set dc = db.unprocessedDocuments
Set doc = dc.GetFirstDocument()

While Not(doc Is Nothing)
    If doc.IsResponse Then
      parentUnid = doc.ParentDocumentUNID
     'Suche ob Elterndok. vorhanden
     Set parentdoc = db.GetDocumentByUNID(parentUnid)
      If parentdoc Is Nothing Then
          Call doc.ReplaceItemValue ( "Doc_Deleted", 1)  
          Call doc.Save(True, False)        
      End If
    End If
Set doc = dc.GetNextDocument(doc)
Wend
End Sub
 

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline MrMagoo

  • Senior Mitglied
  • ****
  • Beiträge: 359
  • Geschlecht: Männlich
  • AAAhhh
Re:Tochterdok löschen wenn Parent gelöscht wurde
« Antwort #2 am: 23.06.03 - 15:19:20 »
@Axel: funktioniert leider nicht. Der Agent geht in die zweite If Schleife nicht rein.  :(
« Letzte Änderung: 23.06.03 - 15:20:03 von MrMagoo »

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Tochterdok löschen wenn Parent gelöscht wurde
« Antwort #3 am: 23.06.03 - 15:24:17 »
Hi,

... auch wenn das entsprechende Elterndokument nicht mehr da ist ?

Was sagt den der Debugger zu dem Wert von parentdoc ?


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline MrMagoo

  • Senior Mitglied
  • ****
  • Beiträge: 359
  • Geschlecht: Männlich
  • AAAhhh
Re:Tochterdok löschen wenn Parent gelöscht wurde
« Antwort #4 am: 23.06.03 - 15:43:10 »
Hi,

ja, ich habe zu Testzwecken das Elterndoc gelöscht und er hat das Feld im Tochterdok nicht geändert. Er geht brav bis zum
          If parentdoc Is Nothing Then   und dann zum End if

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Tochterdok löschen wenn Parent gelöscht wurde
« Antwort #5 am: 23.06.03 - 16:10:26 »
Hi,

stimmt.´

Versuch's mal so:

Sub Initialize

Dim session As New NotesSession
Dim db As NotesDatabase
Dim dc As NotesDocumentCollection
Dim doc As NotesDocument
Dim parentdoc As NotesDocument
Dim parentUnid As String
Set db = session.CurrentDatabase
Set dc = db.unprocessedDocuments
Set doc = dc.GetFirstDocument()

While Not(doc Is Nothing)
    If doc.IsResponse Then
      parentUnid = doc.ParentDocumentUNID
    'Suche ob Elterndok. vorhanden
    Set parentdoc = db.GetDocumentByUNID(parentUnid)
     If parentdoc.NoteID = "" Then
          Call doc.ReplaceItemValue ( "Doc_Deleted", 1)  
          Call doc.Save(True, False)        
      End If
    End If
Set doc = dc.GetNextDocument(doc)
Wend
End Sub


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline MrMagoo

  • Senior Mitglied
  • ****
  • Beiträge: 359
  • Geschlecht: Männlich
  • AAAhhh
Re:Tochterdok löschen wenn Parent gelöscht wurde
« Antwort #6 am: 23.06.03 - 16:15:08 »
Hm,
jetzt macht er es, danke  :D

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz