Autor Thema: Momentanes Doc nicht speichern und ein anderes Doc im Frontend öffnen  (Gelesen 2100 mal)

Offline Klaas

  • Junior Mitglied
  • **
  • Beiträge: 78
  • Geschlecht: Männlich
Hallo,

irgendwie komme ich nicht weiter.
Ich möchte das momentane Dokument schließen, es nicht speichern (wenn bestimmte Felder leer sind) und anstelle dessen ein bestimmtes anderes Dokument öffnen.

Das ganze passiert wenn das Feld verlassen wird.
Alles klappt nur nicht das "nicht Speichern".
Hier der Code.
Code
Sub Exiting(Source As Field)
Dim session As New NotesSession
Dim ws As New Notesuiworkspace
Dim doc As NotesUIDocument
Dim currentDB         As NotesDatabase
Dim articleView As NotesView
Dim articleDoc As NotesDocument
Dim articleDocDatePersNr    As String
Dim DocDatePersNr As String
Dim DocSave As String
Dim DocPLeistung As String
Dim DocGLeistung As String
Set doc =ws.CurrentDocument
Call doc.Refresh
Call session.SetEnvironmentVar( "Leistung_DailyCalc_DateOfWork", doc.FieldGetText("DateOfWork"))
DocDatePersNr = doc.FieldGetText("DatePersNr")
DocSave = doc.FieldGetText("SaveStatus")
If DocSave <>"" Then
Exit Sub
End If
Set gSession      = New NotesSession
Set currentDB = gSession.CurrentDatabase
Set articleView = currentDB.GetView ( "DateAndPersNR" )
Set articleDoc = articleView.GetFirstDocument
While Not articleDoc Is Nothing
articleDocDatePersNr         = articleDoc.GetItemValue ("DatePersNr")(0)
If articleDocDatePersNr = DocDatePersNr Then
Messagebox("Das Dokument ist bereits vorhanden.")
DocPLeistung = doc.FieldGetText("LNummer")
DocGLeistung = doc.FieldGetText("GNummer")
If DocPLeistung ="" And DocGLeistung ="" Then
SaveOptions                     =1
End If
Call doc.Close
Set doc = ws.EditDocument( False , articleDoc )
Exit Sub
End If
Set articleDoc = articleView.GetNextDocument ( articleDoc )
Wend
Call doc.GotoField("CalcPersonCleaningtime")
End Sub

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Als allererstes solltest Du Option Declare setzen und danach Deinen Code korrigieren.

Bernhard

Offline Klaas

  • Junior Mitglied
  • **
  • Beiträge: 78
  • Geschlecht: Männlich
Habe ich gemacht....gefunden habe ich das ich "A New NotesSession" 2 mal deklariert habe.
Und das man SaveOptions so nicht setzten kann.

Aber was mache ich nun?
Wie kann ich denn SaveOptions im UIDoc auf 1 setzen?

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
SaveOptions = "1" bedeutet: "Immer speichern ohne Nachfrage".

Den gewünschten Wert setzen: NotesUIDocument.Document.SaveOptions = "0"

Bernhard

Offline MaxMuster

  • Frischling
  • *
  • Beiträge: 19
SaveOptions = "1" bedeutet: "Immer speichern ohne Nachfrage".

Na ja, fast. SaveOptions steuert die "Wollen Sie speichern" abfrage beim Schließen des Dokumentes.

"0": Das Dokument wird ohne nachfrage geschlossen - und nicht gespeichert
"1": Sofern das Dokument im Frontend geändert wurde erscheint die übliche 'Wollen Sie speichern' Abfrage

Der Feldtyp ist Text

Roger
z.Zt: Domino 7.0.2 / Notes 7.0.2 & 8.5.1

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz