Beiträge von Rene
-
-
Also Gut.
für die Replikation wäre es egal. Die lokale Replik hat die Formel und sie bekommt sie nicht wieder wegenommen, wenn sie auf der OrginalDB fehlt. Es sei denn man aktiviert den Haken "Replikationsformel emfangen".Es wäre meiner Meinung nur sauberer, wenn nicht alle Mitarbeiter in der Replikationeinstellungen auftauchen würden, die eine Replik angelegt habe.
Dank dir taurec für deine Unterstützung.
Gruß
René -
Ok, funktioniert soweit.
Jetzt ist nur noch das Problem, das ich dann alle User in den Replikationseinstellungen stehen habe.
Aus diesem Grund wollte ich den Eintrag nach der Replikation wieder löschen:
Set replica = session.GetDatabase(db.Server, "Admin\Agent.NSF")
Set rep = replica.ReplicationInfo
Set re = rep.GetEntry("-", user, True)
re.Formula = "SELECT @IsMember(@UserName;UserServiceAgent) | @IsMember(@UserName;UserVertriebAgent) | @IsMember(@UserName;Namen) | @IsMember(@UserName;Server)"
Call re.Save
Set replica = replica.CreateReplica("", "AgentNEU.nsf")
Call re.RemoveAllerdings kann ich den nicht löschen. Per Hand in den Replikationsparametern funktioniert das löschen. Da die Replik keine Replikationsformeln repliziert, funktioniert es auch wenn der Eintrag auf der OrginalDB fehlt.
Benötigt man noch eine Einstellung für den Remove Befehl? In der Hilfe steht nichts.
-
und wie mache ich das? oder stehe ich jetzt ganz auf dem Schlauch?
-
Das soll es gerade nicht tun.
Nach
Set replica = replica.CreateReplica("", "AgentNEU.nsf")
repliziert er die komplette Datenbank. Da die Datenbank sehr groß ist, soll die Replik gleich mit der Formel angelegt werden. Wenn ich also erst repliziere, und dann die Formel eintrage, habe ich das Problem nicht gelöst.
Oder kann ich die Replikation daran hindern, gelich zu replizieren?
-
meinst du das so:
Set replica = session.GetDatabase(db.Server, "Admin\Agent.NSF")
Set rep = replica.ReplicationInfo
Set re = rep.GetEntry("-", user, True)
re.Formula = "SELECT @IsMember(@UserName;UserServiceAgent) | @IsMember(@UserName;UserVertriebAgent) | @IsMember(@UserName;Namen) | @IsMember(@UserName;Server)"
Call re.Save
Set replica = replica.CreateReplica("", "AgentNEU.nsf")das pasiert genau das gleiche. Die Formel wird auch auf der Orginal DB eingetragen.
Oder mache ich das was falsch?
-
Wie setze ich den Eintrag in die Replik, ohne die Replik vorher zu replizieren?
-
Hallo Leute,
kann mir jemand bei diesem Code helfen?
Ich möchte eine Replik einer DB erstellen. Das funktioniert auch soweit. Jetzt fehlt nur noch die Replicationsformel. Sie will einfach nicht in die neue Replik rein. So wie es jetzt ist, wird die Replikations-Formel in die Orginal DB eingetragen. Wie kann ich sie aber in die noch nicht angelegte Replik eintragen?
Danke für eure Hilfe
Gruß
RenéSub Click(Source As Button)
Dim session As New NotesSession
Dim db As NotesDatabase
Dim dborg As NotesDatabase
Dim replica As NotesDatabase
Dim rep As NotesReplication
Dim re As NotesReplicationEntry
Dim user As String
user = session.UserName
Set db = session.CurrentDatabase
If ( db.Server = "" ) Then
Msgbox "Sie haben die Datenbank lokal geöffnet. Um eine Replik zu erstellen, müssen sie die Datenbank auf einem Server öffen.", ,"DB läuft auf einem Client"
Else
Set dborg = session.GetDatabase(db.Server, "Admin\Agent.NSF")
Set rep = dborg.ReplicationInfo
Set re = rep.GetEntry(db.Server, user, True)
re.Formula = "test"
Call re.Save
Set replica = dborg.CreateReplica("", "AgentNEU.nsf")
End If
End Sub -
Habe meinen Denkfehler gefunden:
Die Replizierformel kann ich nur für Server vorgeben. Dort wird sie repliziert und funktioniert auch.
Jetzt die Frage der Fragen:
Wie macht ihr das, wenn eine DB eine Replikationsformel für den User hat? Muss er das per Hand abtippen, oder gibt es die Möglichkeit das über ein Button zu regeln?
Ich habe keinen Befehl gefunden, wo ich eine Replik mit Replikationsformel anlegen kann.
Danke
René -
Meinst du den Haken "Replizierformel" bei "Diese Punkte von anderen Repliken empfangen"?
Den habe ich schon ausprobiert. Habe gerade nochmal genau nachgeschaut und dabei ist mir follgendes aufgefallen:
Ich habe auf dem Server eingestellt:
Wenn Computer: -Beliebiger Server-
Empfängt von: Server1Bei der Replik ist die Formel auch repliziert worden. Allerdings funktioniert sie nur, wenn ich sie bei
Wenn Computer: User
Empfängt von: -Beliebiger Server-eintrage.
Warum? Wo ist mein Denkfehler?
-
Hallo,
ich habe eine DB auf einem Server. In der DB habe ich eine Replizierformel hinterlegt.
Wenn ich jetzt eine neue Replik davon erstelle, wird die Replizierformel nicht mit repliziert.In der Hilfe finde ich nicht das richtige.
Hat jemand eine Idee?Danke für eure Antworten.
Gruß
René -
Hallo Experten,
ist mir fast etwas peinlich zu fragen, aber...
Ich habe eine Maske mit einer eingebetteten Ansicht. Dort wird auch nach einzelnen Kategorien sortiert. Das klappt auch super.
Wie lasse ich aber alles anzeigen? Ich habe schon ein "*" in die Auswahl gemacht. Funktioniert nicht.
Dann habe ich in der Ansicht die Kategoriespalte geändert:
("Alle" + "/" + Projekt) : Projekt
Nun habe ich als Auswahl folgendes:
"Alle":@DbColumn(""; "";"(AktenByProjekt)";1)
Es funktionert aber auch nicht.
Hat jemand eine Idee?
Danke für eure Antworten.
René
-
Vielen Dank Dirk.
Das ist eine wirklich gute und umfassende Anleitung.
Gruß
René -
Habe mir sowas schon gedacht. ABer nirgends in der Hilfe gefunden.
Danke dir für den Hinweis. Somit brauche ich nicht weiter suchen.
Gruß
rené -
zufrüh gefreut.
Leider liefert diese Formel nur ein ständiges OK für die Rolle.
Auch wenn der User die Rolle nicht mehr besitzt.
-
Hallo Leute,
habe das Problem selber gelöst.
Mit dem Befehl Contains funktioniert es.
SELECT (Uservorgabe = "Service" & @Contains("[Service]";@UserRoles))
Gruß
René -
Hallo Leute
Ich habe eine Rolle [Service] die mir zugeordnet ist.
In den Dokumenten habe ich ein Feld (Kontrollkästchen) "Uservorgabe", was die Optionen "Vertrieb" und "Service" hat.Jetzt wollte ich nur die Dokumente Replizieren lassen die die Option "Service" haben. Allerdings nur, wenn der User die Rolle [Service] hat. Sonnst nicht.
Dazu habe ich diese Formel erstellt:
SELECT (Uservorgabe = "Service" & @IsMember("[Service]";@UserRoles))
Wenn ich nur SELECT Uservorgabe = "Service" wähle, funktioniert das. Wo ist denn mein Denkfehler?
Danke für Eure Hilfe
René
P.S. konsistente ACL ist aktiviert, sonst funktioniert @UserRoles ja nicht.
-
Vielen Dank für deine Hilfe.
Funktioniert jetzt.
Gruß
René -
Sorry Dirk,
muss mich korrigieren. Im Script waren Fehler deaktiviert. Jetzt kommt auch eine Fehler.
Type mismatch bei status=Arraygetindex(ListeAlt,NameUser)
Wie soll ich den NameUser aber anderes deklarieren?
-
habe schon im Debugger nachgeschaut.
ListeAlt enthält den Namen von mir, und NameUser enthält auch meinen Namen.
Sie stimmen auch überein und sind gleich geschrieben.
Es kommt auch keine Fehlermeldung.
Ich setze 6.5.5 als Client ein und im Moment ist das alles noch lokal.