Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: robertpp am 13.05.03 - 16:25:28
-
Ich hab ein doc und erstelle ein neues doc und dann kopiere ich alle felder vom alten ins neue doc:
Sub Click(Source As Button)
Dim s As New NotesSession
Dim ws As New NotesUIWorkspace
Dim allefelder As String
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim docn As NotesDocument
Dim db As NotesDatabase
Set db = s.CurrentDatabase
Set uidoc= ws.CurrentDocument
Set doc=uidoc.Document
Dim item As NotesItem
Set docn = New NotesDocument( db )
' Call doc.CopyAllItems( docn, True )
' Set item = doc.GetFirstItem ("$UpdatedBy")
' Call item.Remove
Call uidoc.close
Set uidoc = ws.EditDocument( True, docn)
End Sub
Das klappt auch alles und ich öffne dann das doc im frontend und der user muss selber speichern. Nur wie kann ich wenn ich unter querysave das stehen habe:
if uidoc.isnewdoc then
Msgbox "ja"
end if
machen , das er mir dann "ja" ausgibt?
Ich hab ja oben mit
Set docn = New NotesDocument( db )
ein neues doc erstellt oder greift das nur im Forntend?
Was muss ich änder das das passt?
-
würde mir jetzt nicht so einen Kopp machen, sondern das problem umschiffen, indem Du einen Speicher Counter einbaust. Wenn das Doc zum ersten mal nach der Generierung im Backend ins Frontend geladen wird, ist das Feld zB =0. wenn es gespeichert wird, ist der Zähler auf 1 per Formel @if(@isdocbeingsaved(Feld+1;Feld)). Und genau dieses Feld wird im QuerySave abgefragt. Wenn 1, dann neu, wenn alt dann nicht neu (welche Zahlen, Zeichen Du auch immer nun nimmst)
-
das heisst man kann nicht auf isnewdoc zurückgreifen obwohl ich ja das doc noch nie gespeichert habe!! auf was reagiert isnewdoc dann?
-
auf was reagiert isnewdoc dann?
ich meine mich zu erinnern & ohne es jetzt getestet zu haben. ::)
Set uidoc = ws.EditDocument( True, docn)
setzt das isNewDoc-flag auf true.
Hat mich glaub ich auch mal verwirrt.
Auf der anderen Seite: Testest du einigermassen, findet sich die Quelle des Problems schnell raus.
& Rob hat ja eine Alternative genannt.
Die Funktionsweise von LotusScript wird eben von Lotus gemacht. Vielleicht gibt es einen rationalen Grund für dieses Verhalten. Vielleicht nicht. :)
Vielleicht liegt die Stärke von OpenSource eben gerade darin, dass hier bereits die betas von der user-community intensiv besprochen und kritisiert werden. z.B. sind die apache-Mailinglisten deutlich heftiger als alles was ich von Lotus gesehen habe.
Die Wahrscheinlichkeit, dass solche Logik-Schnitzer ausgebügelt werden, ist höher.
Auf der anderen Seite gibt es über LotusScript bessere Bücher.
-
yep, hab mich mal umgelesen auf LDD und da taucht der Käse auch auf (zB http://www-10.lotus.com/ldd/46dom.nsf/55c38d716d632d9b8525689b005ba1c0/4a91f28be22f5aaf85256c3600608556?OpenDocument )
Leider ist in KN Base nix zu finden. Leb halt damit und find nen Weg drumherum.
-
Danke für die info. Dann muss ich wirklich einen anderen weg nehmen. ;)