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

Offline OCS

  • Aktives Mitglied
  • ***
  • Beiträge: 205
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Antwortdokument mit Script erstellen
« am: 20.10.03 - 11:03:15 »
Hi Leute,
hab das Problem, das ich über eine Ansicht per Klick auf Button ein neues Dokument via Agent erzeigen möchte.. der Agent (Script unten) läuft auch ohne Fehler durch, doch das erzeugte Dokument wird anschließend nicht in der Ansicht angezeigt! Jemmand ne Ahnung an was das liegen könnte??

Gruß Björn


Script:


Sub Initialize
   
'Variablen zum Schlüssel auslesen
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim workspace As New NotesUIWorkspace
   Dim uidoc As notesuidocument
   Dim cpdoc As NotesDocument
   Dim uiview As NotesUIView
   
   'Aktivdb
   Dim aktivdoc As notesdocument
   
   
   'Variablen zu auslesen der Items im ausgewählten Checkpunkt
   Dim cpaufnr As notesitem
   Dim cpaufpos As notesitem   
   Dim cpproj As notesitem
   Dim cpocssb  As  notesitem
   Dim cpproocspl As notesitem
   Dim cpende As notesitem
   Dim cpbez As notesitem
   Dim cpartbez As notesitem
   Dim cpname1 As notesitem
   Dim cpipss As notesitem
   Dim cpclart As notesitem
   Dim cpstatus As notesitem
   Dim cpstatusDat As notesitem
   Dim cpendedt As notesitem
   Dim cpclid As notesitem
   Dim cplfnr As notesitem
   Dim cpreader As notesitem
   Dim cpkdnr As notesitem
   Dim cpautor As notesitem
   Dim cpaok As notesitem
   Dim cpmail1 As notesitem
   Dim cpmail2 As notesitem
   Dim cparchive As notesitem
   Dim cpmail1names As notesitem
   Dim cpmail2names As notesitem
   Dim cpmonate As notesitem
   Dim cparchive_no As notesitem
   Dim cparchive_yes As notesitem
   Dim cpdate_ok As notesitem
   Dim user As String
   user = session.CommonUsername
   
   'Variablen in die die Items dann in umgewandelter Form geschrieben werden
   Dim aunr As String
   Dim posi As String
   
   'Variablen um auf FridaAktiv zuzugreifen
   
   Dim db_fri As notesdatabase
   Dim view_fri As notesview   
   Dim collect_Fri As notesdocumentcollection
   Dim doc_fri As NotesDocument
   Dim temp As Variant
   
   Dim adoc As Variant
   
   Set db = session.CurrentDatabase
   Set uiview = workspace.Currentview
   
   Set collection = db.UnprocessedDocuments
   Set cpdoc = collection.GetFirstDocument()
   
   Call uiview.SelectDocument(cpdoc) ' Soll das aktuell ausgewählte Dokument in den Zugriff nehmen
   
   Set aunritem = cpdoc.GetFirstItem( "KOAUNR" )
   Set posiitem = cpdoc.GetFirstItem( "PSPOSI" )
   
   Set cpaufnr = cpdoc.GetFirstItem( "aufnr" )
   Set cpaufpos = cpdoc.GetFirstItem( "aufpos" )
   Set cpproj = cpdoc.GetFirstItem( "proj" )
   Set cpocssb  = cpdoc.GetFirstItem( "cpocssb" )
   Set cpproocspl = cpdoc.GetFirstItem( "proocspl" )
   Set cpende = cpdoc.GetFirstItem( "cpende" )
   Set cpbez = cpdoc.GetFirstItem( "cpbez" )
   Set cpartbez = cpdoc.GetFirstItem( "artbez" )
   Set cpname1 = cpdoc.GetFirstItem( "name1" )
   Set cpipss = cpdoc.GetFirstItem( "ipss" )
   Set cpclart = cpdoc.GetFirstItem( "clart" )
   Set cpstatus = cpdoc.GetFirstItem( "cpstatus" )
   Set cpstatusDat = cpdoc.GetFirstItem( "cpstatusdat" )
   Set cpendedt = cpdoc.GetFirstItem( "cpendedt" )
   Set cpclid = cpdoc.GetFirstItem( "clid" )
   Set cplfnr = cpdoc.GetFirstItem( "cplfnr" )
   Set cpreader = cpdoc.GetFirstItem( "cpreader" )
   Set cpkdnr = cpdoc.GetFirstItem( "kdnr" )
   Set cpautor = cpdoc.GetFirstItem( "cpautor" )
   Set cpaok = cpdoc.GetFirstItem( "aok" )
   Set cpmail1 = cpdoc.GetFirstItem( "cpmail1" )
   Set cpmail2  = cpdoc.GetFirstItem( "cpmail2" )
   Set cparchive = cpdoc.GetFirstItem( "cparchive" )
   Set cpmail1names = cpdoc.GetFirstItem( "cpmail1names" )
   Set cpmail2names = cpdoc.GetFirstItem( "cpmail2names" )
   Set cpmonate = cpdoc.GetFirstItem( "cpmonate" )
   Set cparchive_no = cpdoc.GetFirstItem( "archive_no" )
   Set cparchive_yes = cpdoc.GetFirstItem( "archive_yes" )
   Set cpdate_ok = cpdoc.GetFirstItem( "date_ok" )
   
' Jetzt neue Aktion mit den eingelesenen Items erstellen
   
   
   
   Set aktivdoc = New NotesDocument( db )
   aktivdoc.Form = "aktion"
   Call aktivdoc.replaceitemvalue("aufnr",cpaufnr)
   Call aktivdoc.replaceitemvalue("aufpos",cpaufpos)
   Call aktivdoc.replaceitemvalue("proj",cpproj)
   Call aktivdoc.replaceitemvalue("cpocssb", user)
   Call aktivdoc.replaceitemvalue("cpende",cpende)
   Call aktivdoc.replaceitemvalue("cpbez",cpbez)
   Call aktivdoc.replaceitemvalue("name1",cpname1)
   Call aktivdoc.replaceitemvalue("ipss",cpipss)
   Call aktivdoc.replaceitemvalue("clart",cpclart)
   Call aktivdoc.replaceitemvalue("cpstatus",cpstatus)
   'Call aktivdoc.replaceitemvalue("cpende",cpendedt)
   'Call aktivdoc.replaceitemvalue("aok",cpaok)
   Call aktivdoc.replaceitemvalue("zeitvon","00:00")
   Call aktivdoc.replaceitemvalue("zeitbis","00:00")
   Call aktivdoc.replaceitemvalue("dauer","0")
   Call aktivdoc.replaceitemvalue("tkt","055")
   Call aktivdoc.replaceitemvalue("jnf","N")
   Call aktivdoc.replaceitemvalue("cpart","Björntest")
   
Call aktivdoc.Save( True, True )      
   

   
   
   
End Sub
« Letzte Änderung: 20.10.03 - 11:03:45 von OCS »

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 #1 am: 20.10.03 - 11:47:21 »
call workspace.viewrefresh
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 #2 am: 20.10.03 - 13:00:14 »
danke für den tipp, aber auch nach dem erneuten öffnen der db ist kein dokument da!!!!  ???

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 #3 am: 20.10.03 - 13:03:45 »
Mach mal einen View mit allen Dokumenten (nicht hierarchisch) und schau, ob das Ding überhaupt in die Datenbank kommt. Wenn Du es dann in diesem View siehst, überprüfe, ob das entstandene Dokument überhaupt die Eigenschaften/Felder usw. hat, die Du erwartest
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 #4 am: 20.10.03 - 13:08:31 »
die idee hatte ich auch schon, leider nix da!!

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 #5 am: 20.10.03 - 13:13:14 »
Schon mal mit dem Debugger geschaut, ob der activedoc.save überhaupt erreicht wird?
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 #6 am: 20.10.03 - 13:51:19 »
also, habs grade versucht... ! hab mal nen screenshot gemacht und angehängt! er übernimmt wohl alle daten, kommt auch über das save event hinweg, aber die daten sind weg!
« Letzte Änderung: 20.10.03 - 14:20:22 von OCS »

Offline OCS

  • Aktives Mitglied
  • ***
  • Beiträge: 205
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:Antwortdokument mit Script erstellen
« Antwort #7 am: 20.10.03 - 14:23:27 »
hab grad nochmal versucht und die fehlermeldung "für mehrere zeitgleiche transaktionen können sie nicht den selben db handle benutzen!"

was soll das?

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 #8 am: 20.10.03 - 16:00:23 »
Keine Ahnung, was die Fehlermeldung soll. Der Screenshot, das war im Moment, wo das Programm auf dem SAVE steht?

Ueberprüfe mal, ob in der Datenbank überhaupt ein neues Dokument entsteht, in den Datenbank-Eigenschaften unter Anzahl Dokumente, die müsste ja eigentlich nach oben gehen.

Wenn das der Fall ist, dann müsste man wohl oder übel mit Notes-Peek dahintergehen ....

Es sei denn (Spontangedanke): Werden da irgendwie Reader-Felder generiert? So, dass Du Dich quasi selber aussperrst?

Wenn das nix nützt, denke ich mal, wird das zu einem Supportfall. Alternativ könntest Du mir natürlich das Ding zur Untersuchung schicken, allerdings dann nicht mehr gratis (das gibt dann doch ein bisschen Aufwand, auch wenn ich denke, dass das rasch zu entdecken ist, was da schief läuft ...... ohne Garantie :-)
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 #9 am: 20.10.03 - 16:08:28 »
Hi Björn,
im Thema des Thread steht, dass Du ein Antwortdokument erstellen willst. Ich sehe aber nirgends im Code die stelle

Call aktivdoc.MakeResponse( cpdoc )
call aktivdoc( true, true )

Nur so wird das aktivdoc zum Antwortdokument von cpdoc.

Auch wenn Du die Maske "aktion" als Antwortmaske erstellt hast, muss Du das explizit in Deinem Script setzen.

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 #10 am: 20.10.03 - 16:12:21 »
Das stimmt, das hab ich auch schon gesehen gehabt, im Moment scheint es aber so, dass das Dokument gar nicht in der DB erscheint, denn bei einem View mit allen Dokumenten müsste das Ding trotzdem drin sein, es sei denn, dieser View ist irgendwie auch nicht in Ordnung.
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 #11 am: 20.10.03 - 16:20:57 »
Ich habe den Eindruck, in dem Code fehlt was, oder wozu sollen die ganzen Deklarationen und Settings sein, die nirgends verwendet werden?
Wozu ist bpsw.
Call uiview.SelectDocument(cpdoc)
da?


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 #12 am: 20.10.03 - 16:25:20 »
Dem kann ich nur zustimmen, allerdings ist damit zu rechnen, dass wir nur einen Ausschnitt davon sehen.
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 #13 am: 20.10.03 - 16:26:48 »
...genau, und der Fehler ist in dem Teil der fehlt.

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 #14 am: 20.10.03 - 16:29:41 »
Kann sein, er hat mir ja nicht gesagt, an welchem Punkt er den Printscreen vom Debugger gezogen hat, sprich, ob er wirklich zum Save gekommen ist. Lassen wir ihn mal die Frage nach den Anzahl Doks beantworten, das dürfte aufschlussreich sein
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 #15 am: 20.10.03 - 16:46:19 »
also, der debugger läuft komplett durch!

Call uiview.SelectDocument(cpdoc)

benutz ich um das aktuell angeklickte Dokument zu bekommen!
ist der komplette code! das ich sag mal "mutterdokument" hat ne andere form, als das was ich erstellen möchte! das funktioniert manuell ganz gut, aber in backend hab ich halt besagte probleme!

danke das ihr drüber nachdenkt!

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 #16 am: 20.10.03 - 17:15:28 »
Aber Du beantwortest die Fragen nicht oder unvollständig, so kommen wir nicht weiter.
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 Till_21

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 708
  • Geschlecht: Männlich
  • I love Germany
Re:Antwortdokument mit Script erstellen
« Antwort #17 am: 20.10.03 - 17:23:13 »
haeng an die items doch mal die eigenschaft issummary...


das bewirkt manchmal wunder !
(wie in bern)

gruss

Glombi

  • Gast
Re:Antwortdokument mit Script erstellen
« Antwort #18 am: 20.10.03 - 17:27:38 »
Ich habe mir mal deie Mühe gemacht, alles zu entfernen, was Du nicht brauchst und die MakeResponse Methode hinzugefügt..

Sub Initialize
   
'Variablen zum Schlüssel auslesen
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim cpdoc As NotesDocument
   
   'Aktivdb
   Dim aktivdoc As notesdocument   
   
   'Variablen zu auslesen der Items im ausgewählten Checkpunkt
   Dim cpaufnr As notesitem
   Dim cpaufpos As notesitem   
   Dim cpproj As notesitem
   Dim cpocssb  As  notesitem
   Dim cpproocspl As notesitem
   Dim cpende As notesitem
   Dim cpbez As notesitem
   Dim cpartbez As notesitem
   Dim cpname1 As notesitem
   Dim cpipss As notesitem
   Dim cpclart As notesitem
   Dim cpstatus As notesitem
   Dim cpstatusDat As notesitem
   Dim cpendedt As notesitem
   Dim cpclid As notesitem
   Dim cplfnr As notesitem
   Dim cpreader As notesitem
   Dim cpkdnr As notesitem
   Dim cpautor As notesitem
   Dim cpaok As notesitem
   Dim cpmail1 As notesitem
   Dim cpmail2 As notesitem
   Dim cparchive As notesitem
   Dim cpmail1names As notesitem
   Dim cpmail2names As notesitem
   Dim cpmonate As notesitem
   Dim cparchive_no As notesitem
   Dim cparchive_yes As notesitem
   Dim cpdate_ok As notesitem
   Dim user As String
   user = session.CommonUsername
      
   Set db = session.CurrentDatabase  
   Set collection = db.UnprocessedDocuments   'alle gewählten Dokument
   Set cpdoc = collection.GetFirstDocument  
      
   
   Set cpaufnr = cpdoc.GetFirstItem( "aufnr" )
   Set cpaufpos = cpdoc.GetFirstItem( "aufpos" )
   Set cpproj = cpdoc.GetFirstItem( "proj" )
   Set cpocssb  = cpdoc.GetFirstItem( "cpocssb" )
   Set cpproocspl = cpdoc.GetFirstItem( "proocspl" )
   Set cpende = cpdoc.GetFirstItem( "cpende" )
   Set cpbez = cpdoc.GetFirstItem( "cpbez" )
   Set cpartbez = cpdoc.GetFirstItem( "artbez" )
   Set cpname1 = cpdoc.GetFirstItem( "name1" )
   Set cpipss = cpdoc.GetFirstItem( "ipss" )
   Set cpclart = cpdoc.GetFirstItem( "clart" )
   Set cpstatus = cpdoc.GetFirstItem( "cpstatus" )
   Set cpstatusDat = cpdoc.GetFirstItem( "cpstatusdat" )
   Set cpendedt = cpdoc.GetFirstItem( "cpendedt" )
   Set cpclid = cpdoc.GetFirstItem( "clid" )
   Set cplfnr = cpdoc.GetFirstItem( "cplfnr" )
   Set cpreader = cpdoc.GetFirstItem( "cpreader" )
   Set cpkdnr = cpdoc.GetFirstItem( "kdnr" )
   Set cpautor = cpdoc.GetFirstItem( "cpautor" )
   Set cpaok = cpdoc.GetFirstItem( "aok" )
   Set cpmail1 = cpdoc.GetFirstItem( "cpmail1" )
   Set cpmail2  = cpdoc.GetFirstItem( "cpmail2" )
   Set cparchive = cpdoc.GetFirstItem( "cparchive" )
   Set cpmail1names = cpdoc.GetFirstItem( "cpmail1names" )
   Set cpmail2names = cpdoc.GetFirstItem( "cpmail2names" )
   Set cpmonate = cpdoc.GetFirstItem( "cpmonate" )
   Set cparchive_no = cpdoc.GetFirstItem( "archive_no" )
   Set cparchive_yes = cpdoc.GetFirstItem( "archive_yes" )
   Set cpdate_ok = cpdoc.GetFirstItem( "date_ok" )
   
' Jetzt neue Aktion mit den eingelesenen Items erstellen
         
   Set aktivdoc = New NotesDocument( db )
   aktivdoc.Form = "aktion"
   Call aktivdoc.replaceitemvalue("aufnr",cpaufnr)
   Call aktivdoc.replaceitemvalue("aufpos",cpaufpos)
   Call aktivdoc.replaceitemvalue("proj",cpproj)
   Call aktivdoc.replaceitemvalue("cpocssb", user)
   Call aktivdoc.replaceitemvalue("cpende",cpende)
   Call aktivdoc.replaceitemvalue("cpbez",cpbez)
   Call aktivdoc.replaceitemvalue("name1",cpname1)
   Call aktivdoc.replaceitemvalue("ipss",cpipss)
   Call aktivdoc.replaceitemvalue("clart",cpclart)
   Call aktivdoc.replaceitemvalue("cpstatus",cpstatus)
   'Call aktivdoc.replaceitemvalue("cpende",cpendedt)
   'Call aktivdoc.replaceitemvalue("aok",cpaok)
   Call aktivdoc.replaceitemvalue("zeitvon","00:00")
   Call aktivdoc.replaceitemvalue("zeitbis","00:00")
   Call aktivdoc.replaceitemvalue("dauer","0")
   Call aktivdoc.replaceitemvalue("tkt","055")
   Call aktivdoc.replaceitemvalue("jnf","N")
   Call aktivdoc.replaceitemvalue("cpart","Björntest")
   
Call aktivdoc.MakeResponse( cpdoc )
Call aktivdoc.Save( True, True )      

Andreas

Offline OCS

  • Aktives Mitglied
  • ***
  • Beiträge: 205
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:Antwortdokument mit Script erstellen
« Antwort #19 am: 20.10.03 - 17:31:14 »
ok, werd mir jetz alle threads nochmal durchschauen und stell dann morgen früh die antworten hier rein! wünsch euch nen schönen feierabend!!!

gruß björn

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz