Das Notes Forum
Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: Ronny am 24.03.14 - 13:58:21
-
Hallo,
ich möchte in einem Agenten ein Dokument erstellen und dieses danach gleich bearbeiten. Ich habe es schon mit dialogbox und editdocument versucht, jedoch ohne Erfolg. editdocument versucht, das Dokument sofort wieder zu schliessen. Kann mir jemand helfen?
-
Hallo,
Wo steht der Code?
Wie sieht Dein bisheriger Code denn aus?
Formel oder Script?
Andreas
-
Dim wsneu As New NotesUIWorkspace
Dim docneu As NotesDocument
Dim uidocneu As NotesUIDocument
Set uidocneu=wsneu.currentdocument
set docneu=db.createdocument
docneu.form="Standort"
Call ws.Editdocument(true, docneu)
-
Abgesehen davon, dass es Call wsneu.EditDocument ... heißen müsste, sieht das so aus, als ob das funktionieren sollte.
Wenn sich das Dokument sofort wieder schließt, spielen evtl. Events in der Maske mit, z.B. PostOpen.
Probiere das mal temporär mit einer völlig neuen Maske.
-
Hallo Peter,
alles ohne Erfolg, Es kommt der Fehler, Angegebener Befehl kann nicht ausgeführt werden.
-
habs mit Dialogbox gelöst:
a=wsneu.DialogBox( "Standort" , , , , , , ,"neuen Standort erfassen" , docneu )
If a=-1 Then Call docneu.save(True,True)
-
Hallo,
Und was ist mit
Set NotesUIDocument = NotesUIWorkspace.Compose("", "", "Standort")
Andreas
-
Gelöst würde ich das nicht nennen wollen. Dialogbox ist nun wirklich nicht die Methode, um neue Dokumente zu erstellen.
Wenn das o.a. Dein komplettes Script ist, fehlt das Setzen der Datenbank (hatte ich vorhin übersehen), allerdings würde ich da eine andere Fehlermeldung erwarten. Hier das Script, wie ich das schreiben würde (und es bestimmt auch schon einige Male verwende).
Dim session As New NotesSession
Dim db As NotesDatabase
Set db = session.CurrentDatabase
Dim workspace As New NotesUIWorkspace
Dim doc As New NotesDocument (db)
doc.Form = "Standort"
Call workspace.EditDocument (True, doc)
-
nein, die db hatte ich vorher schon deklariert. Klappt allerdings wieder nicht...
-
Deine Rückmeldungen sind leider mehr als dürftig...
Ich fasse zusammen:
- Wenn das Dein GANZER Code ist, dann MUSS das funktionieren.
Verhindern kann das noch:
- QueryOpen in der Maske wird auf False gesetzt
- QueryOpenDocument der Ansicht ist auf False...
- Masken- Formel in der Ansicht, und die Maske die verwendet wird, verhindert das öffnen
- Keine Berechtigung, ein Dokument mit der Maske zu erstellen
- Keine Berechtigung überhaupt ein Dokument in der DB zu erstellen
ETC.
Ach ja: "Klappt nicht" ist keine adäquate Fehlerbeschreibung..
Wenn eine Fehlermeldung kommt: Hier posten...
Wenn keine Fehlermeldung kommt: Was sagt Dein ErrorHandling
Wenn kein ErrorHandling: Warum nicht?
Was passiert, wenn Du das Ganze bei eingeschaltetem Debugger startest: Poppen da noch weitere Scripts hoch, mit denen Du gar nicht gerechnet hättest? (nach aktivieren des Debugger DB komplett schliessen, auch im Designer und von ganz vorne anfangen)...
usw. usw.
-
@Ronny
Bitte nimm die Ratschläge an, die hier gepostet wurden und
1. erstelle eine NEUE, LEERE DB
2. erstelle eine einfache Maske "Standort", ein editierbares Feld und eine Feldbeschriftung tut's für den Anfang
3. erstelle den Agenten wie von Peter Klett beschrieben (Tip: auf Agenteneinstellungen achten)
4. Öffne die DB im Notes Client und führe den Agenten aus der Datenbank aus
Ich habe hier Notes 8.5.3 - und bei mir ist das Ergebnis der ganzen Aktion, daß eine Maske aufgeht und ich im editierbaren Feld etwas eingeben kann und ich kann das NotesDokument auch speichern. Keine Fehlermeldung, alles ok.
Sollte das bei Dir auch so sein, dann geh' auf die Suche nach den UNTERSCHIEDEN zwischen dieser funktionierenden Lösung und Deinem aktuellen Problem. Sollte auch bei dieser neuen DB und diesem Beispiel Fehlermeldungen kommen, hast Du ein ernsthaftes Problem mit Deiner Notes-Installation ;)
Viel Erfolg,
Th.
-
ich habe jetzt alles getestet und festgestellt, dass der Fehler erst beim beenden der sub auftritt
-
na dann
-
Hat der User, der die Aktion startet, das Recht, neue Dokumente in der Datenbank zu erstellen? Welche Zugriffsebene hat der User (Autor, Editor,...)?
Andreas
-
der User hat Manager-Rechte
-
Hallo,
Fragen wir doch noch einmal.
Hast Du Deinen Code schon einmal im Debugger laufen lassen?
Hast Du ein Error-Handling eingebaut und laesst Dir den aufgetretenen Fehler auch
ausgeben?
Was fuer ein Fehler tritt eigentlich auf?
Ohne weitere Informationen von Deiner Seite - ausser das Du festgestellt hast, dass der Fehler am Ende der Sub auftritt - ist alles weitere eigentlich nur ein raten mit Hilfe einer Kristallkugel.
Andreas