Autor Thema: Profildokument - erstmaliges öffnen/anlegen  (Gelesen 4514 mal)

Offline magic_halli

  • Senior Mitglied
  • ****
  • Beiträge: 348
  • Geschlecht: Männlich
Profildokument - erstmaliges öffnen/anlegen
« am: 17.12.08 - 16:51:27 »
Hi,

ich habe eine Aktionsschaltfläche 'Optionen' im Posteingang. Wenn der User diese klickt, geht eine Maske auf, wo er Daten eingeben kann. Gleichzeitig wird beim Klick ein userspez. Profildokument angelegt, in welches die Maskeneingaben nachher gespeichert werden.
Code hinter dieser Aktionsschaltfläche 'Optionen':
Code
REM {öffnet Maske "AFPS-ExportOptionen" und legt gleichzeitig userspezifisches Profildokument an};
@Command([EditProfileDocument]; "AFPS-ExportOptionen"; @UserName)

In der Maske selbst, wird im QueryOpen auf das Profildokument zugegriffen und verschiedene Werte ausgelesen und verarbeitet.
Code
Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant)
	Dim session As New NotesSession
	Dim db As NotesDatabase
	Dim doc As NotesDocument
	Dim item As NotesItem
	Dim views As Variant
	
	Set db = session.CurrentDatabase
	Set doc = db.GetProfileDocument("AFPS-ExportOptionen", session.UserName)

      ' doc verwende ich dann weiter, um auf Items etc. zuzugreifen
Ich erhalte beim erstmaligen Aufruf der Maske jedoch eine Mitteilung: "Object variable not set."
Danach geht die Maske trotzdem auf. Wenn ich dann in der Maske auf 'Speichern und Schließen' gehe, wird das Profildokument ja erst gespeichert und ist somit immer existent... die Mitteilung erscheint nie wieder.
Wenn ich jedoch 'Abbrechen' klicke, wird ohne speichern die Maske geschlossen und die Mitteilung erscheint beim nächsten Aufruf wieder.

Wie kann ich diesen Effekt umgehen? ...ich dachte mir vielleicht sowas wie 'if doc.exist' oder ähnlich. Was gibts da?

Danke und Gruß
 
Rico.
Lotus Notes 8.0.2

Offline DAU-in

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.129
  • Geschlecht: Weiblich
  • - unterwegs -
Re: Profildokument - erstmaliges öffnen/anlegen
« Antwort #1 am: 17.12.08 - 17:19:07 »
Ich denke, das Dokument wird erst als Frontenddokument angelegt, daher ist beim ersten Zugriff das Backenddokument noch nicht vorhanden.


wenn du mit 'IsNewdoc' abfragst, hilft das dann?

edith:
Read-only. Indicates whether a document is new. A new document is one that hasn't been saved.
Defined in
NotesUIDocument
Data type
Boolean
Syntax
To get: flag = notesUIDocument.IsNewDoc
mühsam ernährt sich das Eichhörnchen

aktuelle Tätigkeit: Feldschubse

Offline muenzpraeger

  • Junior Mitglied
  • **
  • Beiträge: 59
  • Geschlecht: Männlich
Re: Profildokument - erstmaliges öffnen/anlegen
« Antwort #2 am: 17.12.08 - 21:13:41 »
Hi!

Poste doch mal Dein Script bis zur Fehlerstelle. Weiter wäre dann noch die Info gut, welchen Wert die einzelnen Objekte der Fehlerzeile haben...

HTH
René
---------------------------------------------------------------

#moveOn

Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Profildokument - erstmaliges öffnen/anlegen
« Antwort #3 am: 17.12.08 - 21:15:34 »
Nicht ganz richtig, Xanthi.
Das Problem liegt wohl eher da drin, das Rico sofort versucht auf das Profildokument zuzugreifen und das Doc zu nutzen.

Wenn es aber noch kein Profildokument gibt, dann liefert das hier
Code
Set doc = db.GetProfileDocument("AFPS-ExportOptionen", session.UserName)
Nothing zurück. Und dann MUSS es bei seinem ersten Zugriff auf zum Beispiel ein Item zwangsläufig scheppern. Das er das ja tut hat er im letzten Teil seines Codes erwähnt.

Das die Maske trotzdem aufgeht scheint an Notes 8 zu liegen. In mancher Beziehung ist es, was so etwas angeht, scheinbar fehlertoleranter als vorhergehende Versionen.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Profildokument - erstmaliges öffnen/anlegen
« Antwort #4 am: 17.12.08 - 23:22:45 »
Die Maske des ProfileDocs wurde unter diesen Umständen schon unter R4 geöffnet, Thomas. Das QueryOpen meckert (siehe hierzu auch diesen Thread von heute http://atnotes.de/index.php?topic=43613.msg280031#msg280031) und ohne Continue = False werden dann auch die nächsten Events ausgeführt.

Rico, wollt Ihr Euch nicht mal professionelle Hilfe für den Start ins Haus holen? Ihr wollt ja auch offensichtlich ein professionelles Produkt auf die Beine stellen. Du stocherst aber immer nur herum, scheinbar findest Du dann auch eine Lösung - aber Du kannst immer noch Meilen davon entfernt sein, wie man sowas jeweils am besten bzw. überhaupt richtig in Notes angeht. Ein Forum ist bei dieser Sache überfordert (weswegen ich mich hier auch meistens heraus halte).

Bernhard

Offline lildjäiy

  • Frischling
  • *
  • Beiträge: 9
Re: Profildokument - erstmaliges öffnen/anlegen
« Antwort #5 am: 07.09.10 - 17:00:25 »
Nicht ganz richtig, Xanthi.
Das Problem liegt wohl eher da drin, das Rico sofort versucht auf das Profildokument zuzugreifen und das Doc zu nutzen.

Wenn es aber noch kein Profildokument gibt, dann liefert das hier
Code
Set doc = db.GetProfileDocument("AFPS-ExportOptionen", session.UserName)
Nothing zurück. Und dann MUSS es bei seinem ersten Zugriff auf zum Beispiel ein Item zwangsläufig scheppern. Das er das ja tut hat er im letzten Teil seines Codes erwähnt.

Das die Maske trotzdem aufgeht scheint an Notes 8 zu liegen. In mancher Beziehung ist es, was so etwas angeht, scheinbar fehlertoleranter als vorhergehende Versionen.


Bei mir erzeugt der genannte Code ein Profildokument auch wenn es nicht existiert hat zuvor.

Die Hilfe sagt dazu:
"Retrieves or creates a Profile document."

Wie kann man in einer DB prüfen, ob ein Profildokument existiert ohne es automatisch dabei anlegen zu müssen?

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Profildokument - erstmaliges öffnen/anlegen
« Antwort #6 am: 07.09.10 - 18:13:38 »
NotesDatabase.GetProfileDocCollection

HTH,
Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz