Autor Thema: Doc erzeugen und Felder kopieren  (Gelesen 1807 mal)

Offline robertpp

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 940
  • Geschlecht: Männlich
Doc erzeugen und Felder kopieren
« 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?
------------------------------------------------------------
1250 Notes User Client von 5.0.5 bis 6.5.4     WIN2000, XP
14 Notes Server von 6.5 bis 6.5.4 WIN2000, XP

32   Notes Server von 5.0.1 bis 6.5.4 in unserer Domain
323 Notes Server weltweit mit 38000 User in einem Adressbuch

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:Doc erzeugen und Felder kopieren
« Antwort #1 am: 13.05.03 - 16:30:18 »
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)
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline robertpp

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 940
  • Geschlecht: Männlich
Re:Doc erzeugen und Felder kopieren
« Antwort #2 am: 14.05.03 - 07:34:38 »
das heisst man kann nicht auf isnewdoc zurückgreifen obwohl ich ja das doc noch nie gespeichert habe!! auf was reagiert isnewdoc dann?
------------------------------------------------------------
1250 Notes User Client von 5.0.5 bis 6.5.4     WIN2000, XP
14 Notes Server von 6.5 bis 6.5.4 WIN2000, XP

32   Notes Server von 5.0.1 bis 6.5.4 in unserer Domain
323 Notes Server weltweit mit 38000 User in einem Adressbuch

Offline Axel_Janssen

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 769
Re:Doc erzeugen und Felder kopieren
« Antwort #3 am: 14.05.03 - 08:25:03 »
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.
« Letzte Änderung: 14.05.03 - 08:31:04 von Axel_Janssen »
... design patterns are abstract designs that help identify the structure and elements involved in a specific design solution. From this, a concrete implementation can be produced.
Kyle Brown

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:Doc erzeugen und Felder kopieren
« Antwort #4 am: 14.05.03 - 09:13:25 »
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.
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline robertpp

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 940
  • Geschlecht: Männlich
Re:Doc erzeugen und Felder kopieren
« Antwort #5 am: 14.05.03 - 09:28:58 »
Danke für die info. Dann muss ich wirklich einen anderen weg nehmen. ;)
------------------------------------------------------------
1250 Notes User Client von 5.0.5 bis 6.5.4     WIN2000, XP
14 Notes Server von 6.5 bis 6.5.4 WIN2000, XP

32   Notes Server von 5.0.1 bis 6.5.4 in unserer Domain
323 Notes Server weltweit mit 38000 User in einem Adressbuch

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz