Das Notes Forum
Domino 9 und frühere Versionen => Administration & Userprobleme => Thema gestartet von: shizen am 07.05.04 - 12:29:08
-
Hallo
ich erstelle beim schließen einer Maske, mehrer Kopien mit veränderten Inhalt des erstellten Dokumentes, z.B sich wiederholende Termine oä.
mit diesem Skript:
Set ndoc = db.createDocument
Call doc.copyallitems(ndoc)
ndoc.item=xxxx
call ndoc.Save(true,true)
wenn ich später prüfe ob schon ein Termin vorhanden ist, werden alle Dokumente die mit dem Skript erzeugt wurden nicht beachtet, nur das welches mit der Maske direkt angelegt wurde.
Woran liegt das???
Grüsse
-
Hi.
Ich würde mal vor dem save ein computewithform einbauen.
Gruß
Thomas
-
Hast Du hier noch ein paar mehr Infos ?
Was steht in den so erzeugten Dokumenten wirklich drin ?
Wie prüfst Du denn die Termine ?
@Thomas: ComputeWithForm wird nix bringen, da ja alle Items kopiert sein sollten.
Bernhard
-
Kopie schon. Aber die Doks werden ja auch verändert.
Was steht denn im Form-Feld?
Thomas
-
Hallo
ich denke ich hab jetzt den Fehler gefunden, aber keine Lösung :-(
und zwar kopiert er zwar die items, aber nicht deren Eigenschaften d.h. aus einem Datetime wird ein Text!
Wie kann ich das verhindern?
@koehlerbv:
in den Doks steht nur ein Start- und Endedatum sowie Start- und Endezeit und ein paar Textfelder.
ich suche die Doks dann mit einem db.search und da werden sie nicht gefunden.
Grüsse
-
Faszinierend, würde Mr. Spock jetzt sagen.
"Eigentlich" dürfte das gar nicht sein. Erzeugst Du die Dokumente vor oder nach dem Speichern des eigentlichen Doks ? Hatte Dein Client (5.0.7?) da einen Bug ?
By the way: dbSearch ist aber nicht besonders performant - Suchen ein einer Ansicht geht erheblich fixer.
Bernhard
PS: Des Rätsels Lösung würde mich wirklich interessieren ...
-
vor dem speichern, denn es kann ja sein das Urdokument an einen schon besetzten Platz will!
-
Das ist aber ungewöhnlich. Warum prüfst Du denn nicht vor irgendeiner Speicheraktion, ob es schon Dokumente für den Zeitraum gibt ?
Wie wirst Du denn die unnötigt erzeugten Dokumente dann wieder los ?
-
stop, genau das meinte ich doch.
das dokument das ich mit der Maske erstelle (Urdokument) ist nicht gespeichert, wenn ich seine Items auf die Kopie übertrage.
d.h.
1. ich prüfe das urdok
2. egal was die prüfung ergibt, prüfe ich die Kopieen
3. speichere oder auch nich das urdok
d.h. das urdok ist nicht gespeichert wenn ich die Kopien speichere, warum nimmt er nicht den korrekten Itemtyp???
grüsse
-
Die Typen werden erst beim Speichern korrekt gesetzt. Du müßtest also das Urdokument erst speichern und neu öffnen.
Dazu gabs vor kurzem schon mal nen Thread oder Du schaust Dir bei Anton (http://www.anton-tauscher.de/LotusScript/startdyn.htm) die Reopen-Funktion an.
-
Ich kann das absolut nicht nachvollziehen. Designer 5.0.8, im QuerySave vor dem Speichern das Dokument wie von shizen angegeben "verdoppelt" - und alle Items haben den Originaltyp.
Das mit dem Speichern und Schliessen betrifft ja eh nur RTFs.
Nach wie vor: Faszinierend.
@shizen: Dein Prüfverfahren erscheint mir noch immer sehr ungewöhnlich und scheint 'ne Menge Datenmüll zu produzieren. Aber vielleicht habe ich auch nicht richtig verstanden, was Du eigentlich erreichen willst.
Bernhard
-
Hallo
@koehlerbv
ich suche nach Dokumeten die für die selbe Zeit eingetragen wurden, um Überschneidungen zu vermeiden.
Das ganze ist eine Art Dienstplan, macht aber nix weiter als bei der Erstellung einer Exceltabelle zu helfen, d.h. die Daten werden eingegeben, für jede Schicht ein Dokument und nach Excel exportiert.
Das hat für uns den Vorteil, das viele Leute auf das Programm zugreifen können, das erstellen der Exceltabelle wird einfacher.
Die Daten gehen nach extern, sonst hätte ich es in der NotesDatenbank gelassen.
Ich programmiere einmal im Vierteljahr mit Notes, da vergisst man im wieder ne Menge :-(
Grüsse
-
so ich hab den Fehler :-)
ich kopiere zwar die Items richtig, aber ich danach ein neues Datum in der Form zu:
doc.StartDatum=Datum.Dateonly
dadurch wird es wieder Text :-(
ein Problem hab ich aber noch, wenn ich die Dokumente erzeugt habe, erscheint nur das erste, mit der Maske erzeugt Dokument, in der Ansicht. Die anderen per Skript erzeugten Doks werden erst nach einem F9 angezeigt.
Kann ich das irgendwie ausbessern???
Grüsse
-
Häng' als Abschluss Deiner QuerySave-Aktionen ein
NotesUIWorkspace.ViewRefresh
an.
HTH,
Bernhard