Autor Thema: Problem beim speichern eines Dokuments  (Gelesen 2414 mal)

Offline OlliS.

  • Frischling
  • *
  • Beiträge: 30
Problem beim speichern eines Dokuments
« am: 20.06.12 - 17:00:52 »
Hallo zusammen,

ich habe eine Maske die für Zeitkorrekuren genutzt wird.

Unten im Dokument ist ein Button eingebaut der fragt ob man das Dokument wirklich abschicken will.
Bei bestätigung mit ja führt dieser folgenden Code aus:

@PostedCommand([ToolsRunMacro];"Speichernkorrekturbogen");
@Command([FileSave]);@Command([FileCloseWindow])

Das Makro bzw der Agent ist wie folgt geschrieben:

Option Public
Option Declare

Sub Initialize
   Dim s As New NotesSession
   Dim doc As NotesDocument
   
   Set doc = s.Documentcontext
   
   Call doc.Replaceitemvalue("wf_steuerung", 2)
   Call doc.Replaceitemvalue("Antragsart", "Korrekturbogen")
   Call doc.Replaceitemvalue("Status_Antrag","Antrag versandt")
   Call doc.Replaceitemvalue("export", 1)


   Call doc.Save(True,False,False)
   
End Sub


Problem besteht seit neustem das nachdem der Antrag bestätigt wird öffnet Notes nochmal die Standard Abfrage ob das Dokument gespeichert werden soll. Diese Frage taucht jedoch nur auf sobald ein Feld geändert wurde. Der ScriptAgent sollte das Dokument ja normalerweise speichern oder nicht?

Wenn ich dort mit ja bestätige finde ich das Dokument in einer Ansicht in der die Variable wf_steuerung den Wert 0 besitzt

wenn ich auf abbrechen oder nein drücke  wird das Dokument so abgelegt wie ich es wollte.
Der Fehler tritt komischerweise erst seit heute morgen auf

Hat jemand eine Idee?

Bzw kennt jemand eventuell eine andere Variante wie man die Standardspeicherabfrage bei Lotus Notes unterdrückt

« Letzte Änderung: 20.06.12 - 17:24:47 von OlliS. »

Offline OlliS.

  • Frischling
  • *
  • Beiträge: 30
Re: Problem beim speichern eines Dokuments
« Antwort #1 am: 20.06.12 - 17:26:03 »
Als Ergänzung:

Bei einem anderen Formular verwende ich einen gleich geschriebenen Agenten, jedoch stellt dieser nicht die Notes standard Frage zum speichern sondern speichert das Dokument per Agent.

Offline ms260370

  • Junior Mitglied
  • **
  • Beiträge: 63
  • Geschlecht: Männlich
Re: Problem beim speichern eines Dokuments
« Antwort #2 am: 20.06.12 - 17:53:10 »
fallen mir erstmal spontan ein berechnete Felder, andere Maske hat Feld SaveOptions


Mike Schneider

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Problem beim speichern eines Dokuments
« Antwort #3 am: 20.06.12 - 18:34:36 »
Ich finde das viel zu umständlich.

Du hast einen Button, der startet in Formelsprache einen Scriptagenten, der ein paar Felder verändert und das Dokument speichert. Dann speicherst Du es noch einmal in Formelsprache und schließt es. Warum machst Du nicht alles per Script in dem Button?

Sub Click
   Dim workspace As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Set uidoc = workspace.CurrentDocument
   Dim doc As NotesDocument
   Set doc = uidoc.Document

   If Msgbox ("Echt jetzt?", 32 + 4, "Schon Schluss?") = 7 Then 'könnte auch <> 7 sein, weiß ich aus dem Kopf grad nicht
      Exit Sub
   End If
   
   Call doc.Replaceitemvalue("wf_steuerung", 2)
   Call doc.Replaceitemvalue("Antragsart", "Korrekturbogen")
   Call doc.Replaceitemvalue("Status_Antrag","Antrag versandt")
   Call doc.Replaceitemvalue("export", 1)


   Call doc.Save(True,False,False)
   
   doc.SaveOptions = 0
   Call uidoc.Close
End Sub

Offline OlliS.

  • Frischling
  • *
  • Beiträge: 30
Re: Problem beim speichern eines Dokuments
« Antwort #4 am: 21.06.12 - 11:32:40 »
Sind ja nicht nur ein paar Felder sondern da stecken noch einige Berechnungen in dem Button drin die ich hier nicht gepostet hatte.

Habe den Fehler aber mitlerweile gefunden

Bin hingegangen und hab den Befehl @Command([FileSave]); durch FIELD SaveOptions := 1;
 ausgetauscht und jetzt fragt er nicht mehr bei bestätigung mit ja zusätzlich ob man das Dokument speichern möchte

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Problem beim speichern eines Dokuments
« Antwort #5 am: 21.06.12 - 11:45:01 »
Die 1 im SaveOptions wird dadurch im Dokument gespeichert und das bedeutet, wenn ich mich nicht irre, dass das Dokument beim Schließen aus dem Bearbeitungsmodus automatisch gespeichert wird. Wenn also jemand später das Dokument öffnet, versehentlich irgendetwas verändert, wird er beim Verlassen nicht mehr gefragt, ob er die Änderung speichern will, sondern die (falsche) Änderung wird automatisch gespeichert. Willst Du das?

Du solltest das Feld auf jeden Fall im Postopen leeren.

Offline marschul

  • Senior Mitglied
  • ****
  • Beiträge: 280
  • Geschlecht: Männlich
Re: Problem beim speichern eines Dokuments
« Antwort #6 am: 21.06.12 - 11:54:36 »
Ist es nicht so, dass in SaveOptions - so denn vorhanden - ein String "0" oder "1" stehen sollte? Laut obiger Formel wird eine Zahl geschrieben, die der Client mglw. als <> "1" intepretiert und deshalb nicht fragt, aber auch nicht speichert ?!?
Gruß
Marco

Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß. (Sokrates)
Keiner ist unnütz, er kann immer noch als schlechtes Beispiel dienen. (unbekannt)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz