Autor Thema: Aufgabe per LS erstellen  (Gelesen 1530 mal)

Offline Wirsing

  • Senior Mitglied
  • ****
  • Beiträge: 283
  • Geschlecht: Männlich
    • METZ CONNECT
Aufgabe per LS erstellen
« am: 14.06.06 - 09:39:35 »
Hallo zusammen,


ich versuche gerade eine Aufgabe (Task - Standard aus Mailschablone) per Lotus Script zu erstellen. Diese neue Aufgabe soll mit ein paar vorbelegten Feldern noch voll änderbar für den User sein und direkt beim Auslösen der Aktion in den Vordergrund öffnen.

Das Problem ist nun, dass wenn ich das Dokument in den Edit-Modus versetze, die Optionen für die Aufgabenzuweisung ausgeblendet werden. Laut Masken-Design passiert dies nur, wenn eine Aufgabe kein neues Dokument ist.

Doch zunächst mal ein bischen Code:

...
        Dim ws As New NotesUIWorkspace
   Dim taskdoc As NotesDocument
   Dim db As New NotesDatabase( "", "" )
   
   Call db.OpenMail
   Set taskdoc=New NotesDocument( db )

   Call taskdoc.ReplaceItemValue("Form","Task")
   Call ws.EditDocument(,taskdoc)
...

Eigentlich habe ich ja zu diesem Zeitpunkt die neue Aufgabe noch nicht gespeichert, also dürfte das Dokument immernoch "Newdoc" sein, oder etwa nicht?

Wie muss ich das Dokument erstellen, damit der User noch diese Einstellungen erreich kann. Änderungen an der Mailschablone möchte ich dabei aber möglichst vermeiden.


Grüsse

Holger
« Letzte Änderung: 14.06.06 - 11:28:30 von Wirsing »
6 Lotus Domino Server 9.0.1(FP5-7) auf Windows 2008R2 Server
ca. 450 Clients mit 8.5.x/9.0.1

Offline Lossa

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.404
  • Geschlecht: Männlich
    • alphaTrain
Re: Aufgabe per LS erstellen
« Antwort #1 am: 14.06.06 - 10:36:09 »
Hallo,

du must das Dokument im Front-End mittel UI-Klassen erstellen und füllen.
Viele Grüße

Ulrich Lossa
Aktiv als Notes Admin und Entwickler seit Version 1.
Freier Trainer und Berater.
Zertifiziert für alle Versionen SA und DB.
HCL Certified Administrator
IBM Certified Advanced Application Developer (PCLP AD)
IBM Certified Advanced System Administrator (PCLP SA)
IBM Certified Instructor for System Administration and Application Development ( CLI)
IBM Certified Instructor for Websphere Software
IBM Certified Instructor for DB2
http://www.alphatrain.de
Lossa@alphatrain.de

Offline Wirsing

  • Senior Mitglied
  • ****
  • Beiträge: 283
  • Geschlecht: Männlich
    • METZ CONNECT
Re: Aufgabe per LS erstellen
« Antwort #2 am: 14.06.06 - 10:55:03 »
Hallo Lossa,


danke für die schnelle Hilfe.
Das Dokument wird jetzt schön "vorbereitet". Das einzige Problem, welches ich nun habe, ist die Datumsfelder mit einem Wert zu befüllen:

...
Dim startdatum as new NotesDateTime("14.06.2006 08:00:00")
uidoc.fieldsettext("StartDate", startdatum.isLocaltime)
...

Quittiert er mit einem "string expected" - ist auch logisch.
Wie kann ich also Nicht-Text-Felder in einem UI-Dokument befüllen?

Grüsse

Holger
6 Lotus Domino Server 9.0.1(FP5-7) auf Windows 2008R2 Server
ca. 450 Clients mit 8.5.x/9.0.1

Offline Lossa

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.404
  • Geschlecht: Männlich
    • alphaTrain
Re: Aufgabe per LS erstellen
« Antwort #3 am: 14.06.06 - 11:01:09 »
hi,

im UI gibt es nur Text!

Wenn Notes das Dokument speichert, oder aktualisiert, wird als erstes die Datentypkonvertierung vorgenommen, dann die berechneten Felder usw.

Also sende Text an das Feld
Viele Grüße

Ulrich Lossa
Aktiv als Notes Admin und Entwickler seit Version 1.
Freier Trainer und Berater.
Zertifiziert für alle Versionen SA und DB.
HCL Certified Administrator
IBM Certified Advanced Application Developer (PCLP AD)
IBM Certified Advanced System Administrator (PCLP SA)
IBM Certified Instructor for System Administration and Application Development ( CLI)
IBM Certified Instructor for Websphere Software
IBM Certified Instructor for DB2
http://www.alphatrain.de
Lossa@alphatrain.de

Offline Wirsing

  • Senior Mitglied
  • ****
  • Beiträge: 283
  • Geschlecht: Männlich
    • METZ CONNECT
Re: Aufgabe per LS erstellen
« Antwort #4 am: 14.06.06 - 11:05:16 »
Öh, aber da bringt er eben diese Meldung  ???

Ich habe es bereits mit...

set doc = uidoc.Document
call doc.ReplaceItemValue("StartDate",startdatum.IsLocalTime)

...versucht, aber dann zeigt er mit nichts in der offenen Maske an...


EDIT: Alles Quatsch! Hab jetzt erst verstanden wie Du es gemeint hast:

Per Fieldsettext übergeben und dann von der "natürlichen" Umrechnung der Maske umwandeln lassen....

Danke nochmals

Holger
« Letzte Änderung: 14.06.06 - 11:06:51 von Wirsing »
6 Lotus Domino Server 9.0.1(FP5-7) auf Windows 2008R2 Server
ca. 450 Clients mit 8.5.x/9.0.1

Offline Wirsing

  • Senior Mitglied
  • ****
  • Beiträge: 283
  • Geschlecht: Männlich
    • METZ CONNECT
Re: Aufgabe per LS erstellen
« Antwort #5 am: 14.06.06 - 11:14:25 »
Noch eine Frage:

Wie kann ich einen DocLink in den Body einfügen?
6 Lotus Domino Server 9.0.1(FP5-7) auf Windows 2008R2 Server
ca. 450 Clients mit 8.5.x/9.0.1

Offline Lossa

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.404
  • Geschlecht: Männlich
    • alphaTrain
Re: Aufgabe per LS erstellen
« Antwort #6 am: 14.06.06 - 11:17:13 »
Doclink geht nur über die backendklassen und richtextitem, nicht via frontend. Dann müsstes du das Frontend Dokument zumachen und wieder öffnen, dann wäre der Link erst sichtbar.
Viele Grüße

Ulrich Lossa
Aktiv als Notes Admin und Entwickler seit Version 1.
Freier Trainer und Berater.
Zertifiziert für alle Versionen SA und DB.
HCL Certified Administrator
IBM Certified Advanced Application Developer (PCLP AD)
IBM Certified Advanced System Administrator (PCLP SA)
IBM Certified Instructor for System Administration and Application Development ( CLI)
IBM Certified Instructor for Websphere Software
IBM Certified Instructor for DB2
http://www.alphatrain.de
Lossa@alphatrain.de

Offline Wirsing

  • Senior Mitglied
  • ****
  • Beiträge: 283
  • Geschlecht: Männlich
    • METZ CONNECT
Re: Aufgabe per LS erstellen
« Antwort #7 am: 14.06.06 - 11:28:04 »
Uff, ok. Damit muss ich dann eben leben.

Und hier noch die komplette Lösung:

Code
Dim ws As New NotesUIWorkspace
Dim s As New NotesSession
Dim db As New NotesDatabase( "", "" )
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim taskdoc As NotesDocument
Dim taskuidoc As NotesUIDocument

Dim rtitem As NotesRichTextItem
Dim datum As String

Set uidoc = ws.CurrentDocument
Set doc=uidoc.Document

datum = uidoc.FieldGetText("dtErinnerung")
If datum ="" Then datum = Today()
Dim dt As New NotesDateTime(datum + " 08:00:00")

'Aufgabe erstellen
Call db.OpenMail
Set taskuidoc = ws.ComposeDocument(db.Server,db.filepath,"Task")
Set taskdoc = taskuidoc.Document

Call taskuidoc.fieldsettext("TaskType","1")
Call taskuidoc.fieldsettext("Subject","Projekt " + Cstr(uidoc.FieldGetText("tfProjektNummer")))
Call taskuidoc.fieldsettext("StartDate", Cstr(dt.lsLocaltime))
Call taskuidoc.fieldsettext("DueDate" , Cstr(dt.lsLocaltime))
Call taskuidoc.fieldsettext("Alarms","1")

' DocLink einfügen
Set rtitem = New NotesRichTextItem( taskdoc, "Body" )
Call rtitem.AppendDocLink( doc,  "Projekt")
« Letzte Änderung: 14.06.06 - 11:39:19 von Wirsing »
6 Lotus Domino Server 9.0.1(FP5-7) auf Windows 2008R2 Server
ca. 450 Clients mit 8.5.x/9.0.1

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz