Domino 9 und frühere Versionen > ND9: Entwicklung

FindFirstElement(RTELEM_TYPE_TABLE)

<< < (5/6) > >>

jBubbleBoy:
Der Link enthält nur ein IBM-Beispiel um eine Tabelle auszulesen. Das habe genutzt um einen einfachen und schnellen Test durchzuführen, dabei konnte ich keine Einschränkungen feststellen - Notes 9.0.1 FP6.
:-:

Du hattest doch geschrieben, das die Verwaltung eine Tabelle pflegt, in dieser Vorlage sollte man an die "nicht drucken" Eigenschaft herankommen.

Oder alternativ halt eine eigene, richtige Tabelle nutzen und das mit der Verwaltung abstimmen. Das wäre nach wie vor mein Favorit!

bredemeier:
Die Funktion geht ja grundsätzlich, aber nur so lange das Dokument nicht im Frontend bearbeitet wurde (auch, wenn das Richtextfeld mit der Tabelle nicht bearbeitbar ist und im Frontend nicht bearbeitet wurde).

Es handelt sich hier um ca. 250 Dokumente die normalerweise mit kpl. Tabelle ausgedruckt werden. Nur für einen zusätzlichen Ausdruck soll die Tabelle gekürzt werden und da kann ich von keinem erwarten, dass jedes Dokument manuell angepasst wird. Zur Zeit läuft es so, dass die Verwaltung die Dokumente öffnet, den Inhalt der letzten zwei Spalten löscht, ausdruckt und ohne zu speichern schließt. Das dauert Stunden.

Gibt es in letzter Zeit wirklich so wenige, die sich für Notes interessieren? Sind die Dinos wirklich ausgestorben?

jBubbleBoy:
Also die Verwaltung besteht auf eine Zeiterfassung in einem Richtext, um dann viel manuelle Zeit in den Druck zu investieren? Und Du hast den schwarzen Peter, weil keine Lösung in Sicht ist, bzw. wurde dieser Vorgang vorher nie getestet und abgenommen? Nun das hat man davon!

Wenn sonst nichts weiter hilft - über DXL / XML kommt man noch an die Tabellendaten ran.

Ottmar:
Ich hatte mal in LotusScript ein ähnliches gelagertes Problem. Den RichTextfeldern war einfach nicht beizukommen. Soblad ein Dokument im Front-End bearbeitbar geöffnet ist, ging über Scripten nichts mehr. Ich habe das seinerzeit auf eine nicht sauber funktionierende Synchronisation zwischen Frontend und Backend zurückgeführt. (Das war allerdings noch Release 8.x) Es ging darum, über eine Schaltfläche eine bestimmte (berechnete) Serie von Anhangdokumenten in ein Rich-Text-Feld eiinzufügen.

Wenn man über Agenten im Backend was ändert, gehen die Änderungen beim Speichern aus den Fontend komplett verloren und es ging seinerzeit alles nur kaputt.

Meine Lösung war die strikte getrennte Programmierung von Frontend und Backend.
Das lief seinerzeit so:
-> Auslagerung des Scriptcodes aus der Schaltfläche in einem Agenten (der mit "@command([ToolsRunMacro]; Agent)" aufgerufen wurde)
-> Im Agenten Universal-ID (bzw. View-Key) des aktuellen Dokumentes auslesen und in einer temporären Variable speichern.
-> Dokument bzw. RichText-Feld im Backend wie gewünscht bearbeiten, speichern und schließen.
-> Danach Im UIDoc (Frontend) das Feld "SaveOptions" hinzufügen und mit "0" belegen.
-> UIDoc im Frontend schließen.
-> ggf. Refresh auf die Ansicht
-> Mit Hilfe der gemerketen Universal-ID das Dokument neu aus dem Backend holen und in das Frontend überführen.

So wurde dann verhindert, dass sich Frontend und Backend in die Quere kommen. Der Bildschirm hat nur einmal kurz geflackert und der Anwender hat nach Click auf der Schaltfläche seine "Änderungen" sofort gesehen. Das mag zwar etwas hemdsärmlich wirken, aber nur so habe ich das Ganze seinerzeit in den Griff gekriegt.

Möglicherweise ist diese Vorgehensweise ja auf dieses aktuelle Beispiel anwendbar.

 

bredemeier:
Die Zeiterfassung läuft über einzelne Dokumente, dass habe ich doch schon geschrieben. Es wird dann aus den Dokumenten ein Stundennachweis erzeugt. Natürlich kann ich den Nachweis aus den einzelnen Dokumenten noch einmal erzeugen und die entsprechenden Felder in den Tabellen nicht füllen, aber dann habe ich die in anderen Feldern erstellten Änderungen nicht mit drin. Natürlich könnte ich die Kopie des Nachweises erstellen und nur die Tabelle im Richtextfeld aus den Stundendokumenten holen.

Es ist doch auch eigentlich egal. Die Frage ist ja immer noch die Gleiche:

Warum kann ich nach dem automatischen Erstellen der Nachweise mit FindFirstElement(RTELEM_TYPE_TABLE) auf die Tabellen zugreifen und die Zellen auslesen, aber nachdem man das Dokument in einem anderen Feld bearbeitet und dann gespeichert hat nicht mehr???

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln