Autor Thema: Löschung von Dokumenten verhindern / steuern  (Gelesen 2265 mal)

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Löschung von Dokumenten verhindern / steuern
« am: 13.03.03 - 12:01:49 »
Hallo zusammen!

ich möchte in einer Datenbank steuern, dass bei einem bestimmten Status ein Dokument nur noch von bestimmten Leuten, mit einer bestimmten Rolle, gelöscht werden kann. Wie baue ich das ins QuerDocumentDelete ein? Hab keine Idee.

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:Löschung von Dokumenten verhindern / steuern
« Antwort #1 am: 13.03.03 - 12:19:53 »
Hi,

hier ist ein Beispiel:

Dim roles As Variant
   
roles = Evaluate("@IsNotMember('[Schreiben]'; @UserRoles)")
If roles(0) = 1 Then
   Messagebox "Sie sind nicht zum Löschen von Dokumenten aus der Datenbank berechtigt." , 48, "Adressen"
   Continue = False
End If  'If roles(0) = 1 Then


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

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re:Löschung von Dokumenten verhindern / steuern
« Antwort #2 am: 13.03.03 - 12:22:54 »
das sieht schon gut aus! wie komme ich hier noch an einen feldwert, der noch relevant ist?

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:Löschung von Dokumenten verhindern / steuern
« Antwort #3 am: 13.03.03 - 12:52:34 »
Hi,

über den Parameter Source von Querydocumentdelete.

Dim collection As NotesDocumentCollection
Set collection = Source.Documents

Damit hast du eine Collection mit allen markierten Dokumenten. Dann kannst du mit den üblichen Funktionen auf die Felder zugreifen.

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

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re:Löschung von Dokumenten verhindern / steuern
« Antwort #4 am: 24.03.03 - 08:12:09 »
Wenn ich den Wert eines Feldes auswerten will, zum Beispiel ein Statusfeld wie klappt das?
Bsp.: wenn status = 1 dann löschen möglich
         wenn status = 2 dann löschen nicht möglich

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:Löschung von Dokumenten verhindern / steuern
« Antwort #5 am: 24.03.03 - 08:21:10 »
Hi,

in den Maskenevents geht das unter anderem so:

If Source.Document.Status(0) = 1 Then
  'Tu das eine
Else
  'Tu was anderes
End If

oder so

Select Case Source.Document.Status(0)
Case 1
  'Mach was
Case 2
  'Lass das
Case Else
  'Wenn nix passt
End Select

Axel

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

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re:Löschung von Dokumenten verhindern / steuern
« Antwort #6 am: 24.03.03 - 08:38:40 »
wie verhält sich das mit collections? oder muss ich dann immer jedes doc einzeln aus der coll heranziehen?

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:Löschung von Dokumenten verhindern / steuern
« Antwort #7 am: 24.03.03 - 08:48:18 »
Hi,

im Prinzip ja.

Es sei denn du bildest die collection aus einem Suchergebnis, beispielsweise alle Dokumente in denen das Statusfeld 1 ist.

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

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re:Löschung von Dokumenten verhindern / steuern
« Antwort #8 am: 24.03.03 - 08:55:31 »
was heißt im prinzip? hab es mit dem feldnamen direkt versucht, hat nicht funktioniert. wie geht das genau?

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:Löschung von Dokumenten verhindern / steuern
« Antwort #9 am: 24.03.03 - 09:55:08 »
Hi,

der Zugriff fuinktioniert so:

...
Dim collection As NotesDocumentCollection
Dim doc As NotesDocument

'Füllen der collection

Set doc = collection.GetFirstDocument
While Not (doc Is Nothing)
  If doc.Status = 1 Then
    'Tu was
  Else
    'Tu was anderes
  End If
  Set doc = collection.GetNextDocument(doc)
Wend

...


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

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re:Löschung von Dokumenten verhindern / steuern
« Antwort #10 am: 24.03.03 - 10:19:25 »
alles klar! habs verstanden! danke nochmal!

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re:Löschung von Dokumenten verhindern / steuern
« Antwort #11 am: 24.03.03 - 13:51:41 »
Wenn ich dieses Script im querydocument delete einbinde kommt immer "Type Mismatch" beim Versuch zu löschen. Wo liegt der Fehler?
     Dim col As notesdocumentcollection
     Dim doc As notesdocument
     Dim session As New notessession
     Dim rolle As String
     
     Set col = source.documents
     Set doc = col.getfirstdocument
     Const macro = "@UserRoles"
     continue = False
     rolle = Evaluate (macro)
     
     While Not (doc Is Nothing)
          If doc.ANTStatusTX (0) = "15" Then
               continue = True
          End If
          If doc.ANTStatusTX (0) = "25" Then
               continue = True
          End If
          If rolle = "[Personal]" Then
               continue = True
          End If
          Set doc = col.getnextdocument(doc)
     Wend

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:Löschung von Dokumenten verhindern / steuern
« Antwort #12 am: 24.03.03 - 14:57:48 »
Hi,

Evaluate liefert einen Variant-Wert zurück.

Dim rolle As Variant
...
If rolle(0) = ....


So müsste es funktionieren.

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

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re:Löschung von Dokumenten verhindern / steuern
« Antwort #13 am: 25.03.03 - 09:15:55 »
so hat es funktioniert!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz