Autor Thema: subform soll nicht speichern  (Gelesen 1877 mal)

Offline lotusnotus

  • Frischling
  • *
  • Beiträge: 4
subform soll nicht speichern
« am: 13.05.13 - 15:29:27 »
Hallo zusammen,

ich als totaler LN Neuling stehe vor folgendem Problem:
Ich habe in ein bestehendes Haupt-Dokument, in dem Prsonen gepflegt werden, ein Sub-Dokument einfegügt.
In diesem wird ein Webbrowser-Element geladen und eine Peport-Webseite aufgerufen.
Hierzu wird dem HTTP-String noch die Personalnummer aus dem Hauptdokument mitgegeben.
Exemplarisch: http://mein-report.aspx&personalnummer=123

Das klappt alles wunderbar.

Das Problem ist nun, dass der Inhalt des Webbrowsers/der Subform sich ja nun
bei jedem Auffruf einer Person ändert und dynamisch darstellt.
Auch ohne eine Änderung in dem Hauptdokument, erscheint nun die Frage ob dieses gespeichert werden soll.

Wie kann ich nun erreichen, dass das Subdokument erst gar nicht gespeichert wird, bzw. eine Änderung einfach verworfen wird?
Unabhängig davon mussen im Hauptdokument ja noch Änderungen möglich sein.

Vielen Dank vorab!

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: subform soll nicht speichern
« Antwort #1 am: 13.05.13 - 15:59:58 »
Willkommen im Forum.

Zuallererst: Es gibt keine Subdokumente in Notes.

Zum grundsätzlichen Verständnis in aller Kürze: Notes hat Dokumente, diese Dokumente sind Sammlungen von Daten, die in Items abgelegt werden. Ein Dokument kann beliebig viele Items haben, es kann auch Items haben, die andere Dokumente nicht haben, auch wenn diese Dokumente scheinbar eine gleiche Struktur haben (vergiss alles, was Du mit SQL-Datenbanken gelernt hast, Notes tickt da ganz anders).

Weiterhin gibt es Gestaltungselemente, mit denen das Aussehen und Verhalten von Notesdatenbanken beschrieben wird. Eines dieser Gestaltungselemente ist eine Maske (Form). Eine Maske beschreibt, wie ein o.g. Dokument angezeigt wird, welche Aktionen ablaufen, wenn das Dokument geöffnet, gespeichert, refresht usw. wird. Zum Erstellen von Dokumenten verwendet man meistens auch Masken, das ist aber nicht zwingend notwendig.

Um Masken modularisiert gestalten zu können, gibt es auch ein Gestaltungselement Teilmaske (Subform). Diese Teilmasken werden in Masken eingefügt. Ein Dokument, das mit einer Maske geöffnet wird, das eine Teilmaske besitzt, erfährt alle Beschreibungen, die sowohl in der Maske als auch in der Teilmaske beschrieben sind. Teilmasken können, wie Masken, Felder besitzen, deren Inhalt dann zu Items in Dokumenten werden, aber auch alle Events, die beim Öffnen, Speichern usw. ablaufen.

Wenn Du nun solch eine Teilmaske in Deiner Maske eingebaut hast, bedeutet das nicht, dass Du nun ein Dokument und ein Teildokument hast - was auch immer das sein sollte. Maske und Teilmaske wirken auf das Dokument in gleicher Weise ein. Ändert sich im geöffneten Zustand der Inhalt eines der Felder -egal, ob in der Maske oder der Teilmaske - wird der Benutzer beim Schließen des Dokumentes gefragt, ob die Änderungen gespeichert werden sollen. Gespeichert werden die Änderungen in das darunterliegende Dokument.

Ich kann nicht wirklich nachvollziehen, was Du dort tatsächlich gebaut hast. Mit Hilfe der Teilmaske werden aber sicherlich Felder/Items gefüllt (unabhängig davon, ob sich diese Felder in der Maske oder der Teilmaske befinden). Wenn diese Informationen nicht im Dokument gespeichert werden sollen, genügt es evtl. schon, die Felder umzustellen auf "berechnet zur Anzeige", denn die Inhalte dieser Felder werden dann nicht im Dokument gespeichert. Aber auch das ist nicht eine besondere Eigenschaft, die mit Teilmasken zu tun hat.
« Letzte Änderung: 13.05.13 - 16:03:20 von Peter Klett »

Offline lotusnotus

  • Frischling
  • *
  • Beiträge: 4
Re: subform soll nicht speichern
« Antwort #2 am: 14.05.13 - 12:31:42 »
Hallo und vielen Dank für die ausführliche Antwort!

Um klar zu machen worum es geht:
Es gibt ein Dokument in dem alle Mitarbeiter-Stammdaten inklusive Personalnummer gepflegt werden.
Dieser Maske haben wir nun eine Teilmaske hinzugefügt.
In diese wurde ein "Mircosoft Webbrowers Control" als Applet eingefügt.
Bei Aufruf eines Mitarbeiter-Datensatzes, wird dem Applet der HTTP-String zu einem SQL-Web-Report mitgegeben der dynamisch über die Personalnummer als Variable weitere MA-Daten darstellt, die nicht in Notes geflegt werden (z.B. Daten aus dem Active Directory).

Leider finden wir bei dem besagten Applet keine Option "berechnet zur Ansicht" o.ä.
Somit ist jedes Laden des Applets eine Veränderung des Dokuments.

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: subform soll nicht speichern
« Antwort #3 am: 14.05.13 - 12:49:51 »
Applet ist nicht wirklich meine Domäne ...

Das Applet selbst ändert sich doch nicht, das ist doch nur ein Stückchen Java. Was ändert sich denn im Dokument und wo wird das abgelegt?

Wie wird der HTTP-String übergeben? In einem Feld? Ist das Feld berechnet zur Anzeige?

Ist die Darstellung des Ergebnisses innerhalb des Applets oder schreibt das Applet Daten in Felder der (Teil-)Maske?

klaussal

  • Gast
Re: subform soll nicht speichern
« Antwort #4 am: 14.05.13 - 13:03:07 »
Vielleicht hilft ja hier das Feld "SaveOptions", damit das Dok nicht gespeichert wird.

Offline lotusnotus

  • Frischling
  • *
  • Beiträge: 4
Re: subform soll nicht speichern
« Antwort #5 am: 14.05.13 - 13:04:51 »
Folgendes ist im Bereich Postopen des Dokumentes hinterlegt:

'Anzeigen der Webseite Assets
   Dim w As New notesuiworkspace
   Dim browserobject As Variant
   Set uidoc=w.currentdocument
   Set browserobject=uidoc.GetObject("Microsoft Web Browser")
   Dim URL As String
   Dim pnumber As String
   pnumber = Right(uidoc.Document.persno(0),5)
   zeit =  Second(Time)

   URL="http://myserver/ReportServer?%2freports%2ftools%2fasset_tool%2fulc_assets&rs:Command=Render&rc:Toolbar=false&user_id=" + pnumber + "&rand=" + zeit
   If URL <> "" Then
      browserobject.Navigate(URL)
   End If

End Sub

Offline lotusnotus

  • Frischling
  • *
  • Beiträge: 4
Re: subform soll nicht speichern
« Antwort #6 am: 14.05.13 - 13:06:33 »
Vielleicht hilft ja hier das Feld "SaveOptions", damit das Dok nicht gespeichert wird.

Vermutlich nein, denn der Rest des Dokumentes muss ja weiterhin speicherbar bleiben. Soweit ich das verstanden habe, gilt "save options" ja für das komplette Dokument.

klaussal

  • Gast
Re: subform soll nicht speichern
« Antwort #7 am: 14.05.13 - 13:08:36 »
Man kann nicht nur Teile eines Dokumentes speichern (jedenfalls kenne ich da nichts).

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: subform soll nicht speichern
« Antwort #8 am: 14.05.13 - 13:16:12 »
Das Applet wird also im PostOpen angefasst, ohne dass das Dokument geändert wird. Kann es sein, dass sich irgendetwas anderes im geöffneten Dokument ändert, also nicht das Applet zur Änderung führt?

Das Dokument wird ja anscheinend im Bearbeitenmodus geöffnet. Funktioniert das Applet auch im Lesemodus?

Kannst Du temporär die Teilmaske entfernen (ich gehe davon aus, dass sich das PostOpen-Script in der Teilmaske befindet)? Was passiert dann beim Schließen des zum Bearbeiten geöffneten Dokuments? Erfolgt dann auch die Abfrage nach der Speicherung?

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz