Autor Thema: Feldänderung für ausgewählte Dokumente  (Gelesen 8803 mal)

Offline willi butz

  • Frischling
  • *
  • Beiträge: 4
Feldänderung für ausgewählte Dokumente
« am: 18.12.09 - 12:42:24 »
Hallo,

alle markierten Dokumente einer Ansicht sollen einen Text in ein Feld geschrieben bekommen. Im Agent ist eingestellt "ausgewählte Dokumente", aber das Script, welches sich dahinter verbirgt, spricht nur ein Dokument an. Wie kann ich das Script umstellen, damit es alle markierten Dokumente bearbeitet:

Gruß Willi

Sub Initialize
   Dim workspace As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim user2 As String
   Dim user3 As String
   Dim zeit As String
   Dim namen As String
   Dim rtitem As Variant    
   Set uidoc = workspace.CurrentDocument
   Set uidoc = workspace.EditDocument( True )
   user2 = "Überfällig seit "
   user3 = uidoc.FieldGetText( "Zeit33" )
   namen = uidoc.FieldGetText( "Leser99" )
   zeit = Now
   Call uidoc.FieldAppendText("zusammen", "-> " & user2 & user3 & " Tagen. Info am " & zeit & " (" & namen & ") " & Chr$(010))
End Sub

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: Feldänderung für ausgewählte Dokumente
« Antwort #1 am: 18.12.09 - 12:52:19 »
Ganz grob kann das so aussehen.

Dim session As New NotesSession
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim doc As NotesDocument
   
Set db = session.CurrentDatabase   
Set collection = db.UnprocessedDocuments

If collection.Count = 0 Then Exit Sub

Set doc = collection.GetFirstDocument
While Not (doc Is Nothing)
  'Hier werden die Felder gefüllt
  doc.NamedesFeldes = Wert
  ...

  'Speichern des Dokumentes
  Call doc.Save(True, False)
  Set doc = collection.GetNextDocument(doc)
Wend   


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

Offline willi butz

  • Frischling
  • *
  • Beiträge: 4
Re: Feldänderung für ausgewählte Dokumente
« Antwort #2 am: 18.12.09 - 13:30:40 »
Hallo Axel,

danke für deine schnelle Antwort.
Ich habe das Script mal angepaßt, es klappt aber nicht richtig.
Es schreibt nach wie vor nur in ein Dokument.
Gruß Willi

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.696
  • Geschlecht: Männlich
Re: Feldänderung für ausgewählte Dokumente
« Antwort #3 am: 18.12.09 - 13:36:00 »
Hallo,

Kannst Du auch mal Deinen "neuen" Code posten?


Andreas

Offline willi butz

  • Frischling
  • *
  • Beiträge: 4
Re: Feldänderung für ausgewählte Dokumente
« Antwort #4 am: 18.12.09 - 13:41:04 »

Das wäre die Änderung

Sub Initialize   
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim collection As NotesDocumentCollection
   Dim doc As NotesDocument
   Dim user2 As String
   Dim user3 As String
   Dim zeit As Variant
   Dim namen As String
   Dim rtitem As Variant
   user2 = "Überfällig seit "
   zeit = Now   
   Set db = session.CurrentDatabase   
   Set collection = db.UnprocessedDocuments   
   If collection.Count = 0 Then Exit Sub   
   Set doc = collection.GetFirstDocument
   While Not (doc Is Nothing)
  'Hier werden die Felder gefüllt
      doc.zusammen = user2
  'Speichern des Dokumentes
      Call doc.Save(True, False)
      Set doc = collection.GetNextDocument(doc)
   Wend   
End Sub

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.696
  • Geschlecht: Männlich
Re: Feldänderung für ausgewählte Dokumente
« Antwort #5 am: 18.12.09 - 13:45:00 »
Und aufgerufen wird das ganze aus der Ansicht heraus und es sind auch die betreffenden Dokumente in der Ansicht ausgewaehlt.
(Haken vor dem betreffenden Dokument)

Andreas

Offline willi butz

  • Frischling
  • *
  • Beiträge: 4
Re: Feldänderung für ausgewählte Dokumente
« Antwort #6 am: 18.12.09 - 13:45:52 »
Ja genau.

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.696
  • Geschlecht: Männlich
Re: Feldänderung für ausgewählte Dokumente
« Antwort #7 am: 18.12.09 - 13:52:58 »
Prinzipiell sollte dieser Code aber funktionieren.

Code

Dim session As New NotesSession
Dim db As NotesDatabase
Dim col As NotesDocumentCollection
Dim doc As NotesDocument
Dim user2 As String 
user2 = "Überfällig seit "
  
Set db = session.CurrentDatabase

Set collection = db.UnprocessedDocuments
If collection.Count = 0 Then Exit Sub
Set doc = col.GetFirstDocument
Do While Not (doc Is Nothing)

    'Hier werden die Felder gefüllt
    doc.zusammen = user2

    'Speichern des Dokumentes
    Call doc.Save(True, False)
    Set doc = col.GetNextDocument(doc)

Loop   


Andreas
« Letzte Änderung: 18.12.09 - 13:55:03 von ascabg »

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.696
  • Geschlecht: Männlich
Re: Feldänderung für ausgewählte Dokumente
« Antwort #8 am: 18.12.09 - 14:00:16 »
Alternativ muesste auch dieses funktionieren, aber ich weiss momentan nicht absolut sicher, ob es die genannte Methode auch schon inder Version 5 gab.

Code
Dim session As New NotesSession
Dim db As NotesDatabase
Dim col As NotesDocumentCollection
Dim doc As NotesDocument
Dim user2 As String 
user2 = "Überfällig seit "
  
Set db = session.CurrentDatabase

Set collection = db.UnprocessedDocuments
If collection.Count = 0 Then Exit Sub
Call col.StampAll("zusammen", user2)

Andreas

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Feldänderung für ausgewählte Dokumente
« Antwort #9 am: 18.12.09 - 14:04:17 »
StampAll gab es schon seit R4, Andreas  ;)

Bernhard

Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Feldänderung für ausgewählte Dokumente
« Antwort #10 am: 19.01.10 - 08:18:04 »
Und warum so kompliziert.
ZusammenNeu := "-> Überfällig seit " & @text(Zeit33) & " Tagen. Info am " & @text(@now) & " (" & @implode(Leser99;", ") & ")";
FIELD Zusammen := @trim(Zusammen : ZusammenNeu);

Formelagent ....
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz