Domino 9 und frühere Versionen > ND9: Entwicklung

Farbe für Kategorien im Kalender-Profil per Script setzen

<< < (2/3) > >>

Bruce Willis:

--- Zitat von: WildVirus am 26.08.16 - 20:21:46 ---
In der Scriptbibliothek "Preferences_de-DE" findet sich ein "Sub UpdateAgentsAndOptions(note As NotesDocument)", das ab Zeile 300 u.a. folgenden Code enthält:

--- Code: --- If note.getitemvalue("ColorChange")(0) = "2" Or rebuildPreferences = True Then
If note.HasItem("rebuildCalendar") Then
If note.GetItemValue("rebuildCalendar")(0) = "1" Then
Call ws.ViewRebuildByDBid(db.ReplicaID,"($Calendar)",True,_
rebuildView, rebuildPreferences)
Call ws.ViewRebuildByDBid(db.ReplicaID,"($CSAPIs)",True,_
rebuildView, rebuildPreferences)
End If
End If
Else
Call ws.ViewRefreshByDBID(db.ReplicaID,"($Calendar)",True)
Call ws.ViewRebuildByDBid(db.ReplicaID,"($CSAPIs)",True,rebuildView, rebuildPreferences)
End If
--- Ende Code ---

--- Ende Zitat ---

Vielen Dank!

1. Weißt Du, ob ich dies über Backend realisieren könnte, da ich die Farbe-Änderungen zentral für alle Benutzer machen muss?
Wenn es über Backend unmöglich ist, muss ich wohl die Mail-Template anpassen, was ich allerdings vermeiden wollte...

2. Wie hast du übrigens diese Funktion in der Scriptbibliothek gefunden? Über den Debugger hatte es bei mir nicht geklappt. Erst über die Textsuche nach "rebuildCalendar" in allen Bibliotheken.

Gruß
Leo

WildVirus:
Hallo Leo,

ich habe mit Profildokumenten früher sehr viel programmiert und auch sehr gute Erfahrungen gemacht. Eine Änderung in einem Profildokument erfordert nicht zwingend einen Client- bzw. DB-Neustart. Hängt vom Design ab.

Mein erster Post war ein wenig aus der Hüfte geschossen, daher dachte ich mir, schau doch einfach mal kurz nach. Da gerade Zeit hatte, Mail-DB aufgemacht, Profilmaske aufgemacht, Feld für Kategorienfarbe gemerkt und Gestaltungsübersicht erstellt (alle Scriptlibs und die Profilmaske). Code nach dem Feld durchsucht, und danch kannte ich das Feld, über das der Refresh angefordert wird.

Erneute Suche im Quellcode nach der Abfrage auf dieses Feld et voila.

Am zeitlichen Abstand der beiden Posts siehst Du, wie lange ich gebraucht habe.

Häufig ist die Gestaltungsübersicht bei so einer Suche (wo Du nur einen Ansatz, eben den Feldnamen, hast) schneller als der Debugger.

Ob die Funktion auch im Backend geht, habe ich nicht geprüft.

Wenn es nicht geht, kannst Du ein Flag im Profildokument hinterlassen und beim Öffnen der Ansicht -bei aktiviertem Flag- den Refresh durchziehen. Evtl. ist dieser Refresh sogar beim Start der Ansicht schon drin, hab ich nicht geprüft.

Viel Erfolg,
Axel

Bruce Willis:
Hallo Axel,

nochmals Danke!

1.

--- Zitat von: WildVirus am 27.08.16 - 14:45:54 ---... Gestaltungsübersicht erstellt (alle Scriptlibs und die Profilmaske). Code nach dem Feld durchsucht, und danch kannte ich das Feld, über das der Refresh angefordert wird...

--- Ende Zitat ---
Sorry, aber nach welchem Feld gesucht? Wie hast Du auf das Feld gekommen?

2.

--- Zitat von: WildVirus am 27.08.16 - 14:45:54 ---...ein Flag im Profildokument hinterlassen und beim Öffnen der Ansicht -bei aktiviertem Flag- den Refresh durchziehen...

--- Ende Zitat ---

Wenn ich in PostOpen Call View.Refresh ausführe, bringt es nix, d.h. die Termin-Farben werden nicht aktualisiert.

Wenn ich in PostOpen das Folgende (aus der gefundenen Funktion) ausführe, bekomme ich die Fehlermeldung "Object variable not set":
Call ws.ViewRebuildByDBid(db.ReplicaID, "($Calendar)", True, rebuildView, rebuildPreferences)
Call ws.ViewRebuildByDBid(db.ReplicaID,"($CSAPIs)",True,rebuildView, rebuildPreferences)

Und dasselbe bei dem einfachen Call ws.ViewRebuild

Hättest Du eine Idee, was dabei falsch ist bzw. wie es richtig wäre?
Dim ws As NotesUIWorkspace  ist selbstverständlich dabei...

Gruß
Leo

koehlerbv:
Wenn DU das
          Dim ws As NotesUIWorkspace
tatsächlich so notiert ist, dann wäre das schon mal ein Fehler, denn der UIWorkspace ist damit deklariert, aber nicht instantiiert. Richtig wäre
          Dim ws as New NotesUIWorkspace.

Bernhard

Bruce Willis:

--- Zitat von: koehlerbv am 29.08.16 - 13:07:58 ---          Dim ws as New NotesUIWorkspace

--- Ende Zitat ---
Oh!!! Ich brauche eine neue Brille! ;)
Vielen Dank, Bernhard!

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln