Autor Thema: Antwortdokument mit Script erstellen  (Gelesen 16959 mal)

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Antwortdokument mit Script erstellen
« Antwort #40 am: 22.10.03 - 10:42:36 »
Da muss man eben das eigene Multithreading einschalten, dann geht das schon, 2 Threads in einem zu bearbeiten. Ich befürchte, auf Deine Frage hat niemand eine Antwort, deshalb kommt nix mehr. Bernhard??
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline OCS

  • Aktives Mitglied
  • ***
  • Beiträge: 205
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:Antwortdokument mit Script erstellen
« Antwort #41 am: 22.10.03 - 11:07:27 »
ok, bin jetz nen schritt weiter! nach dem speichern des backenddocs öffne ich es wieder mit    

Set aktivdoc = workspace.EditDocument( editmode, doc, doc )
call aktivdoc.editmode = true


danach will ich es speichern und bekomme die fehlermeldung

"invalid note id"!  wenn ich allerdings die fehlermeldung wegdrücke habe ich den gewünschten effekt (das dokument wird in der ansicht ohne zu refreshen sichtbar!!!) kann ich die fehlermeldung irgendwie ignirieren??

gruß björn

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Antwortdokument mit Script erstellen
« Antwort #42 am: 22.10.03 - 11:12:37 »
Die Syntax stimmt aber nicht:
Set aktivdoc = workspace.EditDocument (true, doc, false)

Die folgende Zeile kannst Du dann ersatzlos streichen.

HTH,
Bernhard

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Antwortdokument mit Script erstellen
« Antwort #43 am: 22.10.03 - 11:14:13 »
on error resume next
...........
on error goto 0


Aber 1 jetzt bekommst Du gar keine Fehlermeldungen mehr in dem punktierten Abschnitt.

Aber 2 Illegale Note-ID ist eine schwerwiegende Geschichte, da würd  ich mich mal dahinterklemmen, warum die Fehlermeldung kommt. Ich hab im Moment auch keine Idee
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Glombi

  • Gast
Re:Antwortdokument mit Script erstellen
« Antwort #44 am: 22.10.03 - 11:21:59 »
Ist aktivdoc ein NotesDocument oder ein NotesUIDocument. Falls ersteres, musst Du noch ein NotesUIDocument deklarieren.
Versuch mal folgendes:

dim aktivuidoc as NotesUIDocument
Set aktivuidoc = workspace.EditDocument (true, doc)
call aktivuidoc.Save
call aktivuidoc.Close

Andreas

Glombi

  • Gast
Re:Antwortdokument mit Script erstellen
« Antwort #45 am: 22.10.03 - 11:27:09 »
on error resume next
...........
on error goto 0

Für ein Error Handling in Script sollten wir mal einen separaten Thread machen. Das ist schon ein Kapitel für sich und hier laufen ja schon 2 Threads. Für Männer, die ja bekanntlich nicht multitaskingfähig sind, eine echte Herausforderung. ;D

Andreas

Glombi

  • Gast
Re:Antwortdokument mit Script erstellen
« Antwort #46 am: 22.10.03 - 11:38:27 »
@glombi:

aktivdoc ist ein backenddoc, das ich über workspace.EditDocument
als uidoc öffne!
und das ist der Fehler! Also versuch mal meinen Vorschlag umzusetzen.

Andreas

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Antwortdokument mit Script erstellen
« Antwort #47 am: 22.10.03 - 11:43:33 »
Andreas: völlig richtig, das wäre ein eigener Thread wert :-)
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline OCS

  • Aktives Mitglied
  • ***
  • Beiträge: 205
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:Antwortdokument mit Script erstellen
« Antwort #48 am: 22.10.03 - 11:49:58 »
@glombi:

Deine Zeilen machen keinen unterschied, ist das gleiche das ich mache, nur das die variablen anders heissen!

danke trotzdem!!! ;)

hier noch mal der komplette quelltext ums klarer zu machen!


Sub Initialize
   Dim uidoc As notesuidocument
   Dim session As notessession
   Set session = New notessession
   Dim item As notesitem
   Dim workspace As notesuiworkspace
   Dim rtitem As notesrichtextitem
   Dim db As NotesDatabase
   Set workspace = New notesuiworkspace
   Dim collection As NotesDocumentCollection
   Dim doc As NotesDocument
   Dim problem As String
   Set uidoc = workspace.currentdocument
   Dim temp As String
   Dim view As notesview
   Dim schnellstart As String
   Dim aktivid As String
   Dim aktivdoc As notesuidocument
   
   schnellstart = uidoc.fieldgettext("schnellstart")
   aktivid = uidoc.fieldgettext("aktiv_id")
   problem = uidoc.fieldgettext("DocTitel")
   Call uidoc.save
   If schnellstart = "J" Then
      Set db = session.Getdatabase("OCS02/OCS GmbH", "aktiv\fridaakt.nsf", False)
      Set view = db.getview ("ViewActionsUNID")
      Call view.Refresh
      Set collection = view.getalldocumentsbykey(aktivid)
      Set doc = collection.GetFirstDocument()
      Print collection.count
     
      Call doc.Replaceitemvalue("CheckCall", "X")
      Call doc.Replaceitemvalue("tmp_link", "X")
      Call doc.Replaceitemvalue("CPart", Problem)
     
      Set rtitem = New NotesRichTextItem(doc, "Link")
      Call rtitem.AppendDocLink( uidoc.document, "Dokumentenlink")
      Call rtitem.AppendText("          " )
      Call rtitem.AppendText(Problem)
     
      Call doc.Save( False, False )      
      Set aktivdoc = workspace.EditDocument (True, doc, False) ' Hier öffne ich das vorher bearbeitet Backenddoc (doc)
      Call aktivdoc.save ' hier kommt der fehler!
      Call aktivdoc.close
      Call uidoc.save      
      Call uidoc.close
     
     
     
     
   End If      
End Sub


« Letzte Änderung: 22.10.03 - 11:52:40 von OCS »

Glombi

  • Gast
Re:Antwortdokument mit Script erstellen
« Antwort #49 am: 22.10.03 - 11:53:38 »
 ??? ??? ???
Also laut Deinem, Code ist aktivdoc KEIN Backendoc.
Dim aktivdoc As notesuidocument

Das ganze wird in einem Dokument ausgelöst, gell?

Also hast Du ein uidoc und willst ein neues Dokument öffnen.

Versuch mal die folgenden Scriptzeilen
Call doc.Save( False, False )      
      Set aktivdoc = workspace.EditDocument (True, doc, False) ' Hier öffne ich das vorher bearbeitet Backenddoc (doc)
      Call aktivdoc.save ' hier kommt der fehler!
      Call aktivdoc.close
      Call uidoc.save      
      Call uidoc.close

zu tauschen durch:
Call doc.Save( False, False )      
      Call uidoc.save      
      Call uidoc.close

      Set aktivdoc = workspace.EditDocument (True, doc, False) ' Hier öffne ich das vorher bearbeitet Backenddoc (doc)
      Call aktivdoc.save ' hier kommt der fehler!
      Call aktivdoc.close

Offline OCS

  • Aktives Mitglied
  • ***
  • Beiträge: 205
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:Antwortdokument mit Script erstellen
« Antwort #50 am: 22.10.03 - 12:05:10 »
nicht ganz richtig,
aus uidoc heraus bearbeite ich das backenddokument "DOC".
nachdem ich es bearbeitet und gespeichert habe, öffne ich "DOC" unter dem name "aktivdoc" also uidokument und speichere es dann um es in der ansicht anzuzeigen ohne einen refresh machen zu müssen.....


hintergrund:
ich kann keinen refresh machen, da die db 25.000 dokumente umfasst und das einfach zu lange dauern würde!

Glombi

  • Gast
Re:Antwortdokument mit Script erstellen
« Antwort #51 am: 22.10.03 - 14:40:06 »
Hier mein Code:

Sub Initialize
  Dim uidoc As notesuidocument
  Dim session As notessession
  Set session = New notessession
  Dim item As notesitem
  Dim workspace As notesuiworkspace
  Dim rtitem As notesrichtextitem
  Dim db As NotesDatabase
  Set workspace = New notesuiworkspace
  Dim collection As NotesDocumentCollection
  Dim doc As NotesDocument
Dim currentdoc As NotesDocument
  Dim problem As String
  Set uidoc = workspace.currentdocument
  Dim temp As String
  Dim view As notesview
  Dim schnellstart As String
  Dim aktivid As String
  Dim aktivdoc As notesuidocument
 
set currentdoc = uidoc.Document 

schnellstart = uidoc.fieldgettext("schnellstart")
  aktivid = uidoc.fieldgettext("aktiv_id")
  problem = uidoc.fieldgettext("DocTitel")
  Call uidoc.save
Call uidoc.close

  If schnellstart = "J" Then
      Set db = session.Getdatabase("OCS02/OCS GmbH", "aktiv\fridaakt.nsf", False)
      Set view = db.getview ("ViewActionsUNID")
      Call view.Refresh
      Set collection = view.getalldocumentsbykey(aktivid)
      Set doc = collection.GetFirstDocument()
      Print collection.count
     
      Call doc.Replaceitemvalue("CheckCall", "X")
      Call doc.Replaceitemvalue("tmp_link", "X")
      Call doc.Replaceitemvalue("CPart", Problem)
     
      Set rtitem = New NotesRichTextItem(doc, "Link")
      Call rtitem.AppendDocLink( currentdoc, "Dokumentenlink")
      Call rtitem.AppendText("          " )
      Call rtitem.AppendText(Problem)
     
      Call doc.Save( False, False )           

      Set aktivdoc = workspace.EditDocument (True, doc)
      Call aktivdoc.save
      Call aktivdoc.close                
     
  End If     
End Sub

Andreas

Offline OCS

  • Aktives Mitglied
  • ***
  • Beiträge: 205
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:Antwortdokument mit Script erstellen
« Antwort #52 am: 22.10.03 - 14:48:22 »
hi andreas,
das macht leider keinen unterschied, gleiche meldung!

danke trotzdem!  :'(

Glombi

  • Gast
Re:Antwortdokument mit Script erstellen
« Antwort #53 am: 22.10.03 - 15:19:53 »
Es kann sein, dass Notes ein Problem damit hat, ein anderes UI Dokument zu öffnen oder dass das aktuelle UI Dokument, in dem sich auch der Script Code befindet, geschlossen wird.
Dann kannst Du evtl. den Code in einen Agenten auslagern. Dazu müsstest Du bspw. die UNID in die NOTES.INI schreiben und dann den Agenten aufrufen.

Andreas

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Antwortdokument mit Script erstellen
« Antwort #54 am: 22.10.03 - 15:25:15 »
Lieber in ein Profildokument und nicht in die Notes.Ini, da liegt eh schon genug ungelöschter Schrott rum ...
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline OCS

  • Aktives Mitglied
  • ***
  • Beiträge: 205
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:Antwortdokument mit Script erstellen
« Antwort #55 am: 22.10.03 - 15:28:45 »
ich dank euch für die hilfe, werd mal sehen was ich hinkriege!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz