Autor Thema: Dokumentenverknüpfung in Lotus Script  (Gelesen 3708 mal)

Offline Vigeli

  • Frischling
  • *
  • Beiträge: 38
  • Geschlecht: Männlich
Dokumentenverknüpfung in Lotus Script
« am: 14.11.05 - 16:23:11 »
Hallo Forum,

Ich habe eine Datenbank, welche einen Workflow beinhaltet.
Wie kann ich im Lotus Script eine Dokumentenverknüpfung mitschicken, sodas der Bearbeiter nur noch auf die Verknüpfung im Kalendareintrag klickt und automatisch das Dokument in der Datenbank öffnet.

mit folgendem Script werden Kalendereinträge automatisch generiert:
========================================

REM Kalenereintrag erzeugen
Sub Click(Source As Button)
   Dim session As New NotesSession   
   Dim db As New NotesDatabase ("","")
   Dim ws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim doc As NotesDocument   
   Dim userName As New notesname(session.username)
   Dim dbfilename As String
   Dim dbserver As String
   Dim value As Integer
   Dim vondatum As String
   Dim bisdatum As String
   Dim newdoc As NotesDocument
   Dim rtitem As NotesRichtextItem
   
   Call db.OpenMail   
   dbfilename=db.filepath   
   dbserver = db.server
   
   value = Messagebox ("Soll der Termin " + Chr(10) + "in den Kalender eingetragen werden?", (4+32+0+0), "Abwesenheit in den eigenen Kalender eintragen")
   
   If (value = 6) Then
      
      Set uidoc = ws.CurrentDocument
      REM art=uidoc.FieldgetText("MstName1")
      kunde=uidoc.FieldGetText( "KUNA1" )
      vondatum = uidoc.FieldGetText( "KUBELEN" )
      bisdatum = uidoc.FieldGetText( "KUBELEN" )
      ort=uidoc.FieldGetText("KUORT")
      REM vonzeit = uidoc.FieldGetText( "vonzeit" )
      REM biszeit = uidoc.FieldGetText( "biszeit" )
      Print vondatum, bisdatum   
      
      Set db = session.CurrentDatabase
      Set newdoc = New NotesDocument( db )
      Set uidoc = ws.ComposeDocument (dbserver,dbfilename,"Appointment")
      Call uidoc.FieldSetText("Subject",kunde & " - " & "Besuch")
      Call uidoc.FieldSetText("Location",ort)
      Call uidoc.FieldSetText("StartDate",vondatum)      
      Call uidoc.FieldSetText("EndDate",bisdatum)
      REM Call uidoc.FieldSetText("StartTime",vonzeit)      
      REM Call uidoc.FieldSetText("EndTime",biszeit)
      Call uidoc.FieldSetText("AppointmentType","2")
      
      
%REM
      Messagebox ("Bla Bla Bla")
   Else
      Messagebox ("Kalender wurde nicht verändert")
%ENDREM
      
      Call uidoc.refresh
      Call uidoc.Save()
      Call uidoc.Close()
      Call uidoc.refresh
   End If
   
   Call uidoc.refresh
   Call uidoc.Save()
   Call uidoc.Close()
   
   
   
End Sub   

Besten Dank

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: Dokumentenverknüpfung in Lotus Script
« Antwort #1 am: 14.11.05 - 16:24:43 »
Hi
Über das rtitem. Die Funktion heisst AppendDoclink (vgl. Hilfe)
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline Vigeli

  • Frischling
  • *
  • Beiträge: 38
  • Geschlecht: Männlich
Re: Dokumentenverknüpfung in Lotus Script
« Antwort #2 am: 14.11.05 - 16:38:29 »
hi umi,

geht leider nicht...

habe folgende zeile hinzugefüt..:

Set rtitem = New NotesRichTextItem( uidoc.Document, "body" )
      Call rtitem.AppendDocLink( doc, "Link ==>" )   

« Letzte Änderung: 14.11.05 - 16:49:31 von Vigeli »

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: Dokumentenverknüpfung in Lotus Script
« Antwort #3 am: 14.11.05 - 16:40:07 »
Geht schon, nur nicht direkt. Damit die RTF's richtig funktionieren muss das Dokument mind. 1 mal gespeichert worden sein.
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline Vigeli

  • Frischling
  • *
  • Beiträge: 38
  • Geschlecht: Männlich
Re: Dokumentenverknüpfung in Lotus Script
« Antwort #4 am: 14.11.05 - 16:42:42 »
...und wie??

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: Dokumentenverknüpfung in Lotus Script
« Antwort #5 am: 14.11.05 - 16:53:52 »
Zuerst mit Call uidoc.save() das UIDokument speichern.
danach ungefähr so
dim tdoc as notesdocument
set tdoc = uidoc.document
set rtitem = new NotesRichtextITem(tdoc,"Body")
call rtitem.appendDoclink(Doc,"Link -->","Link -->")

Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Dokumentenverknüpfung in Lotus Script
« Antwort #6 am: 14.11.05 - 16:54:57 »
bin am googlen. Dabei bin ich auf diese Lösung gestossen, die behauptet, dass ein re-open nicht notwendig ist (mit 6). Ist mir neu:
http://searchdomino.techtarget.com/tip/1,289483,sid4_gci993463,00.html
Hier ist ein "klassisches" Beispiel (mit re-open):
http://www.keysolutions.com/NotesFAQ/howrichtext.html

oder hier:
http://www-10.lotus.com/ldd/46dom.nsf/ShowMyTopicsAllFlatweb/26946918600b6b6b85256d3e000835c4?OpenDocument
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline Vigeli

  • Frischling
  • *
  • Beiträge: 38
  • Geschlecht: Männlich
Re: Dokumentenverknüpfung in Lotus Script
« Antwort #7 am: 14.11.05 - 17:02:24 »
... :'( funzt nicht..Body bleibt immer "leer"...

Call uidoc.Save()
      Dim tdoc As notesdocument
      Set tdoc = uidoc.document
      Set rtitem = New NotesRichtextITem(tdoc,"Body")
      Call rtitem.appendDoclink(Doc,"Link -->","Link -->")

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: Dokumentenverknüpfung in Lotus Script
« Antwort #8 am: 15.11.05 - 08:46:06 »
Ist ja klar warum das leer bleibt. Du fügst den Doclink im Backend ein.
Damit Du den Link dann im UIDocument siehst, musst Du
1. das Dokument speichern
2. das UIDokument schliessen
3. das UIDokument erneut öffnen.
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline Vigeli

  • Frischling
  • *
  • Beiträge: 38
  • Geschlecht: Männlich
Re: Dokumentenverknüpfung in Lotus Script
« Antwort #9 am: 15.11.05 - 09:37:39 »
hi umi,

...es geht nicht  :-[. was ist hier falsch? Body bleibt immer leer!!

REM Kalenereintrag erzeugen
Sub Click(Source As Button)
Dim session As New NotesSession
Dim db As New NotesDatabase ("","")
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim userName As New notesname(session.username)
Dim dbfilename As String
Dim dbserver As String
Dim value As Integer
Dim vondatum As String
Dim bisdatum As String
Dim newdoc As NotesDocument
Dim rtitem As NotesRichtextItem

Call db.OpenMail
dbfilename=db.filepath
dbserver = db.server

value = Messagebox ("Soll der Termin " + Chr(10) + "in den Kalender eingetragen werden?", (4+32+0+0), "Abwesenheit in den eigenen Kalender eintragen")

If (value = 6) Then

Set uidoc = ws.CurrentDocument
REM art=uidoc.FieldgetText("MstName1")
kunde=uidoc.FieldGetText( "KUNA1" )
vondatum = uidoc.FieldGetText( "KUBELEN" )
bisdatum = uidoc.FieldGetText( "KUBELEN" )
ort=uidoc.FieldGetText("KUORT")
avs=uidoc.FieldGetText("AVS")
'test=uidoc.FieldGetText("AVS")
REM vonzeit = uidoc.FieldGetText( "vonzeit" )
REM biszeit = uidoc.FieldGetText( "biszeit" )
Print vondatum, bisdatum

Set db = session.CurrentDatabase
Set newdoc = New NotesDocument( db )
Set uidoc = ws.ComposeDocument (dbserver,dbfilename,"Appointment")
Call uidoc.FieldSetText("Subject",kunde & " - " & "Besuch")
Call uidoc.FieldSetText("Location",ort)
Call uidoc.FieldSetText("StartDate",vondatum)
Call uidoc.FieldSetText("EndDate",bisdatum)
Call uidoc.FieldSetText("Categories",avs)
'Call uidoc.FieldSetText("Test",avs)
REM Call uidoc.FieldSetText("StartTime",vonzeit)
REM Call uidoc.FieldSetText("EndTime",biszeit)
Call uidoc.FieldSetText("AppointmentType","2")

Call uidoc.Save()
Call uidoc.Close()

Call uidoc.Save()

Call uidoc.FieldSetText("AppointmentType","2")
Dim tdoc As notesdocument
Set tdoc = uidoc.document
Set rtitem = New NotesRichtextITem(tdoc,"Body")
Call rtitem.appendDoclink(Doc,"Link -->","Link -->")


%REM
Messagebox ("Bla Bla Bla!!!!")
Else
Messagebox ("Kalender wurde nicht verändert")
%ENDREM

Call uidoc.refresh
Call uidoc.Save()
Call uidoc.Close()
Call uidoc.refresh
End If

Call uidoc.refresh
Call uidoc.Save()
Call uidoc.Close()



End Sub

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: Dokumentenverknüpfung in Lotus Script
« Antwort #10 am: 15.11.05 - 09:57:43 »
Code

Call uidoc.Save()

Call uidoc.FieldSetText("AppointmentType","2")
Dim tdoc As notesdocument
Set tdoc = uidoc.document
Set rtitem = New NotesRichtextITem(tdoc,"Body")
Call rtitem.appendDoclink(Doc,"Link -->","Link -->")

call tdoc.save(true,false)
call uidoc.close()

'Die genauen parameter siehe Hilfe
set uidoc = ws.editdocument(tdoc)

End If




Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz