Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: Pir0x am 09.10.08 - 14:50:40

Titel: Antwortdokument durch Agent erstellen
Beitrag von: Pir0x am 09.10.08 - 14:50:40
Hallo, ich bräuchte mal nenn kleinen Tip, ich habe vor ein Antwortdokument über einen Agent zuerstellen, dies funktioniert wie folgt,

ich bekomme eine Mail mit verschiedene Daten die in ein Antwortdokument reinsollen (spielt jetzt keine große rolle), in dieser Mail befindet sich auch die DocID welchen Hauptdokument jetzt die Antwort zugewiesen werden soll, nun ist meine Frage wie ich in LotusScript ein Antwortdokument erstellen kann welches sich auf die DocID bezieht die in der Mail mitgeliefert wurden, das auslesen der Daten stellt kein Problem dar, würd mich über Hilfe freuen


Ricco
Titel: Re: Antwortdokument durch Agent erstellen
Beitrag von: Glombi am 09.10.08 - 14:57:51
Makes one document a response to another document. The two documents must be in the same database.
Defined in
NotesDocument

Syntax
Call notesDocument.MakeResponse( document )


Für Deinen Fall bspw so:
... dim und set ...
dim respdoc as NotesDocument
set respdoc = db.CreateDocument
...
Call respdoc.MakeResponse( doc )
...
Titel: Re: Antwortdokument durch Agent erstellen
Beitrag von: Driri am 09.10.08 - 14:59:08
Folgende Schritte sind notwendig :

- über DocID das Parentdocument holen
- per MakeResponse aus dem neuen Dokument ein Antwortdokument erzeugen
Titel: Re: Antwortdokument durch Agent erstellen
Beitrag von: Axel am 09.10.08 - 15:00:11
Wenn du die UNID des Dokumentes hast, dann kannst du mit

Set notesDocument = notesDatabase.GetDocumentByUNID( unid$ )

dir ein Handle auf das entsprechende Dokument beschaffen. Dann legst du ein neues Dokument an und  mit

Call notesDocument.MakeResponse( document )

machst du es dann zum Antwortdokument.

Weitere Infos und Beispiele findest du in der Designer-Hilfe.


Axel


Titel: Re: Antwortdokument durch Agent erstellen
Beitrag von: Driri am 09.10.08 - 15:02:22
Hehe, die Reihenfolge der Antworten läßt mich schmunzeln. Sie werden immer konkreter. Als nächste müßte eigentlich ein fertiges Script kommen  ;D
Titel: Re: Antwortdokument durch Agent erstellen
Beitrag von: Pir0x am 09.10.08 - 15:09:46
würd mir immer hin Arbeit ersparren   ;D danke für eure Hilfe

Edit: würde das auch mit einer AppendItemValue methode funktionieren ?

also ich will jetzt quasi das Hauptdokument öffnen dessen UNID ich ja hab und daran ein Feld erweitern, wie z.b. die Bermerkung , d.h. ich will die Bemerkung im Hauptdokument erweitern um das was in der Mail steht

mein Gedanke da war es so zulösen:

Set rdoc =   db.GetDocumentByUNID(DokID)
Call rdoc.AppendItemValue("Bemerkung",Bemerkung)
Call docAddress.Save( True, True )

aber das scheint ja nicht so einfach zu funktionieren, habt ihr da noch nenn Tip wie ich das zum laufen bekommen würde :)

mfG Ricco
Titel: Re: Antwortdokument durch Agent erstellen
Beitrag von: Axel am 09.10.08 - 15:55:53
würd mir immer hin Arbeit ersparren   ;D


Das Motto des Forums lautet aber: "Selbst in der Mann/die Frau"    ;)


Axel
Titel: Re: Antwortdokument durch Agent erstellen
Beitrag von: Driri am 09.10.08 - 16:04:01
Ähm, also wenn Du auf rdoc zugreifst und dort ein Item veränderst, warum speicherst Du dann docAddress ?
Titel: Re: Antwortdokument durch Agent erstellen
Beitrag von: Glombi am 09.10.08 - 16:04:12
Axel, Axel ....  ;D
Titel: Re: Antwortdokument durch Agent erstellen
Beitrag von: Driri am 09.10.08 - 16:05:30
Muahaha, danke Glombi. Das hätte ich völlig überlesen  ;D
Titel: Re: Antwortdokument durch Agent erstellen
Beitrag von: Pir0x am 10.10.08 - 08:13:58
Driri das ist nartürlich ne gute Frage :) warum kann dieses blöde copy&paste nichtmal mitdenken :)

danke
Titel: Re: Antwortdokument durch Agent erstellen
Beitrag von: Pir0x am 10.10.08 - 08:44:49
und das Problem geht weiter, ich hab jetzt also dein Fehler der mir bei C&P passiert ist beseitigt

Set rdoc =   db.GetDocumentByUNID(DokID)
Call rdoc.AppendItemValue("Bemerkung",Bemerkung)
Call rdoc.Save( True, True )

nun hab ich aber immer noch das Problem, dass die Bemerkung im Dokument unverändert bleibt, kann mir jemand sagen warum dies so ist ?
Titel: Re: Antwortdokument durch Agent erstellen
Beitrag von: Axel am 10.10.08 - 09:07:03
Was für ein Feldtyp ist denn das Bemerkungsfeld?

Woher kommt denn der zweite Parameter Bemerkung?

Meines Erachtes müsste das, ohne deinen genauen Code zu kennen, in etwa so aussehen:

...
Set rdoc =   db.GetDocumentByUNID(DokID)
Call rdoc.AppendItemValue("Bemerkung", doc.Bemerkung)
Call rdoc.Save( True, True )
...

Axel
Titel: Re: Antwortdokument durch Agent erstellen
Beitrag von: Driri am 10.10.08 - 09:11:01
Oh, hatte ich völlig übersehen :

Ich würde empfehlen, nicht AppendItemValue zu benutzen, sondern entweder mit ReplaceItemValue zu arbeiten (dann muß man den String natürlich entsprechend zusammenbasteln) oder über ein NotesItem zu gehen und dort mit AppendText oder AppendToTextList (je nach Item) den Text anzuhängen.

AppendItemValue generiert immer ein neues Item im Dokument, siehe dazu auch die Designer-Hilfe :

Zitat
In general, ReplaceItemValue is favored over AppendItemValue. If an item of the same name already exists in a document, AppendItemValue creates a second item of the same name, and the duplicate items are not accessible except through a work-around. If you are creating a new document, AppendItemValue is safe.
Titel: Re: Antwortdokument durch Agent erstellen
Beitrag von: Pir0x am 10.10.08 - 09:12:17
Hi, es handelt sich dabei um ein Text Feld in dem Mehrfachwerte zugelassen sind (dieses Feld heißt Bemerkung), die Bemerkung die ich jetzt diesem Feld mit anhängen möchte entnehme ich aus dem Body einer Mail, diese Bemerkung wird in der Variablen "Bemerkung" zwischen gespeichert
Titel: Re: Antwortdokument durch Agent erstellen
Beitrag von: Pir0x am 10.10.08 - 09:27:09
ich habs jetzt mit der AppendText methode gemacht, funktioniert super, danke