Autor Thema: LotusScript: Wie der aktuelle Doclink senden?  (Gelesen 9170 mal)

Offline immanuel

  • Senior Mitglied
  • ****
  • Beiträge: 461
  • Geschlecht: Männlich
    • Freshpixel Fotostudio
LotusScript: Wie der aktuelle Doclink senden?
« am: 19.05.03 - 17:05:31 »
Hallo Zusammen

Wie heisst die Funktion, um ein Mail mit Doclink zu versenen (LotusScript)?
Ein Codebeispiel wäre super!

Danke!
« Letzte Änderung: 20.05.03 - 16:03:16 von immanuel »
IBM Certified System Administrator - Lotus Notes and Domino 6/6.5

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:LotusScript: Wie ein Mail senden?
« Antwort #1 am: 19.05.03 - 17:17:57 »
eine von vielen Möglichkeiten wäre diese hier aus der Help:

Examples: AppendDocLink method  

  1.   This script creates a new mail memo. In the Body item of the memo, the script places a link to the current database.
Dim session As New NotesSession
Dim db As NotesDatabase
Dim newDoc As NotesDocument
Dim rtitem As NotesRichTextItem
Set db = session.CurrentDatabase
Set newDoc = New NotesDocument( db )
Set rtitem = New NotesRichTextItem( newDoc, "Body" )
Call rtitem.AppendDocLink( db, db.Title )
newDoc.Subject = "Here is a link to the database"
newDoc.SendTo = "Lauri Nodwell"
newDoc.Send( False )

In dem Bsp. wird der DocLink zur aktuellen DB erzeugt. Zu einem Document statt DB kann man natürlich auch ein DocLink mitschicken:
Call notesRichTextItem.AppendDocLink( linkTo, comment$ [, HotSpotText$ ])
Parameters
linkTo
NotesDatabase, NotesView, or NotesDocument. The database, view, or document to which you want to create a link....

« Letzte Änderung: 19.05.03 - 17:18:27 von Rob Green »
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline immanuel

  • Senior Mitglied
  • ****
  • Beiträge: 461
  • Geschlecht: Männlich
    • Freshpixel Fotostudio
Re:LotusScript: Wie ein Mail senden?
« Antwort #2 am: 20.05.03 - 11:59:45 »
Hi!

Um das aktuelle Dokument wollte ich folgender Abschnitt verwenden:

   Dim workspace As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Set uidoc = workspace.CurrentDocument
   Call rtitem.AppendDocLink(uidoc, "send mail" )

Leider erhalte ich aber eine Fehlermeldung dass ich ein NotedDokument usw. einbinden soll. Dies ist doch ein Notesdokument... Wer hat einen Tipp?

Grüsse
Manuel
IBM Certified System Administrator - Lotus Notes and Domino 6/6.5

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:LotusScript: Wie ein Mail senden?
« Antwort #3 am: 20.05.03 - 12:43:46 »
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = workspace.CurrentDocument
Dim Doc as NotesDocument
set doc = uidoc.document
Call rtitem.AppendDocLink(uidoc, "send mail" )



Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline Notestime

  • Senior Mitglied
  • ****
  • Beiträge: 358
  • Geschlecht: Männlich
  • ... time for new ways
    • HoCaS
Re:LotusScript: Wie ein Mail senden?
« Antwort #4 am: 20.05.03 - 12:45:04 »
eben nicht. AppendDocLink erwartet, wie Du schon geschreiben hast ein NotesDocument und NICHT ein NotesUIDocument, so wie Du definiert hast
Admin & Designer,
6 Server (4xAIX, 2xLinux),
850 Clients

Offline Notestime

  • Senior Mitglied
  • ****
  • Beiträge: 358
  • Geschlecht: Männlich
  • ... time for new ways
    • HoCaS
Re:LotusScript: Wie ein Mail senden?
« Antwort #5 am: 20.05.03 - 12:46:12 »
@Rob: Du warst schneller und perfekter  ;) ;D
Admin & Designer,
6 Server (4xAIX, 2xLinux),
850 Clients

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:LotusScript: Wie ein Mail senden?
« Antwort #6 am: 20.05.03 - 12:55:42 »
ich sage lieber "auch ein blindes Huhn findet mal ein Korn"  ;D 8) 8)
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline immanuel

  • Senior Mitglied
  • ****
  • Beiträge: 461
  • Geschlecht: Männlich
    • Freshpixel Fotostudio
Re:LotusScript: Wie ein Mail senden?
« Antwort #7 am: 20.05.03 - 13:27:47 »
Danke schön...

Habs übersehen.

Aber wie kann ich nun auf das aktuelle Dokument, in dem ich drin bin, über den Datentyp NotesDocument als Doclink senden?

Danke für eure Hilfe!
IBM Certified System Administrator - Lotus Notes and Domino 6/6.5

Offline Meff

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.095
  • Geschlecht: Männlich
  • Das Denken der Zukunft muß Kriege unmöglich machen
    • apparet id etiam caeco
Re:LotusScript: Wie ein Mail senden?
« Antwort #8 am: 20.05.03 - 13:31:24 »
Hi immanuel,

probier das mal :

Dim session As New NotesSession
Dim db As New NotesDatabase("", "test.nsf")
Dim view As NotesView
Dim newDoc As NotesDocument
Dim rtitem As NotesRichTextItem
Dim doc As NotesDocument
Set view = db.GetView( "Boots" )
Set newDoc = New NotesDocument( db )
Set rtitem = New NotesRichTextItem( newDoc, "Body" )
Set doc = view.GetFirstDocument
While Not ( doc Is Nothing )
  Call rtitem.AppendDocLink( doc, db.Title )
  Call rtitem.AddTab( 1 )
  Call rtitem.AppendText( doc.Subject( 0 ) )
  Call rtitem.AddNewLine( 1 )
  Set doc = view.GetNextDocument( doc )
Wend
newDoc.Subject = _
"Here are links to all docs in the Boots folder"
newDoc.SendTo = "Lauri Nodwell"
Call newDoc.Send( False )

Dieser Script läuft über einen View und erstellt aus jedem Dokument einen DocLink. Das ganze kannst Du natürlich noch entsprechend anpassen (z.B. eine DocCollection).

Meff
"Zwei Dinge sind zu unserer Arbeit nötig: Unermüdliche Ausdauer und die Bereitschaft, etwas, in das man viel Zeit und Arbeit gesteckt hat, wieder wegzuwerfen."
Albert Einstein

Offline immanuel

  • Senior Mitglied
  • ****
  • Beiträge: 461
  • Geschlecht: Männlich
    • Freshpixel Fotostudio
Re:LotusScript: Wie ein Mail senden?
« Antwort #9 am: 20.05.03 - 14:00:25 »
Danke Meff!

So wie ichs sehe wird hier einfach eine Iteration durchgelaufen und alle Doclinks erstellt. Ich hingehen brauche nur den aktuellen Doclink, des Dokuments.

Wer hat weitere Tipps?
« Letzte Änderung: 20.05.03 - 16:04:15 von immanuel »
IBM Certified System Administrator - Lotus Notes and Domino 6/6.5

Offline immanuel

  • Senior Mitglied
  • ****
  • Beiträge: 461
  • Geschlecht: Männlich
    • Freshpixel Fotostudio
Re: LotusScript: Wie der aktuelle Doclink senden?
« Antwort #10 am: 18.01.05 - 11:14:32 »
Hallo Zusammen

Nun ist es wieder aktuell: Ich möchte per Lotus Script ein Doclink + Text per Mail versenen. Folgenden Code habe ich versucht, erhalte jedoch die Fehlermeldung "Couldn't get default view id..."

Code
' BEGIN send mail with doclink
		Dim session As New NotesSession
		Dim db As NotesDatabase
		Set db = session.CurrentDatabase		
		Dim newDoc As NotesDocument
		Set newDoc = New NotesDocument( db )
		Dim ret_eval As Variant
		
		Dim aktuellesDoc As NotesDocument
		Set aktuellesDoc = workspace.CurrentDocument.Document		'aktuelles Dokument für DocLink
		
Dim rtitem As NotesRichTextItem
		Set rtitem = New NotesRichTextItem( newDoc, "Body" )
		Call rtitem.AppendDocLink( aktuellesDoc, "comment")
		
		newDoc.Subject = "IT-Helpdesk - bitte als gelöst bestätigen: "+ticketTitle
		newDoc.Body = "Bla bla bla"
		ret_eval = Evaluate( |FIELD SendTo := @Trim(@Unique("| + ticketCreator + |":"| + ticketCreatedFor + |"));@True|,newDoc )
		newDoc.Send( False ) 
' END send mail with doclink

Habt ihr Tipps?

Lieber Gruss
Manuel
« Letzte Änderung: 18.01.05 - 11:16:58 von immanuel »
IBM Certified System Administrator - Lotus Notes and Domino 6/6.5

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: LotusScript: Wie der aktuelle Doclink senden?
« Antwort #11 am: 18.01.05 - 11:17:10 »
Die Meldung besagt genau dieses - Du musst in Deiner DB für das Mailen eine Default-View festlegen (egal, welche - Hauptsache, es gibt eine).

HTH,
Bernhard

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: LotusScript: Wie der aktuelle Doclink senden?
« Antwort #12 am: 18.01.05 - 11:21:42 »
Was in Deinem Code noch fehlt:
newdoc.Form = "Memo"

Und das
newDoc.Body = "Bla bla bla"

wird nicht gut kommen - Du hast Body ja bereits als neues RTItem angelegt und mit einem DocLink gefüllt. Du musst also AppendText einsetzen.

Bernhard

Offline immanuel

  • Senior Mitglied
  • ****
  • Beiträge: 461
  • Geschlecht: Männlich
    • Freshpixel Fotostudio
Re: LotusScript: Wie der aktuelle Doclink senden?
« Antwort #13 am: 18.01.05 - 11:34:34 »
Hi Bernhard!

Danke für deine Tipps!
Im Navigator habe ich eine Initial View definiert, jedoch erhalte ich diese Fehlermeldung. Muss ich sonst noch irgendwo eine default view definieren? Wo könnte ich diese sonst noch angeben?

Gruss
Manuel
IBM Certified System Administrator - Lotus Notes and Domino 6/6.5

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: LotusScript: Wie der aktuelle Doclink senden?
« Antwort #14 am: 18.01.05 - 11:40:12 »
Navigator ? Das wird in den View properties selbst eingestellt (zweiter Tab, erste Checkbox).

Bernhard

Offline immanuel

  • Senior Mitglied
  • ****
  • Beiträge: 461
  • Geschlecht: Männlich
    • Freshpixel Fotostudio
Re: LotusScript: Wie der aktuelle Doclink senden?
« Antwort #15 am: 18.01.05 - 11:55:55 »
Hallo Bernhard

Ich habe die Default View eingetragen... Super Sache - jetzt funktionierts.
Mail mit Link ist auch wie gewüncht angekommen.

Vielen Dank!
Gruss
Manuel
IBM Certified System Administrator - Lotus Notes and Domino 6/6.5

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz