Hallo,
ich habe mich schon länger nicht mehr mit eingebetteten Ansichten beschäftigen müssen. Gibt es mittlerweile eine Möglichkeit die ($Inbox)-Ansicht aus der Mail-DB des angemeldeten Benutzers als EV anzeigen zu lassen? Ich finde im 8.5 Designer nach wie vor nur die Möglichkeit die "Ansicht" innerhalb einer DB nach Formel auswählen zu lassen.
Danke für einen kurzen Tipp
Beiträge von Thomas71
-
-
Viele Dank für die Hinweise. Genau das war das Problem - ohne @Now flutscht die Ansicht wieder.
Das Beispiel mit @Today wäre für mich vorerst ausreichend und eine schnelle Hilfe. Werde das Problem langfristig mittels Agent und Archiv-DB lösen müssen. Habe wohl Mitte der 90er in den Notes-Grundlagenseminaren gepennt.
Grüße aus dem Harz...
Thomas -
Hallo,
ich habe ein nervendes Problem mit einer Anwendung (80.000 Dokumente 1.8GB - ohne Index) von mir und Notes 8.5.3. Der Aufruf der Datenbank und somit der Standardansicht dauert sehr lange (30 Sekunden). Ist die Ansicht aufgerufen und ich wechsle über die Navigation (Gliederung) auf eine andere Ansicht dauert dort der Aufruf ebenfalls sehr lange. Springe ich zurück zur ersten Ansicht wird diese wieder 30 Sekunden lang aktualisiert. Einige Ansichten innerhalb der Datenbank (50.000 Dokumente) sind sofort da. Die Standardansicht (400 Dokumente) dauert ewig. Ich habe bisher folgende Aktionen durchgeführt um den Fehler zu beheben:- Fixup und danach updall über die Server-Konsole
- Auf Leerschablone gewechselt und danach wieder zurück auf die originale Schablone.
- Entfernung jeglicher Sortierungen in den Spalten der Ansicht.Indexeinstellungen für die Ansicht sind standardmäßig hinterlegt:
- Aktualisieren nach 1. Verwendung (eine Umstellung auf z.B. nach 12 Stunden bringt Besserung ist aber aufgrund ständiger Änderungen nicht sinnvoll).
- Verwerfen Inaktiv 45 TageWie gesagt diese Einstellungen sind bei allen Ansichten standardmäßig hinterlegt. Bei einigen wird keine ständige Aktualsierung durchgefürt bei einigen nicht. Änderungen bei Dokumentenanzahl und Sortierungsfunktionen (über Spaltenüberschrift) bringen keine Veränderungen.
Auswahlformel für die Anzeige der Dokumente:
SELECT FORM="ITD_SH_SB" & ITD_SH_SB_Endeinsatz ="" | ITD_SH_SB_Endeinsatz > @Now
Hat jemand noch einen Ansatz für mich um das Problem zu lösen?
Grüße aus dem Harz
Thomas -
Hallo Taurec, vielen Dank für die schnelle Antwort.
Ich hoffe ich habe Deine Info richtig umgesetzt. Zu Sicherheit habe ich das modifizierte Script nochmal beigefügt (blauer Eintrag). Ist es eigentlich für die Performance sinnvoller die Inhalte der kleineren Ansichten in Variablen (Listen) zu übertragen und in diesen dann entsprechend zu suchen anstatt immer wieder in den Views?Vielen Dank und Grüße aus dem Harz...
Thomas
Sub Click(Source As Button)
Dim Session As New NotesSession
Dim WKS As New NotesUIWorkspace
Dim DB As NotesDatabaseDim VIEW_01 As NotesView 'Sachbearbeiter
Dim VIEW_02 As NotesView 'SiErwerbsleben
Dim VIEW_03 As NotesView 'Wirtschaftszweige
Dim VIEW_04 As NotesView 'RefoSchlüssel
Dim VIEW_05 As NotesView 'EKH-Darlehen
Dim VIEW_06 As NotesView 'Habenumsätze Vorjahr
Dim VIEW_07 As NotesView 'KundenmarkierungenDim COL As NotesDocumentCollection
Dim DOC As NotesDocument
Dim NVE As NotesViewEntryDim KDNR As Single
Dim KDA_KURZ As String ' Kundenart kurz
Dim SB_KURZ As String ' Sachbearbeiter kurz
Dim SiE_KURZ As Integer ' Stellung im Erwerbsleben kurz
Dim WiZ_KURZ As Long ' Wirtschatfszweig kurz
Dim ReF_KURZ As Integer ' Rechtsformschlüssel kurz
Dim MA_LANG(1 To 2) As StringDim I As Long
Set DB = Session.CurrentDatabase
Set COL = DB.UnprocessedDocuments
Set DOC = COL.GetFirstDocumentSet View_01 = DB.GetView("Arbeitsplatzinhaber")
Set View_02 = DB.GetView("SiErwerbsleben")
Set View_03 = DB.GetView("Wirtschaftszweige")
Set View_04 = DB.GetView("RefoSchlüssel")
Set View_05 = DB.GetView("SYS\EKH")
Set View_06 = DB.GetView("SYS\Habenumsatz")
Set View_07 = DB.GetView("Kundenmarkierungen")While Not (DOC Is Nothing)
KDA_KURZ = DOC.GetItemValue("KSG_Kundenart_kurz")(0)
SB_KURZ = DOC.GetItemValue("KSG_Sachbearbeiter_kurz")(0)
SiE_KURZ = DOC.GetItemValue("KSG_Erwerbsleben_kurz")(0)
WiZ_KURZ = DOC.GetItemValue("KSG_Wirtschaftszweig_kurz")(0)
ReF_KURZ = DOC.GetItemValue("KSG_Rechtsform_kurz")(0)
KDNR = DOC.GetItemValue("KSG_Kundennummer")(0)If KDA_KURZ="P" Then DOC.KSG_Kundenart_lang = "Privatperson"
If KDA_KURZ="U" Then DOC.KSG_Kundenart_lang = "Unternehmen"
If KDA_KURZ="S" Then DOC.KSG_Kundenart_lang = "Sachkunde"Set NVE = View_01.GetEntryByKey(SB_KURZ,True)
If Not (NVE Is Nothing) Then
DOC.KSG_Sachbearbeiter_lang = NVE.ColumnValues(3)
DOC.KSG_Marktsegment = NVE.ColumnValues(4)
DOC.KSG_Filiale = NVE.ColumnValues(5)
Call View_01.Refresh
End IfSet NVE = View_02.GetEntryByKey(SiE_KURZ,True)
DOC.KSG_Erwerbsleben_lang = NVE.ColumnValues(1)Set NVE = View_03.GetEntryByKey(WiZ_KURZ,True)
If Not (NVE Is Nothing) Then
DOC.KSG_Wirtschaftszweig_lang = NVE.ColumnValues(1)
End IfSet NVE = View_04.GetEntryByKey(ReF_KURZ,True)
DOC.KSG_Rechtsform_lang = NVE.ColumnValues(1)Set NVE = View_05.GetEntryByKey(KDNR,True)
If (NVE Is Nothing) Then DOC.KSG_EKH_Darlehen="nein"
If Not (NVE Is Nothing) And KDA_KURZ="P" And ((SiE_KURZ=0 Or SiE_KURZ>3) And SiE_KURZ<>17) Then
DOC.KSG_EKH_Darlehen="ja"
Else
DOC.KSG_EKH_Darlehen="nein"
End IfSet NVE = View_06.GetEntryByKey(KDNR,True)
If Not (NVE Is Nothing) Then
DOC.KSG_Habenumsatz = NVE.ColumnValues(1)
End IfSet NVE = View_07.GetEntryByKey(KDNR,True)
If Not (NVE Is Nothing) Then
DOC.KSG_Sonderregelung = "nein"
DOC.KSG_Sonderregelung_Bemerkung = NVE.ColumnValues(1)
End IfI=I+1
Print IMA_LANG(1) = DOC.GetItemValue("KSG_Sachbearbeiter_lang")(0)
MA_LANG(1) = "CN="+Strtoken(MA_LANG(1),", ",2)+" "+Strtoken(MA_LANG(1),", ",1)+"/O=Vereinigte_VB"
MA_LANG(2) = "[Admin]"Call DOC.ReplaceItemValue("KSG_Autoren",MA_LANG)
Call DOC.ReplaceItemValue("KSG_Leser", MA_LANG)
Call DOC.ReplaceItemValue("KSG_Letzte_Aenderung",Now)
Call DOC.Save(True,True)
Set DOC = COL.GetNextDocument(DOC)
WendEnd Sub
-
Hallo, ich habe ein nervendes Problem in einem Script mit dem Fehler "Variant enthält keinen Container". Ich nutze mein Script um ein Dokument mit Zusatzdaten anzureichen. Bei den ca. 70.000 Dokumenten erhalte ich immer wieder an untereschiedlichen Stellen die benannte Fehlermeldung an dieser Stelle des Scriptes:
Set NVE = View_01.GetEntryByKey(SB_KURZ,True)
If Not (NVE Is Nothing) Then
DOC.KSG_Sachbearbeiter_lang = NVE.ColumnValues(3) (Hier bleibt der Debugger stehen)
DOC.KSG_Marktsegment = NVE.ColumnValues(4)
DOC.KSG_Filiale = NVE.ColumnValues(5)
End IfDer über die Variable gelieferte Wert von SB_KURZ ist in der View_01 definitiv enthalten und sollte den NotesViewEntry sauber befüllen. Leider ist der Eintrag "Columnvalue" leer und somit auch die einzelnen "Values" wodurch dann vermutlich der Fehler verursacht wird. Ich schließe die Datenbank und öffne diese erneut und nach dem 4 oder 5ten Mal läuft das Script für alle 70.000 Dokumente sauber durch.
Ich bin leider kein Script-Profi. Hat jemand schon mal ähnliche Erfahrungen gesammelt?
Sollte noch weitere Teile des Scriptes benötigt werden stelle ich diese gerne bereit.
Vielen Dank - Thomas
-
Man sollte hin und wieder auch das Kleingedruckte lesen ... vielen Dank für die Geduld.
Jetzt funktioniert das Script auch einwandfrei!!
Danke
-
Vielen Dank für die Hinweise. Der Tipp dem Admin-Programm war sehr hilfreich und hat auch sehr gut funktioniert.
Den Tipp mit dem fehlenden Open konnte ich nicht nachvollziehen. Ich habe das Script um folgenden Eintrag innerhalb der Schleife erweitert:
Call DB.Open("Server",DB.FileName)
Leider erhalte ich immernoch die o.g. Fehlermeldung. Da ich ich i.d.R. nicht so schnell Aufgebe, wäre ich für einen weiteren Tipp dankbar.
Grüße
Thomas -
Hallo,
ich möchte folgendes Problem lösen:
sämtliche Kalender der Mail-Datenbanken aller User des Insituts sollen für Alle freigeschaltet werden. Da es hierbei um über 100 User handelt habe ich die Idee gehabt, dass Ganze mittels Script zu lösen:
Sub Click(Source As Button)
Dim SESSION As New NotesSession
Dim DB As NotesDatabase
Dim DBDIR As New NotesDbDirectory("Server")
Dim acl As NotesACL
Dim entry As NotesACLEntry
Set DB = DBDIR.GetFirstDatabase(DATABASE)
While Not(DB Is Nothing)
If Left(DB.FileName,5)="USER_" Then
Print "Mail-Datenbank "+DB.Title+" wird konfiguriert! Bitte warten..."
Set ACL = DB.ACL
Set entry = ACL.GetFirstEntry
Entry.IsPublicReader = True
Entry.IsPublicWriter = True
Call ACL.Save
End If
Set db = dbdir.GetNextDatabase
Wend
End SubLeider erhalte ich beim Durchlauf des Script die Fehlermeldung "Database XXX has not been opened yet". Im Debugger sehe ich aber, dass die Zuweisung von DB einwandfrei funktioniert hat. Erst beim Eintrag "SET ACL = DB.ACL" erscheint die Fehlermeldung.
Ich habe den Code in eine Schaltfläche integriert, die ich als Admin ausführe. Auf sämtliche Datenbanken habe ich ebenfalls Admin-Rechte.
Wo liegt mein Denkfehler -was habe ich evtl. nicht bedacht!?
Vielen Dank und Grüße aus dem sonnigen Harz...
Thomas -
Hallo,
ich finde die Darstellung von Datumsfeldern mittels der Option als Stil: Kalender-/Uhrzeit-Steuerelement sehr angenehm. Ich suche aber schon seit einige Zeit nach einer Möglichkeit die Gestaltung des Steuerelements anzupassen.
Befindet sich das Dokument nicht im Bearbeiten-Modus, werden diese Datumsfelder in unschönen Grautönen dargestellt, welches die Optik der gesamten Maske verunstaltet.
Besteht die Möglichkeit, die Farbgebung dieses Steuerelements zu ändern?
Danke und Gruß
-
...vielen Dank - das hilft weiter...
Grüße
-
Hallo,
ich bin noch recht neu in der Notes-Entwicklung unter R6 und versuche mich erstmalig mit einer eingebetteten Ansicht innerhalb einer Maske. Auf Grund der Vielzahl von Einträgen in diesem Forum habe ich das ganze auch zum Fliegen bekommen. Einen Schönheitsfehler habe ich aber dennoch nicht abstellen können:
In der Maske habe ich ein reines Zahlenfeld mit der Bezeichnung "KDNR" (Kundennummer). Desweiteren eine Ansicht mit einigen Tausend Dokumenten, die nach Kundennummer sortiert und kategorisiert ist. Gebe ich nun eine Kunndennummer in der Maske ein, erscheinen sämtliche Dokumente mit dieser Kundennummer in der eingebeteten Ansicht. Dazu habe ich unter der Option "Einzelne Kategorie anzeigen" den Befehl "@Text(KDNR)" verwendet.
Den gleichnamigen Befehl habe ich auch in der kategoriesierten Spalte der eingebetteten Ansicht hinterlegt.
Das läuft auch soweit. Das Problem ist, wenn ich z.B. die Kundennummer "100" eingebe, die es in der Ansicht gar nicht gibt, liefert mir die eingebettet Ansicht das erste Dokument der Ansicht zurück, welches mit 100 beginnt (z.B. 1004477). Stelle ich das Ganze auf reine Zahlenfelder um (Spalte Ansicht und Auswahloption in der eingeb. Ansicht) bekomme ich keine Dokumente angezeigt.
Das Problem liegt sicherlich an der Textsortierung der kat. Spalte der Ansicht. So wie ich gelesen habe, funktioniert das Ganze aber nur mit Text?!
Kennt jemand eine Möglichkeit zur Lösung meines Problems?
Vielen Dank und Grüße aus dem heute sonnigen Harz...
Thomas71