Domino 9 und frühere Versionen > ND7: Entwicklung

saveoptions verweigert seinen dienst

(1/3) > >>

yaka999:
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

m3:
Ein Dokument kann auch Felder beinhalten, welche über keine (visuelle) Entsprechung in einer Form/Maske verfügen.

yaka999:
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.

koehlerbv:
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

yaka999:
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.  ;)

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln