Beiträge von _Sub_

    Vielen Dank für die Beiträge und Hinweise.


    Ronka: Ich dachte, da es sich um ein Problem handelt, welches mit Notes in Verbindung steht, gibt es den ein oder anderen der sich mit sowas schonmal auseinandergesetzt hat und mir Tips geben kann. Ich will mit Sicherheit keinen fertigen Code. ;)


    Ich lasse den Thread mal als offen stehen, vielleicht ergibt sich noch etwas. Mal sehen.

    Ich hab dich nirgends als Troll bezeichnet, sondern lediglich gesagt, dass dein Beitrag trolllastig ist, weil er einfach provozierend auf mich wirkt.


    Zu den mangelnden Menschlichen Leistungen:


    Dann erklär mir mal bitte, wie man mit "einfachen menschlich-organisatorischen Leistung" verhindern kann, dass Datensätze, die nicht dafür bestimmt sind, vervielfältigt werden. Vertrauen ist sicherlich gut, aber Kontrolle eben besser. :)


    Es geht einfach um sensible Daten, die nicht unnötig einfach (z.B. per Bildschirmausdruck ) kopiert werden sollen.



    Mit der Tatsache, dass die Druckfunktion in anderne Programmen nicht mehr funktioniert (solange die DB geöffnet ist) kann ich leben. Sonst wär es zu einfach den Focus auf ein anderes Programm zu legen, die DB im Hintergrund zu lassen und "beiläufig" mit zu kopieren. Da kommt eben in "Über diese Datenbank" der Hinweis rein, dass es nicht möglich ist bei geöffneter Datenbank die Drucktaste zu benutzen.


    Wie schon 3 mal gesagt: Es geht um keine perfekte Lösung, gibt es in dem Fall auch garnicht. Von daher sind auch Szenarien wie "Mitarbeiter die sich mit dem Dominodesigner auskennen", zu vernachlässigen.


    Mein Fazit bis hierher: 100 prozentigen Schutz gibt es nicht. Allein mit Notes Mitteln ist es nicht zu realisieren, sondern man muss auf die WinAPI zurückgreifen.


    Hat jemand schonmal sowas in der Richtung gemacht?

    Mangelnde menschliche Leistung?


    Zum 3. mal: mir geht es nicht um eine wasserdichte Lösung für das "Problem". Ich weiß, dass es sie nicht gibt, das brauch ich nich noch in solchen trolllastigen Beiträgen wie von koehlerbhv gesagt bekommen. Ich kann selber einschätzen, ob es angebracht ist sowas zu implementieren.


    Wenn es recht ist, postet bitte nurnoch Lösungen die sinnvoll sind und Vorschläge zur Realisierung beinhalten. Danke.

    Erstmal was zum Sinn und Zweck der ganzen Sache:


    Ich möchte unterbinden, dass Personen, die die Datenbank benutzen Dokumente unnötig einfach kopieren können. Z.B. per "Druck"-Taste. Dass es keinen 100% Schutz vor dem Kopieren gibt ist mir völlig klar, ich möchte aber die einfachste Variante (eben die Drucktaste) unterbinden.


    In den ACLs der Datenbank ist bereits festgelegt, dass Dokumente weder kopiert noch gedruckt werden dürfen.


    Eine Möglichkeit dies zu lösen wäre beim Laden der Defaultansicht mit Hilfe der Initialize-Methode ein externes Programm zu starten, was eben die Tasten unterdrückt, bzw. umleitet. Beim beenden dann über Terminate wird ein Taskkill durchgeführt. Allerdings hängt dann bei unsauberem Beenden das Programm noch im Windows rum.


    Diese Art und Weise dies zu lösen gefällt mir nicht wirklich, deshalb möchte ich wissen, ob es einen anderen Weg gibt.


    Ich denke da an die WinApi oder ähnliches.


    Hat jemand Vorschläge oder Anmerkungen?


    Danke

    Wie folgt funktioniert es:


    Das Phänomen (Datenbank wird geschlossen) tritt bei allen Navigate Befehlen auf (NavPrev, NavigatePrev, NavNext, NavigateNext, NavNextMain, NavigateNextMain) außer bei NavPrevMain und NavigatePrevMain. Wieso weiß ich nicht.


    Benutzen tu ich 6.5.1


    Mein Script sieht bis jetzt wie folgt aus:



    Aus dem aktuellen Dokument wird aus einem berechneten Feld (current_view) ausgelesen aus welcher Ansicht heraus es aufgerufen wurde. Dann wird das letzte Dokument aus der Ansicht geholt und die beiden UniversalIDs verglichen. Wo "navigiere zum nächsten" steht sollte nun jetzt der Aufruf der sub oder ähnliches erfolgen, in der das nächste Dokument angezeigt wird. (so wie bei NavNext)

    "Falls nicht, gibt es eine Scriptalternative zu @Command( [NavNext] ), bei der direkt im aktuellen Fenster das nächste Dokument geöffnet wird?"



    Es soll exakt das selbe ausgeführt werden wie bei @Command([NavNext]). Wenn man also das Script oder die Aktion ausführt, soll sich im selben Fenster wo man gerade ein Dokument betrachtet (ob im Previewfenster oder in einem extra Tab) das nächste Dokument aus der View geöffnet werden. Die Aktion bzw. das Script soll in der Maske als Button enthalten sein.


    Leider kann ich @Command([NavNext]) nicht benutzen, da sich, wenn man sich beim letzten Dokument befindet und @Command([NavNext]) ausführt, die Datenbank ohne Meldung beendet. Der Befehl prüft also nicht, ob er sich beim letzten Dokument befindet. @Command([NavPrevMain]) tut dies, denn da kommt eine Meldung: "Keine Dokumente in dieser Richtung vorhanden".


    Deshalb bin ich gerade dabei ein Script zu schreiben welches prüft, ob das derzeitig geöffnete Dokument das letzte in der Ansicht ist, aus der es aufgerufen wurde. Nach der Prüfung soll halt entweder eine Meldung ausgegeben werden, dass es kein nächstes Dokument gibt, oder eben @Command([NavNext]) soll ausgeführt werden. Über Evaluate ist es nicht möglich @Command Formeln aufzurufen, daher will ich entweder eine Aktion per Script aufrufen oder eben im Script selber den Befehl nachbilden.

    Ist es möglich, per Lotusscript eine Aktion aus der Aktionsleiste auszuführen?



    Falls nicht, gibt es eine Scriptalternative zu @Command( [NavNext] ), bei der direkt im aktuellen Fenster das nächste Dokument geöffnet wird?


    Vielen Dank

    Naja, das wenn ich beim letzten Punkt entweder der Button verschwindet, oder eben ne Meldung kommt "Keine weiteren Dokumente vorhanden".


    Wenn ich beim letzten Dokument bin und @NavNext mache, dann schließt sich die Datenbank ohne eine Meldung. Bei @NavPrev genauso. @NavigateNext und @NavigatePrev reagieren genauso, nur @NavPrevMain scheint ne Abfrage zu machen, ob das nun da wirklich weiter geht. Dort kommt dann die Meldung "Keine Dokumente in dieser Richtung vorhanden".

    Ich meine es so wie ich es geschrieben habe. 8|


    Nochmal etwas ausführlicher:



    Es gibt eine Maske Projekt. Dort gibt es ein Feld Kategorie. Das Feld ist vom Typ Dialogliste und für die Auswahl wird ein Ansichtsdialogfeld benutzt. Als Ansicht dient hierzu "Kategorien". In der Ansicht "Kategorien" werden Dokumente von Typ Kategorie angezeigt.


    Wenn ich nun ein neues Dokument vom Typ Projekt (Projekt A) anlege und mir da eine Kategorie auswähle, das Dokument speichere und dann das Kategorie Dokument ändere, dann möchte ich die Änderung auch gern im Feld Kategorie beim Dokument Projekt A.

    Hm...das ist wohl war.



    Ein periodischer Agent garantiert mir aber nicht, dass die Daten wirklich konsistent bleiben. Wenn zwischen 2 Agentendurchläufen Daten in einer bestimmten Weise geändert werden hab ich da garnichts davon.


    Kann ich denn nicht den Agent bei PostSave starten lassen? Was passiert, wenn der Agent aufgerufen wird, obwohl derselbe Agent noch läuft?


    Anderer Ansatz:


    Würde es Sinn machen ein verstecktes Feld in dem Dokument Projekt einzufügen, welches einen Fremdschlüssel enthält und das Form quasi zur Laufzeit ausfüllt?


    In SQL wär das so einfach. *g*

    Folgendes Beispiel:


    2 Ansichten/ 2 Masken


    Eine Ansicht heißt Projekte. Die zweite Ansicht heißt Kategorien.


    Ebenso die Masken. Kategorie und Projekt.


    In der Maske Projekt gibt es ein Feld Kategorie, welches über die Ansicht Kategorien auf die Dokumente zugreift und dort ein Element auswählt.


    Z.B. habe ich Dort eine Kategorie "AAAA". Und in einem oder mehreren Dokumenten diese Kategorie AAAA ausgewählt. Wenn aber in der Ansicht AAAA die Kategorie zu BBBB geändert wird, dann steht in den Dokumenten der Ansicht Projekte immernoch AAAA.


    Wie kann ich realisieren, dass die Daten konsisten bleiben, d.h. wenn ich in der Ansicht Kategorie etwas ändere, das in den Dokumente übernommen wird?


    Agenten, Formeln, Scripte?


    Mein erster Gedanke wäre bei "OnChange" in dem Feld der Ansicht Kategorien "irgendwas" ablaufen zu lassen. Wie das genau aussieht weiß ich jedoch noch nicht.


    Für ein paar Vorschläge wär ich dankbar. :)

    Den Vorschau Balken kann man ändern, das geht bei den Rahmengruppen. Gerade eben gefunden.



    Die Suche muss man auch farblich ändern können.


    Ich hab hier Datenbanken, wo die Suche unterschiedlich aussieht.