Das Notes Forum
Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: manboo8000 am 16.06.15 - 17:20:14
-
Das es bei Rich-Text Feldern und der Funktion "Verberge Wenn" zu Problemen kommen kann, habe ich hier gelesen. Da wir eine Datenbank mit genau dieser Konstellation haben, habe ich in dieser (bzw. in einer Testversion dieser DB) das entsprechende Rich-Text-Feld in einen Abschnitt gepackt und in den Abschnitt die entsprechende Formel gepackt und im Designer auch den Abschnitt komprimiert. Aus dem Rich-Text-Feld an sich habe ich die Verberge-Wenn-Formel rausgenommen.
Zur Info: In das Rich Text Feld werden i. d. R. Dateien eingefügt.
Bei neuen Dokumenten ist auch alles soweit korrekt. Das Problem ist, dass mir bei bestehenden Dokumenten zwar der Abschnitt angezeigt wird, wenn ich diesen aber erweitere das Feld samt Inhalt fehlt. Ich habe die Dokumente auch schon mal spaßeshalber mittels Agenten und der Funktion @Command([ToolsRefreshSelectedDocs]) aktualisiert, aber auch das brachte nichts.
Kann mir hier jemand helfen?
-
Richtextfelder übernehmen die Hide-Whenformel ins Feld.
Die Inhalte und die Attachments sind aber schon noch vorhanden?
-
also lt. Dokumenteneigenschaften ist das Feld an sich und die Anhänge noch vorhanden. Nur werden diese nicht angezeigt.
-
Guten Morgen,
genau das ist das Problem mit Richtext und Hide-Whens. Die alte Formel ist in den bestehenden Dokumenten im RT gespeichert, da hat die Maskenänderung keinen Einfluss drauf.
Du musst jetzt also schauen, was du mit deinen Altdaten anstellst. Je nach dem wie die alte Hide-When-Formel ausschaut, könntest du dafür sorgen, dass diese für Altdaten immer "nicht zutrifft". Z.B. wenn sie sich nach einem Item-Wert richtet, könntest du ein verstecktes Berechnet-zur-Anzeige-Feld entsprechend setzen.
Es gibt wohl auch Tools die HideWhens entfernen und mit DXL könntest du ggf. auch daran arbeiten. Dazu kann ich dir aber leider nicht viel mehr sagen.
Wenn in deinem Fall auschließlich Attachments in dem RTI sind, würde ich mir einen Agenten schreiben, der alle Altdaten durchläuft, die Attachments lokal löst, das RTI löscht und dann neu erstellt sowie die Dateien wieder anhängt.
Gruß,
Mitch
-
so, also ich habe die Maske jetzt umgebaut und ein neues Feld angelegt, dass entsprechend in einem Abschnitt versteckt wird (das Feld ist ohne Verberge-Wenn). Da es nicht so viele Dokumente sind, wollte ich die Anhänge einmal exportieren und dann im neuen Feld anhängen, damit dann auch wirklich alles sauber ist. Der Export - auch bei den Dateien die ich nicht sehe - klappt soweit mittels Agenten und einem leicht abgewandelten Code, den ich hier gefunden habe.
Damit jetzt während der Umstellung die Dateien nicht doppelt vorhanden sind, wollte ich anschließend die versteckten Dateien aus dem alten Feld löschen. Das Feld komplett löschen wollte ich nun noch nicht. Auch hier habe ich einen Code gefunden, leider jedoch erhalte ich bereits beim Anlegen einen Fehler.
Der Code sieht so aus, im Designer wird jedoch die zweite Zeile "get handle....." moniert. Hier bräuchte ich nochmal Hilfe.
Danke
Sub Initialize
Dim doc As NotesDocument, item As NotesItem
Get handle To doc, then...
Set item = doc.GetFirstItem("$FILE")
Do While Not item Is Nothing
Call item.Remove ' Delete each $FILE field found.
Set item = doc.GetFirstItem("$FILE") ' Get next $FILE field if there is one.
Loop
End Sub
-
"Get handle to doc" ist eine Anweisung für dich. Kein Code. :D
Du sollst an der Stelle das zu bearbeitende Dokument ziehen.
Und deine Methodik überdenken, denn fremden Code aus dem Netz, den man nicht versteht, einfach mal laufen zu lassen kann böse enden...
Gesendet von meinem Nexus 5 mit Tapatalk