Autor Thema: Agent um alle Dokument in einer View zu aktualisieren ...  (Gelesen 5888 mal)

Offline pur_berger

  • Aktives Mitglied
  • ***
  • Beiträge: 116
Hatte gehofft dies hiermit bewerkstelligen zu können :

Sub Initialize
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim view As NotesView
   Dim collection As NotesViewEntryCollection
   Dim doc As NotesDocument
   
   Set db=session.currentDatabase
   Set view = db.GetView("_People")
   Set collection = view.AllEntries
   Set entry = collection.GetFirstEntry()
   Do Until doc Is Nothing
      Call doc.ComputeWithForm(False,False)
      Call doc.save(False,False)
      Set entry = collection.GetNextEntry(entry)
   Loop
End Sub

Nur macht der nicht was er sollte - nämlich alle Dokumente in der View "_People" refreshen ...

Hat wer eine Idee was da falsch ist ?

Sollte als scheduled Agent laufen

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Agent um alle Dokument in einer View zu aktualisieren ...
« Antwort #1 am: 07.10.08 - 00:57:40 »
... Nur macht der nicht was er sollte ...

Gibt es - nur so rein zufällig - noch eine etwas aussagekräftigere Beschreibung dazu, was nicht funktioniert? Wenigstens so ein ganz klein wenig mehr Informationen?
Was CompueWithForm nicht kann, ist auch bekannt? Könnte noch bekannt gegeben werden, was nicht korrekt berechnet wird? Nach einem ansprechbaren Namen will ich ja gar nicht mehr fragen (auch nicht anlässlich des 100. Postings des Fragestellers) ...

Bernhard

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Agent um alle Dokument in einer View zu aktualisieren ...
« Antwort #2 am: 07.10.08 - 08:17:37 »
Oh Bernhard da hast du dich etwas in die Irre leiten lassen, denn dass Computwithform wird nie ausgeführt, da der Programierer vergessen hat das doc überhaupt zu setzen. In allen anderen Punkten gebe ich dir natürlich recht. Also nach jedem Setzen des Entrys einfach ein getDocument auf das Entry anwenden und in Doc speichern. Man kann natürlich auch gleich eine NotesDocumentCollection verwenden, was den Umweg über die Viewentry erspart.

Grüße

Ralf


« Letzte Änderung: 07.10.08 - 10:34:35 von Ralf_M_Petter »
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline DAU-in

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.129
  • Geschlecht: Weiblich
  • - unterwegs -
Re: Agent um alle Dokument in einer View zu aktualisieren ...
« Antwort #3 am: 07.10.08 - 08:30:51 »
Option declare einschalten?
mühsam ernährt sich das Eichhörnchen

aktuelle Tätigkeit: Feldschubse

Offline pur_berger

  • Aktives Mitglied
  • ***
  • Beiträge: 116
Re: Agent um alle Dokument in einer View zu aktualisieren ...
« Antwort #4 am: 07.10.08 - 09:05:05 »
Ups - sorry (100 Einträge .. na - ned wirklich oder ...?)

Der Agent selektiert (jetzt) alle Documenete aus der Datenbank und nicht nur die aus der View.

@ koehlerbv
Ahm - sorry wenn ich nicht folgen kann - was meinst Du mit ansprechbarem Namen?

Also - Frage umformuliert - wenn ich eine Agent brauche der scheduled alle Doukumente aus einer View refreshed - was muß man tun?

Ist mir ja grundsätzlich unbegreiflich - das so etwas immer auf so unglaubliche Probleme stößt (ja - ich hab auch danach gegoogelt) - und nachdem @Funktonen leider bei einem scheduled Agent nicht laufen bleibt nur Scripting - und das ist und bleibt auch nach 100 Postings recht unklar ...

Der usrprüngliche Agent ist aus dem Domino Supportforum:

und zwar von hier:

http://www-01.ibm.com/support/docview.wss?rs=0&uid=swg21092630

nach hier:

http://www-01.ibm.com/support/docview.wss?rs=0&uid=swg21099014

Nur - will ich ja nicht alle sondern nur die in einer bestimmten View angezeigten Dokumente refreshen.

Ich versuche meine Problechen eh selber zu lösen - aber - ich bin eben kein Programmierer.

Offline Kadlec

  • Senior Mitglied
  • ****
  • Beiträge: 489
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re: Agent um alle Dokument in einer View zu aktualisieren ...
« Antwort #5 am: 07.10.08 - 09:25:35 »
Du solltest Dir nochmal den Beitrag von Ralf durchlesen. Er spricht dort das doc an. Danach schau Dir nochmal Deinen Agent an und vergleiche in mit dem von IBM.

Und Dein ansprechbarer Name (was ist daran nicht zu verstehen), ist der wirklich pur_berger??
Also meiner ist Boris!!

Driri

  • Gast
Re: Agent um alle Dokument in einer View zu aktualisieren ...
« Antwort #6 am: 07.10.08 - 09:29:07 »
Was Bernhard sagen wollte ist, daß unter deinen Postings ein echter Name fehlt. Du wirst ja vermutlich mit Vornamen nicht "pur_berger" heißen. Das ist natürlich keine Pflicht, aber gerne gesehen hier im Forum.

Zu deinem Problem :

Ralf hat schon den Hinweis gegeben, der dir weiterhilft. Erstens ist "Entry" nicht explizit deklariert (Dim). Zweitens weist Du "doc" nichts zu, daher endet die Do-While-Schleife sofort.

Du müßtest also noch mindestens ein

Set doc = entry.Document

einbauen und dann natürlich dafür sorgen, daß doc jeweils nach der Verarbeitung anhand des neuen Entry neu befüllt wird.

Und der Hinweis auf "Option Declare" ist auch hilfreich, denn wenn Du das setzt, bekommst Du direkt Hinweise, wenn z.B. die Deklarationen fehlen.

Offline pur_berger

  • Aktives Mitglied
  • ***
  • Beiträge: 116
Re: Agent um alle Dokument in einer View zu aktualisieren ...
« Antwort #7 am: 07.10.08 - 09:50:29 »
@Kadlec
Ah - Na - pur kommt von Purchase (die eigentliche Funktion in der ich in der Firma angefangen habe) und ist eigentlich immer der von mir verwendete Forenname. Sorry - war mir nicht bewußt das es hier dazugehört den tatsächlichen Namen zu nennen - aber kein Problem - Markus - ist ja kein Geheimnis

Die Nachfrage war eigentlich nur weil ich mir nicht sicher war ob Du den ansprechbaren Namen im Bezug auf den Agent oder die Person gemeint hast.

Ja - nein - die Beiträge habe ich eh gelesen - ich wollte der Höflichkeit halber nur die Frage korrekt formulieren

Markus
« Letzte Änderung: 07.10.08 - 14:18:39 von pur_berger »

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Agent um alle Dokument in einer View zu aktualisieren ...
« Antwort #8 am: 07.10.08 - 10:39:46 »
Hallo Markus!

Es tut mir leid, aber ich kann dir in dem Fall nicht helfen, da ich es nicht verantworten kann jemand script code zu geben, der keine Ahnung von Scriptprogrammierung hat. Dir ist schon klar, dass mit einem kleinen Fehler in script gleich mal eine ganze Datenbank total zerstört werden kann? Deshalb die Bitte wenn Ihr selber keine Lotus script Skills habt dann lasst euch von einem Profi helfen. Oder meiner Meinung nach die bessere Methode mache einen Lotus script Kurs. Das Problem ist nämlich so trivial, dass du es nach meinem Post auf jeden Fall finden hättest müssen.

Das soll bitte nicht überheblich klingen, aber ich habe schon Leuten ein script Snippet geschickt, dass sie nicht verstanden haben und mich dann furchtbar geschimpft haben weil es nicht den gewünschten sondern sogar negative Effekte gehabt hat.

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Glombi

  • Gast
Re: Agent um alle Dokument in einer View zu aktualisieren ...
« Antwort #9 am: 07.10.08 - 10:55:54 »
Anbei habe ich Deinen Code so geändert, dass nur Dokumente in der Ansicht "People" aktualisiert werden.

Sub Initialize
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim view As NotesView
   Dim doc As NotesDocument
   
   Set db=session.currentDatabase
   Set view = db.GetView("People")

   Set doc = view.GetFirstDocument
Do While not (doc is nothing)
      Call doc.ComputeWithForm(False,False)
      Call doc.save(False,False)
      Set doc = view.GetNextDocument(doc)
   Loop
End Sub



Andreas

Offline pur_berger

  • Aktives Mitglied
  • ***
  • Beiträge: 116
Re: Agent um alle Dokument in einer View zu aktualisieren ...
« Antwort #10 am: 07.10.08 - 11:57:15 »
Ist klar - Danke - ich erwarte auch nicht das man die Probleme anderer löst. Das Problem vor dem (wahrscheinlich mehr als die hälfte) der Admins stehen ist das einfach erwarted wird das etwas funktioniert - ohne das man entsprechdnes Training bekommt. Und scripten über Learning bei doing - na - ned wirklich.

Ich denke das ist falsch angekommen - ich habe die Hinweise schon verstanden - und in den anderen Posting nicht auf diesen Bezug genommen.

Als - merci vielmals :)

Danke,

Markus
« Letzte Änderung: 07.10.08 - 14:18:24 von pur_berger »

Offline pur_berger

  • Aktives Mitglied
  • ***
  • Beiträge: 116
Re: Agent um alle Dokument in einer View zu aktualisieren ...
« Antwort #11 am: 07.10.08 - 11:58:15 »
@Andreas

Danke :)

LG Markus
« Letzte Änderung: 07.10.08 - 14:18:08 von pur_berger »

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz