Autor Thema: Art der Dokumentmarkierung  (Gelesen 3596 mal)

DatenDuck

  • Gast
Art der Dokumentmarkierung
« am: 27.07.04 - 16:54:04 »
Hallo Leute,

ich scheitere gerade an einer Kleinigkeit (dir mich massiv frustet...).
Gibt es einen Unterschied in der "Markierungsart" von Dokumenten?
Wenn mehrere Dokumente markiert sind, dann wird das ja durch das Häkchen angezeigt, aber ein Dokument behält trotzdem den schwarzen Rahmen (der erscheint, wenn man das Dokument mit der Maus anklickt).
Eigentlich sollten so doch alle Dokumente gleichzeitig/gleichermaßen markiert sein... Wie kann es dann passieren, dass ein Agent sich nur auf das eine, durch Rahmen markierte Dokument stürzt? Ist das irgendwie trotz allem die Nummer 1 oder sowas?
Ich hoffe es gibt hierzu irgend eine Art Antwort...

Vielen Dank schonmal!
Bis dann

Offline koehlerbv

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Art der Dokumentmarkierung
« Antwort #1 am: 27.07.04 - 16:57:41 »
Wenn Du uns jetzt auch sagst, wie und in welchem Zusammenhang Du auf markierte Dokumente prüfst ...

Bernhard

DatenDuck

  • Gast
Re:Art der Dokumentmarkierung
« Antwort #2 am: 27.07.04 - 16:59:28 »
Wahrscheinlich sehr peinliche Antwort... Aber kann man das? Bzw. wie?  :-[ :-[ :-[

Glombi

  • Gast
Re:Art der Dokumentmarkierung
« Antwort #3 am: 27.07.04 - 17:06:02 »
Das muss Dir nicht peinlich sein! Es würde uns aber enorm helfen, wenn Du den Code postest.

Ist das Formelsprache oder LotusScript?
Ist das ein Agenten? Läuft der über alle gewählten Dokumente oder auf "Keines" (Execute Once)? Letzteres wäre eine Erklärung für den Problem.

Andreas

Offline koehlerbv

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Art der Dokumentmarkierung
« Antwort #4 am: 27.07.04 - 17:09:44 »
Du musst doch irgendetwas treiben, um festzustellen, dass nur das mit dem Cursor fokussierte Dokument bearbeitet wird, nicht jedoch die markierten Dokumente ...
Wenn Du zum Bleistift in einer Ansicht eine Aktionsschaltfläche hast, die auf markierte Dokumente wirkt, so wird diese auf das per Cursor fokussierte Dokument, nicht aber auf markierte wirken. Schreibst Du statt dessen den Code in einen Agent und rufst selbigen ("wirkt auf markierte Dokumente") aus der Aktionsschaltfläche auf, dann werden die markierten Doks berücksichtigt. Gibt es keine explizit markierten Dokumente, wird dann das per Cursor fokussierte Dokument verwendet.
Weitere Szenarios gibt es noch genug. Du musst halt nur sagen, was Du da so treibst  ;)

Bernhard

DatenDuck

  • Gast
Re:Art der Dokumentmarkierung
« Antwort #5 am: 28.07.04 - 09:38:58 »
Ich glaubs nicht... Ich verfasse hier die Antwort des Jahrhunderts und beim Posten schmiert der gammlige IE ab... >:(

OK dann eben nochmal... Und diesmal leider weniger Detailiert und vorher lieber Strg+a, Strg+c...

Guten Morgen erstmal,
also der Agent ist "auf alle markierten Dokumente" gesetzt und wird über eine Aktionsschaltfläche gezündet.
In der Aktion wird der Agent per "@Command([ToolsRunMacro];" gestartet, welcher ansich in LotusScript verfasst ist. Somit müsste der Agent doch auf alle tatsächlich (durch Häkchen) markierten Dokumente wirken oder?
In einer Aktion werden doch sicherlich erstmal alle Agenten auf jedes Markierte Dokument angewandt und nicht erst Agent 1 auf alle, dann Agent 2 auf alle usw?
Ich vermute dass der Fehler mal wieder in der Programmierung liegt, denn ich schaffe es mit wenig Gefummel, dass das zu ändernde Icon in allen Dokumenten der DB bearbeitet wird, obwohl nur eins markiert ist...
Folgend mal der code:
Code
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim dc As NotesDocumentCollection
   Dim doc As NotesDocument
   
   Set db = session.CurrentDatabase
   Set dc = db.UnprocessedDocuments
   Set doc = dc.GetFirstDocument
   
   If Not (doc Is Nothing) Then
      Call doc.ReplaceItemValue("$ContentIcon", "Logo.gif") 
      Call doc.Save(True,True,True)
   End If
Man wär das schön, wenn man Routine essen könnte...

So jetzt versuch ichs nochmal mit dem Posten, aber vorher wie erwähnt Strg+A, Strg+C.

Bis dann mal,
-Moritz

Offline macchina

  • Junior Mitglied
  • **
  • Beiträge: 62
  • Ich liebe dieses Forum!
Re:Art der Dokumentmarkierung
« Antwort #6 am: 28.07.04 - 11:59:47 »
Hallo!

So wie ich das überblicke fehlt Dir folgendes:
set doc = dc.GetNextDocument(doc)

Ich würde es so machen:

do until doc is nothing
      Call doc.ReplaceItemValue("$ContentIcon", "Logo.gif")
      Call doc.Save(True,True,True)
      set doc = dc.GetNextDocument(doc)
loop


DatenDuck

  • Gast
Re:Art der Dokumentmarkierung
« Antwort #7 am: 28.07.04 - 13:19:42 »
Danke für den Tipp!
Leider funktioniert er aber nicht.... Ich hatte es auch schonmal so ähnlich... Hatte glaube ich nur nicht den do loop verwendet...
Es wird so nach wie vor nur ein icon geändert...
Zum verzweifeln... Ich bastel das jetzt seit 2 Tagen rum und ich bin mir sicher, die Ursache ist minimal... Aber wo???

Glombi

  • Gast
Re:Art der Dokumentmarkierung
« Antwort #8 am: 28.07.04 - 13:30:17 »
Wird in der Aktion nur der Agent aufgerufen, oder werden mehrere Agenten aufgerufen.

Es fehlt auf jeden Fall in Deinem Code die Schleife! So wird immer nur das erste Dokument der Collection geändert.

Andreas

DatenDuck

  • Gast
Re:Art der Dokumentmarkierung
« Antwort #9 am: 28.07.04 - 13:57:00 »
Hallo Andreas,

die Schleife ist nun drin und ich hatte einen kleinen Druchbruch  :)
Ich habe folgendes herausgefunden:

1. Wenn ich per "load convert bla bla" die DB update, bekomme ich Änderungen an Aktionen erst mit, wenn ich den Client neu starte !? Bei Änderungen an Agenten reicht ein neu Öffnen der DB aus.... Seltsam

2. In der Aktion starte ich 2 Agenten jeweils per @Command(usw). Dort ist mir aufgefallen, dass nur der Agent in der ersten Zeile auf alle markierten Dokumente anspringt. Setze ich den "Iconänderungsagenten" in die erste Zeile, wird brav an allen Dokumenten das Icon geändert, jedoch trifft dann der 2. Agent nur auf das eine Dok zu.. Ist das eine Auskunft zu der es eine Erklärung gibt?

Offline koehlerbv

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Art der Dokumentmarkierung
« Antwort #10 am: 28.07.04 - 14:02:43 »
Das Verhalten ist doch ganz logisch: Der erste Agent "processed" die Unprocessed documents - für den zweiten bleiben dann keine Markierungen mehr übrig  ;) Mangels expliziter Markierungen stürzt er sich dann auf das Dokument, auf dem der Cursor gerade steht und so markiert.

HTH,
Bernhard

Glombi

  • Gast
Re:Art der Dokumentmarkierung
« Antwort #11 am: 28.07.04 - 14:06:27 »
1. Wenn ich per "load convert bla bla" die DB update, bekomme ich Änderungen an Aktionen erst mit, wenn ich den Client neu starte !? Bei Änderungen an Agenten reicht ein neu Öffnen der DB aus.... Seltsam

>>> Das ist eigentlich die falsche Methode, die Datenbank zu aktualisieren. Du solltest mit Gestaltungsschablonen und Datei - Datenbank aktualisieren arbeiten!


2. In der Aktion starte ich 2 Agenten jeweils per @Command(usw). Dort ist mir aufgefallen, dass nur der Agent in der ersten Zeile auf alle markierten Dokumente anspringt. Setze ich den "Iconänderungsagenten" in die erste Zeile, wird brav an allen Dokumenten das Icon geändert, jedoch trifft dann der 2. Agent nur auf das eine Dok zu.. Ist das eine Auskunft zu der es eine Erklärung gibt?

>>> Ein Agent hebt die Markierung wieder auf. D.h. der 2. Agent bearbeitet nur das Dokument, das vor Anklicken der Aktion hervorgehoben war.

Andreas

DatenDuck

  • Gast
Re:Art der Dokumentmarkierung
« Antwort #12 am: 28.07.04 - 14:19:19 »
Zu 1.
OK, wieder was dazu gelernt... Habe mich nun von der "absolut falschen" Methode load design, über die "eigentlich falsche" Methode load convert, zur richtigen durchgebracht lol... Na das ist mal ein Lernprozess  ;)

Zu 2.
Nachdem ihr mir das gesagt habt klingt es natürlich logisch.... Jetzt ist improvisieren angesagt, denn es taucht mir gleich ein weiteres Problem auf?!
Ist es denn möglich, die ursprünglich markierten Dokumente nach dem "processen" wieder zu markieren... oder noch besser, die Markierung garnicht erst aufzuheben?
Wenn's dazu 'ne Lösung gibt, dann sagt mir bitte einfach Ja oder Nein oder nur einen kleinen Tipp... Den Rest werd ich mir schon selber zusammenfummeln  ;D
Danke schonmal!

Offline koehlerbv

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Art der Dokumentmarkierung
« Antwort #13 am: 28.07.04 - 14:20:33 »
Die Markierung kannst Du nicht wiederherstellen. Warum legst Du Deinen beiden Bonds nicht einfach zusammen ?

Bernhard

Glombi

  • Gast
Re:Art der Dokumentmarkierung
« Antwort #14 am: 28.07.04 - 14:22:51 »
"absolut falschen" Methode load design," Wer sagt das  :o
Es ist ja gerade das Gestaltung aktualisieren, nur als Servertask für alle Datenbanken.
Es kann aber Nebeneffekte haben, daher sei Vorsicht angeraten. Aber "absolut falsch" ist absolut falsch  ;)

Andreas

DatenDuck

  • Gast
Re:Art der Dokumentmarkierung
« Antwort #15 am: 28.07.04 - 14:23:07 »
Weil halt....  ;D

Ehrlich gesagt ist mir dieser Geistesblitz noch nicht in den Kopf eingeschlagen...
Wie gesagt.. Es wär 'ne super Sache wenn Routine essbar wäre  ;)

Andreas, dass mit dem load convert kam aus einem vergangenen Thread in dem ich Probleme damit hatte, dass in meiner Test-MailDB manche Dinge nach dem load design irgendwie nicht da waren... Mir wurde geraten, mit Load convert an eine Mail DB ranzugehen
« Letzte Änderung: 28.07.04 - 14:25:18 von DatenDuck »

Glombi

  • Gast
Re:Art der Dokumentmarkierung
« Antwort #16 am: 28.07.04 - 14:27:10 »
Zu 2:
Es gibt Alternativen:
1. Du machst alles in einem Scriptagenten.
2. Du setzt im ersten Agenten ein Feld (bspw. TriggerAgent2 = "1"). Dann rufst Du den  zweiten Agenten auf. Der baut sich eine Collection auf:
set dc = db.Search( |TriggerAgent2 = "1"| , nothing, 0 )
set doc = dc.GetFirstDocument
do while not (doc is Nothing)

... hier dann der Code ....

doc.TriggerAgent2 = ""
call doc.Save(false,true,true)

set doc = dc.GetNextDocument(doc)
loop


Das kann aber Seiteneffekte haben! Falls bspw. der 2. Agent abbricht, bleiben die Dokumente markiert !!!

Andreas

Glombi

  • Gast
Re:Art der Dokumentmarkierung
« Antwort #17 am: 28.07.04 - 14:28:31 »
Zitat
[quote author=DatenDuck Andreas, dass mit dem load convert kam aus einem vergangenen Thread in dem ich Probleme damit hatte, dass in meiner Test-MailDB manche Dinge nach dem load design irgendwie nicht da waren... Mir wurde geraten, mit Load convert an eine Mail DB ranzugehen
Bei der Mailmigration ist in der Tat der load convert Task angesagt. Aber nicht für die "normale" Gestaltungsaktualisierung.

Andreas

DatenDuck

  • Gast
Re:Art der Dokumentmarkierung
« Antwort #18 am: 28.07.04 - 14:48:00 »
Tja das war des Rästels Lösung...
In einem vorangegangenen Post hatte ich ja gefragt, ob die Agenten nacheinander auf die markierten Dokumente angewandt werden oder ob pro Dokument jeweils die "Agentenkette" abläuft... Tja, da ersteres der Fall ist und ich aber von der "Agentenketten-Sache" überzeugt war, lag da der Hund..
Ich habe jetzt die beiden Agenten zusammengepackt und es funtkioniert natürlich...
So ist das 'ne gute Sache und ich habe mal wieder was gelernt!
OK, es war keine besonders große Herrausforderung für euch, aber immerhin haben wir es auf ein "Heisses Thema" geschafft ;)

Vielen Dank!  ;D

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz