Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: tingeltangel am 24.02.04 - 09:34:03
-
Hallo Forum
Habe wieder einmal ein kleines Problem. Ich möchte, dass ein File als erstes gespeichert wird. Dies würde ich im Postopen machen. Das Problem ist aber, dass der Postopen bereits belegt ist. Wie müsste die Formel erweitert werden, dass das dok auch gespeichert wird.
Hier mein Code.
Sub Postopen(Source As Notesuidocument)
field$ = source.FieldGetText("f_ed_tx_45")
If field$ ="Freigegeben" Then
If (Source.editmode = True) Then
Msgbox "Das Dokument wurde schon freigegeben. Sie können es nicht mehr bearbeiten",16,"Hinweis"
Call source.close
Continue = False
Exit Sub
End If
End If
End Sub
Danke für eure Hilfe
-
... versteh ich nicht ganz: wer oder was soll gespeichert werden ? das doc oder das file ?
das doc kann's ja wohl nicht sein, das ist ja schon gespeichert.
ansonsten würd ich es hinter der zeile postopen machen.
-
also ich habe ein Dokument welches ein Datumsfeld enthält. über ein verstecktes Feld hole ich mir die letzten 5 Tage raus. (für Mahnwesen) dies funktioniert aber erst wenn das Dokument gespeichert ist.
Was muss dort noch eingefügt werden.
-
bin grad nicht firm,
Call source.save oder so ähnlich ?
Ciao
Don Pasquale
-
@Don Pasquale
Nicht so ähnlich genau so.
D A N K E
-
Kein problem gern geschehen.
1 klitzekleine Anmerkungen:
Kannst Du Deine Topics ein wenig mehr dem Inhalt anpassen ?
LotusScript als Topic ist ein wenig zu globalgalaktisch
Ciao
Don Pasquale
-
@Don Pasquale
Das ist natürlich kein Problem.
Jetzt ist aber was neues dazu gekommen. Das Dokument wird gespeichert das funktioniert prima. Wenn ich aber zu einem späteren Zeitpunkt das Dokument öffnen möchte bekomme ich folgenede fehlermeldung.
Document command is not available.
An was könnte das liegen.
-
Jetzt solltest Du den Debugger zur Hand nehmen.
IN welcher Zeile wird der Fehler aufgeworfen,
welchen Zustand/Inhalt haben die Variablen
Ciao
Don Pasquale
-
also habe jetzt folgenden code
Sub Postopen(Source As Notesuidocument)
Call source.save
field$ = source.FieldGetText("f_ed_tx_45")
If field$ ="Freigegeben" Then
If (Source.editmode = True) Then
Msgbox "Das Dokument wurde schon freigegeben. Sie können es nicht mehr bearbeiten",16,"Hinweis"
Call source.close
Continue = False
Exit Sub
End If
End If
End Sub
Er beendet in der 2 Zeile bei Call source.save
Leider habe ich in Sachen Script nicht die kleinste Ahnung.
-
source.save ist nur im Edit-Modus verfügbar. Also vorher source.EditMode = True setzen, dann ist diese Fehlermeldung weg, aber das Dokument eben im Editiermodus.
-
das darf aber nicht sein. Hast du eine Idee wie die Fehlermeldung verschwindet und das dokument nicht im Edit - Modus geöffnet wird.
-
Sub Postopen(Source As Notesuidocument)
source.editmode = true
source.save
source.editmode = false
field$ = source.FieldGetText("f_ed_tx_45")
If field$ ="Freigegeben" Then
If (Source.editmode = True) Then
Msgbox "Das Dokument wurde schon freigegeben. Sie können es nicht mehr bearbeiten",16,"Hinweis"
Call source.close
Continue = False
Exit Sub
End If
End If
End Sub
das geht dann so schnell
davon merkt der user nix
pasquale
-
ne das geht nicht. Bin glaube ich eifach zu dämlich
-
Ich habe es nicht ausprobiert, möglich dass es nicht geht.
Aber eine Frage: Was geht nicht und mit welcher Meldung ?
Ciao
Don Pasquale
-
Das Dokument wurde schon freigegeben. Sie können es nicht mehr bearbeiten.
Anschliessend kommt gleich die Meldung:
Document command is not available
-
Debugger anschmeissen.
An welcher Stelle ?
Mach aus dem doc.save ein call doc.save
Und falls all das nichts nutzt, erklär mir doch nochmal Dein Anliegen,
vielleicht geht es ja auf einem anderen Wege.
Ciao
Don Pasquale
-
Versuchens wir nochmals.
Sobald der Dokument status auf Freigegeben ist darf das Dokument nicht mehr bearbeitet werden.
Von dem Datumsfeld hole ich mit @Adjust das Datum heraus wann die mahnung geschickt wird. Diese kann ich aber erst berechnen wenn das Dokument gespeichert ist.
Da muss ich ja zwangsläufig über den Postopen gehen.
Mit Formel ist das nicht möglich oder?
-
tingeltangel:
Tief durchatmen, einen Kaffee trinken und dann von vorne.
Erklär mir Das Ganze nochmal von Vorne. Nicht nur mal so eben 3 Sätze.
Ciao
Don Pasquale
-
kann ich dir die DB mal kurz schicken.
-
Das wollte ich anfangs auch öfter machen, das bringt aber nur kurzfristig etwas.
Wenn Du es geschafft hast, das Problem so zu artikulieren, dass sogar ich es verstehe, dann kommst Du vielleicht von allein auf die Lösung.
UNd vielleicht haben andere ja auch noch Ideen.
Ciao
Don Pasquale