Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: tingeltangel am 24.02.04 - 09:34:03

Titel: Lotus Script
Beitrag 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
Titel: Re:Lotus Script
Beitrag von: klaussal am 24.02.04 - 10:10:28
... 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.
Titel: Re:Lotus Script
Beitrag von: tingeltangel am 24.02.04 - 10:19:02
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.
Titel: Re:Lotus Script
Beitrag von: Don Pasquale am 24.02.04 - 10:29:34
bin grad nicht firm,
Call source.save oder so ähnlich ?
Ciao
Don Pasquale
Titel: Re:Lotus Script
Beitrag von: tingeltangel am 24.02.04 - 10:38:47
@Don Pasquale

Nicht so ähnlich genau so.

D A N K E
Titel: Re:Lotus Script
Beitrag von: Don Pasquale am 24.02.04 - 10:41:46
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
Titel: Re:Lotus Script
Beitrag von: tingeltangel am 24.02.04 - 10:49:06
@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.
Titel: Re:Lotus Script
Beitrag von: Don Pasquale am 24.02.04 - 10:51:49
Jetzt solltest Du den Debugger zur Hand nehmen.
IN welcher Zeile wird der Fehler aufgeworfen,
welchen Zustand/Inhalt haben die Variablen

Ciao
Don Pasquale
Titel: Re:Lotus Script
Beitrag von: tingeltangel am 24.02.04 - 11:01:41
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.
Titel: Re:Lotus Script
Beitrag von: MadMetzger am 24.02.04 - 11:47:45
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.
Titel: Re:Lotus Script
Beitrag von: tingeltangel am 24.02.04 - 12:46:09
das darf aber nicht sein. Hast du eine Idee wie die Fehlermeldung verschwindet und das dokument nicht im Edit - Modus geöffnet wird.
Titel: Re:Lotus Script
Beitrag von: Don Pasquale am 24.02.04 - 12:53:24

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
Titel: Re:Lotus Script
Beitrag von: tingeltangel am 24.02.04 - 13:00:22
ne das geht nicht. Bin glaube ich eifach zu dämlich
Titel: Re:Lotus Script
Beitrag von: Don Pasquale am 24.02.04 - 13:06:00
Ich habe es nicht ausprobiert, möglich dass es nicht geht.
Aber eine Frage: Was geht nicht und mit welcher Meldung ?
Ciao
Don Pasquale
Titel: Re:Lotus Script
Beitrag von: tingeltangel am 24.02.04 - 13:14:56
Das Dokument wurde schon freigegeben. Sie können es nicht mehr bearbeiten.

Anschliessend kommt gleich die Meldung:
Document command is not available
Titel: Re:Lotus Script
Beitrag von: Don Pasquale am 24.02.04 - 13:26:51
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


Titel: Re:Lotus Script
Beitrag von: tingeltangel am 24.02.04 - 13:33:44
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?
Titel: Re:Lotus Script
Beitrag von: Don Pasquale am 24.02.04 - 13:39:08
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



Titel: Re:Lotus Script
Beitrag von: tingeltangel am 24.02.04 - 13:45:07
kann ich dir die DB mal kurz schicken.
Titel: Re:Lotus Script
Beitrag von: Don Pasquale am 24.02.04 - 13:47:09
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