Autor Thema: Momentanes Doc nicht speichern und ein anderes Doc im Frontend öffnen  (Gelesen 2043 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