Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: yaka999 am 09.06.08 - 14:53:09

Titel: saveoptions verweigert seinen dienst
Beitrag von: yaka999 am 09.06.08 - 14:53:09
Hallo,

Das ist mir total unangenehm. Da hat man monatelang seine Ruhe und innerhalb von ein paar Tagen gleich mehrere Problemchen.

Ich habe ein Script für einen Button geschrieben (siehe unten). Damit möchte ich ein Dokument bis auf zwei Werte haargenau kopieren. Funktioniert auch wunderbar.
Nur ist jetzt die Funktion futsch, bei der man durch drücken von [ESC] oder schließen des Dokuments zum speichern aufgefordert wird. Ich weiß, hier sollte bei saveoptions eine "1" drin stehen. Aber ich habe ja gar kein Feld namens saveoptions. Ich möchte auch eigentlich keines dafür anlegen. Könnte mir vielleicht jemand helfen. Ich habe bereits sämtliche Varianten des Forums hier probiert.



Sub Click(Source As Button)
   Dim db As NotesDatabase
   Dim session As New NotesSession
   Dim workspace As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim doc As NotesDocument
   Dim newdoc As NotesDocument
   
   
   'Angebotnummer berechnen
   
   Dim session2 As New NotesSession
   Dim temp As String
   Dim temp2 As String
   Dim temp3 As String
   
   temp = session2.GetEnvironmentString("Bestellnummer")
   If temp = "" Then
      temp = "0"
   End If
   temp3 = temp + 1
   
   'neue Felder setzen
   
   Set db = session.CurrentDatabase
   Set uidoc = workspace.CurrentDocument
   Set doc = uidoc.Document
   
   Set newdoc = New NotesDocument(db)
   newdoc.form = doc.form
   
   
   'Feldwerte kopieren
   
   newdoc.menge1 = doc.menge1
   newdoc.modell1 = doc.modell1
   newdoc.eh1 = doc.eh1
   newdoc.lpreis1 = doc.lpreis1
   newdoc.preis1 = doc.preis1
   newdoc.rabatt1 = doc.rabatt1
   newdoc.rabatt1_2 = doc.rabatt1_2
   newdoc.summe1 = doc.summe1
   
   ...

      
   'Datum ermitteln
   
   Dim  item As NotesItem
   Set item= New NotesItem( doc, "tmpAngDat", uidoc.FieldGetText("AngDat"))
   item.SaveToDisk = False
   
   'neues Dok öffnen und anzeigen

   Call newdoc.ComputeWithForm(True, False)
   Call workspace.EditDocument(True, newdoc, False, ,,True)

   
   
End Sub
Titel: Re: saveoptions verweigert seinen dienst
Beitrag von: m3 am 09.06.08 - 14:56:47
Ein Dokument kann auch Felder beinhalten, welche über keine (visuelle) Entsprechung in einer Form/Maske verfügen.
Titel: Re: saveoptions verweigert seinen dienst
Beitrag von: yaka999 am 09.06.08 - 15:01:08
Ich weiß,

ich habe ja auch schon probiert mittels

newdoc.saveoptions = "1"

dieses Feld zu belegen.
Wenn ich das Dokument anschließend händisch speichere ist es auch da und mit der 1 belegt.  Aber beim schließen wird es nicht berücksichtigt.

Ich würde das ja gerne mal demonstrieren. Der Debugger macht das ja auch richtig. Es greift nur nicht beim schließen.

Das wirkt vielmehr so, als hätte ich einen Fehler in meinem Script und der Kasten denkt, ich hätte nichts geändert, obwohl das Dokument ja neu ist, und er deswegen nichts speichern will.
Titel: Re: saveoptions verweigert seinen dienst
Beitrag von: koehlerbv am 09.06.08 - 15:05:52
Da Du sämtliche Items im Backend belegst, wird aus dem Frontend heraus auch nicht gespeichert - wozu auch (fragt sich das Frontend).

Weiters: SaveOptions = "1" würde auch nur bewirken, dass prinzipiell aus dem Frontend(-QuerySave) heraus gespeichert würde - die Nachfrage entfällt.

Bernhard
Titel: Re: saveoptions verweigert seinen dienst
Beitrag von: yaka999 am 09.06.08 - 15:15:21
Hallo Bernhard,

und mit welchem Trick kann ich Notes dann dazu bewegen wieder nach dem speichern zu fragen ?


Und die Antwort, das Script völlig neu zu schreiben will ich nicht hören; Ich bin eh schon stolz genug, dass ich das so weit allein hinbekommen habe.  ;)
Titel: Re: saveoptions verweigert seinen dienst
Beitrag von: koehlerbv am 09.06.08 - 15:25:09
Belege mindestens ein Item im Frontend (NotesUIDocument.FieldSetText).

Bernhard
Titel: Re: saveoptions verweigert seinen dienst
Beitrag von: DAU-in am 09.06.08 - 15:26:48
Saveoptions rausnehmen, und dann im Frontend was machen.

Wenn du die SaveOptions vorbelegst mit einer "1", wird Notes nicht fragen, sondern speichern.
Titel: Re: saveoptions verweigert seinen dienst
Beitrag von: diali am 09.06.08 - 15:33:23
also bei mir wird nachgefragt, wenn im Feld Saveoptions "1" drin steht und ich verwende diese Funktionalität ab 4.x.

Wichtig ist, dass das Frontenddokument etwas von dem Feld SaveOptions mitbekommt und das ein anderes Feld im Frontend (nicht im Backend) geändert wurde.
Titel: Re: saveoptions verweigert seinen dienst
Beitrag von: yaka999 am 09.06.08 - 15:56:49
hallo,

also mit so vielen Antworten habe ich gar nicht gerechnet. Muss schon eine sehr blöde Frage von mir sein !!!

Welches Frontend muss ich denn belegen? Ich habe ja ein Notesuidocument (hier uidoc) laut Debugger. Meines Wissens ist das uidoc in diesem Fall das Frontend von dem Ursprungsdokument. Um ihn zum Speichern zum Bewegen muss ich doch, wenn ich das richtig verstanden habe, das Frontend vom neuen Dokument (newdoc) ändern. Aber wie komme ich denn da dran?

Titel: Re: saveoptions verweigert seinen dienst
Beitrag von: DAU-in am 09.06.08 - 16:01:10
Set newUIDocument = workspace.EditDocument(True, newdoc, False, ,,True)

und siehe auch:  http://atnotes.de/index.php?topic=37220.0
Titel: Re: saveoptions verweigert seinen dienst
Beitrag von: koehlerbv am 09.06.08 - 16:04:50
Ich hatte das Notwendige doch bereits in #5 geschrieben ...

Bernhard
Titel: Re: saveoptions verweigert seinen dienst
Beitrag von: yaka999 am 11.06.08 - 10:46:06
Hallo,

sensationell. jetzt klappt es.  :D

Vielen, vielen Dank für die Hilfe.

Viele Grüße