Autor Thema: Queryclose: Dok ist neu und wurde nicht verändert  (Gelesen 1273 mal)

Offline bob

  • Aktives Mitglied
  • ***
  • Beiträge: 166
  • Geschlecht: Männlich
  • R5
Hi,

in einer DB hab ich 2 identische Masken "frmNormal" und "frmTest".
Im Queryclose steht folgendes Script:
---------------------------------------------------
Sub Queryclose(Source As Notesuidocument, Continue As Variant)
     
     If Source.EditMode = False Then
           Exit Sub
     End If
     
     Dim doc As NotesDocument
     Set doc = Source.Document
     
     If doc.Bereich (0) = "TEST" Then
           doc.Form = "frmTEST"
     Else
           doc.Form = "frmNormal"
     End If
     
     Call doc.Save (True, False, True)
     
End Sub
---------------------------------------------------

Wenn also im Feld "Bereich" "Test" steht, dann wird dem Dokument die Maske "frmTest" zugeordnet, falls nicht wird "frmNormal" zugeordnet.


Nun benötige ich einen Zusatz:
Wenn das Dokument nämlich neu ist, und keine Änderungen erfolgt sind (bzw. die Maske verlassen wird mit "Änderungen speichern NEIN"), dann wird trotzdem ein leeres Dokument gespeichert. Das möchte ich eben nicht.

Hat vielleicht wer von Euch einen Zusatz für dieses Script, mit der ich bei einem neuen Dok, welches nicht gespeichert wurde, eine Speicherung eines Doks verhindern kann?


Danke schon im Voraus!

Gruß,
Bob
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re: Queryclose: Dok ist neu und wurde nicht veränd
« Antwort #1 am: 25.08.02 - 19:05:32 »
hm..
also Bedingung: Doc neu und wird aber nicht gespeichert, damit die QueryClose Story korrekt getriggert wird:

- hidden field, berechnet: "savechecker"
- Formel: @if(isdocbeingsaved;"1";"0")

Wenn Doc also gespeichert wird, steht Feldinhalt auf "1". Sonst eben auf "0". Da man das Teil eh nur einmal benötigt (um eben Zustand "nicht gesaved" abzufragen), kann man diese einfache Formel so nutzen.

Sonst müßte man checken, ob erneut gespeichert wird. Aber dann kann man ja mit einem Zähler arbeiten, der beim Laden (PostOpen) ausgelesen wird und beim Saven über QuerySave hochgezählt und beim Closen mit dem Anfangswert auf Postopen verglichen wird (wenn nicht gespeichert wird, wird der Zähler nicht hochgesetzt, da Event QuerySave nicht getriggert wird).

Was auch geht und auch sehr sehr einfach ist für den QueryClose Check = "flag = notesUIDocument.IsNewDoc". Aber das wäre ja viel zu easy.

Die o.g. Ergebnis-Werte nutzt Du dann im QueryClose als
IF Wert="x" Then
mach nix also Exit Sub
Sonst
mach Dein Sript weiter

Was Du nimmst? Ist Deine Sache  ;D
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline bob

  • Aktives Mitglied
  • ***
  • Beiträge: 166
  • Geschlecht: Männlich
  • R5
Re: Queryclose: Dok ist neu und wurde nicht veränd
« Antwort #2 am: 26.08.02 - 14:56:58 »
Danke, genau das hatte ich gesucht!

bye,
Bob
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz