Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: jmanuel am 24.07.05 - 18:37:24

Titel: Erstellen von Antwortdokument im Backend
Beitrag von: jmanuel am 24.07.05 - 18:37:24
Hallo,

ich möchte ein Response Dokument im Backend erstellen. Sprich, ich bekomme generisch in LS ein belibiges Dokument. Zu diesem Dokument möchte ich nun ein  Antwortdokument erstellen.

Ich habe versucht, ein Response Dokument zu erstellen, mit
Set uidoc = ws.ComposeDocument
und dann wollte ich die verärbenden Felder manuell hinzufügen.
Leider kommt dabei die Meldung "No document is selected, please select a document to respond to.".

Kennt jemand eine Lösung?

Grüsse,
Manuel

Titel: Re: Erstellen von Antwortdokument im Backend
Beitrag von: TMC am 24.07.05 - 19:20:12
Hi,

1.) Du schreibst Backend im Betreff, aber "Set uidoc = ws.ComposeDocument" ist Frontend. Alles was UI im Namen hat, ist Frontend.

2.) Lösung: das geht mit der MakeResponse-Methode der NotesDocument-Klasse.

1.) Schau Dir auch mal Das Arbeiten mit Haupt- und Antwort-Dokumenten (http://www.atnotes.de/index.php?topic=13984.0) an.
Titel: Re: Erstellen von Antwortdokument im Backend
Beitrag von: jmanuel am 24.07.05 - 19:48:14
Hallo,

leider habe ich mal wieder ungünsitg mein Problem erläutert:

Es ist so, ich bekomme im Backend ein Dokument. Dieses Dokument ist das Main Document. Dazu möchte ich nun ein Response erstellen. Das neue Response soll die Felder von diesem Main doc ( wie gesagt, dieses doc habe ich nur im Backend, nicht in einer view visiert) ärben.

Das erstellen von Antwortdokumenten habe ich mit schon durchgelesen. Sehr schöner Artikel,

Gruss,
Manuel
Titel: Re: Erstellen von Antwortdokument im Backend
Beitrag von: TMC am 24.07.05 - 20:48:51
Was ist denn der Auslöser? Ist das ein User der auf einen Button klickt? Oder wie kommst Du zu dem Maindocument?
Es fehlen da also noch Infos, um helfen zu können...
Titel: Re: Erstellen von Antwortdokument im Backend
Beitrag von: flaite am 24.07.05 - 20:54:35
Also ich sehe dein Problem auch nicht.


Es ist so, ich bekomme im Backend ein Dokument.
Sofern du eine Referenz auf dieses Objekt im Skript hast, kannst du jedes Feld dort ändern.

Code
docMain.Feldname = docAnswer.Feldname(0)

oder oft besser, da potentiell immer leichter zu erweitern, da der Name des Feldes parametrisierbar ist:
Code
call docMain.replaceItemValue("FeldName", docAnswer.getItemValue("FeldName")(0))

Du darfst nur nicht vergessen, nach den Operationen das mainDoc zu speichern (leicht zu vergessen)
Code
docMain.save true, false
Titel: Re: Erstellen von Antwortdokument im Backend
Beitrag von: koehlerbv am 24.07.05 - 23:18:57
Hallo Manuel,

hast Du Dir das Beispiel in der DesignerHelp zur erforderlichen Routine NotesDocument.MakeResponse schon mal 'reingezogen ? Da steht doch eigentlich schon alles drin. Der Ablauf ist an sich ganz einfach:

Du hast eine NotesDatabase "dbCurrent".
Du hast ein NotesDocument "docMain".
Du erzeugst ein NotesDocument "docResponse" mit dbCurrent.CreateDocument.
Du weist dem zukünftigen ResponseDoc die erforderlichen Items und Properties zu:
    docResponse.Form = "Response"
    Call docResponse.MakeResponse (docMain)
Und jetzt brauchst Du "nur" noch die entsprechenden Items ins neue ResponseDoc übertragen:
   docResponse.ItemANew = docMain.ItemAOld
   docResponse.ItemBNew = docMain.ItemBOld
   docResponse.ItemCNew = Now
oder was auch immer.

HTH,
Bernhard

PS: Ist "ärben" statt "erben" durch die neue Rechtschreibung wirklich gedeckt ? Ich bin ja lernfähig ...
Titel: Re: Erstellen von Antwortdokument im Backend
Beitrag von: jmanuel am 25.07.05 - 01:16:33
Hallo,

vielen Dank für eure Antworten!
Ich habe das so gelöst wie Bernhard es vorgeschlagen hat.

Gute Nacht (-:
Manuel

P.S.: naja, wir sind ja hier in NRW und daher können wir ja noch quasi alles falsch schreiben, und dennoch ist es richtig (-: