Autor Thema: Agenten per Schaltfläche von einer DB in die andere kopieren.  (Gelesen 1752 mal)

Offline mwue

  • Junior Mitglied
  • **
  • Beiträge: 95
  • Geschlecht: Weiblich
Hallo,

ich habe in meiner Mailbox einen Agenten geschrieben, der auch für meine Kollegen interessant ist.

Diese Agenten habe ich in eine ansonsten leere Datenbank "Tools" kopiert.
Damit nun nicht jeder Kollege den Agenten selber aus der Datenbank in seine Mailbox kopieren muss, folgende Frage:

Gibt es die Möglichkeit, eine Mail mit einem Button zu versenden, der automatisch den Agenten von einer Datenbank "Tools" in die Mailbox des Users kopiert ?

Soweit bin ich mit der Programmierung des Knopfes schon gekommen:

Sub Click(Source As Button)
   Dim session As New NotesSession
   Dim agentname, noteID As String
                Dim db As NotesDatabase
                Dim agentdoc As NotesDocument
                Dim notesAgent As NotesAgent
                Dim dbtools As NotesDatabase

   Set db = session.CurrentDatabase
   Set dbtools = New NotesDatabase( "Server", "tools.nsf" )

   Forall agent In dbtools.Agents
      agentname = agent.Name
      
      Msgbox agentname
      
      Select Case agentname
         
      Case "Mein Agentname"
         Call AgentCopy
         
          End Select
      
   End Forall
End Sub


Allerdings fehlt mir noch der Inhalt der Routine  AgentCopy. Ich habe noch keine Möglichkeit gefunden einen Agenten zu kopieren.

Hat jemand eine Idee oder gibt es einen anderen Weg ?

Vielen Dank und viele Grüße

Marion
Vielen Dank für Eure Hilfe !

Ich wünsche noch einen schönen Tag !

Viele Grüße

Marion

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Siehe z.B.
http://www.atnotes.de/index.php?topic=16370.0

Ab ND6 kann man ansonsten auch Designelemente quasi als Dokumente behandeln.
Stichwort: NotesNoteCollection
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline mwue

  • Junior Mitglied
  • **
  • Beiträge: 95
  • Geschlecht: Weiblich
Vielen Dank ! Das hört sich wirklich gut an. Ich probiere es gleich aus.

Der Abend ist gerettet.

Viele Grüße

Marion
Vielen Dank für Eure Hilfe !

Ich wünsche noch einen schönen Tag !

Viele Grüße

Marion

Offline mwue

  • Junior Mitglied
  • **
  • Beiträge: 95
  • Geschlecht: Weiblich
Hallo ,

ich bin immer wieder begeistert, was man alles mit Lotus Script machen kann. Nun habe ich doch noch ein Problem.

Wie kann man in einer Datenbank Agenten per Script löschen, die man selber nicht signiert hat ?
Das müßte der Anwender nämlich mit dem Knopf auch machen können, um zu verhindern, dass die Agenten doppelt in der Datenbank vorhanden sind (ältere und neuere Versionen).

Wenn ich in meinem Knopf folgendes schreibe

Set Agent = db.GetAgent (AGENT1_NAME)
   If Not Agent Is Nothing Then
      Call Agent.Remove
   End If

... dann installiere ihn neu

bekommt der User (der ja nicht Owner des Agenten ist) folgende Fehlermeldung:
"Can't remove agent belonging to another user"

Manuell kann der User mit Managerrechten aber Agenten, dessen Owner er nicht ist aus der Datenbank löschen.

Gibt es eine Möglichkeit die Owner Eigenschaft per Script zu verändern ?

Vielen Dank und viele Grüße

Marion

Vielen Dank für Eure Hilfe !

Ich wünsche noch einen schönen Tag !

Viele Grüße

Marion

Glombi

  • Gast
Das geht mit Script nicht, da die Property "Owner" Read-only ist.

Was aber evtl. geht ist folgendes:
Call notesDatabase.Sign( [ documentType% ] [ , existingSigsOnly ] [ , nameStr$] [ , nameStrIsNoteID ] )

Du kannst also den Agenten signieren. Wie das geht steht in der Hilfe. Das müsste dann ungefähr so aussehen:

Call db.Sign( DBSIGN_DOC_AGENT, false, AGENT1_NAME, false )

und anschließend dann das
call Agent.Remove

Andreas

Offline mwue

  • Junior Mitglied
  • **
  • Beiträge: 95
  • Geschlecht: Weiblich
Hallo Andreas,

Dein Tipp war super. Ich konnte den Befehl genauso übernehmen.

Nach dem Signieren klappt dann auch das Löschen.

Vielen vielen Dank !     :) :) :)

Marion
Vielen Dank für Eure Hilfe !

Ich wünsche noch einen schönen Tag !

Viele Grüße

Marion

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz