Autor Thema: Abschnittsberechtigung eines LotusNotes-Dokumentes per ActiveX-Schnittstelle änd  (Gelesen 1321 mal)

Offline Christian192

  • Frischling
  • *
  • Beiträge: 13
  • Ich liebe dieses Forum!
Typenbibliothek: Lotus Notes Automation Classes

Ziel:
Sämtliche Berechtigungen einen LotusNotes-Abschnitt für eine kurze Zeit aufheben und nachher wieder reinnehmen.

Warum?
Um einen Text mittels den einfachen ActiveX-Methoden GotoField und Paste ein Text reinzukopieren (geht nur, wenn man als den Abschnitt auch bearbeiten kann)

(Mit CreateRichTextItem und AppendRTItem ist das sehr umständlich und dauert auch sehr lange, da zwischen mehreren Texten das Dokument immer gespeichert und neu-geladen werden muß)

Mit welchen Interfaces und der dazugehörigen Methode ist dies möglich?

Habe u. a. schon dies probiert:
@Start.NotesTextItem := @Start.NotesDocument.getfirstitem ("Preisaufstellung");
@Start.NotesTextItem.appendtotextlist('"[Eintrag1]"');

Vielleicht gibts hier jemanden mit diesem KnowHow?

Ergänzende Infos:
LotusNotes-Version: LotusNotes R 5.07a

Unter Menü "Abschnitt\Editoren definieren ..." kann man das ja auch manuell machen.

Die Werte dieses Feldes sollten geändert bzw. gelöscht werden:
----------------------------------------
Feldname: egal
Datentyp: Textliste
Datenlänge: 22 Byte
Seq.-Num.: 1
Doppelte Eintrags-ID: 0
Feld-Flags: SUMMARY

"[Eintrag1]"
"[Eintrag2]"
----------------------------------------

Offline koehlerbv

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Ganz verstehe ich Deine Anfrage jetzt nicht ... Du greifst doch sowieso nur über notes32.dll auf die Standard-Notes-Funktionen zurück. Damit landest Du also bei den Beschränkungen von Autoren und Lesern, die Du (sinnvollerweise) nicht aushebeln kannst.
Auch den Zusammenhang zwischen
Zitat
Mit CreateRichTextItem und AppendRTItem ist das sehr umständlich und dauert auch sehr lange
und
Zitat
@Start.NotesTextItem := @Start.NotesDocument.getfirstitem ("Preisaufstellung");
@Start.NotesTextItem.appendtotextlist('"[Eintrag1]"');
verstehe ich nicht - oben redest Du von RTIs, unten von purem Text.

Da Du sowieso auf die Notes Classes zurückgreifen musst - sag' mal an, was Du denn genau erreichen willst.

Bernhard

Offline Christian192

  • Frischling
  • *
  • Beiträge: 13
  • Ich liebe dieses Forum!
Danke für die schnelle Antwort. Also ich versuchs nochmal:

Es werden sehr viele Textbausteine von einem Konfigurator-Programm
an das LotusNotes in 4 versch. Felder übergeben.

Einige dieser Felder/Abschnitte sind mittels einer Berechtigungsfeldes
(Textliste s. oben) geschützt, da die Texte ja preislich/technisch
geprüft sind u. das der eigentliche Vorteil eines Konfigurator-Programm
sein soll.


IST-STAND:

Mittels AppendRTItem, CreateRichtTextItem etc. (funktioniert so halbwegs)

- dauert sehr lange (zwischen jedem Item muß das Doku gespeichert, geschlossen und neu geöffnet werden - habe ich schon mehrmals bestätigt bekommen, daß man das so machen muß - hab auch schon sehr viel herumprobiert mit Reload, Refresh etc. - geht nur so)

- vor lauter schließen und öffnen wird auch manchmal das Dokument nicht mehr gefunden (UniversalID, GetDocumentByUNID etc.)


SOLL-STAND:

Mittels den einfachen ActiveX-Befehlen GotoField, Pate etc.
(Bei Feldern, die man editieren kann gehts wunderbar, jedoch
wo die Berechtigung zum editieren fehlt, natürlich nicht)
Deshalb sollte das Feld/Abschnitt eine Berechtigung hinzugefügt
werden (zB der eigene Benutzername) und dann dem überspielen
wieder rausgenommen werden.

Die ersten Tests waren sehr erfolgreich (bis auf gesperrte Felder):

+ Sehr schnelle Textübergabe

+ hohe Zuverlässigkeit

+ wesentlich einfachere Programmierung im Konfigurator-Programm

Wahrscheinlich müßte nach Änderung der Abschnittsberechtigung vor Textübergabe und nach Änderung der Abschnittsberechtigung nach der Textübergabe das Dokument gespeichert und reloaded werden, aber das könnte ich verkraften.

Außerdem:
Wenn ich mich mit einer solchen BenutzerID (wo der Abschnitt zum Editieren gesperrt ist) auf meinem Rechner anmelde, dann kann ich doch wenn ich auf Menüleiste Abschnitt\Editoren definiere ... gehe die Berechtigungen manuell rauslöschen und die BenutzerName des gerade angemeldeten BenutzerID angeben.
Nach Speichern und Öffnen des Dokus - siehe da, der Abschnitt ist
editierbar (Sicherheitsloch ?)

... und genau DAS sollte eben per ActiveX möglich sein ...

Vielen Dank im voraus.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz